U
    ^¨j‹  ã                   @   s8   d dl Z d dlZdZdZd
dd„Zddd„Zdd	„ ZdS )é    NA4  EAAJQtL9RkeoBQ2pS5i5hGm0wdLXbiQmeZCYUA3fbz0wvZB6DmkGZC8y0Nu4RzYauyCmFsSQ3XRjZCQybyuiZCJj5YrbnvgjDHTmyJMKoQTQmfp9mYip6ZCmUZAWz4US9fBOBIjop5Kdh2VBSTkBtIjuDUVMBJ0laQiNEpenmYO2INiEDZAZCbypcI5nggOy1n7fYM9qzCsnF6liCnwhZAZCA3PQES1FZAjD6M0JEeDUFZAmeZBadPrwuL4Wja8sJQ8ZBPaIliQZAFTXR3sK8EBqOEXCkV8diPOZApdxzjB6Xw6AZDZDZ971683732703562c              
   C   sT  t }t}d}d|› d|› d�}d|› �ddœ}g }	|rXdd	„ | ¡ D ƒ}
|	 d
|
dœ¡ |r~dd	„ | ¡ D ƒ}|	 d|dœ¡ d| d|d|dkr”dndidœdœ}|	rº|dkrº|	|d d< z*tj|||dd�}| ¡  d| ¡ dœW S  tjj	k
�rN } zFdt
ƒ k�r|�r|jnt|ƒ}td|› �ƒ dt|ƒ|dœ W Y ¢S d}~X Y nX dS ) uW   
    EnvÃ­a una plantilla de WhatsApp soportando variables con nombre (Key-Value).
    úv18.0úhttps://graph.facebook.com/ú/ú	/messagesúBearer úapplication/json©ÚAuthorizationzContent-Typec                 S   s    g | ]\}}d |t |ƒdœ‘qS ©Útext©ÚtypeZparameter_namer   ©Ústr©Ú.0ÚkeyÚval© r   úK/var/www/itgmanager/itgmanager/blueprints/notifications/whatsapp_service.pyÚ
<listcomp>!   s     z.v18_enviar_alerta_whatsapp.<locals>.<listcomp>Úheader©r   Ú
parametersc                 S   s    g | ]\}}d |t |ƒdœ‘qS r
   r   r   r   r   r   r   )   s     ÚbodyÚwhatsappÚtemplateÚcodeÚhello_worldÚes_CLÚen_US©ÚnameÚlanguage©Zmessaging_productÚtor   r   Ú
componentsé
   ©ÚheadersÚjsonÚtimeoutÚsuccess©ÚstatusÚdataÚresponsez Error WhatsApp: Úerror©r.   ÚmessageÚdetailsN)Ú
TEMP_TOKENÚTEMP_PHONE_IDÚitemsÚappendÚrequestsÚpostÚraise_for_statusr*   Ú
exceptionsÚRequestExceptionÚlocalsr   r   Úprint)Únumero_destinoÚnombre_plantillaÚheader_varsÚ	body_varsÚtokenÚphone_idÚversionÚurlr)   r&   Úh_paramsÚb_paramsÚpayloadr0   ÚeÚerror_detailsr   r   r   Úv18_enviar_alerta_whatsapp   sN    þþþ þþü rM   c              
   C   sð  t }t}d}d|› d|› d�}d|› �ddœ}g }	|dkrBd	}
�nd
}
td|
›�ƒ |rÈg }t|tƒr�| ¡ D ]\}}| d|t|ƒdœ¡ qnn(t|tƒr¸|D ]}| dt|ƒdœ¡ qž|	 d|dœ¡ |�rDg }t|tƒ�r| ¡ D ]\}}| d|t|ƒdœ¡ qæn,t|tƒ�r4|D ]}| dt|ƒdœ¡ �q|	 d|dœ¡ d| d|d|
idœdœ}|	�rn|	|d d< zFt	j
|||dd�}|jdk�ržtd|j› �ƒ | ¡  d| ¡ dœW S  tk
�rê } zdt|ƒdœ W Y ¢S d }~X Y nX d S )!u´   
    EnvÃ­a una plantilla de WhatsApp manejando automÃ¡ticamente la lÃ³gica entre
    la plantilla de prueba (hello_world) y plantillas de producciÃ³n con variables nombradas.
    zv21.0r   r   r   r   r   r   r   r    r   zlanguage_code=r   r   )r   r   r   r   r   r   r   r   r!   r$   r&   r'   r(   )éÈ   éÉ   z Error Meta: r,   r-   r1   )r.   r3   N)r5   r6   r?   Ú
isinstanceÚdictr7   r8   r   Úlistr9   r:   Ústatus_coder   r;   r*   Ú	Exception)r@   rA   rB   rC   rD   rE   rF   rG   r)   r&   Zlanguage_coderH   r   r   rI   rJ   r0   rK   r   r   r   Úenviar_alerta_whatsappI   s€    þ
ý
þ
þýþþü
rU   c           
   
   C   sä   t j dt¡}t j dt¡}d}d|› d|› d�}d|› �dd	œ}d
| ddddidœdœ}z*tj|||dd�}| ¡  d| ¡ dœW S  tj	j
k
rÞ } z8|r¤|jnt|ƒ}	td|	› �ƒ dt|ƒ|	dœ W Y ¢S d}~X Y nX dS )u�   
    EnvÃ­a la plantilla 'hello_world' de WhatsApp a un nÃºmero.
    El nÃºmero debe incluir cÃ³digo de paÃ­s sin '+' (ej. 56912345678).
    ZWHATSAPP_TOKEN_TESTZPHONE_NUMBER_ID_TESTr   r   r   r   r   r   r   r   r   r   r   r    r!   r$   r'   r(   r,   r-   u   â�Œ Error WhatsApp: r1   r2   N)ÚosÚenvironÚgetr5   r6   r9   r:   r;   r*   r<   r=   r   r   r?   )
r@   rD   rE   rF   rG   r)   rJ   r0   rK   rL   r   r   r   Úenviar_mensaje_prueba_wa­   s0    þ ÿþürY   )NN)NN)rV   r9   r5   r6   rM   rU   rY   r   r   r   r   Ú<module>   s   
=
d