DOCS

Webhooks

Como preparar um endpoint para receber eventos enviados pela Agilize.

Webhooks

Webhooks permitem que um sistema externo receba eventos da Agilize sem precisar consultar a API continuamente.

Antes de configurar

  • Crie uma URL pública HTTPS para receber eventos.
  • Garanta que o endpoint responda rapidamente.
  • Registre logs suficientes para investigar falhas.
  • Valide o formato do payload antes de processar regras de negócio.

Eventos disponíveis

A lista abaixo é carregada automaticamente a partir do Swagger oficial da Agilize. Quando a API oficial não estiver disponível, a documentação usa a última versão local de fallback.

Eventos do Swagger

Webhooks disponíveis

24 eventos

Arquivos - Upload

3 eventos
POSTDocumento - Criaçãofile/upload/create
application/jsonFileUpload
CampoTipoDescrição
mimetypestring

namestring

sizenumber

categorystring

md5string

isTempboolean

canDeleteboolean

canDeleteLocalboolean

localDeleteAfterstring:date-time

extStorageboolean

Respostas esperadas200 - Return a 200 status to indicate that the data was received successfully
POSTDocumento - Atualizaçãofile/upload/patch
application/jsonFileUpload
CampoTipoDescrição
mimetypestring

namestring

sizenumber

categorystring

md5string

isTempboolean

canDeleteboolean

canDeleteLocalboolean

localDeleteAfterstring:date-time

extStorageboolean

Respostas esperadas200 - Return a 200 status to indicate that the data was received successfully
POSTDocumento - Exclusãofile/upload/remove
application/jsonFile Upload Remove
CampoTipoDescrição
_idstring

Identificador do registro excluído

Respostas esperadas200 - Return a 200 status to indicate that the data was received successfully

CRM - Oportunidades

9 eventos
POSTFunil - Criaçãocrm/lead/funnel/create
application/jsonCrmLeadFunnel
CampoTipoDescrição
namestring

stagesobject[]

deletedboolean

validatePreviousStageRequirementsboolean

allowArchiveWithoutRequiredFieldsboolean

disableDefaultWonLossStagesboolean

hideWonKanbanboolean

hideArchivedKanbanboolean

Respostas esperadas200 - Return a 200 status to indicate that the data was received successfully
POSTFunil - Atualizaçãocrm/lead/funnel/patch
application/jsonCrmLeadFunnel
CampoTipoDescrição
namestring

stagesobject[]

deletedboolean

validatePreviousStageRequirementsboolean

allowArchiveWithoutRequiredFieldsboolean

disableDefaultWonLossStagesboolean

hideWonKanbanboolean

hideArchivedKanbanboolean

Respostas esperadas200 - Return a 200 status to indicate that the data was received successfully
POSTFunil - Exclusãocrm/lead/funnel/remove
application/jsonCrm Lead Funnel Remove
CampoTipoDescrição
_idstring

Identificador do registro excluído

Respostas esperadas200 - Return a 200 status to indicate that the data was received successfully
POSTOportunidade - Criaçãocrm/lead/lead/create
application/jsonCrmLeadLead
CampoTipoDescrição
contactsstring[]

automationsstring[]

companiesstring[]

phonesobject[]

emailsobject[]

socialsobject[]

namestring

Nome descritivo

userstring

createdBystring

importstring

Id da importação, caso tenha sido importado

Respostas esperadas200 - Return a 200 status to indicate that the data was received successfully
POSTOportunidade - Atualizaçãocrm/lead/lead/patch
application/jsonCrmLeadLead
CampoTipoDescrição
contactsstring[]

automationsstring[]

companiesstring[]

phonesobject[]

emailsobject[]

socialsobject[]

namestring

Nome descritivo

userstring

createdBystring

importstring

Id da importação, caso tenha sido importado

Respostas esperadas200 - Return a 200 status to indicate that the data was received successfully
POSTOportunidade - Exclusãocrm/lead/lead/remove
application/jsonCrm Lead Lead Remove
CampoTipoDescrição
_idstring

Identificador do registro excluído

Respostas esperadas200 - Return a 200 status to indicate that the data was received successfully
POSTOrigem de oportunidade - Criaçãocrm/lead/source/create
application/jsonCrmLeadSource
CampoTipoDescrição
namestring

colorstring

Respostas esperadas200 - Return a 200 status to indicate that the data was received successfully
POSTOrigem de oportunidade - Atualizaçãocrm/lead/source/patch
application/jsonCrmLeadSource
CampoTipoDescrição
namestring

colorstring

Respostas esperadas200 - Return a 200 status to indicate that the data was received successfully
POSTOrigem de oportunidade - Exclusãocrm/lead/source/remove
application/jsonCrm Lead Source Remove
CampoTipoDescrição
_idstring

Identificador do registro excluído

Respostas esperadas200 - Return a 200 status to indicate that the data was received successfully

CRM - Suporte

3 eventos
POSTSuporte - Criaçãocrm/support/support/create
application/jsonCrmSupportSupport
CampoTipoDescrição
customerstring

