+
    °Vj·  ã                   ó:  € ^ RI t ^ RIHt ^ RIHt ^ RIHtHtHt ^ RI	H
t
HtHt ^ RIHtHtHtHt ^ RIHtHt ^ RIHt R	R
RRRR/R	RRRRR/R	RRRRR/R	RRRRR/R	RRRRR/R	RRRRR/.tR
RRRRR RR!RR"/tR# R$ ltR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR# )/é    N)ÚResponseMode)ÚSettings)ÚWorkflowHandleOptionRequestÚWorkflowStartInteractiveRequestÚWorkflowStartRequest)ÚButtonOptionÚListRowÚListSection)Úbuild_list_responseÚbuild_text_responseÚcontrolled_errorÚrender_response)Ú!build_quick_reply_message_payloadÚsend_conversation_message)Úbuild_mbia_entry_responseÚidÚemergencia_cobroÚtitlezEmergencia de CobroÚdescriptionzAtencion urgente para cobrosÚsoporteÚSoportezAyuda con problemas del sistemaÚimplementacionÚImplementacionzDudas sobre implementacionÚventasÚVentaszInformacion comercialÚadministracionÚAdministracionzConsultas administrativasÚmbiaÚMBIAzAsistente conversacional MBIAuì   Para poder apoyarte, necesitamos nos indiques:
1. Tu nombre y empresa
2. La tienda y caja en la que tienes el inconveniente
3. EnvÃ­anos foto, imagen o video del problema
4. DescripciÃ³n del inconveniente
5. Opcional: NÃºmero de AnyDeskuê   Para poder apoyarte, necesitamos nos indiques:
1. Tu empresa
2. Sistema que estÃ¡s utilizando
3. OpciÃ³n que estÃ¡s utilizando
4. DescripciÃ³n de lo que deseas podamos apoyarte
5. EnvÃ­anos foto o video
6. Opcional: NÃºmero de AnyDeskuk   Para poder apoyarte, necesitamos nos indiques:
1. Tu nombre y empresa
2. DescripciÃ³n de la duda que tienesuÃ   Gracias por comunicarte a Ventas. Para atenderte de mejor manera, escrÃ­benos:
1. Tu nombre
2. Tu nÃºmero de telÃ©fono
3. Tu correo electrÃ³nico
4. El nombre de tu empresa
5. Tu tipo de industriau…   Te has comunicado a AdministraciÃ³n. Por favor, envÃ­anos:
1. Tu nombre y empresa
2. NIT de tu empresa
3. DescripciÃ³n de tu consultac                ó<   € V ^8„  d   QhR\         R\        R\        /# ©é   ÚrequestÚmodeÚreturn)r   r   Údict)Úformats   "Ú app\services\workflow_service.pyÚ__annotate__r)   F   s"   € ÷ 4ñ 4Ô0ð 4¼ð 4Ìñ 4ó    c                 óh   € \        4       pV P                  '       g   \        VR 4      # \        W!4      # )Úfallback)Úbuild_main_menu_responseÚsupports_interactiver   )r#   r$   Úinternal_responses   && r(   Ústart_workflowr0   F   s1   € Ü0Ó2ÐØ×'×'Ð'ÜÐ0°*Ó=Ð=ÜÐ,Ó3Ð3r*   c                ó<   € V ^8„  d   QhR\         R\        R\        /# )r"   r#   Úsettingsr%   )r   r   r&   )r'   s   "r(   r)   r)   M   s&   € ÷ 5ñ 5Ü,ð5äð5ô 
ñ5r*   c                 ót  € \        V 4      pV'       g   \        R R. RORR/4      # \        4       p\        VR4      pVR,          R,          ^ ,          pVP	                  R. 4       UUu. uF0  pVP	                  R	. 4       F  pR
VR
,          RVR,          /NK  	  K2  	  pppV P
                  ;'       g    VP                  p	V P                  ;'       g    VP                  p
