Emissão e download de etiquetas

Nesta página

Pré-requisito

Você precisa do shipmentId retornado pela criação do envio.

Emitir

POST /api/v1/labels/shipments/{shipmentId}/emit
Authorization: Bearer <accessToken>
X-Tenant-Id: <lojaId>
Content-Type: application/json
{
  "paymentMethod": "wallet"
}

Campos:

CampoObrigatórioUso
paymentMethodSimUse wallet para pagar com saldo.
pickupRequestedNãoSolicita coleta se o serviço suportar.
couponCodeNãoCupom autorizado para a operação.
invoiceCondicionalDados solicitados pelo fluxo de emissão.

Resposta concluída

{
  "status": "READY",
  "shipmentId": "6a4eaf6d-d962-4b0c-a421-f2d426128e92",
  "labelId": "e59a7410-394d-4b22-b79f-299c33038127",
  "trackingCode": "AA123456789BR",
  "fileUrl": "shipping/loja/labels/referencia-interna",
  "priceCents": 1850,
  "subtotalCents": 1850,
  "discountCents": 0,
  "couponCode": null,
  "paymentMethod": "wallet",
  "transactionId": "21e7e8b1-0d10-4aeb-b1e9-2e69b14df78f",
  "chargeAlreadyCaptured": false
}

fileUrl é interno. Use labelId no endpoint de download.

Resposta pendente

HTTP 202:

{
  "status": "PENDING",
  "shipmentId": "6a4eaf6d-d962-4b0c-a421-f2d426128e92",
  "providerJobId": "REFERENCIA_DO_PROCESSAMENTO"
}

Não repita a emissão. O fluxo que forneceu o shipmentId deve informar como consultar a conclusão assíncrona.

Timeout

Se a conexão cair após o envio da requisição, não é possível concluir que a emissão falhou. Reconcilie o estado pelo fluxo contratado antes de tentar novamente.

Baixar

GET /api/v1/labels/{labelId}/download
{
  "downloadUrl": "https://endereco-temporario.example/etiqueta.pdf"
}

Baixe imediatamente. Não salve a URL temporária, não a exponha em logs e solicite outra quando expirar.

Implemente o DACE →

Buscar na documentação

Encontre guias, serviços e respostas na Central de Ajuda.