Árvore de páginas


   

some text   WEBHOOKS EN EL WORKFLOW DE TOTVS CRM

       
 
Producto: TCRM - Gestión de clientes
Línea de producto: TOTVS CRM
Segmento: Cross Segmentos
Módulo: Workflow
Aplicación Web/app móvil
Identificador: ME261020221452
Stakeholder: TOTVS Connector
Ticket:
Requisito/Story/Issue (informe el requisito relacionado) :
DTCRMSC-2480 - ME261020221452 - Soporte a webhooks vía Workflow En ejecución
   

Muchas empresas enfrentan el desafío de mantener sus registros actualizados en diversos sistemas cuando se ejecuta una acción en el TOTVS CRM. Este proceso manual demora y puede inducir a cometer errores, impactando negativamente en la eficiencia y productividad del equipo. Para superar esta dificultad, TOTVS CRM lanzó recientemente un nuevo recurso de acción denominado Webhook, disponible en el módulo de workflow. Con la utilización de Webhooks, ahora los clientes pueden automatizar estos procesos e integrar fácilmente diferentes sistemas y aplicaciones. Cuando un disparador de creación o actualización es activado en el TOTVS CRM, la acción de Webhook se ejecuta, permitiendo que las informaciones se actualicen en tiempo real en otros sistemas conectados. Este proceso resulta en actualizaciones rápidas y precisas, economizando tiempo y eliminando errores manuales que antes eran muy usuales. En otras palabras, la acción de Webhook permite que los clientes conecten sus sistemas y automaticen la actualización de registros, lo cual simplifica el proceso y mejora significativamente la eficiencia operativa de la empresa.

   

   TIPO DE INTEGRACIÓN
                   

Salida: esta integración envía datos del TCRM - Gestión de clientes a una herramienta destino, especificada en la configuración.

               

    ¿QUÉ HACE ESTA INTEGRACIÓN?
                   

Esta configuración permite enviar datos de TOTVS CRM a otras herramientas que dispongan de una URL de entrada de datos. Esta URL debe conseguir leer y consumir datos enviados en formato JSON.

               

   OBSERVACIONES Y REQUISITOS
                   

Es importante tener un desarrollador o contacto con el soporte de su otro sistema para chequear la compatibilidad con la lectura del paquete de datos que TOTVS CRM envía.

               

  PASO A PASO PARA REALIZAR LA INTEGRACIÓN

  1. Con TOTVS CRM Gestión de clientes abierto en su navegador, acceda al Workflow por medio del menú principal.

  2. Para incluir una automatización, haga clic en la opción "Incluir" ubicado en la parte superior derecha de la pantalla.;

  3. En el campo de nombre, incluya una breve descripción del Webhook, facilitando la identificación del registro en accesos futuros. Si fuera necesario, incluya informaciones complementarias en el campo de observaciones.

  4. Después de nombrar su Workflow, seleccione el disparador de su workflow haciendo clic en la opción "Seleccionar disparador" disponible en la pantalla. A continuación, seleccione el disparador que iniciará su automatización haciendo clic en la opción "Seleccionar disparador". El disparador será el evento que desencadenará la llamada del Webhook, como una actividad finalizada o una oportunidad ganada, entre otros.

  5. Si desea, puede incluir condiciones (filtros) para limitar cuándo la automatización se ejecutará, haciendo clic en "Incluir condiciones".

  6. Finalmente, seleccione la acción "Webhook" en "Seleccionar acción" e informe la URL pública del sistema que recibirá la notificación del evento. Si fuera necesario, incluya encabezados adicionales para cuestiones técnicas, como autenticación.

  7. Grabe su Workflow con el estatus de activo y este se ejecutará en los próximos eventos.

  8. Cabe destacar que Webhooks en TOTVS CRM está regida por algunas características técnicas importantes. Consulte la próxima sección de este documento para más informaciones al respecto, permitiendo que su integración suceda con éxito y de forma eficiente.

   INFORMACIONES TÉCNICAS
                   

