Para o catálogo completo derivado do esquema, consulte todos os exemplos.
O que é
Gerencie eventoscontact.attributes_changed e contact.note.updated.
Antes de começar
- Crie um endpoint HTTPS público em sua aplicação.
- Configure um endpoint de webhook da YCloud para os tipos de evento que você precisa.
- Armazene o segredo de assinatura do endpoint com segurança.
- Torne o processamento de eventos idempotente.
Como funciona
A YCloud envia uma solicitação HTTPPOST quando o evento ocorre. Verifique a assinatura, registre o evento de forma duradoura, retorne uma resposta 2xx e processe tarefas lentas de forma assíncrona.
Solicitação
Os cenários abaixo mostram solicitações entregues à sua URL de webhook. Trate oid do evento como o identificador de entrega e use type para rotear o payload.
Resposta
Retorne um status2xx após aceitar o evento.
Para obter detalhes sobre a configuração do endpoint, validação de assinatura e comportamento de repetição, consulte Configurar webhooks.
Exemplo de alteração de tags (adicionar tags)
Solicitação
Resposta
Confirme o recebimento da entrega após aceitar o evento de forma duradoura.Explicação
Roteie o evento portype, desduplique-o por id e transfira tarefas lentas ou sujeitas a falhas para um processador assíncrono.
Exemplo de alteração de tags (remover tags)
Solicitação
Resposta
Confirme o recebimento da entrega após aceitar o evento de forma duradoura.Explicação
Roteie o evento portype, desduplique-o por id e transfira tarefas lentas ou sujeitas a falhas para um processador assíncrono.
Exemplo de alteração
Solicitação
Resposta
Confirme o recebimento da entrega após aceitar o evento de forma duradoura.Explicação
- Estrutura correta: o objeto
contactAttributesChangedcontém três campos obrigatórios:id,updateTimeechangedAttributes. - Atributos alterados: o campo
changedAttributesé um objeto em que cada chave é o nome do atributo e o valor é um objetoContactAttributeChange. - Configuração de propriedades do evento: ao habilitar eventos
contact.attributes_changed, você deve configurar o campoeventPropertiesno seu endpoint de webhook para especificar quais atributos devem ser incluídos no payload do webhook. - Tipos de atributos: os campos
oldValueenewValuepodem conter diferentes tipos de dados:- String: valores de texto
- Number: valores numéricos (inteiro ou decimal)
- Boolean: valores verdadeiro/falso
- Array: matrizes de strings
- Object: objetos complexos com propriedades aninhadas
- Null: quando um atributo é removido ou não definido
- Alterações de tags: para atributos de tags, o campo
extrafornece informações detalhadas sobre quais tags foram adicionadas ou removidas, incluindo seus IDs e valores. - Valores nulos: quando um atributo é removido ou definido como nulo, o
newValueseránull. Quando um atributo é adicionado recentemente, ooldValuepode sernull. - Atributos personalizados: atributos personalizados são incluídos no objeto
changedAttributesda mesma forma que os atributos padrão, com suas chaves personalizadas como os nomes dos atributos. - Detecção de alterações: somente os atributos que foram efetivamente alterados são incluídos no objeto
changedAttributes. - Campo extra: o campo
extraé opcional e é usado principalmente para alterações relacionadas a tags a fim de fornecer contexto adicional sobre as ações específicas realizadas.
Anotação de contato atualizada
Usecontact.note.updated quando uma anotação de contato for atualizada.
Solicitação
Resposta
Confirme o recebimento da entrega após aceitar o evento de forma duradoura.Explicação
UsecontactNote.id para identificar a anotação e contactId para identificar o contato proprietário. username e phoneNumber descrevem o contato e podem ser nulos. O payload contém o snapshot da anotação visível para o cliente, incluindo content, sem identificadores internos do operador.
