Documentação da API

Chaves de API e escopos

Toda chamada leva uma chave de API no header Authorization: Bearer <chave> (ou X-API-Key). A URL base é https://api.uneway.pro/api/v1.

Chaves

  • uw_test_...: sandbox. Só enxerga e cria pagamentos de teste.
  • uw_live_...: produção. Liberada com a conta aprovada e o e-mail confirmado.

Crie quantas chaves precisar (até 20 ativas) em Desenvolvedores → Chaves de API, uma por integração. Cada chave tem nome, ambiente, escopos e validade opcional. A chave completa só aparece na criação; guardamos apenas o hash SHA-256 e os últimos 4 caracteres.

Escopos

Uma chave sem escopos escolhidos tem acesso completo. Com escopos, cada rota exige o seu; sem ele a resposta é 403 insufficient_scope com details.required_scope.

EscopoPermite
payments:readConsultar e listar pagamentos
payments:writeCriar pagamentos (e simular no sandbox)
refunds:writeEstornar pagamentos
balance:readConsultar saldo
withdrawals:readConsultar repasses (saques)
products:readConsultar e listar produtos
products:writeCriar, editar e arquivar produtos
coupons:readConsultar e listar cupons
coupons:writeCriar, editar e arquivar cupons
subscriptions:readConsultar planos e assinaturas (com cobranças)
subscriptions:writeCriar e cancelar assinaturas

Rotação e revogação

Rotacionar cria uma chave igual (nome, ambiente, escopos) e encerra a anterior na hora ou após uma carência de 1, 24 ou 72 horas, para trocar a chave no servidor sem derrubar a integração. Revogar encerra a chave imediatamente. Chave revogada responde 401 api_key_revoked; expirada, 401 api_key_expired.

Boas práticas

  • Nunca use a chave no navegador ou em apps móveis: chame a API do seu servidor.
  • Guarde a chave em variável de ambiente ou cofre de segredos.
  • Acompanhe cada chamada em Desenvolvedores → Logs de API.

GET /developer/me

Chave em uso

Devolve a conta, o ambiente (livemode) e os escopos da chave enviada. Use para testar a autenticação.

curl -X GET https://api.uneway.pro/api/v1/developer/me \
  -H "Authorization: Bearer uw_test_SUA_CHAVE"

Resposta (exemplo)

{
  "success": true,
  "data": {
    "object": "api_key",
    "id": 7,
    "name": "Loja virtual",
    "masked_key": "uw_test_••••••••a1B2",
    "expires_at": null,
    "client_id": 42,
    "account_name": "Minha Loja",
    "livemode": false,
    "scopes": [
      "payments:read",
      "payments:write"
    ],
    "rate_limit_per_minute": 120
  }
}