Autenticação

A API PacoteVício usa chaves de API. Gere, visualize e revogue a sua na página Chaves de API do portal.

Mantenha a chave em segredo: ela dá acesso à sua cota. Não a exponha em repositórios públicos nem em código client-side — qualquer pessoa com acesso ao navegador do usuário conseguiria lê-la.

Headers

Header Obrigatório Valor
X-API-Key Sim Sua chave, no formato pv1_…
X-Tracking-Document Depende CPF/CNPJ do destinatário. Obrigatório para J&T Express — veja Transportadoras
User-Agent Recomendado Identificador da sua aplicação, ex.: minha-app/1.0

Accept não é obrigatório: todas as respostas são application/json; charset=utf-8, independentemente do que você enviar.

Exemplos

curl https://api.pacotevicio.dev/v1/track/BR123456789BR \
  -H "X-API-Key: pv1_4f8a92b1c0d6e3f7a8b9c2d4e6f1a3b54f8a92b1c0d6e3f7a8b9c2d4e6f1a3b5" \
  -H "User-Agent: minha-app/1.0"
const res = await fetch("https://api.pacotevicio.dev/v1/track/BR123456789BR", {
  headers: {
    "X-API-Key": process.env.PV_API_KEY,
    "User-Agent": "minha-app/1.0",
  },
});

Erros de autenticação e acesso

Status code Significado
401 missing_api_key O header X-API-Key não foi enviado
401 invalid_api_key A chave é desconhecida ou foi revogada
403 subscription_inactive A chave é válida, mas a conta não tem assinatura ativa
403 account_suspended A conta foi suspensa; o acesso à API está bloqueado
403 phone_verification_required Plano Básico sem telefone verificado

Nenhuma dessas respostas consome cota.

Se receber 401, confirme que o header está presente e que a chave continua ativa no portal. Ao rotacionar uma chave, a anterior é revogada imediatamente.

Rastreando um problema

Toda resposta traz o header X-Request-Id, repetido em error.request_id no corpo dos erros. Registre esse valor nos seus logs: com ele conseguimos localizar a requisição exata no nosso lado.

{
  "error": {
    "code": "invalid_api_key",
    "message": "Chave de API inválida ou revogada.",
    "request_id": "0ebcea5b-1727-4bf9-af88-4deb11b438f2"
  }
}