Recursos Cross

Confira os principais recursos das nossas APIs
circulos azuis em degrade

Documentação do

Você pode usar esta documentação para as seguintes unidades de negócio:

Última atualização em 25/03/2024

Envio de nota fiscal de venda

Para aperfeiçoar a experiência de compra dentro da plataforma, os vendedores poderão enviar as notas fiscais de venda através de nossa API de forma automática para as os pedidos com as logisticas xd_drop_off (Mercado Envios Places) e cross_docking (Mercado Envios Coleta). Veja como funciona a parte fiscal em Mercado Envios Full.

Nota:
Os vendedores do Brasil podem criar cupons de desconto para vendas diretas e/ou de carrinho dentro do canal de Marketplace, saiba como faturar essas vendas.

Assinatura de notificações

Lembre-se que o desenvolvimento deve estar assinado às notificações de “shipments”; deverá fazê-lo desde MyApps. Revise nossa documentação para conhecer como trabalhar com notificações. Começará a receber notificações depois de gerada uma venda na plataforma e confirmado o pagamento. Exemplo de notificação

{
    "resource": "/shipments/139876",
    "user_id": 1234,
    "topic": "shipments",
    "received": "2011-10-19T16:38:34.425Z",
    "sent" : "2011-10-19T16:40:34.425Z",
}


Consultar status do envio

Conhecendo o ID do envio, poderá realizar o GET para o recurso de shipments para obter toda a informação dele:

curl -H "x-format-new:true" -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/shipments/$SHIPMENT_ID

Confirmando que o envio tenha status "ready_to_ship" e substatus "invoice_pending", você deverá enviar o XML da nota.

Importante:
O substatus invoice_pending ocorre quando a nota fiscal ainda não foi importada ou Conhecimento de Transporte (CT-e) ainda não foi emitido.
Após a importação da nota e emissão do CT-e (gerado pelo Mercado Livre), o status passa a ser "ready_to_ship" e substatus "ready_to_print".


Billing Info

No recurso/shipments são derivados diferentes recursos que oferecem a informação necessária para que o vendedor determine a logística. O recurso billing_info permite obter a informação fiscal dos diferentes atores que operam no envio do produto.

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/shipments/$SHIPMENT_ID/billing_info

Exemplo:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/shipments/26474580996/billing_info
{
	"receiver": {
		"id": 154808171,
		"document": {
			"id": "CPF",
			"value": "02972404475"
		},
		"additional_documents": []
	},
	"senders": [{
		"id": 168777350,
		"document": {
			"id": "CNPJ",
			"value": "21611372000396"
		},
		"additional_documents": [{
			"id": "IE",
			"value": "421038162111"
		}]
	}],
	"carrier": {
		"document": {
			"id": "CNPJ",
			"value": "20121850000317" 
		},
		"additional_documents": []
	}
}

Considerações:

  • Dentro de cada “additional_documents” pode vir uma lista de outros documentos que podem ser requeridos.
  • Caso seja necessário obter a informação dos produtos que são enviados, se utilizarão os recursos shipments/{id}/items e /items/{id}.
  • Em cumprimento a Nota técnica NT2020.006, o CNPJ que deve ser utilizado como sendo o do intermediador da transação (Mercado Livre) pode ser obtido através do Mercado Livre, no rodapé da página.


Enviar nota fiscal eletrônica

Importante:
Somente é possível enviar NFe com modelo 55. Ou seja, no momento do upload do arquivo, será analisado o modelo e não poderá ser feito o envio de uma NFC-e, por exemplo.

Com todas informações disponíveis, assim que o status e substatus estiverem confirmados, você deverá enviar o XML da nota assim:

curl -s -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H 'Content-Type: application/xml' -d '<?xml version="1.0" encoding="UTF-8"?>
<nfeProc versao="4.00" xmlns="http://www.portalfiscal.inf.br/nfe">
...
</nfeProc>' "https://api.mercadolibre.com/shipments/{id}/invoice_data/?siteId=$SITE_ID"
Nota:
Recomendamos que revise os detalhes de todos os descontos aplicados em uma venda. É possível obter estes detalhes com o recurso /discount.


