Solicitud de datos

Cómo capturar datos del clientes con el chatbot

Muchas veces es necesario solicitar y guardar ciertos datos de los clientes. Para esto se utiliza el tipo de acción data-collect y los key correspondientes:

Ejemplos:

<action 
type="data-collect"   
key="customer.name"    
ignore_if_exists="ignore_if_exists"    
with_text="¿Cuál es tu nombre?"    
validation="regex"    
validation_pattern="^.{3,20}$"    
validation_error="Pareciera que ingresaste un nombre inválido. ¿Podrías volver a intentar?"
/>

El comando ignore_if_exists="ignore_if_exists" sirve para no volver a pedirle el dato al cliente la próxima vez que escriba.

OBTENCIÓN DE OPT-IN

Hay dos modos de configurar el pedido de autorización para recibir notificaciones de la empresa por whasapp:

  • Por única vez independientemente de la respuesta del cliente

  • Por cada contacto del cliente en caso de que haya respondido que "No"

<branches switch="customer.whatsapp_opt_in">    
 <branch cases="[False, None]">        
  <options header="¿Aceptas recibir notificaciones por Whatsapp?            
   
   <option text="">                
   <action type="store" key="customer.whatsapp_opt_in" value="True" cast="cast"/>                
   <action type="hand-over" chat_group="ventas"/>             
   </option>            

   <option text="No">                
   <action type="store" key="customer.whatsapp_opt_in" value="False" cast="cast"/>                
   <action type="hand-over" chat_group="ventas"/>             
   </option>        
  </options>    
 </branch>   
  
<branch cases="[True]">      
 <action type="hand-over" chat_group="ventas"/>     
</branch>

</branches>

UTILIZACIÓN DE DATOS RECOLECTADOS

El dato recolectado se guarda dentro del CRM de Optiwe y puede utilizarse dentro de la misma conversación: <action type="reply" with_text="Hola {{customer.name}},_________"/>

Ejemplo de como se utilza esta acción, dentro de un menu de opciones básico:

<?xml version="1.0" encoding="utf-8"?>
<root>
   <action        
   type="data-collect"        
   key="customer.name"        
   ignore_if_exists="ignore_if_exists"        
   with_text="¿Cuál es tu nombre? "        
   validation="regex"        
   validation_pattern="^.{3,20}$"        
   validation_error="Pareciera que ingresaste un nombre inválido. ¿Podrías volver a intentar?/>      <options header="¿Con cual de estas opciones te puedo ayudar? Seleccioná la opción escribiendo el número correspondiente👇">
        
  <option text="Ventas">            
   <action type="reply" with_text="Hola {{customer.name}}, como te podemos ayudar?"/>        
   </option> 
            
   <option text="Soporte">            
   ...        
   </option>
          
 </options>
 </root>   

Última actualización