Primeiros passos
Bem-vindo à API PacoteVício. Este guia leva você da primeira requisição a uma integração pronta para produção.
Integrando com ajuda de um agente de IA? Esta documentação também está disponível em formato para LLMs em
/docs/llms.txt— cada artigo é servido como markdown bruto em/docs/{slug}.md.
Pré-requisitos
- Uma conta no portal PacoteVício
- Uma chave de API ativa (acesse Chaves de API no menu)
Base URL
https://api.pacotevicio.dev
Todos os endpoints ficam sob o prefixo de versão /v1.
Sua primeira requisição
curl https://api.pacotevicio.dev/v1/track/BR123456789BR \
-H "X-API-Key: <SUA_CHAVE>"
{
"tracking_code": "BR123456789BR",
"courier": "correios",
"status": "collected",
"status_updated_at": "2026-07-15T13:54:00Z",
"service": "REGISTRADO CONVENCIONAL",
"package_description": null,
"origin": null,
"destination": null,
"estimated_delivery_date": null,
"estimated_delivery": null,
"delivered_at": null,
"recipient": null,
"events": [
{
"timestamp": "2026-06-12T15:10:00Z",
"status": "collected",
"description": "Objeto coletado",
"location": { "country": "BR", "state": "SP", "city": "Franca", "facility": "Unidade de Distribuição" },
"destination": null,
"courier_status_code": "CO",
"courier_status_label": "Objeto coletado",
"detail": null,
"comment": null
},
{
"timestamp": "2026-07-15T13:54:00Z",
"status": "collected",
"description": "Objeto coletado",
"location": { "country": "BR", "state": "SP", "city": "Sao Paulo", "facility": "Unidade de Distribuição" },
"destination": null,
"courier_status_code": "CO",
"courier_status_label": "Objeto coletado",
"detail": null,
"comment": null
}
]
}
Não é preciso informar a transportadora: ela é detectada pelo formato do código.
O que você precisa saber antes de integrar
Três regras evitam a maior parte dos problemas de integração:
Use
status, nãocourier_status_code. O campostatusé normalizado e igual para todas as transportadoras. Os camposcourier_status_*são o vocabulário bruto da transportadora e mudam sem aviso. Veja Status normalizados.Trate erros pelo
error.code, nunca pelamessage. Ocodeé contrato; amessageexiste para humanos e pode ser reescrita. Veja Códigos de erro.eventsvem do mais antigo para o mais recente. O evento atual é sempre o último do array — que é de ondestatusestatus_updated_atvêm. No plano Básico, o primeiro item é a atribuição sintética à PacoteVicio.dev; ele não representa uma movimentação da transportadora. É proibido remover, ocultar, alterar ou substituir esse evento ao exibir ou redistribuir os dados. O descumprimento pode suspender ou encerrar a conta e suas chaves de API.
Teste antes de escrever código
No portal, a página Chaves de API tem a área Testar API: escolha entre Rastrear pacote, Objetos originais (resposta crua da transportadora) e Listar transportadoras. Clique em Enviar requisição. A chamada usa a sua chave real, passa pelos mesmos limites de uma requisição da sua aplicação e mostra status HTTP, tempo de resposta e corpo.
A requisição é real. Se a transportadora responder, ela consome uma unidade da sua cota — veja Cobrança de requisições.
Próximos passos
- Autenticação — headers e erros de chave
- Endpoints de rastreamento — rotas,
retry_levele resposta crua - Transportadoras — catálogo e requisitos por transportadora
- Status normalizados — o vocabulário de
status - Limites de uso — planos e headers de limite
- Cobrança de requisições — o que consome cota
- Códigos de erro — envelope e lista completa