Webhook
Receba leads de sistemas externos direto no CRM do eKyte via URL de integração, criando ou atualizando contato e negociação automaticamente.
Objetivo da Rotina de Webhook de Leads
Receber leads de sistemas externos diretamente no CRM do eKyte por meio de uma URL de integração. A cada requisição, o eKyte cria ou atualiza o contato/pessoa e a negociação (tarefa) correspondente, sem cadastro manual, usando os dados enviados no corpo da requisição e os padrões configurados no CRM.
Como iniciar a utilização em 3 passos
Gere e copie a URL do webhook
Na tela de Configurações de Vendas do CRM, no bloco de integração de leads, gere e copie a URL.
Defina os padrões de destino
Ainda em Configurações de Vendas, configure o workspace, o fluxo de trabalho e o tipo de tarefa padrão. Eles serão usados sempre que a requisição não informar esses campos (ver "Regras de processamento").
Configure o sistema externo
No sistema que enviará os leads, faça uma requisição para a URL copiada, enviando o corpo em JSON com os dados do lead e o token de autenticação da integração (ver "Corpo da requisição").
Corpo da requisição
O webhook recebe um objeto JSON com a seguinte estrutura:
{
"token": "string",
"name": "string",
"email": "string",
"phone": "string",
"company_name": "string",
"document": "string",
"address": "string",
"address_number": "string",
"district": "string",
"complement": "string",
"zip_code": "string",
"city": "string",
"state": "string",
"workflow": 0,
"workspace": 0,
"task_type": 0,
"mode": "create",
"lead_source": null
}
Campos
A tabela abaixo lista os campos aceitos no corpo da requisição, indicando o comportamento esperado de cada um.
Apenas token e email são obrigatórios. Os demais são opcionais e, quando não informados, são ignorados ou assumem o valor padrão definido no CRM.
| Campo | Tipo | Observações |
|---|---|---|
token | string | Token de autenticação da integração. |
name | string | Nome do lead. |
email | string | E-mail do lead. É a chave utilizada para verificar se o contato já existe na base. |
phone | string | Telefone do lead. |
company_name | string | Nome da empresa associada ao lead. |
document | string | Documento (CPF/CNPJ). |
address | string | Logradouro. |
address_number | string | Número do endereço. |
district | string | Bairro. |
complement | string | Complemento do endereço. |
zip_code | string | CEP. |
city | string | Cidade. |
state | string | Estado. |
workflow | int | ID do fluxo de negociação. Não é obrigatório. Ver "Fluxo de trabalho e tipo de tarefa". |
workspace | int | ID do workspace. Não é obrigatório. Ver "Workspace". |
task_type | int | ID do tipo de tarefa. Não é obrigatório. Ver "Fluxo de trabalho e tipo de tarefa". |
mode | string | Modo de operação: create ou update. Valor padrão: create. Ver "Modo (create ou update)". |
lead_source | string | Origem do lead. |
Além dos campos acima, é possível enviar campos adicionais no mesmo objeto. Esses campos são tratados como campos personalizados (ver "Campos personalizados").
Regras de processamento
Workspace
Informe o ID do workspace. O campo não é obrigatório.
- Se o workspace for informado e o ID for válido, será considerado o workspace informado na integração.
- Caso contrário, será considerado o workspace padrão definido nas Configurações de Vendas do CRM.
Fluxo de trabalho e tipo de tarefa
Ambos os campos recebem o ID do respectivo registro e não são obrigatórios. A resolução segue a ordem abaixo:
- Se o fluxo (
workflow) for informado, o ID for válido e existir um tipo de tarefa padrão para esse fluxo, serão considerados esse fluxo e esse tipo de tarefa. - Se o fluxo não existir ou não houver tipo de tarefa padrão para ele, e o tipo de tarefa (
task_type) for informado com um ID válido, será utilizado esse tipo de tarefa e o fluxo associado a ele. - Se nenhuma das condições anteriores for atendida, será utilizado o tipo de tarefa padrão definido nas Configurações de Vendas do CRM.
Campos personalizados
Qualquer campo enviado além dos campos previstos no corpo da requisição é considerado um campo personalizado. A identificação do campo segue esta ordem:
- ID do campo personalizado no eKyte;
- Identificador interno, caso o ID não seja encontrado;
- Nome de exibição (label), caso o identificador interno não seja encontrado.
A regra vale tanto para campos personalizados de Lead/Pessoa quanto para campos personalizados de Negociação. Se houver um campo personalizado de Lead e outro de Negociação com o mesmo identificador interno ou o mesmo nome de exibição, a informação será gravada em ambos quando esse campo for informado.
Modo (create ou update)
O campo mode define se a negociação será criada ou atualizada. Valores possíveis: create e update. Quando não informado, o padrão é create.
A regra de processamento é a seguinte:
- Se o lead (pessoa/contato) não existir na base, independentemente do modo, serão criados um contato/pessoa e uma tarefa.
- Se o contato já existir — a verificação é feita apenas pelo e-mail — ele será atualizado caso haja informações diferentes das que já estão na base. Em seguida, é buscada a tarefa mais recente, ativa e em negociação daquele contato/lead:
- Se essa tarefa existir e o modo for
create, uma nova tarefa é criada. - Se essa tarefa existir e o modo for
update, a tarefa existente é atualizada (apenas os campos personalizados). - Se não houver tarefa na base, uma nova tarefa é criada.
- Se essa tarefa existir e o modo for