Cabeçalhos de entrega
Os payloads HTTP POST entregues ao endpoint de URL configurado do seu webhook conterão vários cabeçalhos especiais:
X-Fluid-Hook-Guid: O identificador único desta configuração de webhook.
X-Fluid-Event: O nome do evento que acionou a entrega.
X-Fluid-Entity: O nome da entidade em que este evento foi acionado.
X-Fluid-Delivery: Um identificador globalmente único (GUID) para identificar a entrega.
X-Hub-Signature-256: Este cabeçalho é enviado se o webhook estiver configurado com um segredo. Este é o resumo hex HMAC do corpo da requisição, e é gerado usando a função de hash SHA-256 e o segredo como chave HMAC. Para mais informações, consulte Validando Webhooks
User-Agent: Este cabeçalho sempre terá o prefixo Fluid-Hookshot/{WebhookIntegrationName} onde WebhookIntegrationName é o valor configurado pelo cliente ao configurar este Webhook.
X-Fluid-Hook-Principal-Entity: O tipo de entidade onde o webhook foi criado. Para uma Ação, este valor seria a entidade principal desta Ação, ou seja, "Board".
X-Fluid-Hook-Principal-Guid: O identificador único da entidade onde o webhook foi criado. Para uma Ação, este seria o Guid principal, que é o Guid único do Board.
Exemplo de entrega de webhook
Você pode optar por receber os payloads no formato JSON (application/json). A seguir está um exemplo de uma requisição POST de webhook que usa o formato JSON para uma Ação.
{
"fields": {
"assignee": null,
"attachmentCount": 0,
"author": {
"id": 603,
"guid": "f1cb6467-0262-4539-9148-7b869defd817",
"name": "David Burt",
"userName": "david.burt",
"email": "david.burt@fluidbsg.com"
},
"boardCategory": 0,
"boardId": 0,
"boardGuid": "89f97f10-6bbd-4f75-8cf6-ad0fb9d6f3a0",
"boardTitle": "Agile T1",
"businessValue": 0,
"chatCount": 0,
"contentType": "Process",
"createDate": "2024-03-22T13:14:49.0000000",
"description": "",
"descriptionHtml": null,
"dueDate": null,
"endDate": null,
"impediment": 0,
"isClosed": false,
"isCalculated": false,
"isOwner": true,
"modifiedBy": {
"id": 603,
"guid": "f1cb6467-0262-4539-9148-7b869defd817",
"name": "David Burt",
"userName": "david.burt",
"email": "david.burt@fluidbsg.com"
},
"modifiedDate": "2024-03-22T13:14:49.0000000",
"points": 1,
"parentGuid": "3d3a4acf-193e-424b-a61d-856d83728ba3",
"priority": "Medium",
"principalGuid": "89f97f10-6bbd-4f75-8cf6-ad0fb9d6f3a0",
"shortCode": "AT-85",
"startDate": null,
"status": "Not Started",
"statusCode": 1,
"taskType": "Task",
"title": "r",
"titleRichText": "r",
"titleHtml": "r"
},
"id": 4566,
"guid": "6dfb56bc-91ab-4739-a95e-ad508c2ac206",
"url": "https://localhost:62199/rest/api/action/4566"
}Nota: Neste exemplo, a propriedade de entidade do payload do evento é o mesmo modelo JSON de entidade usado na API REST para Ações. Consulte Referência da API REST do Fluid para mais detalhes. Os modelos de entidade JSON do webhook sempre corresponderão aos modelos JSON da API REST.
Definições
Nome | Descrição |
event | O gatilho do evento, ex.: Criar, Atualizar ou Excluir. |
entityType | Em qual entidade este evento foi acionado, ex.: Ação. X-Fluid-Entity: O nome da entidade em que este evento foi acionado. |
Entidade
Dependendo do tipo de entidade do webhook, ex., Webhook de Ação, a propriedade de entidade representa o estado completo das entidades no momento em que o webhook foi acionado. Neste exemplo, consulte a chamada da API REST Obter Ação para detalhes completos.