Documentação pública

Valore — Loja de API

Referência para integração ERP ↔ Valore. Todas as rotas usam o prefixo /api/v1 e exigem API key do tenant (feature api_integrations).

Autenticação

Envie a chave em um dos formatos abaixo. A chave é exibida apenas uma vez na criação.

Header Bearer (recomendado)
Authorization: Bearer valore_sua_chave_aqui
Header alternativo
X-Api-Key: valore_sua_chave_aqui

Respostas de sucesso: { "data": { ... } }
Erros: { "error": "...", "code": "FORBIDDEN" }

Outbound Valore → ERP (Idempotency-Key)

Chamadas do Valore ao ERP (pedidos e contratos) enviam o header Idempotency-Key. A chave é estável por tenant + ação + entidade (SHA-256). Reenvios do monitor reutilizam a mesma chave para o ERP deduplicar (ex.: pedido já criado no SAP).

Header enviado pelo Valore
Idempotency-Key: <sha256(company_id:action:entity_id)>
Corpo JSON típico
{
  "action": "purchase_order.create",
  "entity": "purchase_orders",
  "entity_id": "uuid",
  "entity_code": "PO-2026-0001",
  "data": { "...": "payload do pedido" }
}
  • Cada tentativa incrementa o contador attempts no log.
  • Despachos concorrentes para a mesma entidade são bloqueados (HTTP 409 no Valore).
  • O ERP deve tratar a mesma chave como a mesma operação de negócio.

Códigos de erro

CodeHTTPDescrição
UNAUTHORIZED401API key ausente ou inválida
FORBIDDEN403Escopo insuficiente ou módulo desabilitado
NOT_FOUND404Recurso não encontrado
VALIDATION_ERROR400Payload ou parâmetros inválidos
CONFLICT409Conflito (ex.: código duplicado)
RATE_LIMITED429Limite de requisições excedido
INTERNAL_ERROR500Erro interno

Geral

GET/api/v1/health

Health check

Valida a API key, a feature api_integrations do tenant e retorna metadados da chave.

Exemplo de response

200 OK
{
  "data": {
    "status": "ok",
    "company_id": "00000000-0000-0000-0000-000000000001",
    "scopes": ["items:read", "orders:read"]
  }
}