Um webhook permite que você receba notificações HTTP sobre mudanças em seus chamados e clientes. Por exemplo, quando um novo chamado for criado será enviada uma notificação com o identificador do chamado, dessa forma será possível consultar informações do chamado através da API do TomTicket.
Objeto
A notificação é enviada no formato JSON, como exemplo abaixo:
POST / HTTPS/1.1
X-Hub-Signature: sha1={SHA1-SIGNATURE}
{
"type": "ticket",
"id": "aecfa76db609289407c0e6efe66c484a",
"action: "created"
}
No exemplo acima está sendo enviado uma notificação informado que o chamado de id aecfa76db609289407c0e6efe66c484a
foi criado.
Propriedades
O webhook sempre contará com as propriedades abaixo:
- type: Indica o tipo de informação que gerou o evento.
- ticket: Indica que um chamado disparou o webhook.
- customer: Indica que um cliente disparou o webhook.
- id: Identificador do item. Esse identificador é compatível para listagens na API.
- action: Tipo de ação que disparou o evento.
- deleted: Item foi removido.
- created: item foi criado.
- updated: Item foi atualizado.
Assinatura de Segurança
Caso seja necessário validar se foi o TomTicket que gerou o envio do webhook, poderá consultar através do cabeçalho X-Hub-Signature
a assinatura de segurança, que é enviada criptografada em SHA1, baseada na chave secreta de configuração do seu webhook.
A assinatura de segurança é gerado com base no JSON enviado codificado em base64, criptografado através de HMAC (SHA1), usando sua chave secreta para assinatura.
Exemplo:
ASSINATURA = HMAC('SHA1', BASE64(SEU-JSON), CHAVE-SECRETA);
Servidor HTTPS
O webhook é enviado através HTTPS, por isso é necessário que seu servidor possua um certificado SSL válido.
Importante: Se o servidor de webhook não estiver disponível no momento do envio, a informação não será enviada novamente.