Cliente do CRM associado ao ticket quando a operacao usar vinculo formal de customer.

roomstring

Sala de conversa de origem do ticket. Usada para vinculo operacional com o Messenger.

contactstring

Contato principal relacionado ao ticket.

numbernumber

Numero sequencial do ticket dentro do projeto.

subjectstring

Assunto curto do ticket exibido em listagens, cards e cabecalho do atendimento.

categorystring

Categoria principal do ticket.

subCategorystring

Subcategoria do ticket. Quando informada, a categoria pai pode ser resolvida automaticamente.

departmentstring

Departamento do Messenger vinculado ao contexto do ticket, quando houver origem por sala.

teamstring

Equipe CRM responsavel pela fila e distribuicao do ticket.

userstring

Usuario responsavel pelo ticket. Pode ser definido manualmente ou por distribuicao automatica.

Respostas esperadas200 - Return a 200 status to indicate that the data was received successfully
POSTSuporte - Atualizaçãocrm/support/support/patch
application/jsonCrmSupportSupport
CampoTipoDescrição
customerstring

Cliente do CRM associado ao ticket quando a operacao usar vinculo formal de customer.

roomstring

Sala de conversa de origem do ticket. Usada para vinculo operacional com o Messenger.

contactstring

Contato principal relacionado ao ticket.

numbernumber

Numero sequencial do ticket dentro do projeto.

subjectstring

Assunto curto do ticket exibido em listagens, cards e cabecalho do atendimento.

categorystring

Categoria principal do ticket.

subCategorystring

Subcategoria do ticket. Quando informada, a categoria pai pode ser resolvida automaticamente.

departmentstring

Departamento do Messenger vinculado ao contexto do ticket, quando houver origem por sala.

teamstring

Equipe CRM responsavel pela fila e distribuicao do ticket.

userstring

Usuario responsavel pelo ticket. Pode ser definido manualmente ou por distribuicao automatica.

Respostas esperadas200 - Return a 200 status to indicate that the data was received successfully
POSTSuporte - Exclusãocrm/support/support/remove
application/jsonCrm Support Support Remove
CampoTipoDescrição
_idstring

Identificador do registro excluído

Respostas esperadas200 - Return a 200 status to indicate that the data was received successfully

Mensagens - Chat

3 eventos
POSTSala de Conversa - Criaçãomessenger/chat/room/create
application/jsonMessengerChatRoom
CampoTipoDescrição
gueststring

usersstring[]

prefUserstring

ownerstring

prefUserPendAttrboolean

histUsersstring[]

tagsstring[]

conversationDetailTagsstring[]

departmentstring

Departamento atual da sala

contactstring

Respostas esperadas200 - Return a 200 status to indicate that the data was received successfully
POSTSala de Conversa - Atualizaçãomessenger/chat/room/patch
application/jsonMessengerChatRoom
CampoTipoDescrição
gueststring

usersstring[]

prefUserstring

ownerstring

prefUserPendAttrboolean

histUsersstring[]

tagsstring[]

conversationDetailTagsstring[]

departmentstring

Departamento atual da sala

contactstring

Respostas esperadas200 - Return a 200 status to indicate that the data was received successfully
POSTSala de Conversa - Exclusãomessenger/chat/room/remove
application/jsonMessenger Chat Room Remove
CampoTipoDescrição
_idstring

Identificador do registro excluído

Respostas esperadas200 - Return a 200 status to indicate that the data was received successfully

Mensagens - Chatbot

2 eventos
POSTControle Fluxo de Chatbot Webhookmessenger/chatbot/NodeHttpDelegate

Metodo HTTP chamado pelo node Requisicao HTTP (Delegar) durante a execucao do fluxo de chatbot. O endpoint externo recebe a mensagem atual, os dados do canal e o objeto vars com as variaveis ja persistidas no contexto do fluxo. O retorno deve ser um JSON com: - messages: mensagens que a plataforma deve enviar ao contato. - keepHere: true para manter a conversa neste endpoint e aguardar nova mensagem; false para avancar para a saida do node. - vars: objeto com todas as variaveis que precisam ser salvas no contexto do fluxo antes de avancar. Importante: somente campos dentro de vars sao persistidos e ficam disponiveis para os proximos nodes. Campos retornados no topo do JSON nao sao usados por nodes que leem variaveis nem por templates. Exemplo: se o proximo node avalia uma variavel de decisao, retorne essa chave dentro de vars. Se um node usa templates como {{nome}}, {{produto}} ou {{observacao}}, esses campos tambem devem ser retornados dentro de vars.

application/jsonMessenger Chatbot NodeHttpDelegate
CampoTipoDescrição
seqinteger obrigatório

Sequência da mensagem no fluxo atual

roomIdstring

ID da sala de conversa atual

chIdstring

Identificador do contato no canal

chSrcinteger

Canal de origem (1=WhatsApp, 2=Facebook, 3=Instagram, 4=SMS; ausência/valor diferente indica LiveChat)

message[ "string", "null" ]

Texto enviado pelo contato na mensagem atual, quando houver

varsobject obrigatório

