
    bEfn                     Z    d dl Z d dlZd dlmZ d dlT  G d dej        j                  ZdS )    N)sha1)*c                   v    e Zd ZdZdZej        j        d             Zej        j        d             Z	d Z
d ZdS )ZadarmaViewz/pub/voip/zadarmaNc                 0     | j         di t          j        S N )_processrequestargsselfs    ./modules/voip/views/zadarma.pygetzZadarmaView.get       t},,w|,,,    c                 0     | j         di t          j        S r   )r
   r   formr   s    r   postzZadarmaView.post   r   r   c                 \   t           j                            d          rt           j                            d          S |                    d          }t                              d|            t
          j                            t           j                            d          g d          | _        | j        r|rt                              |           |dv rF|                     |d         |d	         |d
                   st                              d           d S n|dk    rF|                     |d         |d         |d
                   st                              d           d S n|dv rF|                     |d         |d         |d
                   st                              d           d S n>|                     |d         |d                   st                              d           d S | j        j	        st                              d           d S t                              |           |dk    rX| j        
                    |d          \  }}}|r4|j        r-d|j        j        i}t                              d|            |S n |dk    r| j                            |d           n|dk    r| j                            |d           n|dk    r| j                            |dd           n|dk    r| j                            |           nt|dk    r| j                            |d           nQ|d k    r(|d         d!k    r| j                            |d           n"t                              d"| 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##	,F,,---.22gl6F6Fw6O6O Yk Yk Yk2 l l< +	9E +	9GGENNNIII,,VK-@&BVX^_kXlmm GGEFFFF /)),,VK-@&BWY_`lYmnn GGEFFFF @@@,,VJ-?AVX^_kXlmm GGEFFFF ,,VM-BFK]D^__ GGEFFFF<& [\\\GGFOOO&&040I0IW]im0I0n0n-gv "f3 "(&*?*EFFGG/v//000!M+++&&Fd&KKKK,&&**$*OOOO/)),,&D^f,gggg/))((f(====,,,&&Fe&LLLL***+&#--L..Fe.TTTGG777888&&777r   c                    d                     |          }t          j        | j        j        j                                                            d          |                    d          t                    }t          |
                                d          }t          j        |                                          t          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@@BBII&QQSWS^S^_eSfSfhlmmF$$&&//$$++--1D1D[1Q1QQQr   )__name__
__module____qualname____url__r7   cmfviewsactionr   r   r
   r8   r	   r   r   r   r      s        !GGY- - - 	Y- - -48 48 48lR R R R Rr   r   )	rS   rK   hashlibr   cmf.includer^   r_   BaseViewr   r	   r   r   <module>rd      s               GR GR GR GR GR#)$ GR GR GR GR GRr   