ChakraHQChakraHQ

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:

  1. Registro
  2. Processo
  3. 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-->F1
event

Estes são os eventos disponíveis para webhooks

  1. Processo
  2. process:create
  3. process:update
  4. process:state-change
  5. Tarefa
  6. task:create
  7. task:update
  8. Registro
  9. record:create
  10. 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:

  1. Host
  2. Caminho
  3. Cabeçalhos (incluindo cabeçalhos de autorização)
  4. Corpo (no caso de webhooks de saída, será o próprio objeto de evento completo)

Nesta página