Cuando TOTVS CRM Gestión de clientes realiza una llamada a sistemas externos vía Webhooks, este transmite metadatos sobre el evento que permiten identificar lo que sucedió y reaccionar adecuadamente. Estos metadatos se envían por medio de una llamada HTTP utilizando el método POST, con el contenido (payload/body) formateado en JSON.

Aquí está un ejemplo de este formato JSON y las informaciones incluidas en este para referencia:

               

JSON logo

    
    {
      "eventId": "00000000-0000-0000-0000-000000000000",
      "timestamp": "2022-05-06T15:28:36.110-03:00",
      "workflow": {
        "id": "00000000-0000-0000-0000-000000000000",
        "description": "Lorem ipsum dolor sit amet"
      },
      "trigger": {
        "id": "00000000-0000-0000-0000-000000000000",
        "description": "Opportunity won"
      },
      "source": {
        "object": {
          "id": "00000000-0000-0000-0000-000000000000",
          "description": "Opportunity",
          "contextUrl": "/api/v11/opportunity/opportunities"
        },
        "row": {
          "id": "00000000-0000-0000-0000-000000000000",
          "externalId": "00000000-0000-0000-0000-000000000000"
        }
      }
    }
    
  


 La siguiente tabla contiene información detallada sobre los atributos presentes en el formato JSON. Estos atributos se listan junto con sus respectivos formatos e intenciones. Esta información puede ser útil para entender mejor la estructura del JSON y cómo utilizarlo.


Atributo
Tipo de datos
Descripción
eventId String Identificador único del evento
timestamp Fecha y hora formateados como String (ISO 8601) Fecha y hora en la cual se ejecutó el Workflow
workflow.id UUID formateado como String Identificador único del workflow que emitió el evento
workflow.description String Nombre del workflow que emitió el evento, como se definió en el momento que se disparó la llamada
trigger.id UUID formateado como String Identificador único global del disparador definido en el Workflow en el momento en el cual se disparó el evento
trigger.description String Nombre del disparador definido en el Workflow en el momento en el cual el evento fue disparado
source.object.id UUID formateado como String Identificador único del objeto de origen del evento (oportunidades, leads, actividades, etc.)
source.object.description String Descripción del objeto de origen del evento
source.object.contextUrl URL formatea como String URL base da API del objeto de origen en el TOTVS CRM Gestión de clientes
source.row.id UUID formateado como String Identificador único del registro de origen del evento (ID de la oportunidad, lead, actividad, etc.)
source.row.externalId String Identificador externo del registro de origen del evento, si hubiera uno y el atributo estuviera visible en el Workflow

   ESTRATEGIA DE EJECUCIÓN DE LAS LLAMADAS
                   

O TOTVS CRM Gestión de clientes ejecuta las llamadas de forma asíncrona y basada en consistencia eventual, lo cual puede resultar en eventos entregados fuera de orden y con atrasos de algunos minutos. En caso de fallas de comunicación, los eventos son devueltos a la cola y se realiza un nuevo intento después de por lo menos 5 minutos, pudiendo ocurrir entregas de nuevos eventos durante este período. Es importante que el sistema tercero que recibe los eventos esté preparado para trabajar con posibles escenarios de eventos entregados fuera de orden, más de una vez y/o con atrasos, identificables por los atributos eventId y timestamp.

               
   ESCENARIOS DE FALLA
                   

Cuando el TOTVS CRM Gestión de clientes llama al sistema tercero para informar un evento, este verifica si la respuesta HTTP recibida es de la familia 2xx para entender si la entrega fue exitosa. Si fuera afirmativo, el evento se considera entregado con éxito. En caso contrario, el evento se encamina a una cola de nuevos intentos de entrega, con un intervalo de por lo menos 5 minutos entre cada intento. Si después de 10 intentos el evento no se entregara con éxito, este se descartará. TOTVS CRM también establece un tiempo límite de 5 segundos para la conexión con el servicio remoto y 60 segundos para recibir una respuesta. Si estos límites fueran superados, el evento se encaminará a la cola de nuevos intentos, independientemente de que el sistema tercero haya recibido el mensaje después de estos límites.