ChakraHQChakraHQ

Integración saliente

Introducción

Chakra te permite escuchar cualquier tipo de cambio en el sistema y leerlo. El mecanismo principal para hacerlo son los webhooks. Pero antes de profundizar en los webhooks, veamos brevemente el modelo de datos.

Modelo de datos

Según la solución que uses, puedes trabajar con objetos de registro típicos, como Clientes, y objetos de proceso, como Leads y Tickets; o bien, puedes tener objetos personalizados diseñados específicamente para tu solución.

Estos son los principales tipos de datos del sistema de Chakra:

  1. Registro
  2. Proceso
  3. Tarea
Relación

Un registro es el objeto más granular que puedes crear. No contiene información de estado.

Los objetos que necesitan información de estado deben modelarse como procesos. Un proceso se inicia para un registro y se completa para ese mismo registro. El proceso tiene un campo de estado para capturar información granular y también un estado general que puede ser OPEN/COMPLETED/CANCELLED

Por último, las tareas capturan interacciones granulares del usuario relacionadas con un proceso, un registro o ambos.

Esquema básico:

classDiagram  Process --> Record  Task --> Process  Task --> Record  Process: +json data  Process: +String status  Process: +State state  class Task{    +json data    +String status  }  class Record{    +json data  }

Ejemplo de implementación:

classDiagram  Lead --> Customer  Call --> Lead  Call --> Customer  Lead: +json data  Lead: +String status  Lead: +State state  class Call{    +json data    +String status  }  class Customer{    +json data  }
datos

Cada uno de los objetos de datos puede almacenar datos como pares de clave-valor de identificadores de atributos y valores, de la siguiente manera

{  "applicant_name": "Harish Test 674",  "lead_id": "EXT-TEST-674",  "utm_source": "google",  "weight": "146",  "existing_customer": true,  "google_coordinates": [    12.323333,    27.188833  ],  "phone_number": "4400000091",  "source_lead_id": "87",  "otp_verified": "true",  "city": 1,  "loan_type": "fresh",  "pincode": "561892",  "loan_amount": 100000,  "customer_id": "dWWWdU-00000969",  "loan_start_time": "16 December,2019 11:00 AM"}

Los objetos pueden tener de 0 a n atributos. Esto significa que no es necesario configurar atributos para crear un esquema de objeto y que se pueden agregar nuevos atributos sobre la marcha. Esto es útil porque el sistema no hace suposiciones sobre los datos inherentes que se transfieren o almacenan en cada uno de estos objetos.

Puedes encontrar más información en la sección Modelo de datos

Webhooks salientes

La forma más sencilla de transferir datos de Chakra a tu sistema es mediante webhooks salientes. Puedes configurar webhooks para los eventos del ciclo de vida de los objetos descritos anteriormente. Puedes enviar todos los eventos a tu API o enviar solo los que cumplan condiciones específicas.

graph LRA0(Chakra) -->AA[event] -->D[External Api 1]A -->C[Lifecycle Rule 2]C --> E[External Api 2]D-->F1(Your System)E-->F1
Evento

Estos son los eventos disponibles para los webhooks

  1. Proceso
  2. process:create
  3. process:update
  4. process:state-change
  5. Tarea
  6. task:create
  7. task:update
  8. Registro
  9. record:create
  10. Record:update
Regla del ciclo de vida

Las reglas del ciclo de vida te permiten escuchar eventos específicos que ocurren en el sistema. Por ejemplo, en lugar de escuchar todas las actualizaciones de Leads, puedes escuchar solo los Leads que se están convirtiendo.

La condición de la regla para este caso sería state: CONVERTED

Las reglas del ciclo de vida son el motor de reglas estándar para todas las automatizaciones de la plataforma.

API externa

Como su nombre indica, son API externas que puedes configurar en el sistema de Chakra. Se pueden vincular a la acción de webhook de una regla del ciclo de vida. Esto permite que los datos lleguen finalmente a tus sistemas. Para configurar una API externa, debes definir lo siguiente:

  1. Host
  2. Ruta
  3. Encabezados (incluidos los encabezados de autorización)
  4. Cuerpo (en el caso de los webhooks salientes, será el objeto de evento completo)

En esta página