SelectwinDOCS
Endpoints

Consultar um endpoint

Recupera o objeto completo de um único webhook endpoint pelo seu id (wbe…). Use esta operação quando precisar dos campos que não vêm na listagem — como authorization (cabeçalho que a Selectwin envia a

Recupera o objeto completo de um único webhook endpoint pelo seu id (wbe_…). Use esta operação quando precisar dos campos que não vêm na listagem — como authorization (cabeçalho que a Selectwin envia ao seu servidor), metadata e o lastDeliveryAt — seja para auditar a configuração ou para preparar uma edição.

GET /v1/webhooks/endpoints/{endpointId}

Um webhook endpoint é o cadastro que guarda a URL HTTPS para a qual a Selectwin envia um POST em tempo real quando ocorre um evento assinado (por exemplo transaction.approved), junto com os eventos inscritos, o cabeçalho de autenticação e os metadados. Esta operação devolve esse cadastro inteiro para um endpoint específico.

Como funciona

Esta é a leitura individual do recurso — o complemento de List. Enquanto a listagem devolve uma projeção leve de cada endpoint (sem campos sensíveis), o read pelo {endpointId} devolve o objeto completo, incluindo authorization e metadata.

Pontos importantes do mecanismo:

  • Objeto completo, não projeção. A listagem omite authorization e metadata por serem sensíveis/detalhados; esta operação os traz. É aqui que você confere o cabeçalho de autenticação configurado e os metadados anexados.
  • Somente leitura. A operação não altera nada e não consome chave de idempotência; pode ser repetida à vontade (respeitando o limite de requisições).
  • O secret NÃO volta aqui. O segredo de assinatura (whsec_…) aparece apenas na resposta de Create. O read não o reexibe — não há como recuperá-lo por esta operação. Se você o perdeu, será preciso rotacioná-lo recriando/atualizando a configuração.
  • Campo de última entrega. No read, o último envio é exposto em lastDeliveryAt (não lastEventSent, que é o nome usado na listagem).

Quando usar (e quando não)

Use GET por {endpointId} quando:

  • Você precisa de authorization ou metadata de um endpoint específico — esses campos não vêm em List.
  • Você vai editar o endpoint e quer ler a configuração atual antes de montar o corpo do Update.
  • Você quer auditar um endpoint em detalhe (URL, eventos inscritos, enabled, timestamps).

Não use quando:

  • Você só quer descobrir o id ou ver vários endpoints de uma vez: use List.
  • Você quer métricas de entrega (tentativas, falhas por entrega): use Analyze.
  • Você quer receber atualizações de estado em tempo real (transação aprovada, etc.): isso é função do webhook chegando à sua URL — não fique consultando o read em loop. Veja Proibição de Polling.

Requisição

Headers

CabeçalhoObrigatórioValor
SelectKeySimSua chave de API (sl_live_… em produção, sl_test_… em sandbox). Nunca use Authorization: Bearer/Basic. Veja Autenticação.

Esta operação é uma leitura sem corpo, então não envie Content-Type nem X-Idempotency-Key.

Parâmetros de caminho

ParâmetroTipoObrigatórioDescrição
endpointIdstringSimID do endpoint de webhook a ler, no formato wbe_…. Trate-o como opaco — não faça parsing. Ex.: wbe_01hqzvabc.

Exemplo curl

curl https://api.selectwin.io/v1/webhooks/endpoints/wbe_01hqzvabc \
  -H "SelectKey: sl_live_aBcDeFgHiJkLmNoPqRsTuVwXyZ"

Resposta

Sucesso (200 OK)

{
  "id": "wbe_01hqzvabc",
  "name": "Webhook MyDomain",
  "endpoint": "https://webhooks.mydomain.com/selectwin",
  "enabled": true,
  "authorization": {
    "type": "bearer",
    "value": "sl_wh_***"
  },
  "events": [
    "transaction.approved",
    "transaction.pending"
  ],
  "shotsQty": 3068,
  "lastDeliveryAt": "2026-04-12T17:56:33.000Z",
  "metadata": {
    "team": "ops"
  },
  "updatedAt": "2026-04-12T17:56:33.000Z",
  "createdAt": "2025-01-26T20:18:05.000Z"
}
CampoTipoDescrição
idstringIdentificador opaco do endpoint (wbe_…).
namestringNome de exibição do endpoint.
endpointstringURL HTTPS que recebe os payloads de eventos.
enabledbooleantrue se o endpoint está ativo recebendo eventos.
authorizationobjectCabeçalho de autenticação que a Selectwin envia ao seu servidor a cada entrega (type/value). Não vem na listagem. O value pode ser mascarado (ex.: sl_wh_***).
eventsarrayTipos de evento assinados (ex.: transaction.approved).
shotsQtyintegerTotal de tentativas de entrega já feitas.
lastDeliveryAtstring (date-time)Data/hora da última entrega (ISO 8601 UTC).
metadataobjectPares chave-valor livres anexados ao endpoint. Não vem na listagem.
updatedAtstring (date-time)Última atualização do endpoint.
createdAtstring (date-time)Criação do endpoint.

Nota

Em relação à listagem, o read acrescenta authorization e metadata (omitidos na projeção leve) e usa lastDeliveryAt em vez de lastEventSent. Ele não traz secret (exclusivo do Create), nem failedShotsQty, nem os blocos merchant/_links que aparecem na listagem.

Erros

Trate sempre pelo error.code (estável), nunca pela message. Veja o Catálogo de Códigos de Erro e o envelope de erro.

error.codeHTTPQuando ocorre
invalidWebhookEndpointId400O endpointId está malformado (fora do padrão wbe_…).
unauthorized401SelectKey ausente, inválida ou revogada.
forbidden403A chave é válida, mas não tem permissão sobre este endpoint (ex.: pertence a outra conta).
notFound404Nenhum endpoint com esse endpointId existe (ou já foi excluído).
unprocessableEntity422A leitura não pôde ser processada por uma regra de negócio.
tooManyRequests429Limite de requisições excedido — respeite error.retryAfterMinutes no backoff. Veja API Limits.
serverError500Erro interno — repita com backoff; se persistir, contate o suporte.

Exemplo de 404 (endpoint inexistente ou já removido):

{
  "error": {
    "code": "notFound",
    "statusCode": 404,
    "category": "client",
    "message": "Webhook endpoint not found."
  }
}

Boas práticas

  • Leia antes de atualizar. Busque a configuração atual com esta operação antes de montar o corpo do Update, para não sobrescrever campos sem querer.
  • Use o read só para os campos sensíveis. Se você só precisa de id, name, enabled ou contadores, prefira List — uma única chamada cobre vários endpoints.
  • Não conte com o secret aqui. O segredo de assinatura nunca é reexibido no read; guarde-o quando criar o endpoint.
  • Trate o id como opaco. Use o wbe_… exatamente como recebido; não tente interpretá-lo (veja Convenções).
  • Não use o read como polling de estado. Para saber que uma transação foi aprovada, receba o webhook — não fique relendo o endpoint. Veja Proibição de Polling.

Veja também

How is this guide?

On this page