# GlobalWebhookRequest Estrutura de dados do contrato OpenAPI. ## Campos | Campo | Tipo | Presença | Descrição | |---|---|---|---| | `action` | `string` | condicional | Valores: `"add"`, `"update"`, `"delete"`. Padrão: `"add"` | | `enabled` | `boolean` | opcional | Padrão: `true` | | `url` | `string` | condicional | HTTPS público, sem credenciais/redirects; exceções de laboratório na allowlist. Comprimento máximo: `2048` | | `events` | `string / array` | condicional | Entregues: connection, messages, messages_update, messages_edit, groups, limits, undecryptable, call. qrcode, history e chats são aceitos e ignorados, assim como os demais nomes de compatibilidade documentados. | | `excludeMessages` | `string / array` | opcional | wasSentByApi, wasNotSentByApi, fromMeYes, fromMeNo, isGroupYes, isGroupNo. | | `addUrlEvents` | `boolean / string / integer / null` | opcional | Deve ser false. | | `addUrlTypesMessages` | `boolean / string / integer / null` | opcional | Deve ser false. | | `secret` | `string` | opcional | Segredo de assinatura do webhook; até 256 ASCII sem espaços. Nunca é devolvido. Comprimento máximo: `256`. Somente na requisição; não é devolvido | Pelo menos uma destas combinações deve ser válida: - `action`; `action`: Valor fixo: `"delete"` - `url`, `events` ## Definição OpenAPI ```json { "type": "object", "properties": { "action": { "type": "string", "enum": [ "add", "update", "delete" ], "default": "add" }, "enabled": { "type": "boolean", "default": true }, "url": { "type": "string", "description": "HTTPS público, sem credenciais/redirects; exceções de laboratório na allowlist.", "maxLength": 2048 }, "events": { "oneOf": [ { "type": "string" }, { "type": "array", "items": { "type": "string" } } ], "description": "Entregues: connection, messages, messages_update, messages_edit, groups, limits, undecryptable, call. qrcode, history e chats são aceitos e ignorados, assim como os demais nomes de compatibilidade documentados." }, "excludeMessages": { "oneOf": [ { "type": "string" }, { "type": "array", "items": { "type": "string" } } ], "description": "wasSentByApi, wasNotSentByApi, fromMeYes, fromMeNo, isGroupYes, isGroupNo." }, "addUrlEvents": { "oneOf": [ { "type": "boolean" }, { "type": "string", "enum": [ "true", "false", "1", "0", "" ] }, { "type": "integer", "enum": [ 0, 1 ] }, { "type": "null" } ], "description": "Deve ser false." }, "addUrlTypesMessages": { "oneOf": [ { "type": "boolean" }, { "type": "string", "enum": [ "true", "false", "1", "0", "" ] }, { "type": "integer", "enum": [ 0, 1 ] }, { "type": "null" } ], "description": "Deve ser false." }, "secret": { "type": "string", "description": "Segredo de assinatura do webhook; até 256 ASCII sem espaços. Nunca é devolvido.", "maxLength": 256, "writeOnly": true } }, "anyOf": [ { "required": [ "action" ], "properties": { "action": { "const": "delete" } } }, { "required": [ "url", "events" ] } ] } ```