Carrinho de Compras
A primeira etapa para a compra de uma etiqueta através da API é inserindo a etiqueta ao carrinho do Melhor Envio.
Nesta rota, presumimos que já se tenha os dados de uma cotação feita previamente para poder informar os dados corretamente.
Para inserir uma etiqueta ao carrinho é necessário informar dados de remetente, destinatário, pacote a enviar e serviço a contratar.
Alguns dados são opcionais ou específicos conforme o serviço contratado.
Considerações importantes
O campo
document
é referente ao CPF, o campocompany_document
é referente ao CNPJ e o campostate_register
é referente à Inscrição Estadual. Para o caso de envios de pessoa física, deve ser enviado apenas o campodocument
. Para o caso de envios de pessoa jurídica, deve ser informado obrigatóriamente o campocompany_document
.O campo
agency
é obrigatório para a transportadora JadLog apenas para integrações que utilizem o token gerado no painel do Melhor Envio, não se fazendo necessário para outras transportadoras ou integrações que utilizem os tokens gerados através de OAuth2.O campo
options.insurance_value
deve conter o valor de seguro do envio, que deve corresponder ao valor dos itens/produtos enviados e deverá bater com o valor da NF.O campo
products
serve para preencher a declaração de conteúdo quando esta opção se aplicar e não irá influenciar no valor do envio.O campo
options.invoice.key
é obrigatório e deve conter a chave da NF para todas as transportadoras. Isto pode ser contornado configurando o envio para que o mesmo seja um envio não comercial (com declaração de conteúdo), para isto deve ser setada a flagoptions.non_commercial
comotrue
.Para envios com CNPJ com a transportadora LATAM Cargo é necessário enviar também o código CNAE de tal CNPJ. Para isto, deve ser informado o parâmetro
from.economic_activity_code
contendo o código CNAE respectivo ao CNPJ do remetente do envio. Para casos de envios reversos, deve ser utilizado o parâmetroto.economic_activity_code
visto que o remetente passa a ser o próprio recebedor.Entre os dados retornados constará o
id
da etiqueta. Esteid
deverá ser salvo em vias de realizar futuras interações para esta etiqueta, como o momento da compra da etiqueta (checkout).Após as informações de volume do produto, temos os campos:
option.tags
eoptions.platform
.
Importante: Se o campo
option.plataform
não for preenchido com a descrição desejada, será completado automaticamente com o nome do aplicativo criado.
Também disponibilizamos um fluxograma que poderá lhe auxiliar a visualizar todo o processo de compra de envios, assim como servir de base para que você adapte da melhor maneira ao fluxo de seu sistema.
Importante: A transportadora Azul Cargo não está disponível para compra de etiquetas através da API. Esta transportadora está disponível para integrações apenas na funcionalidade de cálculo de frete.
Cuidados com volumes
Perceba que no momento da cotação você recebe um array de pacotes, abaixo você vê um exemplo de retorno com múltiplos pacotes:
"packages": [
{
"price": "355.64",
"discount": "88.26",
"format": "box",
"dimensions": {
"height": 43,
"width": 60,
"length": 70
},
"weight": "30.00",
"insurance_value": "3000.00",
"products": [
{
"id": "x",
"quantity": 3
}
]
},
{
"price": "100.50",
"discount": "24.10",
"format": "box",
"dimensions": {
"height": 30,
"width": 40,
"length": 50
},
"weight": "10.00",
"insurance_value": "1000.00",
"products": [
{
"id": "y",
"quantity": 1
}
]
}
]
Ao inserir no carrinho, é necessário informar um array com as informações dos pacotes no parâmetro "volumes". Abaixo um exemplo correspondente à resposta de cotação anterior:
"volumes": [
{
"height": 43,
"width": 60,
"length": 70,
"weight": 30
},
{
"height": 30,
"width": 40,
"length": 50,
"weight": 10
}
],
Mas atente que este formato utilizando volumes
não funciona para a transportadora Correios, sendo necessário gerar 1 envio separado para cada pacote neste caso.
Ou seja, caso a transportadora selecionada seja Correios, será necessário inserir ao carrinho n
etiquetas de 1 único volume cada, tal qual n
é o número de pacotes retornados na cotação selecionada.
Para uma documentação mais descritiva sobre como integrar o compra de fretes, clique aqui para consultar o respectivo tópico de nossa nova documentação.
Atenção com os campos options
Após as informações de volume do produto, temos os campos options.tags
e options.platform
. Se o campo plataform
não for preenchido conforme a descrição desejada, será preenchido automaticamente com o nome do aplicativo criado. E a tag
funciona para identificar o pedido com base em informações da plataforma de origem.
"options": {
"insurance_value": 50.00,
"receipt": false,
"own_hand": false,
"reverse": false,
"non_commercial": false,
"invoice": {
"key": "11112222333344445555..."
},
"platform": "Nome da plataforma",
"tags": [
{
"tag": 50000000000001,
"url": "https://www.endereco-plataforma.com/pedido/numeroPedido"
}
]
}