
    b6i0                         d dl Z ddl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mZ dd
lmZ  e j"                  e j$                  d      Z G d d      Z G d d      Zy)    N   )AsyncClientWrapperSyncClientWrapper)RequestOptions),ConversationInitiationClientDataRequestInput)WhatsAppOutboundCallResponse)WhatsAppOutboundMessageResponse   )AsyncRawWhatsappClientRawWhatsappClient)YBodySendAnOutboundMessageViaWhatsAppV1ConvaiWhatsappOutboundMessagePostTemplateParamsItem.c                      e Zd ZdefdZedefd       Zeddde	de	d	e	d
e	de	de
j                  e   de
j                  e   defdZeddde	de	de	de	de
j                   e   de	de
j                  e   de
j                  e   defdZy)WhatsappClientclient_wrapperc                &    t        |      | _        y N)r   )r   _raw_clientselfr   s     w/root/.openclaw/workspace/visionaryfx/venv/lib/python3.12/site-packages/elevenlabs/conversational_ai/whatsapp/client.py__init__zWhatsappClient.__init__   s    ,NK    returnc                     | j                   S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        RawWhatsappClient
        r   r   s    r   with_raw_responsez WhatsappClient.with_raw_response        r   N#conversation_initiation_client_datarequest_optionswhatsapp_phone_number_idwhatsapp_user_id.whatsapp_call_permission_request_template_name7whatsapp_call_permission_request_template_language_codeagent_idr    r!   c          	      ^    | j                   j                  |||||||      }|j                  S )a  
        Make an outbound call via WhatsApp

        Parameters
        ----------
        whatsapp_phone_number_id : str

        whatsapp_user_id : str

        whatsapp_call_permission_request_template_name : str

        whatsapp_call_permission_request_template_language_code : str

        agent_id : str

        conversation_initiation_client_data : typing.Optional[ConversationInitiationClientDataRequestInput]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        WhatsAppOutboundCallResponse
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.whatsapp.outbound_call(
            whatsapp_phone_number_id="whatsapp_phone_number_id",
            whatsapp_user_id="whatsapp_user_id",
            whatsapp_call_permission_request_template_name="whatsapp_call_permission_request_template_name",
            whatsapp_call_permission_request_template_language_code="whatsapp_call_permission_request_template_language_code",
            agent_id="agent_id",
        )
        r"   r#   r$   r%   r&   r    r!   r   outbound_calldata	r   r"   r#   r$   r%   r&   r    r!   	_responses	            r   r*   zWhatsappClient.outbound_call"   sA    f $$22%=-;iD{0S+ 3 
	 ~~r   template_nametemplate_language_codetemplate_paramsc          
      `    | j                   j                  ||||||||      }	|	j                  S )a  
        Send an outbound message via WhatsApp

        Parameters
        ----------
        whatsapp_phone_number_id : str

        whatsapp_user_id : str

        template_name : str

        template_language_code : str

        template_params : typing.Sequence[BodySendAnOutboundMessageViaWhatsAppV1ConvaiWhatsappOutboundMessagePostTemplateParamsItem]

        agent_id : str

        conversation_initiation_client_data : typing.Optional[ConversationInitiationClientDataRequestInput]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        WhatsAppOutboundMessageResponse
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs, WhatsAppTemplateTextParam
        from elevenlabs.conversational_ai.whatsapp import (
            BodySendAnOutboundMessageViaWhatsAppV1ConvaiWhatsappOutboundMessagePostTemplateParamsItem_Body,
        )

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.whatsapp.outbound_message(
            whatsapp_phone_number_id="whatsapp_phone_number_id",
            whatsapp_user_id="whatsapp_user_id",
            template_name="template_name",
            template_language_code="template_language_code",
            template_params=[
                BodySendAnOutboundMessageViaWhatsAppV1ConvaiWhatsappOutboundMessagePostTemplateParamsItem_Body(
                    parameters=[
                        WhatsAppTemplateTextParam(
                            text="text",
                        )
                    ],
                )
            ],
            agent_id="agent_id",
        )
        r"   r#   r.   r/   r0   r&   r    r!   r   outbound_messager+   
r   r"   r#   r.   r/   r0   r&   r    r!   r-   s
             r   r4   zWhatsappClient.outbound_message`   sD    H $$55%=-'#9+0S+ 6 	
	 ~~r   )__name__
__module____qualname__r   r   propertyr   r   OMITstrtypingOptionalr   r   r   r*   Sequencer   r	   r4    r   r   r   r      s4   L*; L  #4    $ nr;?< #&< 	<
 9<< BE< < .4__=i-j<  8< 
