U
    ^g%i J                    @   s   d Z ddlmZ ddlmZmZmZmZmZmZm	Z	 ddl
mZmZmZ ddlmZ ddlmZ ddlmZ ddlmZ dd	lmZ G d
d deZG dd deZG dd deZG dd deZdS )a  
    This code was generated by
   ___ _ _ _ _ _    _ ____    ____ ____ _    ____ ____ _  _ ____ ____ ____ ___ __   __
    |  | | | | |    | |  | __ |  | |__| | __ | __ |___ |\ | |___ |__/ |__|  | |  | |__/
    |  |_|_| | |___ | |__|    |__| |  | |    |__] |___ | \| |___ |  \ |  |  | |__| |  \

    Twilio - Messaging
    This is the public Twilio REST API.

    NOTE: This class is auto generated by OpenAPI Generator.
    https://openapi-generator.tech
    Do not edit the class manually.
    )datetime)AnyDictListOptionalUnionIteratorAsyncIterator)deserialize	serializevalues)InstanceContext)InstanceResource)ListResource)Version)Pagec                $       s  e Zd ZG dd deZG dd deZdeeee	f e
e d fddZed	d
ddZed
ddZed
ddZd d
ddZd d
ddZejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejf!eeef eeef eeef eee ef eeef eeef eee ef edef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eee ef d d"ddZejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejf!eeef eeef eeef eee ef eeef eeef eee ef edef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eee ef d d"ddZed
ddZ  ZS )TollfreeVerificationInstancec                   @   s(   e Zd ZdZdZdZdZdZdZdZ	dS )	&TollfreeVerificationInstance.OptInTypeVERBALWEB_FORM
PAPER_FORMVIA_TEXTMOBILE_QR_CODEIMPORTIMPORT_PLEASE_REPLACEN)
__name__
__module____qualname__r   r   r   r   r   r   r    r   r   m/var/www/html/api-medvista/venv/lib/python3.8/site-packages/twilio/rest/messaging/v1/tollfree_verification.py	OptInType   s   r    c                   @   s   e Zd ZdZdZdZdZdS )#TollfreeVerificationInstance.StatusPENDING_REVIEW	IN_REVIEWTWILIO_APPROVEDTWILIO_REJECTEDN)r   r   r   r"   r#   r$   r%   r   r   r   r   Status$   s   r&   N)versionpayloadsidc                    s  t  | |d| _|d| _|d| _|d| _t|d| _	t|d| _
|d| _|d| _|d	| _|d
| _|d| _|d| _|d| _|d| _|d| _|d| _|d| _|d| _|d| _|d| _|d| _|d| _|d| _|d| _|d| _|d| _|d| _|d| _ |d| _!|d| _"|d| _#|d | _$t%|d!| _&t|d"| _'|d#| _(|d$| _)|d%| _*|d&| _+|d'| _,|d(| _-|d)| _.|d*| _/|d+| _0|d,| _1|d-| _2|d.| _3|d/| _4|d0| _5|d1| _6|d2| _7d|p| ji| _8d | _9d S )3Nr)   account_sidcustomer_profile_sidtrust_product_siddate_createddate_updatedregulated_item_sidbusiness_namebusiness_street_addressbusiness_street_address2business_citybusiness_state_province_regionbusiness_postal_codebusiness_countrybusiness_websitebusiness_contact_first_namebusiness_contact_last_namebusiness_contact_emailbusiness_contact_phonenotification_emailuse_case_categoriesuse_case_summaryproduction_message_sampleopt_in_image_urlsopt_in_typemessage_volumeadditional_informationtollfree_phone_number_sidtollfree_phone_numberstatusurlrejection_reason
error_codeedit_expirationedit_allowedbusiness_registration_numberbusiness_registration_authoritybusiness_registration_countrybusiness_type"business_registration_phone_numberdoing_business_asopt_in_confirmation_messagehelp_message_sampleprivacy_policy_urlterms_and_conditions_urlage_gated_contentopt_in_keywordsrejection_reasonsresource_linksexternal_reference_id):super__init__getr)   r*   r+   r,   r
   Ziso8601_datetimer-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   integerrI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   	_solution_context)selfr'   r(   r)   	__class__r   r   r\   _   s     