Consultar a nota fiscal enviada

Você pode consultar o XML enviado:

curl -H GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/shipments/$SHIPMENT_ID/invoice_data?siteId=MLB


Atualizar nota fiscal eletrônica

Agora, se quiser alterar alguma informação dos dados fiscais já enviados, um PUT deve ser enviado assim:

curl -s -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H 'Content-Type: application/xml' -d '<?xml version="1.0" encoding="UTF-8"?>
<nfeProc versao="4.00" xmlns="http://www.portalfiscal.inf.br/nfe">
...
</nfeProc>' "https://api.mercadolibre.com/shipment_invoice/{invoice_id}/?siteId=$SITE_ID"


Notas:
Estamos realizando a validação dos XMLs enviados, sendo assim não serão aceitas Notas Fiscais geradas pelo ambiente de homologação da SEFAZ, somente Notas Fiscais válidas. Outra observação é que, uma vez impressa a etiqueta, não será possível alterar a nota.


Referências de código de erro

Error_code Mensagem de erro Descrição Possível solução
shipment_invoice_already_saved shipment invoice already saved Já existe uma nota fiscal salva para o envio informado. Para que a nota fiscal possa ser salva, o envio necessita estar no substatus de invoice_pending, para verificar se o envio se encontra nesse substatus, consulte /shipments/{shipment_id}, ou consulte se já não foi salva a nota fiscal para o envio informado através do endpoint /shipments/{id}/invoice_data.
duplicated_fiscal_key fiscal key has already been used Já existe uma nota fiscal salva com a chave fiscal informada. O número de chave fiscal da nota precisa ser único.
wrong_invoice_date NFe date must be greater than the sale date. A data informada na nota fiscal é inválida. Verifique a data informada.
wrong_sender_zipcode NFe sender zipcode must be the same as the sale zipcode. O CEP do vendedor informado na nota fiscal é inválido ou nulo. Verifique o CEP do vendedor informado.
wrong_receiver_zipcode NFe receiver zipcode must be the same as the sale zipcode. O CEP do comprador informado na nota fiscal é inválido ou nulo. Verifique o CEP do comprador informado.
wrong_receiver_cnpj NFe receiver CNPJ must be the same as the sale CNPJ. O CNPJ do comprador informado na nota fiscal é inválido ou nulo. Verifique o CNPJ do comprador informado.
wrong_receiver_cpf NFe receiver CPF must be the same as the sale CPF. O CPF do comprador informado na nota fiscal é inválido ou nulo. Verifique o CPF do comprador informado.
wrong_receiver_state_tax NFe receiver state tax must be the same as the sale state tax. A Inscrição Estadual do comprador informada na nota fiscal é inválida ou nula. Verifique a Inscrição Estadual do comprador informada.
invalid_user You are not allowed to perform this operation on the resource Shipment $shipmentId Você não tem permissão para realizar operações no envio informado. Verifique o número de envio informado e se você tem permissões sobre ele.
seller_not_allowed_to_import_nfe Seller not allowed to import nfe $callerId Você não tem permissão para realizar a importação de NF-e Verifique se você tem permissão para importar notas fiscais ou use nosso emissor de notas fiscais.
shipment_invoice_should_contain_company_state_tax_id shipment invoice should contain company_state_tax_id A Inscrição Estadual do comprador não foi informada na nota fiscal. Verifique a Inscrição Estadual do comprador informada.
invalid_state_tax_id Invalid state tax id A Inscrição Estadual do comprador informada na nota fiscal é inválida ou nula. Verifique a Inscrição Estadual do comprador informada.
invalid_operation_for_site_id Invalid operation for site id: $siteId Operação inválida para a região informada. Só é permitida a execução de operações para o site MLB.
error_parse_invoice_data $json Erro ao converter dados da nota fiscal para json. Verifique se a nota fiscal foi informada de forma correta.
invalid_parameter Body cannot contain id A nota fiscal informada não contém o número de identificação. Verifique o número de identificação na nota fiscal informada.
invalid_caller_id Invalid caller id Caller Id informado é inválido ou não foi informado. Verifique se o Caller Id esta sendo informado ao realizar o request.
sender_ie_not_found Seller CNPJ not registered on SEFAZ as tax payer O cnpj do vendedor não está cadastrado na Sefaz como contribuinte ou está bloqueado. Não é possível informar a NF-e porque seus dados cadastrados no Mercado Livre são diferentes dos que você tem cadastrados na SEFAZ. Revise o CNPJ, a Inscrição Estadual (IE) e o estado (UF). Corrija as informações do seu cadastro no Mercado Livre e tente novamente.
invalid_sender_ie_for_state Invalid seller state registry for registered state A inscrição estadual do vendedor é inválida para o estado cadastrado. Não é possível informar a NF-e porque seu dado de IE cadastrado no Mercado Livre está incorreto para o estado cadastrado no endereço. Revise o CNPJ, a Inscrição Estadual (IE) e o estado (UF). Corrija as informações do seu cadastro no Mercado Livre e tente novamente.
invalid_sender_ie Issue an NF-e with the correct State Registration (IE) because the information provided, %s, is different from the one on Mercado Livre: %s. The state (UF) of the NF-e must also be the same as the one used in your registration. A inscrição estadual do vendedor é diferente da cadastrada junto à Sefaz. Não é possível informar a NF-e porque seus dados cadastrados no Mercado Livre são diferentes dos que você tem cadastrados na SEFAZ. Revise a Inscrição Estadual (IE). Corrija as informações do seu cadastro no Mercado Livre e tente novamente
invalid_sender_cnpj Issue an NF-e with the correct CNPJ because the one entered, %s, is different from what is on Mercado Livre: %s. O CNPJ do vendedor é diferente do cadastrado junto à Sefaz. Não é possível informar a NF-e porque seus dados cadastrados no Mercado Livre são diferentes dos que você tem cadastrados na SEFAZ. Revise o CNPJ. Corrija as informações do seu cadastro no Mercado Livre, e tente novamente.
different_state_nfe_shipment_origin Emit state from XML is different to shipment origin address state A UF da nota é diferente do estado de origem do envio. Não é possível informar a NF-e porque a UF do XML da nota é diferente da UF onde o envio foi gerado. Corrija as informações do XML e tente novamente.
nfe_order_value_divergence The NFe value does not equal the purchase value. O valor da nota fiscal diverge do valor total dos itens do pedido. O valor da NF-e é diferente do valor da venda. Confira os valores preenchidos como preço, descontos e frete e emita uma nova nota com o valor corrigido
wrong_invoice_type Invoices with ISSQN are not allowed. Nota fiscal de serviço ou contem valor de ISSQN Emita uma NF-e de venda para seus produtos. Notas fiscais de serviços não são aceitas no Mercado Livre.
unexpected_error_post_biller The file has invalid xml. Check the xml and try again. XML invalido ou com campos incorretos. Enviar XML no formato aprovado pelo emissor de nota fiscal e validado pelo governo.
shipment_already_being_processed We're already processing a request for shipment_id:%s Foi enviada mais de uma requisição ao mesmo tempo, Aguardar o processamento da primeira requisição.
batch_nfe_not_supported NFe cannot have batch layout Não é possível informar nota fiscal com formato em lote Enviar XML de uma nota fiscal individual
nfe_layout_not_supported NFe layout not supported Não é possível informar nota fiscal com esse formato Enviar XML de uma nota fiscal no formato aprovado pelo emissor fiscal e validado pelo governo do seu estado, seguindo a estrutura correta do XML com as tags: , ,
nf_already_generated A NF-e dessa venda já foi gerada pelo Faturador e por isso não é possível importar outra nota. Já existe uma NFe emitida pelo faturador. Verifique o status da NFe. Caso a NFe esteja anulada ou inutilizada, emitir novamente pelo faturador.
internal_error An internal error has occurred Houve um erro interno Aguarde e tente novamente.
invalid_shipment Shipment status is wrong O shipment se encontra em um status em que a importação da NF-e não é aceita Verifique o status do shipment antes de enviar a NF-e.



Notas:
Para imprimir a etiqueta, acesse esta documentação. Tenha em conta que uma vez impressa a etiqueta, não será possível alterar a nota.