&<R nr;?N #&N 	N
 N !$N  e
N N .4__=i-jN  8N 
)Nr   r   c                      e Zd ZdefdZedefd       Zeddde	de	d	e	d
e	de	de
j                  e   de
j                  e   defdZeddde	de	de	de	de
j                   e   de	de
j                  e   de
j                  e   defdZy)AsyncWhatsappClientr   c                &    t        |      | _        y r   )r   r   r   s     r   r   zAsyncWhatsappClient.__init__   s    1Pr   r   c                     | j                   S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        AsyncRawWhatsappClient
        r   r   s    r   r   z%AsyncWhatsappClient.with_raw_response   r   r   Nr   r"   r#   r$   r%   r&   r    r!   c          	      z   K   | j                   j                  |||||||       d{   }|j                  S 7 w)aZ  
        Make an outbound call via WhatsApp

        Parameters
        ----------
        whatsapp_phone_number_id : str

        whatsapp_user_id : str

        whatsapp_call_permission_request_template_name : str

        whatsapp_call_permission_request_template_language_code : str

        agent_id : str

        conversation_initiation_client_data : typing.Optional[ConversationInitiationClientDataRequestInput]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        WhatsAppOutboundCallResponse
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.whatsapp.outbound_call(
                whatsapp_phone_number_id="whatsapp_phone_number_id",
                whatsapp_user_id="whatsapp_user_id",
                whatsapp_call_permission_request_template_name="whatsapp_call_permission_request_template_name",
                whatsapp_call_permission_request_template_language_code="whatsapp_call_permission_request_template_language_code",
                agent_id="agent_id",
            )


        asyncio.run(main())
        r(   Nr)   r,   s	            r   r*   z!AsyncWhatsappClient.outbound_call   sO     v **88%=-;iD{0S+ 9 
 
	 ~~
s   &;9;r.   r/   r0   c          
      |   K   | j                   j                  ||||||||       d{   }	|	j                  S 7 w)aq  
        Send an outbound message via WhatsApp

        Parameters
        ----------
        whatsapp_phone_number_id : str

        whatsapp_user_id : str

        template_name : str

        template_language_code : str

        template_params : typing.Sequence[BodySendAnOutboundMessageViaWhatsAppV1ConvaiWhatsappOutboundMessagePostTemplateParamsItem]

        agent_id : str

        conversation_initiation_client_data : typing.Optional[ConversationInitiationClientDataRequestInput]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        WhatsAppOutboundMessageResponse
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs, WhatsAppTemplateTextParam
        from elevenlabs.conversational_ai.whatsapp import (
            BodySendAnOutboundMessageViaWhatsAppV1ConvaiWhatsappOutboundMessagePostTemplateParamsItem_Body,
        )

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.whatsapp.outbound_message(
                whatsapp_phone_number_id="whatsapp_phone_number_id",
                whatsapp_user_id="whatsapp_user_id",
                template_name="template_name",
                template_language_code="template_language_code",
                template_params=[
                    BodySendAnOutboundMessageViaWhatsAppV1ConvaiWhatsappOutboundMessagePostTemplateParamsItem_Body(
                        parameters=[
                            WhatsAppTemplateTextParam(
                                text="text",
                            )
                        ],
                    )
                ],
                agent_id="agent_id",
            )


        asyncio.run(main())
        r2   Nr3   r5   s
             r   r4   z$AsyncWhatsappClient.outbound_message  sR     X **;;%=-'#9+0S+ < 	
 	
	 ~~	
s   '<:<)r6   r7   r8   r   r   r9   r   r   r:   r;   r<   r=   r   r   r   r*   r>   r   r	   r4   r?   r   r   rA   rA      s=   Q*< Q  #9    $ nr;?D #&D 	D
 9<D BED D .4__=i-jD  8D 
&Db nr;?V #&V 	V
 V !$V  e
V V .4__=i-jV  8V 
)Vr   rA   )r<   core.client_wrapperr   r   core.request_optionsr   7types.conversation_initiation_client_data_request_inputr   &types.whats_app_outbound_call_responser   )types.whats_app_outbound_message_responser	   
raw_clientr   r   ptypes.body_send_an_outbound_message_via_whats_app_v_1_convai_whatsapp_outbound_message_post_template_params_itemr   castAnyr:   r   rA   r?   r   r   <module>rO      sR     H 2 s R X A
 v{{6::s#[ [|k kr   