\        VR,          VV	V
V P                  R7      p\        WV4      p/ VCRRR/ VP	                  R/ 4      CRVRVRV/CRR/C# u uppi )u_   No se recibiÃ³ conversation_id. Configura el body con el placeholder de conversaciÃ³n correcto.Úexpected_fieldsÚconversation_idÚhintzBEn tus logs de Freshworks el valor aparece como conversationAlias.Úfreshchat_simpleÚdataÚmessagesÚsectionsÚrowsr   r   Útext)r<   ÚoptionsÚ
actor_typeÚactor_idÚuser_idÚmensajeu   MenÃº interactivo enviado.Úfreshchat_messageÚsent_payloadÚsentT)r5   ÚconversationAliasÚconversation_aliasÚconversationId)Ú_resolve_conversation_idr   r-   r   Úgetr>   Úfreshworks_default_actor_typer?   Úfreshworks_default_actor_idr   r@   r   )r#   r2   r5   r/   ÚrenderedÚmessageÚsectionÚrowr=   r>   r?   ÚpayloadÚfreshchat_responses   &&           r(   Ústart_workflow_interactiverR   M   s  € ô /¨wÓ7€OßÜØmà!ò $ð Ð\ðó
ð 	
ô 1Ó2ÐÜÐ0Ð2DÓE€HØ Õ'¨
Õ3°AÕ6€Gð —{‘{ :¨rÔ2ôñ
 3ˆGØ—;‘;˜v rÖ*ˆCð	 �#�d•)Ø�S˜•\ó	
ñ
 +ñ	
ñ 3ð ñ ð ×#Ñ#×MÐM x×'MÑ'M€JØ×Ñ×GÐG 8×#GÑ#G€Hä/Ø�V�_ØØØØ—‘ô€Gô 3°8ÈgÓVÐð
Ø
ð
àÐ/Øð 
Ø�l‰l˜6 2Ó&ð
à˜ØÐ!3Ø˜Gñ	
ð 	�ñ
ð 
ùó+s   Á(6D4c                ó>   € V ^8„  d   QhR\         R\        R,          /# )r"   r#   r%   N)r   Ústr)r'   s   "r(   r)   r)   …   s    € ÷ 
ñ 
Ô&Eð 
Ì#ÐPTÍ*ñ 
r*   c                 óÌ   € V P                   V P                  V P                  V P                  .pV F/  pV'       g   K  R V9  g   K  RV9  g   K  VP	                  4       u # 	  R# )z{{z}}N)r5   rE   rF   rG   Ústrip)r#   Ú
candidatesÚ	candidates   &  r(   rH   rH   …   s^   € à×ÑØ×!Ñ!Ø×"Ñ"Ø×Ñð	€Jó  ˆ	ß‰9˜ YÖ.°4¸yÖ3HØ—?‘?Ó$Ò$ñ  ñ r*   c                ó<   € V ^8„  d   QhR\         R\        R\        /# r!   )r   r   r&   )r'   s   "r(   r)   r)   ’   s"   € ÷ (ñ (Ô6ð (¼lð (Ìtñ (r*   c                 ó"  € \        V P                  ;'       g    V P                  4      pVR 8X  d.   \        4       p\	        Y0P
                  '       g   R4      # T4      # \        P                  V4      pV'       g   \        R4      # \        V4      # )r   r,   uQ   No fue posible identificar la opciÃ³n seleccionada. Por favor intenta nuevamente.)
Únormalize_optionÚselected_option_idÚselected_optionr   r   r.   ÚOPTION_RESPONSESrI   r   r   )r#   r$   Ú	option_idr/   rM   s   &&   r(   Úhandle_optionr`   ’   s{   € Ü  ×!;Ñ!;×!VÐ!V¸w×?VÑ?VÓW€Ià�FÔÜ5Ó7ÐÜÐ0×D`×D`ÐD`°*ÓkÐkÐfjÓkÐkä×"Ñ" 9Ó-€GßÜÐ sÓtÐtä˜wÓ'Ð'r*   c                ó$   € V ^8„  d   QhR\         /# )r"   r%   )r&   )r'   s   "r(   r)   r)       s   € ÷ ñ ¤$ñ r*   c            
      ó¸   € R p Rp\          Uu. uF&  p\        VR,          VR,          VR,          R7      NK(  	  pp\        RV R\        RVR	7      .VR
7      # u upi )u‡   Â¡Hola, soy MBBot y estoy para servirte! Por favor escoge una de las siguientes opciones para poder comunicarte al Ã¡rea que necesitas.u‡   Por favor responde con una de estas opciones:
1. Emergencia de Cobro
2. Soporte
3. ImplementaciÃ³n
4. Ventas
5. AdministraciÃ³n
6. MBIAr   r   r   )r   r   r   u   Selecciona una opciÃ³nzVer opcionesu   Ã�reas disponibles)r   r;   )rA   r<   Úbutton_textr:   Úfallback_text)ÚMAIN_MENU_OPTIONSr	   r   r
   )Ú	menu_textrd   Úoptionr;   s       r(   r-   r-       s}   € ð	Bð ð
	ð õ (óá'ˆFô 	�6˜$•< v¨g¥ÀFÈ=ÕDY×ZÙ'ð 	ð ô Ø(ØØ"ÜÐ$8¸tÔDÐEØ#ôð ùò	s   �,Ac                ó>   € V ^8„  d   QhR\         R,          R\         /# )r"   ÚvalueNr%   )rT   )r'   s   "r(   r)   r)   »   s"   € ÷ Añ AœC $�Jð A¬3ñ Ar*   c                 ó˜  € V '       g   R # \         P                  ! RV 4      pR P                  R V 4       4      pVP                  4       P	                  4       pVP                  RR4      P                  RR4      pRP                  VP                  4       4      pRRRRR	RR