z%TollfreeVerificationInstance.__init__TollfreeVerificationContextreturnc                 C   s&   | j dkr t| j| jd d| _ | j S )a  
        Generate an instance context for the instance, the context is capable of
        performing various actions. All instance actions are proxied to the context

        :returns: TollfreeVerificationContext for this TollfreeVerificationInstance
        Nr)   r)   )r`   rd   _versionr_   ra   r   r   r   _proxy   s    
z#TollfreeVerificationInstance._proxyc                 C   s
   | j  S )w
        Deletes the TollfreeVerificationInstance


        :returns: True if delete succeeds, False otherwise
        )rj   deleteri   r   r   r   rl      s    z#TollfreeVerificationInstance.deletec                    s   | j  I dH S )
        Asynchronous coroutine that deletes the TollfreeVerificationInstance


        :returns: True if delete succeeds, False otherwise
        N)rj   delete_asyncri   r   r   r   rn      s    z)TollfreeVerificationInstance.delete_asyncc                 C   s
   | j  S )u
        Fetch the TollfreeVerificationInstance


        :returns: The fetched TollfreeVerificationInstance
        )rj   fetchri   r   r   r   rp      s    z"TollfreeVerificationInstance.fetchc                    s   | j  I dH S )
        Asynchronous coroutine to fetch the TollfreeVerificationInstance


        :returns: The fetched TollfreeVerificationInstance
        N)rj   fetch_asyncri   r   r   r   rr      s    z(TollfreeVerificationInstance.fetch_asyncr   "r0   r7   r<   r=   r>   r?   r@   rA   rB   r1   r2   r3   r4   r5   r6   rC   r8   r9   r:   r;   edit_reasonrL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rf   c"           "   #   C   sN   | j j|||||||||	|
|||||||||||||||||||||| |!d!S )  
        Update the TollfreeVerificationInstance

        :param business_name: The name of the business or organization using the Tollfree number.
        :param business_website: The website of the business or organization using the Tollfree number.
        :param notification_email: The email address to receive the notification about the verification result. .
        :param use_case_categories: The category of the use case for the Tollfree Number. List as many are applicable..
        :param use_case_summary: Use this to further explain how messaging is used by the business or organization.
        :param production_message_sample: An example of message content, i.e. a sample message.
        :param opt_in_image_urls: Link to an image that shows the opt-in workflow. Multiple images allowed and must be a publicly hosted URL.
        :param opt_in_type:
        :param message_volume: Estimate monthly volume of messages from the Tollfree Number.
        :param business_street_address: The address of the business or organization using the Tollfree number.
        :param business_street_address2: The address of the business or organization using the Tollfree number.
        :param business_city: The city of the business or organization using the Tollfree number.
        :param business_state_province_region: The state/province/region of the business or organization using the Tollfree number.
        :param business_postal_code: The postal code of the business or organization using the Tollfree number.
        :param business_country: The country of the business or organization using the Tollfree number.
        :param additional_information: Additional information to be provided for verification.
        :param business_contact_first_name: The first name of the contact for the business or organization using the Tollfree number.
        :param business_contact_last_name: The last name of the contact for the business or organization using the Tollfree number.
        :param business_contact_email: The email address of the contact for the business or organization using the Tollfree number.
        :param business_contact_phone: The E.164 formatted phone number of the contact for the business or organization using the Tollfree number.
        :param edit_reason: Describe why the verification is being edited. If the verification was rejected because of a technical issue, such as the website being down, and the issue has been resolved this parameter should be set to something similar to 'Website fixed'.
        :param business_registration_number: A legaly recognized business registration number
        :param business_registration_authority: The organizational authority for business registrations
        :param business_registration_country: Country business is registered in
        :param business_type: The type of business, valid values are PRIVATE_PROFIT, PUBLIC_PROFIT, NON_PROFIT, SOLE_PROPRIETOR, GOVERNMENT
        :param business_registration_phone_number: The E.164 formatted number associated with the business.
        :param doing_business_as: Trade name, sub entity, or downstream business name of business being submitted for verification
        :param opt_in_confirmation_message: The confirmation message sent to users when they opt in to receive messages.
        :param help_message_sample: A sample help message provided to users.
        :param privacy_policy_url: The URL to the privacy policy for the business or organization.
        :param terms_and_conditions_url: The URL to the terms and conditions for the business or organization.
        :param age_gated_content: Indicates if the content is age gated.
        :param opt_in_keywords: List of keywords that users can text in to opt in to receive messages.

        :returns: The updated TollfreeVerificationInstance
        !r0   r7   r<   r=   r>   r?   r@   rA   rB   r1   r2   r3   r4   r5   r6   rC   r8   r9   r:   r;   rt   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   )rj   update"ra   r0   r7   r<   r=   r>   r?   r@   rA   rB   r1   r2   r3   r4   r5   r6   rC   r8   r9   r:   r;   rt   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   r   r   r   rw      sF    Mz#TollfreeVerificationInstance.updatec"           "   #      sT   | j j|||||||||	|
|||||||||||||||||||||| |!d!I dH S )%  
        Asynchronous coroutine to update the TollfreeVerificationInstance

        :param business_name: The name of the business or organization using the Tollfree number.
        :param business_website: The website of the business or organization using the Tollfree number.
        :param notification_email: The email address to receive the notification about the verification result. .
        :param use_case_categories: The category of the use case for the Tollfree Number. List as many are applicable..
        :param use_case_summary: Use this to further explain how messaging is used by the business or organization.
        :param production_message_sample: An example of message content, i.e. a sample message.
        :param opt_in_image_urls: Link to an image that shows the opt-in workflow. Multiple images allowed and must be a publicly hosted URL.
        :param opt_in_type:
        :param message_volume: Estimate monthly volume of messages from the Tollfree Number.
        :param business_street_address: The address of the business or organization using the Tollfree number.
        :param business_street_address2: The address of the business or organization using the Tollfree number.
        :param business_city: The city of the business or organization using the Tollfree number.
        :param business_state_province_region: The state/province/region of the business or organization using the Tollfree number.
        :param business_postal_code: The postal code of the business or organization using the Tollfree number.
        :param business_country: The country of the business or organization using the Tollfree number.
        :param additional_information: Additional information to be provided for verification.
        :param business_contact_first_name: The first name of the contact for the business or organization using the Tollfree number.
        :param business_contact_last_name: The last name of the contact for the business or organization using the Tollfree number.
        :param business_contact_email: The email address of the contact for the business or organization using the Tollfree number.
        :param business_contact_phone: The E.164 formatted phone number of the contact for the business or organization using the Tollfree number.
        :param edit_reason: Describe why the verification is being edited. If the verification was rejected because of a technical issue, such as the website being down, and the issue has been resolved this parameter should be set to something similar to 'Website fixed'.
        :param business_registration_number: A legaly recognized business registration number
        :param business_registration_authority: The organizational authority for business registrations
        :param business_registration_country: Country business is registered in
        :param business_type: The type of business, valid values are PRIVATE_PROFIT, PUBLIC_PROFIT, NON_PROFIT, SOLE_PROPRIETOR, GOVERNMENT
        :param business_registration_phone_number: The E.164 formatted number associated with the business.
        :param doing_business_as: Trade name, sub entity, or downstream business name of business being submitted for verification
        :param opt_in_confirmation_message: The confirmation message sent to users when they opt in to receive messages.
        :param help_message_sample: A sample help message provided to users.
        :param privacy_policy_url: The URL to the privacy policy for the business or organization.
        :param terms_and_conditions_url: The URL to the terms and conditions for the business or organization.
        :param age_gated_content: Indicates if the content is age gated.
        :param opt_in_keywords: List of keywords that users can text in to opt in to receive messages.

        :returns: The updated TollfreeVerificationInstance
        rv   N)rj   update_asyncrx   r   r   r   rz   n  sF    Mz)TollfreeVerificationInstance.update_asyncc                 C   s$   d dd | j D }d|S )f
        Provide a friendly representation

        :returns: Machine friendly representation
         c                 s   s   | ]\}}d  ||V  qdS z{}={}Nformat.0kvr   r   r   	<genexpr>  s     z8TollfreeVerificationInstance.__repr__.<locals>.<genexpr>z5<Twilio.Messaging.V1.TollfreeVerificationInstance {}>joinr_   itemsr   ra   contextr   r   r   __repr__  s    z%TollfreeVerificationInstance.__repr__)N)r   r   r   objectr    r&   r   r   strr   r   r\   propertyrj   boolrl   rn   rp   rr   r   unsetr   r   rw   rz   r   __classcell__r   r   rb   r   r      s:  	<  
 k			




























s




























qr   c                $       s>  e Zd Zeed fddZedddZedddZe	dd	d
Z
e	dddZejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejf!eeef eeef eeef eee ef eeef eeef eee ef edef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eee ef e	d"ddZejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejf!eeef eeef eeef eee ef eeef eeef eee ef edef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eeef eee ef e	d"ddZedddZ  ZS )rd   )r'   r)   c                    s*   t  | d|i| _djf | j| _dS )z
        Initialize the TollfreeVerificationContext

        :param version: Version that contains the resource
        :param sid: The unique string to identify Tollfree Verification.
        r)   z/Tollfree/Verifications/{sid}N)r[   r\   r_   r   _uri)ra   r'   r)   rb   r   r   r\     s
     z$TollfreeVerificationContext.__init__re   c                 C   s   t i }| jjd| j|dS )rk   DELETEmethoduriheaders)r   ofrh   rl   r   ra   r   r   r   r   rl     s    
z"TollfreeVerificationContext.deletec                    s$   t i }| jjd| j|dI dH S )rm   r   r   N)r   r   rh   rn   r   r   r   r   r   rn     s    
  z(TollfreeVerificationContext.delete_asyncc                 C   s<   t i }d|d< | jjd| j|d}t| j|| jd dS )ro   application/jsonAcceptGETr   r)   rg   )r   r   rh   rp   r   r   r_   ra   r   r(   r   r   r   rp     s    
z!TollfreeVerificationContext.fetchc                    sB   t i }d|d< | jjd| j|dI dH }t| j|| jd dS )rq   r   r   r   r   Nr)   rg   )r   r   rh   rr   r   r   r_   r   r   r   r   rr   (  s    
  z'TollfreeVerificationContext.fetch_asyncr   rs   c"           %   '   C   s   t |||t|dd ||t|dd ||	|
|||||||||||||||||||||t| t|!dd d!}"t i }#d|#d< d|#d	< | jjd
| j|"|#d}$t| j|$| j	d dS )ru   c                 S   s   | S Nr   er   r   r   <lambda>      z4TollfreeVerificationContext.update.<locals>.<lambda>c                 S   s   | S r   r   r   r   r   r   r     r   c                 S   s   | S r   r   r   r   r   r   r     r   !BusinessNameBusinessWebsiteNotificationEmailUseCaseCategoriesUseCaseSummaryProductionMessageSampleOptInImageUrlsr    MessageVolumeBusinessStreetAddressBusinessStreetAddress2BusinessCityBusinessStateProvinceRegionBusinessPostalCodeBusinessCountryAdditionalInformationBusinessContactFirstNameBusinessContactLastNameBusinessContactEmailBusinessContactPhoneZ
EditReasonBusinessRegistrationNumberBusinessRegistrationAuthorityBusinessRegistrationCountryBusinessTypeBusinessRegistrationPhoneNumberDoingBusinessAsOptInConfirmationMessageHelpMessageSamplePrivacyPolicyUrlTermsAndConditionsUrlAgeGatedContentOptInKeywords!application/x-www-form-urlencodedContent-Typer   r   POSTr   r   datar   r)   rg   )
r   r   r   mapboolean_to_stringrh   rw   r   r   r_   %ra   r0   r7   r<   r=   r>   r?   r@   rA   rB   r1   r2   r3   r4   r5   r6   rC   r8   r9   r:   r;   rt   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   r   r   r(   r   r   r   rw   >  sd    N%
     z"TollfreeVerificationContext.updatec"           %   '      s   t |||t|dd ||t|dd ||	|
|||||||||||||||||||||t| t|!dd d!}"t i }#d|#d< d|#d	< | jjd
| j|"|#dI dH }$t| j|$| j	d dS )ry   c                 S   s   | S r   r   r   r   r   r   r     r   z:TollfreeVerificationContext.update_async.<locals>.<lambda>c                 S   s   | S r   r   r   r   r   r   r     r   c                 S   s   | S r   r   r   r   r   r   r   /  r   r   r   r   r   r   r   r   Nr)   rg   )
r   r   r   r   r   rh   rz   r   r   r_   r   r   r   r   rz     sd    N%
     z(TollfreeVerificationContext.update_asyncc                 C   s$   d dd | j D }d|S )r{   r|   c                 s   s   | ]\}}d  ||V  qdS r}   r~   r   r   r   r   r   F  s     z7TollfreeVerificationContext.__repr__.<locals>.<genexpr>z4<Twilio.Messaging.V1.TollfreeVerificationContext {}>r   r   r   r   r   r   @  s    z$TollfreeVerificationContext.__repr__)r   r   r   r   r   r\   r   rl   rn   r   rp   rr   r   r   r   r   r   rw   rz   r   r   r   r   rb   r   rd     s,  




























 




























 rd   c                   @   s2   e Zd Zeeef edddZedddZdS )TollfreeVerificationPage)r(   rf   c                 C   s   t | j|S )zz
        Build an instance of TollfreeVerificationInstance

        :param payload: Payload response from the API
        )r   rh   )ra   r(   r   r   r   get_instanceL  s    z%TollfreeVerificationPage.get_instancere   c                 C   s   dS )r{   z.<Twilio.Messaging.V1.TollfreeVerificationPage>r   ri   r   r   r   r   T  s    z!TollfreeVerificationPage.__repr__N)	r   r   r   r   r   r   r   r   r   r   r   r   r   r   J  s   r   c                &       sL  e Zd Zed fddZejejejejejejejejejejejejejejejejejejejejejejejejejfeeeee eeee deee	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee e
f ed$ddZejejejejejejejejejejejejejejejejejejejejejejejejejfeeeee eeee deee	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee
f e	ee e
f ed$dd	Zejejejejejd
d
fe	ee
f e	de
f e	ee
f e	ee
f e	ee e
f ee ee ee dddZejejejejejd
d
fe	ee
f e	de
f e	ee
f e	ee
f e	ee e
f ee ee ee dddZejejejejejd
d
fe	ee
f e	de
f e	ee
f e	ee
f e	ee e
f ee ee ee dddZejejejejejd
d
fe	ee
f e	de
f e	ee
f e	ee
f e	ee e
f ee ee ee dddZejejejejejejejejfe	ee
f e	de
f e	ee
f e	ee
f e	ee e
f e	ee
f e	ee
f e	ee
f ed	ddZejejejejejejejejfe	ee
f e	de
f e	ee
f e	ee
f e	ee e
f e	ee
f e	ee
f e	ee
f ed	ddZeedddZeedddZeedd d!Zeedd"d#Zed$d%d&Z  Z S )'TollfreeVerificationList)r'   c                    s   t  | d| _dS )zv
        Initialize the TollfreeVerificationList

        :param version: Version that contains the resource

        z/Tollfree/VerificationsN)r[   r\   r   )ra   r'   rb   r   r   r\   _  s    z!TollfreeVerificationList.__init__r   )$r0   r7   r<   r=   r>   r?   r@   rA   rB   rD   r+   r1   r2   r3   r4   r5   r6   rC   r8   r9   r:   r;   rZ   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rf   c$           '   )   C   s   t |||t|dd ||t|dd ||	|
|||||||||||||||||||||| |!t|"t|#dd d#}$t ddi}%d|%d< d|%d	< | jjd
| j|$|%d}&t| j|&S )a9  
        Create the TollfreeVerificationInstance

        :param business_name: The name of the business or organization using the Tollfree number.
        :param business_website: The website of the business or organization using the Tollfree number.
        :param notification_email: The email address to receive the notification about the verification result. .
        :param use_case_categories: The category of the use case for the Tollfree Number. List as many are applicable..
        :param use_case_summary: Use this to further explain how messaging is used by the business or organization.
        :param production_message_sample: An example of message content, i.e. a sample message.
        :param opt_in_image_urls: Link to an image that shows the opt-in workflow. Multiple images allowed and must be a publicly hosted URL.
        :param opt_in_type:
        :param message_volume: Estimate monthly volume of messages from the Tollfree Number.
        :param tollfree_phone_number_sid: The SID of the Phone Number associated with the Tollfree Verification.
        :param customer_profile_sid: Customer's Profile Bundle BundleSid.
        :param business_street_address: The address of the business or organization using the Tollfree number.
        :param business_street_address2: The address of the business or organization using the Tollfree number.
        :param business_city: The city of the business or organization using the Tollfree number.
        :param business_state_province_region: The state/province/region of the business or organization using the Tollfree number.
        :param business_postal_code: The postal code of the business or organization using the Tollfree number.
        :param business_country: The country of the business or organization using the Tollfree number.
        :param additional_information: Additional information to be provided for verification.
        :param business_contact_first_name: The first name of the contact for the business or organization using the Tollfree number.
        :param business_contact_last_name: The last name of the contact for the business or organization using the Tollfree number.
        :param business_contact_email: The email address of the contact for the business or organization using the Tollfree number.
        :param business_contact_phone: The E.164 formatted phone number of the contact for the business or organization using the Tollfree number.
        :param external_reference_id: An optional external reference ID supplied by customer and echoed back on status retrieval.
        :param business_registration_number: A legally recognized business registration number
        :param business_registration_authority: The organizational authority for business registrations
        :param business_registration_country: Country business is registered in
        :param business_type: The type of business, valid values are PRIVATE_PROFIT, PUBLIC_PROFIT, NON_PROFIT, SOLE_PROPRIETOR, GOVERNMENT
        :param business_registration_phone_number: The E.164 formatted number associated with the business.
        :param doing_business_as: Trade name, sub entity, or downstream business name of business being submitted for verification
        :param opt_in_confirmation_message: The confirmation message sent to users when they opt in to receive messages.
        :param help_message_sample: A sample help message provided to users.
        :param privacy_policy_url: The URL to the privacy policy for the business or organization.
        :param terms_and_conditions_url: The URL to the terms and conditions for the business or organization.
        :param age_gated_content: Indicates if the content is age gated.
        :param opt_in_keywords: List of keywords that users can text in to opt in to receive messages.

        :returns: The created TollfreeVerificationInstance
        c                 S   s   | S r   r   r   r   r   r   r     r   z1TollfreeVerificationList.create.<locals>.<lambda>c                 S   s   | S r   r   r   r   r   r   r     r   c                 S   s   | S r   r   r   r   r   r   r     r   #r   r   r   r   r   r   r   r    r   TollfreePhoneNumberSidZCustomerProfileSidr   r   r   r   r   r   r   r   r   r   r   ExternalReferenceIdr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )	r   r   r   r   r   rh   creater   r   'ra   r0   r7   r<   r=   r>   r?   r@   rA   rB   rD   r+   r1   r2   r3   r4   r5   r6   rC   r8   r9   r:   r;   rZ   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   r   r   r(   r   r   r   r   j  s`    P'   zTollfreeVerificationList.createc$           '   )      s   t |||t|dd ||t|dd ||	|
