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 campo company_document é referente ao CNPJ e o campo state_register é referente à Inscrição Estadual. Para o caso de envios de pessoa física, deve ser enviado apenas o campo document. Para o caso de envios de pessoa jurídica, deve ser informado obrigatóriamente o campo company_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 flag options.non_commercial como true.

  • 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âmetro to.economic_activity_code visto que o remetente passa a ser o próprio recebedor.

  • Entre os dados retornados constará o id da etiqueta. Este id 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 e options.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"
            }
        ]
    }

Language
Click Try It! to start a request and see the response here!