R
RRRRRRRR/pVP                  WP                  RR4      4      # )Ú ÚNFKDc              3   ób   "  € T F%  p\         P                  ! V4      '       d   K!  Vx € K'  	  R # 5i)N)ÚunicodedataÚ	combining)Ú.0Úchars   & r(   Ú	<genexpr>Ú#normalize_option.<locals>.<genexpr>¿   s    é € ÐX©* $¼K×<QÒ<QÐRV×<WŸš«*ùs   ‚/¥
/Ú-Ú Ú_zemergencia cobror   zemergencia de cobroÚcobror   r   r   r   r   )rn   Ú	normalizeÚjoinÚlowerrV   ÚreplaceÚsplitrI   )ri   Ú
normalizedÚaliasess   &  r(   r[   r[   »   sÏ   € ßÙÜ×&Ò& v¨uÓ5€JØ—‘ÑX©*ÓXÓX€JØ×!Ñ!Ó#×)Ñ)Ó+€JØ×#Ñ# C¨Ó-×5Ñ5°c¸3Ó?€JØ—‘˜*×*Ñ*Ó,Ó-€Jð 	Ð.ØÐ1ØÐ#Ø�9ØÐ*Ø�(ØÐ*Ø�ð	€Gð �;‰;�z×#5Ñ#5°c¸3Ó#?Ó@Ð@r*   )rn   Úapp.schemas.commonr   Úapp.core.configr   Úapp.schemas.freshchatr   r   r   Úapp.schemas.responsesr   r	   r
   Ú!app.services.conversation_builderr   r   r   r   Úapp.services.freshchat_clientr   r   Úapp.services.mbia_servicer   re   r^   r0   rR   rH   r`   r-   r[   © r*   r(   Ú<module>r‡      s  ðÛ å +Ý $÷ñ ÷
 EÑ D÷ó ÷ gÝ ?ð 
Ð˜wÐ(=¸}ÐNlÐmØ	ˆ9�g˜y¨-Ð9ZÐ[Ø	Ð˜WÐ&6¸ÐGcÐdØ	ˆ8�W˜h¨Ð7NÐOØ	Ð˜WÐ&6¸ÐGbÐcØ	ˆ6�7˜F MÐ3RÐSðÐ ð ð	*ð ð	*ð ð	0ð ð	"ð ð	)ðA%Ð õP4õ5õp
õ(õ÷6Ar*   