Variáveis já persistidas no contexto do fluxo. O endpoint pode usar esses valores para decidir a resposta e deve retornar novas variáveis em response.vars.

interactiveReplystring

Resposta interativa do usuário

currNodeIdstring

ID do node atual no fluxo

Respostas esperadas200 - Retorno do controle do fluxo500 - Erro no processamento
POSTWebhook HTTP (Saída) do Chatbotmessenger/chatbot/NodeHttpWebhook

Estrutura enviada pelo node NodeHttpWebhook para a URL configurada no fluxo. Este endpoint deve ser implementado pelo cliente/terceiro para receber os dados e reagir conforme necessário.

application/jsonNodeHttpWebhookPayload
CampoTipoDescrição
roomIdstring obrigatório

ID da sala (room) no banco

chIdstring obrigatório

Identificador do canal. No WhatsApp (chSrc=1) é o número do cliente.

chSrcinteger obrigatório

Canal de origem (1=WhatsApp, 2=Facebook, 3=Instagram, 4=SMS)

message[ "string", "null" ]

Texto da mensagem atual (quando houver)

interactiveReply[ "string", "null" ]

Resposta interativa do usuário (payload/id) quando aplicável

currNodeIdstring obrigatório

ID do node atual no fluxo

varsobject obrigatório

Variáveis persistidas no contexto do fluxo (roomData.vars)

mediaobject

Mídia/arquivo quando a mensagem contém anexo

_waReferralobject

Referral do WhatsApp quando o webhook de mensagem veio com message.referral

Respostas esperadas200 - Qualquer resposta 2xx é considerada sucesso500 - Erro no processamento do receiver

Voz - PBX

4 eventos
POSTChamada - Vinculaçãovoice/pbx/call/link
application/jsonWebhookVoicePbxCallLink
CampoTipoDescrição
channelstring obrigatório

Identificador do canal da ligação

uniqueidstring obrigatório

Id da Chamada (Origem)

subeventstring

Definição do sub-evento.

dialstatusstring

Status atual da chamada

destuniqueidstring

Id da chamada na conexão de destino

calleridnumstring

Número da Bina (Canal Origem)

calleridnamestring

Nome da Bina (Canal Origem)

connectedlinenumstring

Nome da Bina (Canal Conectado)

connectedlinenamestring

Número da Bina (Canal Conectado)

dialstringstring

Comando de discagem da central

Respostas esperadas200 - Return a 200 status to indicate that the data was received successfully
POSTChamada - Desvinculaçãovoice/pbx/call/unlink
application/jsonWebhookVoicePbxCallUnlink
CampoTipoDescrição
channelstring obrigatório

Identificador do canal da ligação

uniqueidstring obrigatório

Id da Chamada (Origem)

subeventstring

Definição do sub-evento.

dialstatusstring

Status atual da chamada

destuniqueidstring

Id da chamada na conexão de destino

calleridnumstring

Número da Bina (Canal Origem)

calleridnamestring

Nome da Bina (Canal Origem)

connectedlinenumstring

Nome da Bina (Canal Conectado)

connectedlinenamestring

Número da Bina (Canal Conectado)

dialstringstring

Comando de discagem da central

Respostas esperadas200 - Return a 200 status to indicate that the data was received successfully
POSTCanal - Discagemvoice/pbx/channel/dial
application/jsonWebhookVoicePbxChannelDial
CampoTipoDescrição
channelstring obrigatório

Identificador do canal da ligação

uniqueidstring obrigatório

Id da Chamada (Origem)

subeventstring

Definição do sub-evento.

dialstatusstring

Status atual da chamada

calleridnumstring

Número da Bina (Canal Origem)

calleridnamestring

Nome da Bina (Canal Origem)

connectedlinenumstring

Nome da Bina (Canal Conectado)

connectedlinenamestring

Número da Bina (Canal Conectado)

pbxstring

Identificador do canal da ligação

eventNamestring

Nome completo do evento

Respostas esperadas200 - Return a 200 status to indicate that the data was received successfully
POSTCanal - Encerramentovoice/pbx/channel/hangup
application/jsonWebhookVoicePbxChannelHangup
CampoTipoDescrição
channelstring obrigatório

Identificador do canal da ligação

uniqueidstring obrigatório

Id da Chamada (Origem)

calleridnumstring

Número da Bina (Canal Origem)

calleridnamestring

Nome da Bina (Canal Origem)

connectedlinenumstring

Nome da Bina (Canal Conectado)

connectedlinenamestring

Número da Bina (Canal Conectado)

causeint

Códigos de causa para o evento Hangup. Consulte <a href='https://www.voip-info.org/asterisk-cmd-hangup/' target='_blank'>esta página</a> para obter mais detalhes.

cause_txtstring

Descrição

pbxstring

Identificar/dóminio do seu PABX

eventNamestring

Nome completo do evento

Respostas esperadas200 - Return a 200 status to indicate that the data was received successfully

Boas práticas

  • Responda com status de sucesso apenas depois de receber o evento corretamente.
  • Trate reenvios como possibilidade real.
  • Não dependa de uma única tentativa para executar uma ação crítica.