
    ]dn                     h    d dl Z d dlZd dlmZ d dl  G d dej                  j                        Zy)    N)sha1)*c                       e Zd ZdZdZej                  j                  d        Zej                  j                  d        Z	d Z
d Zy)ZadarmaViewz/pub/voip/zadarmaNc                 B     | j                   di t        j                  S N )_processrequestargsselfs    ./modules/voip/views/zadarma.pygetzZadarmaView.get       t}},w||,,    c                 B     | j                   di t        j                  S r   )r
   r   formr   s    r   postzZadarmaView.post   r   r   c                    t         j                  j                  d      rt         j                  j                  d      S |j                  d      }t        j	                  d|        t
        j                  j                  t         j                  j                  d      g d      | _        | j                  rl|rit        j	                  |       |dv r2| j                  |d   |d	   |d
         st        j	                  d       y |dk(  r2| j                  |d   |d   |d
         szt        j	                  d       y |dv r2| j                  |d   |d   |d
         sDt        j	                  d       y | j                  |d   |d         st        j	                  d       y | j                  j                  st        j	                  d       y t        j	                  |       |dk(  rc| j                  j                  |d      \  }}}|r;|j                  r.d|j                  j                  i}t        j	                  d|        |S |dk(  r| j                  j                  |d       n|dk(  r| j                  j                  |d       n|dk(  r| j                  j                  |dd       n|dk(  r| j                  j!                  |       np|dk(  r| j                  j                  |d       nM|d k(  rH|d   d!k7  r@| j                  j                  |d       n"t        j	                  d"| j                          | j#                  d#      S )$Nzd_echoeventzZadarma request: token)zplugin.ext_secretparentzplugin.ext_key)idfields)NOTIFY_STARTNOTIFY_INTERNAL
NOTIFY_END	caller_id
called_did
call_startu'   Не совпадает подпись!NOTIFY_ANSWERdestination)NOTIFY_OUT_STARTNOTIFY_OUT_ENDinternalpbx_call_idcall_id_with_recuA   Не указана Воронка продаж для лидовr   in)call_log_raw	call_flowredirectzresult: r   r   ANSWER)r+   r,   call_statusNOTIFY_RECORD)r+   r%   outr&   0zCmfPluginZadarma: zresponse.html)r   r   r   gdebugmodelsCmfPluginZadarmazadarma_check_signaturer   process_callphone_internalvalue	voip_callvoip_call_endvoip_call_startvoip_recordrender_with_params)r   kwargsr   channel_callcontactpersonresults          r   r
   zZadarmaView._process   s   <<I&<<##I..

7#	#F8,-..22gll6F6Fw6O Yk2 l<<EGGENII,,VK-@&BVX^_kXlmGGEF/),,VK-@&BWY_`lYmnGGEF@@,,VJ-?AVX^_kXlmGGEF,,VM-BFK]D^_GGEF<<&&[\GGFO&040I0IW]im0I0n-gvf33(&*?*?*E*EFFGGhvh/0!M++&&Fd&K,&**$*O/),,&D^f,g/)((f(=,,&&Fe&L**+&#-LL..Fe.TGG(78&&77r   c                    dj                  |      }t        j                  | j                  j                  j
                  j                         j                  d      |j                  d      t              }t        |j                         d      }t        j                  |      j                         t        j                  j!                  d      k(  S )N utf8	Signature)joinhmacnewr7   plugin
ext_secretdecryptencoder   bytes	hexdigestbase64	b64encodedecoder   headersr   )r   r   datahmac_hbtss        r   r8   zZadarmaView._check_signatureK   s    wwt}$,,--88@@BII&QSWS^S^_eSfhlmF$$&/$++-1D1D[1QQQr   )__name__
__module____qualname____url__r7   cmfviewsactionr   r   r
   r8   r	   r   r   r   r      sR    !GGYY- - 	YY- -48lRr   r   )	rS   rK   hashlibr   cmf.includer^   r_   BaseViewr   r	   r   r   <module>rd      s+       GR#))$$ GRr   