|||||||||||||||||||||| |!t|"t|#dd d#}$t ddi}%d|%d< d|%d	< | jjd
| j|$|%dI dH }&t| j|&S )aH  
        Asynchronously create the TollfreeVerificationInstance

        :param business_name: The name of the business or organization using the Tollfree number.
        :param business_website: The website of the business or organization using the Tollfree number.
        :param notification_email: The email address to receive the notification about the verification result. .
        :param use_case_categories: The category of the use case for the Tollfree Number. List as many are applicable..
        :param use_case_summary: Use this to further explain how messaging is used by the business or organization.
        :param production_message_sample: An example of message content, i.e. a sample message.
        :param opt_in_image_urls: Link to an image that shows the opt-in workflow. Multiple images allowed and must be a publicly hosted URL.
        :param opt_in_type:
        :param message_volume: Estimate monthly volume of messages from the Tollfree Number.
        :param tollfree_phone_number_sid: The SID of the Phone Number associated with the Tollfree Verification.
        :param customer_profile_sid: Customer's Profile Bundle BundleSid.
        :param business_street_address: The address of the business or organization using the Tollfree number.
        :param business_street_address2: The address of the business or organization using the Tollfree number.
        :param business_city: The city of the business or organization using the Tollfree number.
        :param business_state_province_region: The state/province/region of the business or organization using the Tollfree number.
        :param business_postal_code: The postal code of the business or organization using the Tollfree number.
        :param business_country: The country of the business or organization using the Tollfree number.
        :param additional_information: Additional information to be provided for verification.
        :param business_contact_first_name: The first name of the contact for the business or organization using the Tollfree number.
        :param business_contact_last_name: The last name of the contact for the business or organization using the Tollfree number.
        :param business_contact_email: The email address of the contact for the business or organization using the Tollfree number.
        :param business_contact_phone: The E.164 formatted phone number of the contact for the business or organization using the Tollfree number.
        :param external_reference_id: An optional external reference ID supplied by customer and echoed back on status retrieval.
        :param business_registration_number: A legally recognized business registration number
        :param business_registration_authority: The organizational authority for business registrations
        :param business_registration_country: Country business is registered in
        :param business_type: The type of business, valid values are PRIVATE_PROFIT, PUBLIC_PROFIT, NON_PROFIT, SOLE_PROPRIETOR, GOVERNMENT
        :param business_registration_phone_number: The E.164 formatted number associated with the business.
        :param doing_business_as: Trade name, sub entity, or downstream business name of business being submitted for verification
        :param opt_in_confirmation_message: The confirmation message sent to users when they opt in to receive messages.
        :param help_message_sample: A sample help message provided to users.
        :param privacy_policy_url: The URL to the privacy policy for the business or organization.
        :param terms_and_conditions_url: The URL to the terms and conditions for the business or organization.
        :param age_gated_content: Indicates if the content is age gated.
        :param opt_in_keywords: List of keywords that users can text in to opt in to receive messages.

        :returns: The created TollfreeVerificationInstance
        c                 S   s   | S r   r   r   r   r   r   r   B  r   z7TollfreeVerificationList.create_async.<locals>.<lambda>c                 S   s   | S r   r   r   r   r   r   r   E  r   c                 S   s   | S r   r   r   r   r   r   r   a  r   r   r   r   r   r   r   r   N)	r   r   r   r   r   rh   create_asyncr   r   r   r   r   r   r     s`    P'   z%TollfreeVerificationList.create_asyncNr!   )rD   rF   rZ   include_sub_accountsr,   limit	page_sizerf   c           
      C   s:   | j ||}| j||||||d d}	| j |	|d S )a  
        Streams TollfreeVerificationInstance records from the API as a generator stream.
        This operation lazily loads records as efficiently as possible until the limit
        is reached.
        The results are returned as a generator, so this operation is memory efficient.

        :param str tollfree_phone_number_sid: The SID of the Phone Number associated with the Tollfree Verification.
        :param &quot;TollfreeVerificationInstance.Status&quot; status: The compliance status of the Tollfree Verification record.
        :param str external_reference_id: Customer supplied reference id for the Tollfree Verification record.
        :param bool include_sub_accounts: Whether to include Tollfree Verifications from sub accounts in list response.
        :param List[str] trust_product_sid: The trust product sids / tollfree bundle sids of tollfree verifications
        :param limit: Upper limit for the number of records to return. stream()
                      guarantees to never return more than limit.  Default is no limit
        :param page_size: Number of records to fetch per request, when not set will use
                          the default value of 50 records.  If no page_size is defined
                          but a limit is defined, stream() will attempt to read the
                          limit with the most efficient page size, i.e. min(limit, 1000)

        :returns: Generator that will yield up to limit results
        r   rD   rF   rZ   r   r,   r   r   )rh   read_limitspagestream
ra   rD   rF   rZ   r   r,   r   r   Zlimitsr   r   r   r   r   p  s    	zTollfreeVerificationList.streamc           
         s@   | j ||}| j||||||d dI dH }	| j |	|d S )a  
        Asynchronously streams TollfreeVerificationInstance records from the API as a generator stream.
        This operation lazily loads records as efficiently as possible until the limit
        is reached.
        The results are returned as a generator, so this operation is memory efficient.

        :param str tollfree_phone_number_sid: The SID of the Phone Number associated with the Tollfree Verification.
        :param &quot;TollfreeVerificationInstance.Status&quot; status: The compliance status of the Tollfree Verification record.
        :param str external_reference_id: Customer supplied reference id for the Tollfree Verification record.
        :param bool include_sub_accounts: Whether to include Tollfree Verifications from sub accounts in list response.
        :param List[str] trust_product_sid: The trust product sids / tollfree bundle sids of tollfree verifications
        :param limit: Upper limit for the number of records to return. stream()
                      guarantees to never return more than limit.  Default is no limit
        :param page_size: Number of records to fetch per request, when not set will use
                          the default value of 50 records.  If no page_size is defined
                          but a limit is defined, stream() will attempt to read the
                          limit with the most efficient page size, i.e. min(limit, 1000)

        :returns: Generator that will yield up to limit results
        r   r   Nr   )rh   r   
page_asyncstream_asyncr   r   r   r   r     s    	z%TollfreeVerificationList.stream_asyncc              
   C   s   t | j|||||||dS )aY  
        Lists TollfreeVerificationInstance records from the API as a list.
        Unlike stream(), this operation is eager and will load `limit` records into
        memory before returning.

        :param str tollfree_phone_number_sid: The SID of the Phone Number associated with the Tollfree Verification.
        :param &quot;TollfreeVerificationInstance.Status&quot; status: The compliance status of the Tollfree Verification record.
        :param str external_reference_id: Customer supplied reference id for the Tollfree Verification record.
        :param bool include_sub_accounts: Whether to include Tollfree Verifications from sub accounts in list response.
        :param List[str] trust_product_sid: The trust product sids / tollfree bundle sids of tollfree verifications
        :param limit: Upper limit for the number of records to return. list() guarantees
                      never to return more than limit.  Default is no limit
        :param page_size: Number of records to fetch per request, when not set will use
                          the default value of 50 records.  If no page_size is defined
                          but a limit is defined, list() will attempt to read the limit
                          with the most efficient page size, i.e. min(limit, 1000)

        :returns: list that will contain up to limit results
        rD   rF   rZ   r   r,   r   r   )listr   ra   rD   rF   rZ   r   r,   r   r   r   r   r   r     s    zTollfreeVerificationList.listc              
      s.   dd | j |||||||dI dH 2 I dH S )ah  
        Asynchronously lists TollfreeVerificationInstance records from the API as a list.
        Unlike stream(), this operation is eager and will load `limit` records into
        memory before returning.

        :param str tollfree_phone_number_sid: The SID of the Phone Number associated with the Tollfree Verification.
        :param &quot;TollfreeVerificationInstance.Status&quot; status: The compliance status of the Tollfree Verification record.
        :param str external_reference_id: Customer supplied reference id for the Tollfree Verification record.
        :param bool include_sub_accounts: Whether to include Tollfree Verifications from sub accounts in list response.
        :param List[str] trust_product_sid: The trust product sids / tollfree bundle sids of tollfree verifications
        :param limit: Upper limit for the number of records to return. list() guarantees
                      never to return more than limit.  Default is no limit
        :param page_size: Number of records to fetch per request, when not set will use
                          the default value of 50 records.  If no page_size is defined
                          but a limit is defined, list() will attempt to read the limit
                          with the most efficient page size, i.e. min(limit, 1000)

        :returns: list that will contain up to limit results
        c                    s   g | z3 d H W }|q6 S r   r   )r   recordr   r   r   
<listcomp>
  s   z7TollfreeVerificationList.list_async.<locals>.<listcomp>r   N)r   r   r   r   r   
list_async  s    
z#TollfreeVerificationList.list_async)	rD   rF   rZ   r   r,   
page_tokenpage_numberr   rf   c	                 C   sf   t |||t|t|dd |||d}	t ddi}
d|
d< | jjd| j|	|
d	}t| j|S )
a  
        Retrieve a single page of TollfreeVerificationInstance records from the API.
        Request is executed immediately

        :param tollfree_phone_number_sid: The SID of the Phone Number associated with the Tollfree Verification.
        :param status: The compliance status of the Tollfree Verification record.
        :param external_reference_id: Customer supplied reference id for the Tollfree Verification record.
        :param include_sub_accounts: Whether to include Tollfree Verifications from sub accounts in list response.
        :param trust_product_sid: The trust product sids / tollfree bundle sids of tollfree verifications
        :param page_token: PageToken provided by the API
        :param page_number: Page Number, this value is simply for client state
        :param page_size: Number of records to return, defaults to 50

        :returns: Page of TollfreeVerificationInstance
        c                 S   s   | S r   r   r   r   r   r   r   7  r   z/TollfreeVerificationList.page.<locals>.<lambda>r   r&   r   ZIncludeSubAccountsZTrustProductSidZ	PageTokenr   ZPageSizer   r   r   r   r   r   r   paramsr   )	r   r   r   r   r   rh   r   r   r   ra   rD   rF   rZ   r   r,   r   r   r   r   r   responser   r   r   r     s(       zTollfreeVerificationList.pagec	                    sl   t |||t|t|dd |||d}	t ddi}
d|
d< | jjd| j|	|
d	I d
H }t| j|S )a  
        Asynchronously retrieve a single page of TollfreeVerificationInstance records from the API.
        Request is executed immediately

        :param tollfree_phone_number_sid: The SID of the Phone Number associated with the Tollfree Verification.
        :param status: The compliance status of the Tollfree Verification record.
        :param external_reference_id: Customer supplied reference id for the Tollfree Verification record.
        :param include_sub_accounts: Whether to include Tollfree Verifications from sub accounts in list response.
        :param trust_product_sid: The trust product sids / tollfree bundle sids of tollfree verifications
        :param page_token: PageToken provided by the API
        :param page_number: Page Number, this value is simply for client state
        :param page_size: Number of records to return, defaults to 50

        :returns: Page of TollfreeVerificationInstance
        c                 S   s   | S r   r   r   r   r   r   r   g  r   z5TollfreeVerificationList.page_async.<locals>.<lambda>r   r   r   r   r   r   r   N)	r   r   r   r   r   rh   r   r   r   r   r   r   r   r   G  s(       z#TollfreeVerificationList.page_async)
target_urlrf   c                 C   s   | j jjd|}t| j |S )a  
        Retrieve a specific page of TollfreeVerificationInstance records from the API.
        Request is executed immediately

        :param target_url: API-generated URL for the requested results page

        :returns: Page of TollfreeVerificationInstance
        r   )rh   domaintwiliorequestr   ra   r   r   r   r   r   get_pagew  s    	z!TollfreeVerificationList.get_pagec                    s$   | j jjd|I dH }t| j |S )a  
        Asynchronously retrieve a specific page of TollfreeVerificationInstance records from the API.
        Request is executed immediately

        :param target_url: API-generated URL for the requested results page

        :returns: Page of TollfreeVerificationInstance
        r   N)rh   r   r   Zrequest_asyncr   r   r   r   r   get_page_async  s    	z'TollfreeVerificationList.get_page_async)r)   rf   c                 C   s   t | j|dS z
        Constructs a TollfreeVerificationContext

        :param sid: The unique string to identify Tollfree Verification.
        rg   rd   rh   ra   r)   r   r   r   r]     s    zTollfreeVerificationList.getc                 C   s   t | j|dS r   r   r   r   r   r   __call__  s    z!TollfreeVerificationList.__call__re   c                 C   s   dS )r{   z.<Twilio.Messaging.V1.TollfreeVerificationList>r   ri   r   r   r   r     s    z!TollfreeVerificationList.__repr__)!r   r   r   r   r\   r   r   r   r   r   r   r   r   r   r   r   intr   r   r	   r   r   r   r   r   r   r   r   rd   r]   r   r   r   r   r   rb   r   r   ]  s  























 























 



,



,



+



,






2






0r   N)__doc__r   typingr   r   r   r   r   r   r	   Ztwilio.baser
   r   r   Ztwilio.base.instance_contextr   Ztwilio.base.instance_resourcer   Ztwilio.base.list_resourcer   Ztwilio.base.versionr   Ztwilio.base.pager   r   rd   r   r   r   r   r   r   <module>   s"   $   S  c