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 26/08/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 está 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 contém 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 inválido ou com campos incorretos. Envie o 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. Aguarde 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. Envie o 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.
invalid_nfe NFe receiver must be to valid Os dados do destinatário são inválidos ou não está corretamente preenchidos Verifique os dados do destinário na NFe. Caso necessário, envie uma nova NFe para a Sefaz para carregar na API.
malformed_XML Malformed XML O arquivo XML enviado possui algum erro de sintax ou estrutura Revise e corrija o XML para carregar novamente na API. Utilize um validador de NFe da Sefaz caso necessário.



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.