Plataforma de consulta com billing por requisição. Esta página cobre autenticação, formato de requisição/resposta e códigos de erro. Para gerar um token, crie uma conta e acesse /login.
Authorization: Bearer TOKEN. O token identifica o projeto automaticamente e é gerado na dashboard (Tokens → Gerar token). O valor completo aparece uma única vez — apenas o hash é armazenado.• Respostas incluem o header X-Request-ID para rastreamento e suporte.
• Envie Idempotency-Key (opcional) para evitar cobrança dupla em retries de rede.
• Aceita GET (params na querystring) ou POST (params no body JSON).
POST /api/v1/{CODIGO} — o código de cada produto contratado fica visível na dashboard, em Developers.CONSULTA_TESTEexemplocurl -X POST https://recompra.dev/api/v1/CONSULTA_TESTE \
-H "Authorization: Bearer SEU_TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: um-id-unico-opcional" \
-d '{"documento": "..."}'const response = await fetch("https://recompra.dev/api/v1/CONSULTA_TESTE", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.RECOMPRA_API_TOKEN}`,
"Content-Type": "application/json"
},
body: JSON.stringify({ documento: "..." })
});
const data = await response.json();
if (!data.success) {
console.error(data.error.code, data.error.message, data.requestId);
}type ApiResponse<T> =
| { success: true; data: T; requestId: string }
| { success: false; error: { code: string; message: string }; requestId: string };
async function consultar<T>(code: string, params: Record<string, string>): Promise<T> {
const response = await fetch(`https://recompra.dev/api/v1/${code}`, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.RECOMPRA_API_TOKEN!}`,
"Content-Type": "application/json"
},
body: JSON.stringify(params)
});
const body = (await response.json()) as ApiResponse<T>;
if (!body.success) throw new Error(`${body.error.code}: ${body.error.message}`);
return body.data;
}Sucesso
{ "success": true, "data": { /* ... */ }, "requestId": "..." }Erro
{ "success": false, "error": { "code": "...", "message": "..." }, "requestId": "..." }error.code e HTTP status correspondente.| code | status | significado |
|---|---|---|
| INVALID_TOKEN | 401 | Token inválido. |
| TOKEN_EXPIRED | 401 | Token expirado. |
| TOKEN_REVOKED | 401 | Token revogado. |
| CUSTOMER_BLOCKED | 403 | Conta suspensa ou bloqueada. Contate o suporte. |
| PROJECT_BLOCKED | 403 | Projeto pausado ou bloqueado. |
| PRODUCT_NOT_FOUND | 404 | Produto não encontrado. |
| PRODUCT_NOT_ALLOWED | 403 | Este projeto não tem permissão para este produto. |
| PRODUCT_UNAVAILABLE | 503 | Produto temporariamente indisponível. |
| INSUFFICIENT_BALANCE | 402 | Saldo insuficiente. Adicione créditos. |
| IP_NOT_ALLOWED | 403 | IP não autorizado para este projeto. |
| RATE_LIMIT_EXCEEDED | 429 | Limite de requisições excedido. |
| BUDGET_EXCEEDED | 402 | Orçamento do projeto excedido. |
| INVALID_PARAMETERS | 400 | Parâmetros inválidos. |
| IDEMPOTENCY_CONFLICT | 409 | Requisição com esta Idempotency-Key ainda está em processamento. |
| PROVIDER_TIMEOUT | 504 | A API externa não respondeu a tempo. |
| PROVIDER_REJECTED | 422 | A API externa rejeitou a consulta (dados inválidos para o fornecedor). |
| PROVIDER_NOT_FOUND | 404 | Registro não encontrado na API externa. |
| PROVIDER_AUTH_ERROR | 502 | Falha de autenticação com a API externa. Contate o administrador da plataforma. |
| PROVIDER_UNAVAILABLE | 503 | A API externa está indisponível no momento. |
| PROVIDER_ERROR | 502 | Erro na API externa. |
| INTERNAL_ERROR | 500 | Erro interno. |