Antes de seguirmos para o passo a passo de criação de Webhooks, é importante compreender o que são e como funcionam. Os Webhooks são respostas ou retornos de chamadas HTTP estabelecidos em cada conta da Nexloo. Essas ocorrências são acionadas quando eventos específicos acontecem, como a criação de mensagens. É possível configurar vários Webhooks para uma única conta. Agora que você está familiarizado com o conceito de Webhooks, vamos ao processo de criação: Passo a Passo: Na tela inicial da Nexloo, clique em ‘Configurações’. Em seguida, selecione ‘Integrações’. Você será redirecionado para a página de configurações de integrações. Clique em ‘Configurar’ para Webhooks. Agora, clique no botão verde ‘Adicionar novo Webhook’. Um painel central será exibido. Insira a URL para a qual deseja enviar a requisição POST. Em seguida, selecione os eventos ou ocorrências aos quais deseja se inscrever. Isso permite que você ouça apenas os eventos relevantes na Nexloo. Por fim, clique no botão azul “Criar webhook”. Após a configuração, a Nexloo enviará uma solicitação POST com uma carga útil específica para as URLs configuradas, notificando sobre várias atualizações em sua conta. Em exemplo de carga útil de Webhook: { “event”: “message_created”, // O nome do evento “id”: “1” // Mensagem ID “content”: “Hi” // Conteúdo da mensagem “created_at”: “2023-01-01 18:12:45 UTC”, // Hora em que a mensagem foi enviada “message_type”: “incoming”, // Este será um tipo de entrada, saída ou modelo. O usuário do Widget envia mensagens recebidas e o agente envia mensagens enviadas ao usuário. “content_type”: “enum”, // Este é um enum, pode ser imput_select, cards, form ou text. O message_type servirá de modelo, caso o content_type for um desses. O valor padrão é o texto. “content_ attributes”: { } // Este será um objeto. Valores diferentes são definidos abaixo. “source_id”: “”, // Este seria o id externo se a caixa de entrada fosse uma integração com Twitter ou Facebook. “sender”: { // Isso forneceria os detalhes do agente que enviou a mensagem. “id”: “1”, “name”: “Agent”, “email”: “[email protected]” }, “contact”: { // Isso forneceria os detalhes do usuário que enviou a mensagem. “id”: “1”, “name”: “contact-name” }, “conversation”: { // Isso forneceria os detalhes da conversa. “display_id”: “1”, // Este é o id da conversa que vc poderá ver no painel. “additional_attributes”: { “browser”: { “device_name”: “Macbook”, “browser_name”: “Chrome”, “platform_name”: “Macintosh”, “browser_version”: “80.0.3987.122”, “platform_version”: “10.15.2” }, “referer”: “https://www.nexloo.com”, “initiated_at”: “Wed Jan 05 2023 – 19:24:12 GMT-0700 (Horário Padrão de Brasília)” } }, “account”: { // Isso forneceria os detalhes da conta. “id”: “1”, “name”: “Nexloo”, } } Ocorrências de Webhook Suportadas na Nexloo: A Nexloo suporta várias ocorrências de Webhook, permitindo que você acompanhe os eventos importantes em sua conta. Abaixo estão algumas das ocorrências suportadas: conversa_criada conversa_atualizada conversa_status_alterado mensagem_criada mensagem_atualizada webwidget_triggered Cada ocorrência possui uma estrutura de carga útil específica, contendo informações relevantes sobre o evento. Você pode configurar Webhooks no painel da Nexloo ou utilizando a API correspondente. Objetos Uma ocorrência (evento) pode conter qualquer um dos objetos a seguir como uma carga útil. Os diferentes tipos de objetos suportados na Nexloo são os seguintes: Conta A seguinte carga útil será retornada para uma conta. { “id”: “integer”, “name”: “string” } Caixa de entrada A seguinte carga será retornada para uma caixa de entrada. { “id”: “integer”, “name”: “string” } Contato A seguinte carga útil será retornada para um contato. { “id”: “integer”, “name”: “string”, “avatar”: “string”, “type”: “contact”, “account”: { // <…Account Object> } } Do utilizador A seguinte carga será retornada para um agente/administrador. { “id”: “integer”, “name”: “string”, “email”: “string”, “type”: “user” } Conversação A seguinte carga será retornada para uma conversa. { “additional_attributes”: { “browser”: { “device_name”: “string”, “browser_name”: “string”, “platform_name”: “string”, “browser_version”: “string”, “platform_version”: “string”, }, “referer”: “string”, “initiated_at”: { “timestamp”: “iso-datetime” } }, “can_replay”: “boolean”, “channel”: “string”, “id”: “integer”, “inbox_id”: “integer”, “contact_inbox”: { “id”: “integer”, “contact_id”: integer”, “inbox_id”: “integer”, “source_id”: “string”, “created_at”: “datetime”, “updated_at”: “datetime”, “hmac_verified”: “boolean” }, “messages”: [“Array of message objects”], “meta”: { “sender”: { // Objeto de Contato “assignee”: { // Objeto de Usuário } }, “status”: “string”, “unread_count”: “integer”, “agent_last_seen_at”: “unix-timestamp”, “contact_last_seen_at”: “unix-timestamp”, “timestamp”: “unix-timestamp”, “acount_id”: “integer”, } Mensagem { “id”: “integer”, “content”: “string”, “message_type”: “integer” “created_at”: “unix-timestamp”, “private”: “boolean”, “source_id”: “string / null”, “content_type”: “string”, “content_attributes”: “object”, “sender”: { “type”: “string – contac/user”