Documentación Mercado Libre

Descubre toda la información que debes conocer sobre las APIs de Mercado Libre.
circulos azuis em degrade

Documentación

Última actualización 05/03/2024

Envío de datos fiscales

Importante:
Esta funcionalidad está disponible sólo en México.

Para la facturación automática de los ítems por Mercado Libre, primero el vendedor debe enviar los datos fiscales de los productos.

Enviar datos fiscales

Primero, debes crear las configuraciones fiscales antes de hacer la vinculación al ítem.

Llamada:

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
{
	"query": "mutation ($input: CreateFiscalInformationMLMInput!){createFiscalInformationMLM (input: $input) {\n    sku\n    sat\n    upc\n    iva\n    ieps\n    description\n    measureUnit\n    measureUnitDescription\n}}",
	"variables": {
		"input": {
			"sku": "string",
			"sat": "string",
			"upc": "string",
			"iva": "string",
			"ieps": 0,
			"description": "string",
			"measureUnit": "string",
			"measureUnitDescription": "string"
		}
	}
}
https://api.mercadolibre.com/fiscal_information/graphql

Ejemplo:

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
{
	"query": "mutation ($input: CreateFiscalInformationMLMInput!){createFiscalInformationMLM (input: $input) {\n    sku\n    sat\n    upc\n    iva\n    ieps\n    description\n    measureUnit\n    measureUnitDescription\n}}",
	"variables": {
		"input": {
			"sku": "SKU1234",
			"sat": "14111601",
			"upc": "11111111",
			"iva": "0",
			"ieps": 0,
			"description": "producto de prueba",
			"measureUnit": "H87",
			"measureUnitDescription": "una pieza"
		}
	}
}
https://api.mercadolibre.com/fiscal_information/graphql

Respuesta:

{
   "data": {
       "createFiscalInformationMLM": {
           "sku": "SKU1234",
           "sat": "14111601",
           "upc": "11111111",
           "iva": "0",
           "ieps": 0,
           "description": "producto de prueba",
           "measureUnit": "H87",
           "measureUnitDescription": "una pieza"
       }
   }
}

Configurar datos fiscales por producto

Después de informar los datos fiscales, vincula el ítem a través del SKU:

Llamada:

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
{
	"query": "mutation ($input: CreateFiscalInformationLinkToItemInput!){createFiscalInformationLinkToItem (input:$input) {\nitemId\nvariationId\ntype\ncomponents\n    {\n        sku\n        quantity\n        percentageShare\n    }\n}}",
	"variables": {
		"input": {
			"itemId": "string",
			"variationId": "string",
			"components": [{
				"sku": "string",
				"quantity": 1,
				"percentageShare": 100
			}]
		}
	}
}
https://api.mercadolibre.com/fiscal_information/graphql

Ejemplo:

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
{
	"query": "mutation ($input: CreateFiscalInformationLinkToItemInput!){createFiscalInformationLinkToItem (input:$input) {\nitemId\nvariationId\ntype\ncomponents\n    {\n        sku\n        quantity\n        percentageShare\n    }\n}}",
	"variables": {
		"input": {
			"itemId": "MLM1323056751",
			"components": [{
				"sku": "SKU1234",
				"quantity": 1,
				"percentageShare": 100
			}]
		}
	}
}
https://api.mercadolibre.com/fiscal_information/graphql

Respuesta:

{
   "data": {
       "createFiscalInformationLinkToItem": {
           "itemId": "MLM1323056751",
           "variationId": null,
           "type": "SINGLE",
           "components": [
               {
                   "sku": "SKU1234",
                   "quantity": 1,
                   "percentageShare": 100
               }
           ]
       }
   }
}

Cuando el ítem sea único, el campo variation_id será null.


Consultar datos fiscales por SKU

Llamada:

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
{
	"query": "query ($sku: String!) { getFiscalInformationBySku (sku:$sku)\n     {...on FiscalInformationMLM{\n        sku\n        sat\n        iva\n        upc\n        ieps\n        description\n        measureUnit\n        measureUnitDescription\n        }\n    }\n}",
	"variables": {
		"sku": "string"
	}
}
https://api.mercadolibre.com/fiscal_information/graphql

Ejemplo:

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
{
	"query": "query ($sku: String!) { getFiscalInformationBySku (sku:$sku)\n     {...on FiscalInformationMLM{\n        sku\n        sat\n        iva\n        upc\n        ieps\n        description\n        measureUnit\n        measureUnitDescription\n        }\n    }\n}",
	"variables": {
		"sku": "SKU1234"
	}
}
https://api.mercadolibre.com/fiscal_information/graphql

Respuesta:

{
   "data": {
       "getFiscalInformationBySku": {
           "sku": "SKU1234",
           "sat": "14111601",
           "iva": "0",
           "upc": "11111111",
           "ieps": 0,
           "description": "producto de prueba",
           "measureUnit": "H87",
           "measureUnitDescription": "una pieza"
       }
   }
}

Consultar datos fiscales por ítem

También puedes buscar las infos vinculadas a una publicación en Mercado Libre:

Llamada:

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
{
	"query": "query ($itemId: String!, $variationId: String, $allVariations: Boolean) { getFiscalInformationsByItem (itemId:$itemId, variationId: $variationId, allVariations: $allVariations)\n        {itemId\n         variationId\n         type\n         components{sku\n                    quantity\n                    percentageShare\n                    fiscalInformation{\n                        ...on FiscalInformationMLM{\n                                sat\n                                upc\n                                iva\n                                ieps\n                                description\n                                measureUnit\n                                measureUnitDescription\n                                }\n                        }\n                    }\n        }\n    }",
	"variables": {
		"itemId": "string",
		"variationId": "string",
		"allVariations": false
	}
}
https://api.mercadolibre.com/fiscal_information/graphql

