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
authorizationemetadatapor 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
secretNÃ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ãolastEventSent, que é o nome usado na listagem).
Quando usar (e quando não)
Use GET por {endpointId} quando:
- Você precisa de
authorizationoumetadatade 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
idou 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çalho | Obrigatório | Valor |
|---|---|---|
SelectKey | Sim | Sua 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âmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
endpointId | string | Sim | ID 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"
}| Campo | Tipo | Descrição |
|---|---|---|
id | string | Identificador opaco do endpoint (wbe_…). |
name | string | Nome de exibição do endpoint. |
endpoint | string | URL HTTPS que recebe os payloads de eventos. |
enabled | boolean | true se o endpoint está ativo recebendo eventos. |
authorization | object | Cabeç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_***). |
events | array | Tipos de evento assinados (ex.: transaction.approved). |
shotsQty | integer | Total de tentativas de entrega já feitas. |
lastDeliveryAt | string (date-time) | Data/hora da última entrega (ISO 8601 UTC). |
metadata | object | Pares chave-valor livres anexados ao endpoint. Não vem na listagem. |
updatedAt | string (date-time) | Última atualização do endpoint. |
createdAt | string (date-time) | Criação do endpoint. |
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.code | HTTP | Quando ocorre |
|---|---|---|
invalidWebhookEndpointId | 400 | O endpointId está malformado (fora do padrão wbe_…). |
unauthorized | 401 | SelectKey ausente, inválida ou revogada. |
forbidden | 403 | A chave é válida, mas não tem permissão sobre este endpoint (ex.: pertence a outra conta). |
notFound | 404 | Nenhum endpoint com esse endpointId existe (ou já foi excluído). |
unprocessableEntity | 422 | A leitura não pôde ser processada por uma regra de negócio. |
tooManyRequests | 429 | Limite de requisições excedido — respeite error.retryAfterMinutes no backoff. Veja API Limits. |
serverError | 500 | Erro 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,enabledou contadores, prefira List — uma única chamada cobre vários endpoints. - Não conte com o
secretaqui. O segredo de assinatura nunca é reexibido no read; guarde-o quando criar o endpoint. - Trate o
idcomo opaco. Use owbe_…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
- Visão Geral de Webhook Endpoints — modelo do objeto e ciclo de vida.
- List — listar endpoints (projeção leve) e descobrir o
id. - Create — cadastrar um endpoint (única vez em que o
secretaparece). - Update — alterar URL, eventos,
authorizationoumetadata. - Delete — remover um endpoint.
- Analyze — estatísticas de entrega do endpoint.
- Convenções · Autenticação · Catálogo de Códigos de Erro
How is this guide?