Endpoints

Atualizar um endpoint

Este endpoint atualiza as configurações de um webhook endpoint existente: nome, URL, lista de eventos, status, metadados ou cabeçalhos de autenticação. Todos os campos são opcionais (atualização parci

Visão Geral

Este endpoint atualiza as configurações de um webhook endpoint existente: nome, URL, lista de eventos, status, metadados ou cabeçalhos de autenticação. Todos os campos são opcionais (atualização parcial).

Precauções

  • A atualização não interrompe entregas em andamento.
  • Se alterar a URL, garanta que o novo endpoint (HTTPS) esteja acessível.
  • O secret não é alterado nem retornado aqui — para rotacioná-lo, use POST /v1/webhooks/{webhookId}/rotate-secret.

Descrição

Útil para alterar a URL de destino, adicionar/remover eventos monitorados, ativar/desativar (enabled) ou atualizar credenciais de autenticação.

Requisição

PUT /v1/webhooks/{webhookId}

Cabeçalho: SelectKey: sk_live_... (ou sk_test_...). Escopo necessário: webhooks:update.

Parâmetros de Caminho

ParâmetroTipoObrigatórioDescriçãoExemplo
webhookIdstringSimID do webhook (wbe_*; legados wbh_*)wbe_01hqzvabc

Corpo da Requisição

Todos os campos são opcionais — envie apenas o que deseja alterar.

ParâmetroTipoDescriçãoExemplo
namestring (1–100)Nome descritivo"Webhook MyDomain - Updated"
endpointstring (URI HTTPS)Nova URL de destino"https://webhooks.mydomain.com/selectwin"
eventsarray de strings (máx. 200)Nova lista de tipos de evento (ver Catálogo)["transaction.approved", "customer.created"]
forceActivebooleanRecebe todos os tipos de eventotrue
enabledbooleanAtiva/desativa o endpointtrue
headerAuthorizationstring (máx. 1000)Valor de autenticação enviado a cada disparo (write-only)"sk_live_xyz"
headerAuthorizationTypestring (máx. 50)Tipo de autenticação (write-only)"Bearer"
metadataobjetoMetadados livres{"updatedBy": "admin"}

Exemplo de Requisição

{
  "name": "Webhook MyDomain - Updated",
  "events": [
    "transaction.approved",
    "transaction.pending",
    "customer.created"
  ],
  "enabled": true
}

Resposta

Sucesso (200 OK)

{
  "id": "wbe_01hqzvabc",
  "name": "Webhook MyDomain - Updated",
  "endpoint": "https://webhooks.mydomain.com/selectwin",
  "enabled": true,
  "events": [
    "transaction.approved",
    "transaction.pending",
    "customer.created"
  ],
  "forceActive": false,
  "shotsQty": 3068,
  "failedShotsQty": 12,
  "lastDeliveryAt": "2026-06-20T18:10:00.000Z",
  "metadata": { "team": "ops", "updatedBy": "admin" },
  "createdAt": "2026-01-26T20:18:05.000Z",
  "updatedAt": "2026-06-20T18:10:05.000Z",
  "merchant": {
    "name": "Seller Name",
    "merchantId": "bus_1234567890",
    "isSubAccount": false
  },
  "_links": {
    "self": { "href": "https://api.selectwin.io/v1/webhooks/wbe_01hqzvabc", "method": "GET", "description": "Read a webhook." }
  }
}

Atributos da Resposta

Mesma estrutura do Create, sem o campo secret (que só aparece no create/rotate-secret). As credenciais headerAuthorization/headerAuthorizationType são write-only e não retornam.

AtributoTipoDescrição
idstringwbe_*
namestringNome (atualizado)
endpointstringURL HTTPS
enabledbooleanAtivo
eventsarray | nullTipos de evento assinados
forceActivebooleanRecebe todos os tipos de evento
shotsQty / failedShotsQtyintegerDisparos
lastDeliveryAtstring (ISO) | nullÚltima entrega
metadataobjeto | nullMetadados
createdAt / updatedAtstring (ISO)Timestamps
merchantobjectBloco do lojista
_linksobjectHATEOAS

Erros

Código HTTPQuando
400Validação (ex.: URL não-HTTPS, tipo de evento inválido)
401Chave de API ausente/inválida (SelectKey)
403Sem o escopo webhooks:update
404Webhook endpoint não encontrado (webhookEndpointNotFound)
500Erro interno

Melhores Práticas

  1. Teste a nova URL antes de atualizá-la no webhook.

  2. Considere o impacto da alteração de events[] nas integrações que dependem dessas notificações.

  3. Use enabled: false para pausar temporariamente um endpoint em vez de excluí-lo.

  4. Rotacione o segredo periodicamente via POST /v1/webhooks/{webhookId}/rotate-secret.

How is this guide?

On this page