Ejemplo:

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
{
	"query": "query ($itemId: String!, $variationId: String, $allVariations: Boolean) { getFiscalInformationsByItem (itemId:$itemId, variationId: $variationId, allVariations: $allVariations)\n        {itemId\n         variationId\n         type\n         components{sku\n                    quantity\n                    percentageShare\n                    fiscalInformation{\n                        ...on FiscalInformationMLM{\n                                sat\n                                upc\n                                iva\n                                ieps\n                                description\n                                measureUnit\n                                measureUnitDescription\n                                }\n                        }\n                    }\n        }\n    }",
	"variables": {
		"itemId": "MLM1323056751",
		"allVariations": false
	}
}
https://api.mercadolibre.com/fiscal_information/graphql

Respuesta:

{
   "data": {
       "getFiscalInformationsByItem": [
           {
               "itemId": "MLM1323056751",
               "variationId": null,
               "type": "SINGLE",
               "components": [
                   {
                       "sku": "SKU1234",
                       "quantity": 1,
                       "percentageShare": 100,
                       "fiscalInformation": {
                           "sat": "14111601",
                           "upc": "11111111",
                           "iva": "0",
                           "ieps": 0,
                           "description": "producto de prueba",
                           "measureUnit": "H87",
                           "measureUnitDescription": "una pieza"
                       }
                   }
               ]
           }
       ]
   }
}

Esta son las posibles formas de hacer la búsqueda:
itemId: cuando la publicación no tiene variación.
itemId + variationId: cuando la publicación tiene variación, para obtener los datos solo de las variaciones solicitada.
itemId + allVariations: cuando la publicación tiene variación, para obtener los datos de todas las variaciones de esta publicación.


Actualizar datos fiscales

El recurso permite la actualización completa o parcial de los datos fiscales de una publicación:

Llamada:

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
{
	"query": "mutation ($where: UpdateFiscalInformationMLMWhere! $input: UpdateFiscalInformationMLMInput!) \n{updateFiscalInformationMLM (where: $where, input: $input){\n    sku\n    sat\n    upc\n    iva\n    ieps\n    description\n    measureUnit\n    measureUnitDescription\n}}",
	"variables": {
		"where": {
			"sku": "string"
		},
		"input": {
			"sat": "string",
			"upc": "string",
			"iva": "string",
			"iesp": 0,
			"measureUnit": "string",
			"measureUnitDescription": "string",
			"description": "string"
		}
	}
}
https://api.mercadolibre.com/fiscal_information/graphql

Ejemplo:

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
{
	"query": "mutation ($where: UpdateFiscalInformationMLMWhere! $input: UpdateFiscalInformationMLMInput!) \n{updateFiscalInformationMLM (where: $where, input: $input){\n    sku\n    sat\n    upc\n    iva\n    ieps\n    description\n    measureUnit\n    measureUnitDescription\n}}",
	"variables": {
		"where": {
			"sku": "SKU1234"
		},
		"input": {
			"sat": "14111601",
			"upc": "11111111",
			"iva": "16",
			"ieps": 0,
			"measureUnit": "H87",
			"measureUnitDescription": "una pieza",
			"description": "producto de prueba"
		}
	}
}
https://api.mercadolibre.com/fiscal_information/graphql

Respuesta:

{
   "data": {
       "updateFiscalInformationMLM": {
           "sku": "SKU1234",
           "sat": "14111601",
           "upc": "11111111",
           "iva": "16",
           "ieps": 0,
           "description": "producto de prueba",
           "measureUnit": "H87",
           "measureUnitDescription": "una pieza"
       }
   }
}

Para actualizar parcialmente los datos fiscales, envía solamente los campos necesarios en las variables después del input.

Consultar si una publicación puede ser facturada

Este recurso permite identificar si una determinada publicación tiene todos los datos necesarios para que nuestro facturador pueda emitir la nota de venta. Puede buscar por publicación o por variaciones:


Consulta por publicación:


Llamada:

curl --location --request GET 'https://api.mercadolibre.com/can_invoice/items/$ITEM_ID \
--header 'Authorization: Bearer $ACCESS_TOKEN'

Ejemplo:

curl --location --request GET 'https://api.mercadolibre.com/can_invoice/items/MLB1984512046 \
--header 'Authorization: Bearer $ACCESS_TOKEN'

Respuesta:

{
   "item_id": "MLB1984512046",
   "seller_id": "809726122",
   "variation_id": "",
   "status": true
}
Nota:
Si busca una publicación con variaciones, sólo tendrá el status = true cuando todas las variaciones sean adecuadas. De lo contrario, debe identificar qué variación no tiene datos fiscales o tiene datos incorrectos y cambiarla.

Consulta por variación:


Llamada:

curl --location --request GET 'https://api.mercadolibre.com/can_invoice/items/$ITEM_IDvariations/$VARIATION_ID' \
--header 'Authorization: Bearer $ACCESS_TOKEN'

Ejemplo:

curl --location --request GET 'https://api.mercadolibre.com/can_invoice/items/MLB1398143045/variations/$VARIATION_ID' \
--header 'Authorization: Bearer $ACCESS_TOKEN'

Respuesta:

{
   "item_id": "MLB1984512046",
   "seller_id": "809726122",
   "variation_id": "94754627308",
   "status": true
}

El campo de estado indica si el artículo está listo para ser facturado.


Siguiente: Cargar factura.