U
    s75in	                     @   sl   d dl Z d dlmZmZ d dlmZ d dlmZ dZdZ	dZ
erHe	rHe
sNdZn
eee	Zdd	 Zd
d ZdS )    N)requestjsonify)Client)TwilioRestExceptionZ"AC7ebaf8127ca7b701f2320e988d63d0cfZ f352d5ff523bdbe17a7f3e52acb7bfefZ"VA930560cea220ac78575f436b4604b521c               
   C   s  t dkrtddidfS tjddp&i } | d}| dd	}|sRtdd
idfS z0t jtjj	||d}t|j
|jddfW S  tk
r } z&tt|t|ddddf W Y S d}~X Y n< tk
r  } ztdt|idf W Y S d}~X Y nX dS )zx
    POST /send_otp
    JSON body: { "to": "+919xxxxxxxx", "channel": "sms" }   # channel optional: "sms" or "call"
    Nerror!Twilio credentials not configured  TsilenttochannelZsmsz:missing required field "to" (phone number in E.164 format)  )r   r   )sidstatus   coder   r     )clientr   r   get_jsongetverifyservicesTWILIO_VERIFY_SIDZverificationscreater   r   r   strgetattr	Exception)datar   r   Zverificatione r    3/var/www/html/api-medvista/Services/TwilioVerify.pysend_otp   s"    
2r"   c               
   C   s  t dkrtddidfS tjddp&i } | d}| d}|rD|sTtdd	id
fS z4t jtjj	||d}t|j
|j
dkddfW S  tk
r } z&tt|t|ddddf W Y S d}~X Y n< tk
r } ztdt|idf W Y S d}~X Y nX dS )zT
    POST /verify_otp
    JSON body: { "to": "+919xxxxxxxx", "code": "123456" }
    Nr   r   r   Tr	   r   r   z*missing required fields "to" and/or "code"r   )r   r   Zapproved)r   validr   r   r   )r   r   r   r   r   r   r   r   Zverification_checksr   r   r   r   r   r   )r   r   r   checkr   r    r    r!   verify_phone_otp.   s"    

2r%   )osflaskr   r   Ztwilio.restr   Ztwilio.base.exceptionsr   ZTWILIO_ACCOUNT_SIDZTWILIO_AUTH_TOKENr   r   r"   r%   r    r    r    r!   <module>   s   
