GET /v1/couriers
Retorna o catálogo de transportadoras suportadas. É a lista autoritativa: todo
id aqui funciona como parâmetro de rota, e nenhum id fora dela é aceito.
Este endpoint é respondido pelo próprio gateway. Não consulta transportadora, não consome cota e não é cobrado.
Requisição
curl https://api.pacotevicio.dev/v1/couriers \
-H "X-API-Key: pv1_..."
Resposta
{
"data": [
{ "id": "correios", "name": "Correios", "required_headers": [] },
{ "id": "aliexpress", "name": "AliExpress", "required_headers": [] },
{ "id": "anjun", "name": "Anjun", "required_headers": [] },
{ "id": "shopee", "name": "Shopee", "required_headers": [] },
{ "id": "jtexpress", "name": "J&T Express", "required_headers": ["X-Tracking-Document"] },
{ "id": "totalexpress", "name": "Total Express", "required_headers": [] }
]
}
| Campo | Descrição |
|---|---|
id |
Slug estável. Use como parâmetro de rota: /v1/track/correios/BR123456789BR |
name |
Nome de exibição. Nunca use em URLs |
required_headers |
Headers obrigatórios para esta transportadora |
AliExpress
Use aliexpress. Internamente esses envios são operados pela Cainiao, mas esse
nome não aparece na API: tanto na rota quanto no campo courier da resposta o
valor é sempre aliexpress.
J&T Express
jtexpress exige o header X-Tracking-Document com o CPF ou CNPJ do
destinatário (apenas dígitos, 11 ou 14 caracteres).
curl https://api.pacotevicio.dev/v1/track/jtexpress/888030556767025 \
-H "X-API-Key: pv1_..." \
-H "X-Tracking-Document: 12345678901"
Sem o header, a resposta é 422 document_required — e não é cobrada. Em rotas
com detecção automática, envie o header preventivamente se o código puder ser da
J&T: a exigência só é descoberta depois que a transportadora é identificada. O
header é ignorado pelas demais transportadoras. Na detecção automática, um
documento malformado é tratado como ausente.
Ambiguidade entre slug e código
O primeiro segmento depois de /v1/track/ é lido como transportadora somente
se estiver no catálogo. Ou seja, /v1/track/correios/raw significa "Correios,
código de rastreamento raw" — e não "detecção automática, resposta crua".
Novas transportadoras
O catálogo cresce ao longo do tempo. Consulte este endpoint em vez de manter uma lista fixa no seu código.