Integração de saída
Introdução
O Chakra permite que você acompanhe qualquer tipo de alteração no sistema e leia os dados correspondentes. O principal mecanismo para fazer isso são os webhooks. Mas, antes de abordarmos os webhooks, vamos falar brevemente sobre o próprio modelo de dados.
Modelo de dados
Dependendo da solução que você está usando, talvez você trabalhe com objetos de registro comuns, como Clientes, e objetos de processo, como Leads e Tickets. Ou talvez tenha objetos personalizados, feitos sob medida para a sua solução.
Estes são os principais tipos de dados no sistema do Chakra:
- Registro
- Processo
- Tarefa
Relacionamento
Um registro é o objeto mais granular que você pode criar. Ele não contém informações de estado.
Os objetos que precisam de informações de estado devem ser modelados como Processos. Um processo é iniciado em relação a um registro e concluído em relação a esse registro. O processo tem um campo de estado para registrar informações detalhadas sobre o estado e também um status geral, que pode ser OPEN/COMPLETED/CANCELLED
Por fim, as tarefas registram interações granulares do usuário relacionadas a um processo, a um registro ou a 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 }Exemplo de implementação:
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 }data
Cada objeto de dados pode armazenar dados como pares de chave e valor de IDs de atributos e valores, da seguinte forma
{ "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"}Os objetos podem ter de 0 a n atributos. Isso significa que não é necessário configurar atributos para criar um esquema de objeto, e novos atributos podem ser adicionados em tempo real. Isso é útil porque o sistema não pressupõe nada sobre os dados inerentes que são transmitidos ou armazenados em cada um desses objetos.
Para saber mais, consulte a seção Modelo de dados
Webhooks de saída
A maneira mais fácil de transferir dados do Chakra para o seu sistema é por meio de webhooks de saída. Você pode configurar webhooks para os eventos do ciclo de vida dos objetos descritos acima. É possível enviar todos os eventos para a sua API ou apenas os que atendam a condições 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-->F1event
Estes são os eventos disponíveis para webhooks
- Processo
- process:create
- process:update
- process:state-change
- Tarefa
- task:create
- task:update
- Registro
- record:create
- Record:update
Regra de ciclo de vida
As regras de ciclo de vida permitem acompanhar eventos específicos que ocorrem no sistema. Por exemplo, em vez de acompanhar todas as atualizações de leads, você pode acompanhar apenas os leads que estão sendo convertidos.
A condição da regra nesse caso seria state: CONVERTED
As regras de ciclo de vida são o mecanismo de regras padrão para todas as automações na plataforma.
API externa
Como o nome sugere, são APIs externas que você pode configurar no sistema do Chakra. Elas podem ser vinculadas à ação de webhook de uma regra de ciclo de vida. É isso que permite que os dados cheguem aos seus sistemas. Você precisa definir o seguinte para uma API externa:
- Host
- Caminho
- Cabeçalhos (incluindo cabeçalhos de autorização)
- Corpo (no caso de webhooks de saída, será o próprio objeto de evento completo)