Atualizar Webhook
Metodo
PUT https://oapi.ogmma.com.br/v1/webhooks/:id
Conceituacao
Este endpoint permite atualizar as configuracoes de um webhook existente. Voce pode alterar o nome, URL de destino, lista de eventos, politica de retry e o estado de ativacao.
Ao reativar um webhook que foi desativado automaticamente (por falhas consecutivas), o contador de falhas e resetado para zero automaticamente.
Atributos
Header
| Atributo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
Authorization | string | Sim | Chave de autenticacao da API. Bearer {API_KEY} |
Content-Type | string | Sim | Tipo do conteudo. application/json |
Parametros de Rota
| Atributo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
id | string | Sim | ID do webhook a ser atualizado. |
Body
| Atributo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
name | string | Nao | Nome identificador do webhook. Min 3, max 100 caracteres. |
url | string | Nao | URL de destino para envio dos eventos. Deve ser HTTPS. |
events | string[] | Nao | Lista de eventos que o webhook deve receber. Valores aceitos: message.received, message.sent, message.delivered, message.read, conversation.created, conversation.closed, channel.connected, channel.disconnected, contact.created, contact.updated, bulk.completed, bulk.failed. |
secret | string | Nao | Nova chave secreta para geracao da assinatura HMAC-SHA256. Min 16 caracteres. |
active | boolean | Nao | Define se o webhook esta ativo. |
retryPolicy | object | Nao | Configuracao da politica de tentativas de reenvio. |
retryPolicy.maxRetries | number | Nao | Numero maximo de tentativas apos falha. Max: 10. |
retryPolicy.retryDelay | number | Nao | Intervalo em milissegundos entre tentativas. Min: 5000, max: 300000. |
Request
- cURL
- Node.js
- Python
curl -X PUT "https://oapi.ogmma.com.br/v1/webhooks/{id}" \
-H "Authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"name": "Webhook Atualizado",
"url": "https://novo-servidor.com.br/webhooks/ogmma",
"events": [
"message.received",
"message.sent",
"message.delivered",
"message.read"
],
"active": true,
"retryPolicy": {
"maxRetries": 8,
"retryDelay": 60000
}
}'
const axios = require('axios');
const response = await axios.put(
'https://oapi.ogmma.com.br/v1/webhooks/{id}',
{
name: 'Webhook Atualizado',
url: 'https://novo-servidor.com.br/webhooks/ogmma',
events: [
'message.received',
'message.sent',
'message.delivered',
'message.read'
],
active: true,
retryPolicy: {
maxRetries: 8,
retryDelay: 60000
}
},
{
headers: {
'Authorization': 'Bearer {API_KEY}',
'Content-Type': 'application/json'
}
}
);
console.log(response.data);
import requests
response = requests.put(
'https://oapi.ogmma.com.br/v1/webhooks/{id}',
json={
'name': 'Webhook Atualizado',
'url': 'https://novo-servidor.com.br/webhooks/ogmma',
'events': [
'message.received',
'message.sent',
'message.delivered',
'message.read'
],
'active': True,
'retryPolicy': {
'maxRetries': 8,
'retryDelay': 60000
}
},
headers={
'Authorization': 'Bearer {API_KEY}',
'Content-Type': 'application/json'
}
)
print(response.json())
Response
200 - Webhook atualizado com sucesso
{
"id": "665f1a2b3c4d5e6f7a8b9c0d",
"name": "Webhook Atualizado",
"url": "https://novo-servidor.com.br/webhooks/ogmma",
"events": [
"message.received",
"message.sent",
"message.delivered",
"message.read"
],
"active": true,
"consecutiveFailures": 0,
"retryPolicy": {
"maxRetries": 8,
"retryDelay": 60000
},
"createdAt": "2024-06-10T14:30:00.000Z",
"updatedAt": "2024-06-11T09:45:00.000Z"
}
400 - Dados invalidos
{
"error": "VALIDATION_ERROR",
"message": "Dados de entrada invalidos",
"details": [
{
"field": "url",
"message": "A URL deve utilizar protocolo HTTPS"
}
]
}
401 - Nao autorizado
{
"error": "UNAUTHORIZED",
"message": "Token de autenticacao invalido ou ausente"
}
429 - Limite de requisicoes excedido
{
"error": "RATE_LIMIT_EXCEEDED",
"message": "Limite de requisicoes excedido. Tente novamente em alguns instantes.",
"retryAfter": 60
}
Dica
Ao alterar o secret, lembre-se de atualizar tambem a verificacao de assinatura na sua aplicacao. Eventos enviados apos a atualizacao usarao o novo secret.