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:
- Registro
- Proceso
- 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-->F1Evento
Estos son los eventos disponibles para los webhooks
- Proceso
- process:create
- process:update
- process:state-change
- Tarea
- task:create
- task:update
- Registro
- record:create
- 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:
- Host
- Ruta
- Encabezados (incluidos los encabezados de autorización)
- Cuerpo (en el caso de los webhooks salientes, será el objeto de evento completo)