
    ]h                     L    d dl Z d dlmZ d dlmZmZ deeef   deeef   fdZy)    N)datetime)DictAnydatosreturnc                   K   	 | j                  dd      j                         }| j                  dd      j                         }|r|sddddS ||| j                  d      xs# t        j                         j	                  d	      | j                  d
      xs. dt        t        j                         j                                | j                  d      xs. dt        t        j                         j                                | j                  dd      | j                  dd      | j                  dd      | j                  dd      | j                  dd      | j                  dd      | j                  dd      | j                  dd      | j                  dd      | j                  dd      d}d}|sdd d!dS t        j                  d"#      4 d${   }|j                  ||d%d%d&d'(       d${   }d$d$d$      d${    j                  d)k7  r!dd*|j                   d+|j                  d$d, d-S 	 |j                         }t        |t               r<|j                  d0      xs( |j                  d1      xs |j                  d2      xs d3}	nt        |      }	d4|	t        |t               r|d5S d0|id5S 7 7 7 # 1 d${  7  sw Y   xY w# t        $ r}dd.t        |       d/dcY d$}~S d$}~ww xY w# t        j"                  $ r	 dd6d7dcY S t        j$                  $ r	 dd8d9dcY S t        j&                  $ r}dd:t        |       d;dcY d$}~S d$}~wt        $ r}dd<t        |       d=dcY d$}~S d$}~ww xY ww)>u1   
    Función básica para enviar chat a n8n
    nombre preguntaFz+Faltan campos requeridos: nombre y preguntaMISSING_FIELDS)successmessage
error_code	timestampz%Y-%m-%d %H:%M:%S	idClienteuser_threadIdthread_asistenteIdOpenIadefaultinstruccioneszCEres un asistente especializado en temas catastrales y tributarios.id_asistente1empresa_modelocatastro	audio_nomvolumeUpfalsehumanOnespqrruta_scriptarchivoBase64no)r	   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   z?https://dev.n8n.catastroantioquia-mas.com/webhook/catia-pru-webu:   Variable de entorno 'CHAT_IA_CATIA' no encontrada o vacíaMISSING_WEBHOOK_URLi,  )timeoutNzapplication/jsonzCatiaWeb-Backend/1.0)zContent-TypeAcceptz
User-Agent)jsonheaders   zError HTTP: 
HTTP_ERRORi  )r   r   r   detailsu   Respuesta inválida de n8n: INVALID_JSONoutputr   	respuestaz!Respuesta procesada correctamenteT)r   r   datau<   Timeout: El servidor n8n no respondió en el tiempo esperadoTIMEOUTu;   Error de conexión: No se pudo conectar con el servidor n8nCONNECTION_ERRORu   Error de conexión con n8n: REQUEST_ERRORz.Error interno al procesar el mensaje de chat: INTERNAL_ERROR)getstripr   nowstrftimeintr   httpxAsyncClientpoststatus_codetextr'   	Exceptionstr
isinstancedictTimeoutExceptionConnectErrorRequestError)
r   r	   r   payloadwebhook_urlclientresponseresponse_dataemensajes
             M/var/www/pru.catia.catastroantioquia-mas.com/valormasv2/asistente/chat_n8n.pyenviar_chat_n8n_basicorM      s    E
8R(..099Z,224X !H.   ;/_8<<>3J3JK^3_;/\U3x||~?W?W?Y;Z:[3\		*-\73x||~?W?W?Y;Z:[1\!&+>	!J"YY8}~!IInc:#ii(8*E;3		*g6yyG4YYw+ 99]B7"YY=!
( X !W3  $$S1 		 		V#[[$60"8 )  H		 		 3& !)(*>*>)?@*#==#.	 	$MMOM mT* !!(+ 4!!),4!!+.4 4	  -(G
 %/t%DM
 	
 LTUbJc
 	
i				 		 		 		:  	 !9#a&B, 	: !! 
 U#
 	

  
 T,
 	

  
 5c!fX>)
 	
  
 GAxP*
 	

s!  NA	L NE-L ;N<L J?L K6K7K;L K3L :N<K A,L 8N9L >N?L KL KKKL 	K?#K:4K?5L 9N:K??L NNN5N7N	M NN N,N=N>NNN)r9   r   typingr   r   r?   rM        rL   <module>rQ      s6      2I
S#X I
4S> I
rP   