Recursos da API
Etiquetas
Consulte e obtenha a etiqueta de transporte de um pedido na API Frete Barato.
O endpoint de label permite consultar e obter a etiqueta de transporte de um pedido já vinculado a uma nota fiscal na Frete Barato.
A resposta retorna a etiqueta em PDF codificado em Base64, pronta para ser decodificada e impressa no seu sistema.
A etiqueta só pode ser gerada para notas fiscais que já existam no sistema da Frete Barato e estejam vinculadas a um romaneio/transporte. Caso o registro não seja encontrado, a API retorna
404.Endpoint
https://admin.fretebarato.com/{{plataforma}}/label/v1/json/{{customer_id}}
Consulte uma etiqueta
curl -X POST "https://admin.fretebarato.com/{{plataforma}}/label/v1/json/{{customer_id}}" \
-H "Authorization: Bearer xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-H "User-Agent: MinhaAplicacao ([email protected])" \
-d '{
"cnpj": "31913883000154",
"nota_fiscal_id": "35150000000000000000000000000000000061234567"
}'
$url = "https://admin.fretebarato.com/{{plataforma}}/label/v1/json/{{customer_id}}";
$payload = array(
"cnpj" => "31913883000154",
"nota_fiscal_id" => "35150000000000000000000000000000000061234567"
);
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$headers = array(
"Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxx",
"Content-Type: application/json",
"User-Agent: MinhaAplicacao ([email protected])"
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($payload));
$response = curl_exec($curl);
curl_close($curl);
$data = json_decode($response, true);
# Salva o PDF da etiqueta em disco
file_put_contents('etiqueta.pdf', base64_decode($data['label']));
{
"cnpj": "31913883000154",
"nota_fiscal_id": "35150000000000000000000000000000000061234567"
}
{
"label": "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFI+PgplbmRvYmoK..."
}
Headers
| Key | Value |
|---|---|
Authorization | Bearer {{token}} |
Content-Type | application/json |
User-Agent | Aplicação (e-mail para contato técnico) |
Parâmetros do payload
| Parâmetro | Tipo | Obrigatório | Observação |
|---|---|---|---|
cnpj | Numérico | Sim | CNPJ do emitente. Deve conter exatamente 14 caracteres numéricos e estar autorizado no token do cliente |
nota_fiscal_id | Numérico | Sim | Chave de acesso da nota fiscal. Deve conter exatamente 44 caracteres numéricos |
O CNPJ informado no payload precisa estar vinculado ao Customer Token utilizado na autenticação. Caso contrário, a API retorna
401.Parâmetros do response
| Parâmetro | Tipo | Comportamento |
|---|---|---|
label | String (Base64) | Retorna o PDF da etiqueta de transporte codificado em Base64 |
Como utilizar o PDF
- Decodifique o valor de
labelde Base64 para binário - Salve o conteúdo como um arquivo
.pdf - Envie para impressão ou disponibilize para download no seu sistema
Exemplo de decodificação
$pdf = base64_decode($data['label']);
file_put_contents('etiqueta.pdf', $pdf);
O layout da etiqueta é gerado automaticamente de acordo com a transportadora do pedido (ex.: Jet, Loggi, Buslog ou modelo padrão Frete Barato).
Trate os erros
| Response | Tipo | Quando ocorre |
|---|---|---|
400 | Bad Request | Payload inválido, emitente não informado ou atributos incompletos |
401 | Unauthorized | Falha de autenticação ou CNPJ não autorizado no token |
404 | Not Found | Nota fiscal/romaneio não encontrado para os dados informados |
406 | Not Acceptable | JSON inválido no corpo da requisição |
500 | Internal Server Error | Falha na geração da etiqueta |
Exemplos de erro
{
"message": "Emitente não informado",
"code": 400
}
{
"message": "Invalid attributes",
"code": 400
}
{
"message": "Authentication failure",
"code": 401
}
{
"message": "No results found",
"code": 404
}
{
"message": "Invalid Params (JSON)",
"code": 406
}
{
"message": "Label generation failed",
"code": 500
}

