API de Webhooks
Endpoints de API para gerenciar configurações de webhooks e visualizar logs.
API de Webhooks
Configure webhooks para receber eventos do Rafobase no seu sistema.
Esta API é para webhooks de saída (Rafobase → Seu Sistema). Para webhooks de entrada (Checkout → Rafobase), veja o Guia de Webhooks.
Endpoints
| Método | Endpoint | Descrição |
|---|---|---|
GET | /v1/webhooks | Listar endpoints de webhook |
POST | /v1/webhooks | Criar endpoint de webhook |
GET | /v1/webhooks/:id | Obter endpoint de webhook |
PATCH | /v1/webhooks/:id | Atualizar endpoint de webhook |
DELETE | /v1/webhooks/:id | Deletar endpoint de webhook |
GET | /v1/webhooks/:id/logs | Obter logs de entrega |
Eventos Disponíveis
| Evento | Disparador |
|---|---|
member.created | Novo membro registrado |
member.updated | Detalhes do membro alterados |
referral.created | Nova indicação atribuída |
referral.approved | Indicação aprovada (garantia passou) |
referral.rejected | Indicação rejeitada |
referral.cancelled | Indicação cancelada (reembolso) |
redemption.completed | Membro resgatou saldo |
wallet.credited | Saldo adicionado à carteira |
wallet.debited | Saldo removido da carteira |
Listar Endpoints de Webhook
GET /v1/webhooksExemplo de Requisição
curl https://api.rafobase.com/v1/webhooks \
-H "Authorization: Bearer rfb_live_xxxxxxxxxxxxx"Exemplo de Resposta
{
"data": [
{
"id": "wh_xxxxx",
"url": "https://seu-app.com/webhooks/rafobase",
"events": ["referral.created", "referral.approved"],
"is_active": true,
"secret": "whsec_xxxxx...xxxxx",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
]
}Criar Endpoint de Webhook
POST /v1/webhooksCorpo da Requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
url | string | Sim | URL do endpoint HTTPS |
events | array | Sim | Lista de eventos para inscrever |
is_active | boolean | Não | Se webhook está ativo (padrão: true) |
Exemplo de Requisição
curl -X POST https://api.rafobase.com/v1/webhooks \
-H "Authorization: Bearer rfb_live_xxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"url": "https://seu-app.com/webhooks/rafobase",
"events": [
"referral.created",
"referral.approved",
"redemption.completed"
]
}'Exemplo de Resposta
{
"data": {
"id": "wh_yyyyy",
"url": "https://seu-app.com/webhooks/rafobase",
"events": ["referral.created", "referral.approved", "redemption.completed"],
"is_active": true,
"secret": "whsec_xxxxxxxxxxxxxxxxxxxxxxxxx",
"created_at": "2024-01-25T12:00:00Z",
"updated_at": "2024-01-25T12:00:00Z"
}
}Salve o secret com segurança - é mostrado apenas uma vez. Use-o para verificar assinaturas de
webhook recebidas.
Obter Endpoint de Webhook
GET /v1/webhooks/:idExemplo de Requisição
curl https://api.rafobase.com/v1/webhooks/wh_xxxxx \
-H "Authorization: Bearer rfb_live_xxxxxxxxxxxxx"Atualizar Endpoint de Webhook
PATCH /v1/webhooks/:idCorpo da Requisição
| Campo | Tipo | Descrição |
|---|---|---|
url | string | URL do endpoint |
events | array | Eventos para inscrever |
is_active | boolean | Status ativo |
Exemplo de Requisição
curl -X PATCH https://api.rafobase.com/v1/webhooks/wh_xxxxx \
-H "Authorization: Bearer rfb_live_xxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"events": ["referral.created", "referral.approved", "referral.rejected"],
"is_active": true
}'Deletar Endpoint de Webhook
DELETE /v1/webhooks/:idExemplo de Requisição
curl -X DELETE https://api.rafobase.com/v1/webhooks/wh_xxxxx \
-H "Authorization: Bearer rfb_live_xxxxxxxxxxxxx"Retorna 204 Sem Conteúdo em caso de sucesso.
Obter Logs de Entrega
GET /v1/webhooks/:id/logsParâmetros de Consulta
| Parâmetro | Tipo | Descrição |
|---|---|---|
limit | number | Número máximo de logs a retornar (padrão: 50) |
offset | number | Número de logs para pular (padrão: 0) |
status | string | Filtrar por status: success, failed |