Reportes de facturación
Con esta funcionalidad puedes conocer los reportes de la facturación realizada por Mercado Libre para los vendedores. Para esto, te recomendamos consultar /billing/period p ara obtener información de los últimos 12 períodos, luego con /bills conseguirás todas las facturas (documentos) de un periodo, y finalmente, con /summary y /details accedes al resumen de facturación de un periodo y a sus detalles respectivamente.
Facturación de Mercado Libre y Mercado Pago
Cada uno de los endpoints permite obtener información de facturación tanto de Mercado Libre, como de Mercado Pago. A través del parámetro de query obligatorio group podemos especificar de qué grupo de facturación queremos obtener la información.
Obtener período
Permite obtener información de los períodos de facturación para el grupo de facturación indicado (Mercado Libre o Mercado Pago). Por defecto se devuelven los últimos 6 periodos, con la posibilidad de consultar períodos más antiguos utilizando la paginación de offset y limit.
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods?group=MP&document_type=BILL&offset=1&limit=2
Respuesta:
{
"offset": 1,
"limit": 2,
"total": 27,
"results": [{
"amount": 30.46000027656555,
"unpaid_amount": 0.0,
"period": {
"date_from": "2020-02-19",
"date_to": "2020-03-18"
},
"expiration_date": "2020-03-24",
"debt_expiration_date": "2020-03-24",
"debt_expiration_date_move_reason": null,
"debt_expiration_date_move_reason_description": null,
"period_status": "CLOSED"
},
{
"amount": 477888.1484375,
"unpaid_amount": 0.0,
"period": {
"date_from": "2020-01-19",
"date_to": "2020-02-18"
},
"expiration_date": "2020-02-24",
"debt_expiration_date": "2020-03-23",
"debt_expiration_date_move_reason": "PAYMENT_ANNULMENT",
"debt_expiration_date_move_reason_description": "Anulación de pago",
"period_status": "CLOSED"
}
]
}
Campos de la respuesta
- amount: monto total del período.
- unpaid_amount: monto total pendiente de pago.
- period: rango de fechas del período.
- date_from: fecha de inicio del período.
- date_to: fecha de fin del período.
Obtener documentos de un período
Permite obtener información de los documentos (Facturas y Notas de crédito) para un período de facturación en particular para el grupo de facturación indicado (Mercado Libre o Mercado Pago).
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods/$EXPIRATION_DATE/documents
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods/202 1-06-02/documents?group=MP&document_type=BILL&limit=1
Respuesta:
{
"offset": 0,
"limit": 1,
"total": 2,
"results": [{
"id": 987654321,
"user_id": 1234,
"document_type": "BILL",
"expiration_date": "2021-06-02",
"associated_document_id": null,
"amount": 3.86,
"unpaid_amount": 0.0,
"document_status": "BILLED",
"site_id": "MLM",
"period": {
"date_from": "2021-05-03",
"date_to": "2021-05-03"
},
"currency_id": "MXN",
"count_details": 1,
"files": [
{
"file_id": "1234_FE_MEPF00869625_pdf",
"reference_number": "MEPF00999999"
},
{
"file_id": "1234_FE_MEPF00869625_xml",
"reference_number": "MEPF00999999"
}
]
}]
}
Filtros opcionales
- document_id: permite buscar por el id de la factura. Ej: document_id=987046992.
- document_type: permite buscar por tipo de documento: Factura o Nota de Crédito. Valores posibles: BILL | CREDIT_NOTE
- offset: permite buscar desde un número de resultado en adelante Ej: offset=100 (devuelve a partir del resultado número 100).
- limit: limita la cantidad de resultados. Por defecto el mínimo es 150. Máximo valor permitido: 1000. Ej: limit=300 (devuelve hasta 300 resultados).
Resumen de facturación
Permite obtener el resumen de cargos y bonificaciones que tuvo el vendedor para un período de tiempo en particular.
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods/$EXPIRATION_DATE/summary
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods/2021-06 -02/summary?group=MP&document_type=BILL
Respuesta:
{
"user": {
"nickname": "TEST"
},
"period": {
"date_from": "2021-05-01",
"date_to": "2021-06-01",
"expiration_date": "2021-06-02"
},
"summary": {
"amount": 545562.37,
"credit_note": 0,
"tax": 0.00,
"bonuses": [{
"label": "Bonificación de MercadoPago",
"amount": 7354.60
},
{
"label": "Bonificación Impuesto a los Ingresos Brutos Cap. Fed.",
"amount": 116.43
},
{
"label": "Bonificación Impuesto al Valor Agregado Régimen General",
"amount": 116.43
}
],
"charges": [{
"label": "Cargo de MercadoPago",
"amount": 524228.80
},
{
"label": "Percepción General IIBB de CABA",
"amount": 13003.72
}, {
"label": "Percepción IVA Régimen General",
"amount": 13003.72
},
{
"label": "Cargo por transferencia de dinero",
"amount": 2913.59
}
]
}
}
Campos de la respuesta
- summary: cargos y bonificaciones que tuvo el vendedor.
- amount: total a pagar dentro del período de facturación consultado. Se forma con la suma de Cargos e Impuestos y resta de las Bonificaciones.
- credit_note: bonificaciones de cargos generados en otros períodos. Las notas de crédito se utilizan para pagar facturas adeudadas.
- tax: percepciones generadas por los distintos regímenes impositivos.
- bonuses: reintegro de comisiones por tus ventas y servicios que no se concretaron. Los verás discriminados según el tipo de bonificación.
- label: nombre de la bonificación
- amount: monto de dicha bonificación.
Las bonificaciones pueden ser por los siguientes conceptos:
- Cargos de venta y envíos: si una venta no se concreta debido a una devolución o por problemas con el correo (como pérdida o daño del producto), te reintegramos la comisión de venta y el cargo de envío.
- Cargos de publicidad: si por error contrataste el servicio o hubo algún problema con el cobro, te reintegramos la diferencia.
- Bonificaciones por Percepciones Impositivas: ccuando se devuelve un cargo por venta también se incluye la devolución correspondiente de la percepción impositiva de IVA (ya sea por un articulo nuevo o uno usado) y de Ingresos Brutos. Lo mismo si hubo errores en la aplicación de una percepción.
- charges: diferentes cargos que puede tener el vendedor: comisiones por ventas, costo de publicaciones, percepciones impositivas, cobros de servicios. Por ejemplo: Mercado Envíos, Mercado Shops, etc.
En caso de contratar campañas publicitarias, también aparecerán en los cargos.
Detalle de conciliación
Permite obtener el detalle para conciliar las facturas y los cargos de ventas para un período en particular, el grupo de facturación (Mercado Libre o Mercado Pago) y el tipo de documento (Factura o Nota de Crédito). Esta información es la misma que se disponibiliza a través de la sección de reportes de facturación.
Mercado Libre
Para el caso de Mercado Libre, se expone el detalle de los cargos facturados, información de la venta, de descuentos, de envíos y de la publicación.
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods/$EXPIRATION_DATE/group/ML/details
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods/2021-06-02/group/ML/details?document_type=BILL&limit=1
Respuesta:
{
"offset": 0,
"limit": 150,
"total": 1,
"results": [
{
"charge_info": {
"legal_document_number": "0001A00123456",
"legal_document_status": "PROCESSED",
"legal_document_status_description": "Procesado",
"creation_date_time": "2021-05-13T08:08:24",
"detail_id": 123456789,
"detail_amount": 342.49,
"transaction_detail": "Cargo por Mercado Envíos",
"debited_from_operation": "YES",
"debited_from_operation_description": "Si",
"status": null,
"status_description": null,
"charge_bonified_id": null,
"detail_type": "CHARGE",
"detail_sub_type": "CXD",
"concept_type": "SHIPPING"
},
"discount_info": {
"charge_amount_without_discount": 684.99,
"discount_amount": 342.5,
"discount_reason": "Descuento general"
},
"sales_info": [
{
"order_id": 12345,
"operation_id": null,
"sale_date_time": "2021-05-13T08:05:10",
"sales_channel": "Mercado Libre",
"payer_nickname": "ABCD",
"state_name": "Neuquén",
"transaction_amount": 2499
},
],
"shipping_info": {
"shipping_id": "123456789",
"pack_id": "200000123456789",
"receiver_shipping_cost": 0
},
"items_info": [
{
"item_id": "MLA987654321",
"item_title": "Fabrica Magdalenas Cup Cake Maker Atma Cm8910e",
"item_type": "gold_special",
"item_type_description": "Clásica",
"item_category": "Electrodomésticos y Aires Ac. > Pequeños Electrodomésticos > Para Cocina > Máquinas para Postres > Máquinas de Cupcakes",
"inventory_id": null,
"item_amount": 1,
"item_price": 2499,
"order_id": 1234
}
],
"document_info": {
"document_id": 1615633359
},
"marketplace_info": {
"marketplace": "SHIPPING"
},
"currency_info": {
"currency_id": "ARS"
}
}
],
errors:[]
}
Campos de respuesta Mercado Libre
- charge_info: información del cargo.
- legal_document_number: número del documento.
- legal_document_status: estado de generación del documento. Valores posibles: PROCESSING | PROCESSED.
- legal_document_status_description: descripción internacionalizada del estado del documento legal_document_status.
- creation_date_time: fecha de creación del cargo.
- detail_id: identificador del cargo.
- transaction_detail: detalle del cargo.
- debited_from_operation: indica si está descontado de la operación. Valores posibles: YES | NO | INAPPLICABLE.
- debited_from_operation_description: descripción internacionalizada del campo debited_from_operation.
- status: estado del cargo. Valores posibles: BONUS_ON_CREDIT_NOTE | BONUS_PART_ON_CREDIT_NOTE | BONUS_ON_BILL | BONUS_PART_ON_BILL | BONUS_ON | BONUS_PART_ON.
- status_description: descripción internacionalizada de status.
- charge_bonified_id: identificador del cargo que bonifica.
- detail_amount: monto del cargo.
- detail_type: tipo de detalle.
- detail_sub_type: subtipos de detalles.
- charge_amount_without_discount: valor del cargo sin descuento.
- discount_amount: valor del descuento.
- discount_reason: motivo del descuento.
- order_id: identificador de la venta.
- operation_id: identificador del pago.
- sale_date_time: fecha y hora de venta.
- sales_channel: canal de venta.
- payer_nickname: cliente.
- state_name: provincia.
- transaction_amount: monto total de la venta.
- shipping_id: identificador del envío.
- pack_id: identificador del paquete.
- receiver_shipping_cost: envío a cargo del cliente.
- item_id: identificador de la publicación.
- item_title: título de la publicación.
- item_type: tipo de publicación.
- item_category: categoría de publicación.
- inventory_id: código de Mercado Libre.
- item_amount: cantidad de items vendidos.
- item_price: precio unitario del ítem.
- order_id: orden a la que pertenece el item.
- document_id: número Id de documentos.
- marketplace: nombre del marketplace.
- currency_id: identificador de la moneda de acuerdo al site_id.
Mercado Pago
Para Mercado Pago se expone el detalle de cargos facturados con información complementaria sobre la operación de Mercado Pago, como los movimientos, medios de pago, payer, sucursal, punto de venta entre otros.
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods/$EXPIRATION_DATE/group/MP/details
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods/2021-06-02/group/MP/details?document_type=BILL&limit=1
Respuesta:
{
"offset": 0,
"limit": 1,
"total": 9,
"results": [
{
"charge_info": {
"legal_document_number": null,
"legal_document_status": "PROCESSING",
"legal_document_status_description": "En proceso",
"concept_id": "12345678",
"transaction_detail": "Cargo de MercadoPago",
"creation_date_time": "2021-06-01T17:45:39",
"detail_amount": 13.8,
"detail_type": "CHARGE",
"detail_sub_type": "CCMP"
},
"operation_info": {
"operation_type": "BUY",
"operation_type_description": "Pago",
"reference_id": 12345678,
"sales_channel": "Point",
"store_id": 2222222,
"store_name": "Store",
"external_reference": "Venta presencial",
"payer_nickname": "TEST",
"transaction_amount": 340
},
"perception_info": {
"aliquot": null,
"taxable_amount": null
},
"document_info": {
"document_id": 8888899999,
},
"market_type_info": {
"marketplace": "MP"
},
"currency_info": {
"currency_id": "MXN"
}
}
]
}
Campos de respuesta Mercado Pago
- charge_info: información del cargo.
- legal_document_number: número del documento.
- detail_id: identificador del cargo.
- movement_id: número de movimiento.
- transaction_detail: detalle.
- creation_date_time: fecha del cargo.
- detail_amount: monto del cargo.
- detail_type: tipo de detalle.
- detail_sub_type: subtipos de detalles.
- operation_type: tipo de operación. Valores posibles BUY | TAX .
- operation_type_description: descripción internacionalizada del campo operation.
- reference_id: número de operación relacionada.
- sales_channel: tipo de pago.
- store_id: número de sucursal.
- store_name: nombre de la sucursal.
- external_reference: número de referencia externa.
- payer_nickname: cliente.
- transation_amount: monto de la operación.
- aliquot: valor de la alícuota.
- taxable_amount: base imponible.
- document_id: número Id de documentos.
- marketplace: nombre del marketplace.
- currency_id: identificador de la moneda de acuerdo al site_id.
Mercado Envíos Flex
Para Mercado Envíos con logística Flex, puedes ver el detalle para conciliar las bonificaciones y anulaciones de Flex para un período en particular, el grupo de facturación Mercado Libre y el tipo de documento (nota de débito o nota de crédito). Además, te brinda información sobre el envío e información sobre la venta.
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN'
https://api.mercadolibre.com/billing/integration/periods/$EXPIRATION_DATE/group/ML/flex/details
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN'
https://api.mercadolibre.com/billing/integration/periods/2023-03-02/group/ML/flex/details?document_type=BILL&limit=1
Respuesta:
{
"offset": 0,
"limit": 1,
"total": 100,
"results": [{
"charge_info": {
"legal_document_number": "00AA11AA00",
"legal_document_status": "PROCESSED",
"legal_document_status_description": "Procesado",
"creation_date_time": "2023-02-21T12:35:58",
"detail_id": 2020202020,
"detail_associated_id": 4040404040,
"detail_amount": 163,
"transaction_detail": "Anulación de bonificación por Mercado Envíos Flex",
"detail_type": "CHARGE",
"detail_sub_type": "CFLX",
"concept_type": "FLEX"
},
"shipping_info": {
"shipping_id": 4444455555,
"receiver_nickname": "NICKNAME",
"pack_id": "12345678",
"receiver_shipping_cost": 814.99,
"order": {
"order_id": 9000000008888888,
"date_created": "2023-02-15T11:54:51",
"total_amount": 29499,
"payment_id": 998899889988,
"buyer_nickname": "NICKNAME"
}
},
"document_info": {
"document_id": 776677667711
}
}],
"errors": []
}
Campos de respuesta Flex
- charge_info información del cargo.
- legal_document_number: número del documento.
- legal_document_status: estado de generación del documento. Valores posibles: PROCESSING | PROCESSED
- legal_document_status_description: descripción internacionalizada del estado del documento legal_document_status.
- creation_date_time: fecha de creación del cargo.
- detail_id: identificador del cargo.
- detail_associated_id: Identificador del cargo asociado (en caso de anulación de bonificación).
- detail_amount: monto del cargo.
- transaction_detail: detalle del cargo.
- detail_type: tipo de detalle.
- detail_sub_type: subtipos de detalles.
- concept_type: tipo de concepto.
- shipping_id: identificador del envío.
- receiver_nickname: cliente.
- pack_id: número de paquete.
- receiver_shipping_cost: costo del envío.
- order: información de la venta.
- order_id: identificador de la venta.
- date_created: fecha de la orden.
- totalAmount: total de la orden.
- paymentId: identificador del pago.
- buyerNickname: cliente.
- document_id: id de documento.
Fulfillment
Para Mercado Envío con logística Full, se ve el detalle para conciliar los cargos y las bonificaciones por colecta y/o almacenamiento para un período en particular, el grupo de facturación Mercado Libre y el tipo de documento (factura o nota de crédito). También brinda información del producto almacenado o recolectado. A continuación te contamos los tipos de cargos existentes para el reporte de Fulfillment:
- Cargo por retiro de stock.
- Cargo por almacenamiento prolongado.
- Cargo por servicio de colecta.
- Cargo por incumplimiento.
- Cargo por almacenamiento.
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN'
https://api.mercadolibre.com/billing/integration/periods/$EXPIRATION_DATE/group/ML/full/details
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN'
https://api.mercadolibre.com/billing/integration/periods/2023-03-02/group/ML/full/details?document_type=BILL&limit=1
Respuesta:
{
"offset": 0,
"limit": 100,
"total": 634,
"results": [{
"charge_info": {
"legal_document_number": "000AAA00000000",
"legal_document_status": "PROCESSED",
"legal_document_status_description": "Procesado",
"creation_date_time": "2021-07-23T16:37:58",
"detail_id": 11111111111,
"detail_amount": 2.54,
"transaction_detail": "Cargo por servicio de colecta Full",
"charge_bonified_id": null,
"detail_type": "CHARGE",
"detail_sub_type": "CFCB",
"concept_type": "FULFILLMENT",
"payment_id": 222222222
},
"fulfillment_info": {
"type": "INBOUND_COLLECT",
"amount_per_unit": 2.54,
"amount": 2.54,
"sku": "3125404000009",
"ean": "3125404000009",
"item_id": "MLM788740252",
"item_title": "VESTIDO CORTO AZUL MARINO BORDADO EN PECHO DEVENDI",
"variation": "AZUL MARINO | EG",
"quantity": 1,
"volume_type": null,
"inventory_id": "LLLGGKK12",
"inbound_id": 555555,
"volume_unit": "m3",
"amount_per_volume_unit": 500,
"volume": 0.00507,
"volume_total": 0.00507
},
"document_info": {
"document_id": 333333333
}
}],
"errors": []
}
Campos de respuesta Fulfillment
- charge_info información del cargo.
- legal_document_number: número del documento.
- legal_document_status: estado de generación del documento. Valores posibles: PROCESSING | PROCESSED
- legal_document_status_description: descripción internacionalizada del estado del documento legal_document_status.
- creation_date_time: fecha de creación del cargo.
- detail_id: identificador del cargo.
- detail_associated_id: Identificador del cargo asociado (en caso de anulación de bonificación).
- detail_amount: monto del cargo.
- transaction_detail: detalle del cargo.
- detail_type: tipo de detalle.
- detail_sub_type: subtipos de detalles.
- concept_type: tipo de concepto.
- legal_document_number: número del documento.
- legal_document_status: estado de generación del documento. Valores posibles: PROCESSING, PROCESSED
- creation_date_time: fecha de creación del cargo.
- detail_id: identificador del cargo.
- detail_amount: monto del cargo.
- transaction_detail: detalle del cargo.
- charge_bonified_id: identificador del cargo que bonifica.
- detail_type: tipo de detalle.
- detail_sub_type: subtipos de detalle.
- concept_type: tipo de concepto.
- payment_id: identificador de pago.
- type: tipo de fulfillment. Valores posibles: WITHDRAWAL | AGING | INBOUND_COLLECT | INBOUND_PENALTY | WAREHOUSING.
- amount_per_unit: monto por unidad.
- amount: monto total.
- sku: stock-keeping-unit.
- item_id: número de publicación.
- item_title: titulo de la publicación.
- variation: variante del producto.
- quantity: unidades almacenadas o recolectadas.
- volume_type: tamaño de la unidad.
- inventory_id: código del inventario de ML.
- withdrawal_id: número de retiro –TYPE WITHDRAWAL Cargo por retiro de stock –
- shipment_type: forma de retiro. –TYPE WITHDRAWAL Cargo por retiro de stock –
- volume_unit: unidad de medida (m3). –TYPE WITHDRAWAL Cargo por retiro de stock –
- amount_per_volume_unit: monto por m3. –TYPE WITHDRAWAL Cargo por retiro de stock –
- volume: volumen unitario (cm3) –TYPE WITHDRAWAL Cargo por retiro de stock–
- volume_total: volumen total. –TYPE WITHDRAWAL Cargo por retiro de stock –
- months_range: antigüedad en meses. –TYPE AGING Cargo por almacenamiento prolongado –
- stock_details: detalles del stock. –TYPE AGING Cargo por almacenamiento prolongado –
- quantity: cantidad en stock. –TYPE AGING Cargo por almacenamiento prolongado–
- inventory_status: estado del inventario. –TYPE AGING Cargo por almacenamiento prolongado –
- inbound_id: número de envío. –TYPE INBOUND_COLLECT Cargo por servicio de colecta –
- volume_unit: unidad de medida (m3) –TYPE INBOUND_COLLECT Cargo por servicio de colecta –
- amount_per_volume_unit: monto por m3. –TYPE INBOUND_COLLECT Cargo por servicio de colecta –
- volume: volumen unitario (cm3) –TYPE INBOUND_COLLECT Cargo por servicio de colecta –
- volume_total: volumen total. –TYPE INBOUND_COLLECT Cargo por servicio de colecta –
- inbound_id: número de envío. –TYPE INBOUND_PENALTY Cargo por incumplimiento -
- penalty_type: tipo de incumplimiento. –TYPE INBOUND_PENALTY Cargo por incumplimiento –
- warehouse_id: identificador de warehouse.–TYPE WAREHOUSING Cargo por almacenamiento –
- size: tamaño de la unidad.–TYPE WAREHOUSING Cargo por almacenamiento–
- item_quantity: unidades almacenadas.–TYPE WAREHOUSING Cargo por almacenamiento–
- document_id: ID del documento.
Insurtech
Permite obtener el detalle para conciliar los cargos y bonificaciones de las garantías aplicadas sobre los productos para un período en particular, el grupo de facturación Mercado Libre y el tipo de documento (Factura o Nota de Crédito). Esta información es la misma que se disponibiliza a través de la sección de reportes de facturación para los usuarios de Insurtech. Los filtros opciones pueden ser utilizados de la misma manera que tenemos disponible para los detalles de Mercado Libre y Mercado Pago.
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods/$EXPIRATION_DATE/group/ML/insurtech/details
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods/2022-10-02/group/ML/insurtech/details?document_type=BILL&limit=1
Respuesta:
{
"offset": 0,
"limit": 150,
"total": 1,
"results": [
{
"charge_info": {
"legal_document_number": "001112131415",
"legal_document_status": "PROCESSED",
"legal_document_status_description": "Procesado",
"creation_date_time": "2022-10-04T22:24:18",
"detail_id": 123456,
"detail_amount": 520.01,
"transaction_detail": "Cargo por seguro de garantía extendida",
"status": null,
"status_description": null,
"charge_bonified_id": null,
"detail_type": "CHARGE",
"detail_sub_type": "CEW",
"concept_type": "WARRANTY"
},
"warranty_info": {
"warranty_id": "11111111-43c2-44ea-8436-00000000",
"certificate_id": "MLA999999",
"warranty_product": "GAREX",
"buyer_nickname": "TEST",
"buyer_state_name": "Salta",
"order": {
"order_id": 102030405060,
"order_items": [
{
"unit_price": 10791,
"listing_type_id": "gold_special",
"item": {
"item_id": "MLA88888888",
"title": "Auriculares Inalámbricos Jbl Tune 510bt Negro",
"category_id": "MLA1234",
"category_name": "Auriculares"
}
}
]
},
"quote_model": null,
"quote_brand": null,
"quote_description": ""
},
"prepaid_info": {
"operation_id": 55558888,
"movement_id": 123456789,
"doc_id": 11111111111,
"payment": {
"payment_id": 5555555555,
"date_created": "2022-10-04T22:23:40",
"transaction_amount": 736.98,
"money_release_date": "2023-03-03T22:23:41"
}
},
"document_info": {
"document_id": 3333333333
}
}
]
Campos de respuesta Mercado Libre- Insurtech
- charge_info: información del cargo.
- legal_document_number: número del documento.
- legal_document_status: estado de generación del documento. Valores posibles: PROCESSING | PROCESSED.
- legal_document_status_description: descripción internacionalizada del estado del documento legal_document_status.
- creation_date_time: fecha de creación del cargo.
- detail_id: identificador del cargo.
- detail_amount: mosnto de cargo.
- transaction_detail: detalle del cargo.
- status: estado del cargo. Valores posibles: BONUS_ON_CREDIT_NOTE | BONUS_PART_ON_CREDIT_NOTE | BONUS_ON_BILL | BONUS_PART_ON_BILL | BONUS_ON | BONUS_PART_ON.
- status_description: descripción internacionalizada de status.
- charge_bonified_id: identificador del cargo que bonifica.
- detail_type: tipo de detalle.
- detail_sub_type: subtipos de detalles.
- concept_type: tipo de concepto.
- wanrranty_id: identificador de la garantía.
- certificate_id: identificador del certificado.
- waranty_product: tipo de garantía. Valores posibles: CARDS, GAREX, RODA.
- buyer_nickname: numero del comprador.
- buyer_state_name: provincia del comprador.
- order: información de la orden.
- order_id: identificador de la orden.
- order_items: lista de items de la orden.
- unit_price: precio de la unidad.
- listing_type_id: tipo de publicación.
- item: información del item.
- item_id: identificador del producto.
- tittle: titulo del producto.
- category_id: identificador de la categoría.
- category_name: nombre de la categoría.
- quote_model: modelo del producto. Aplica a RODA.
- quote_brand: marca del producto. Aplica a RODA.
- quote_description: descripción adicional. Aplica a RODA.
- operation_id: identificador de la operación.
- movement_id: identificador del pago.
- doc_id: identificador del documento.
- payment_id: identificador del pago.
- date_created: fecha de pago.
- transaction_amount: monto del pago.
- money_release_date: fecha de liberación del dinero.
Filtros opcionales
- date_sort: permite ordenar la búsqueda.
asc: ordena los resultados de manera ascendente (valor por default)
desc: ordena los resultados de manera descendente
Ej: date_sort=asc
- sort_by: permite seleccionar por qué campo ordenar. Valores posibles: DATE
- detail_typepermite buscar por tipos de detalles.
charge: trae solamente cargos
bonus: trae solamente bonificaciones
Ej: det_type=charge
- detail_sub_types: permite filtrar por subtipos de detalles. Se pueden definir varios separados por coma.
Ej: detail_sub_types=CV, BV
- detail_excluded_sub_types: permite excluir de la búsqueda los subtipos de detalles indicados. Se pueden definir varios separados por coma.
Ej: not_subtypes=CXD, BXD
- marketplace_type: permite buscar por el market del detalle.
Ej: marketplace_type=SHIPPING
- order_ids: permite buscar por uno o varios id de la order. Disponible para ML.
Ej: order_ids=2294412230
- item_ids: permite buscar por uno o más id de la publicación.
Ej: item_ids=724159812
- document_ids: permite buscar por uno o más id de la factura.
Ej: document_ids=987046992
- detail_ids: permite buscar por uno o más id del detalle.
Ej: detail_ids=724159812
- offset: permite buscar desde un número de resultado en adelante. El valor mínimo permitido es 0 y el valor máximo permitido es 10000. Por defecto el valor es 0. Ej: offset=100 (devuelve a partir del resultado nro 100).
- limit: limita la cantidad de resultados. Por defecto el mínimo es 1 y el máximo valor permitido: 1000 . Ej: limit=300 (devuelve hasta 300 resultados).
Ej: limit=300 (devuelve hasta 300 resultados)
Descarga de documento Legal
Permite descargar las facturas legales de Mercado Libre y Mercado Pago en formato PDF.
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/legal_document/$FILE_ID
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/legal_document/1234_FE_MEPF00869625_pdf
Respuesta: descarga del archivo en formato PDF.
Descarga del reporte de conciliación
Para descargar los reportes de conciliación de Mercado Libre, Mercado Envíos Flex y Mercado Pago en los formatos XLSX y CSV hay que seguir un proceso de generación del reporte. Ese mismo proceso se aplica al reporte de Fulfillment, que solo admite el formato de descarga XLSX.
El proceso de generación del reporte consiste en tres pasos: primero se genera el reporte de conciliación, luego hay que consultar el estado de generación del mismo hasta que se encuentre generado y finalmente se procede a la descarga.
1. Generación del reporte
A través de este endpoint, se procede con la generación del reporte.
Llamada:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d {...}
https://api.mercadolibre.com/billing/integration/periods/$EXPIRATION_DATE/reports
Ejemplo:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN'
-d '{
"group": "MP",
"document_type": "BILL",
"report_format": "CSV"
}'
https://api.mercadolibre.com/billing/integration/periods/2021-08 -04/reports
Respuesta:
{
"fileId": "ML-report-BILL-2021-08-04-11119999-CSV-v2"
}
2. Estado de generación de reporte
Te permite obtener el estado de generación de un reporte.
Los estados pueden ser:
- PROCESSING: el reporte se está generando.
- READY: el reporte se terminó de generar.
- ERROR: la generación del reporte falló, se debe volver a consultar.
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/reports/$FILE_ID/status
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/reports/ML-repo rt-BILL-2021-08-04-11119999-CSV-v2/status?document_type=BILL
Respuesta:
{
"status": "PROCESSING"
}
3. Descarga del reporte
Con ese endpoint se descarga el reporte. Esta descarga podrá ser efectiva una vez que el estado de la generación sea Ready.
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/reports/$FILE_ID
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/reports/ML-repo rt-BILL-2021-08-04-11119999-CSV-v2?document_type=BILL
Resumen de percepciones
Permite obtener el resumen de percepciones que tuvo el vendedor para un período en particular, el grupo de facturación (Mercado Libre o Mercado Pago).
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods/$EXPIRATION_DATE/perceptions/summary
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods/2021-08-02/perceptions/summary?group=MP
Respuesta:
{
"summary": [
{
"document_id": 123456789,
"society": "ML",
"legal_document_number": "0011A012345678",
"user_fiscal_condition": "Responsable inscripto sin incumplimientos",
"amount": 229314.11,
"regimen_tax_type": "MLA_RE_IVA_N",
"regimen_tax_type_description": "Percepción de IVA nuevos del régimen
especial",
"taxable_amount": 22931410.96,
"aliquot": 1.00,
"coefficient": 1.0000,
"perception_charge_number": 1123456789,
"tax_type": "CRGI",
"tax_type_description":
"Percepción Impuesto al Valor Agregado nuevos",
"bill_date": "2021-11-29",
"status": "APPLIED",
"status_description": "Aplicado"
"tax_ids": [123345678,233455678]
}
],
"errors": []
}
Campos de la respuesta
- document_id: identificador del documento.
- society: sociedad. .Valores posibles ML | MP.
- legal_document_number: número de documento.
- user_fiscal_condition: condición fiscal del usuario.
- amount: total a pagar dentro del período consultado.
- regimen_tax_type: régimen del tipo de impuesto.
- regimen_tax_type_description: descripción internacionalizada del régimen del tipo de impuesto.
- taxable_amount: base imponible.
- aliquot: alor de la alícuota.
- coefficient: coeficiente que interviene en el cálculo del impuesto.
- perception_charge_number: número de cargo de percepción.
- tax_type: tipo de impuesto.
- tax_type_description: descripción internacionalizada del tipo de impuesto.
- bill_date: fecha de facturación.
- status: estado del resumen.
- status_description: descripción internacionalizada del estado.
- tax_ids: tipos de impuestos.
Detalle de percepciones
Permite obtener el detalle de una determinada percepción. Para percepciones de Mercado Libre a partir del código de percepción y el número de documento. Para percepciones de Mercado Pago a partir del código de percepción, el número de documento y el identificador del impuesto.
Mercado Libre
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/group/ML/perceptions/details
Ejemplo (Régimen General):
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/group/ML/perceptions/details?document_id=333555777&tax_type=CIVA&offset=1&limit=2
Respuesta (Régimen General):
{
"offset": 0,
"limit": 150,
"total": 4241,
"results": [
{
"detail_id": 12345678,
"date_created": "2021-10-30",
"taxable_amount": 2660.0,
"aliquot": 3.0,
"tax_amount": 79.8,
"transaction_detail": "CV",
"transaction_detail_description": "Cargo por venta",
"charge_bonified_id": null,
"amount": 2660.0,
"gross_amount": 3218.6,
"detail_type": "CHARGE",
"detail_type_description": "Cargo"
}],
"errors": []
}
Mercado Pago
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/group/MP/perceptions/details
Ejemplo (Régimen General):
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/group/MP/perceptions/details?document_id=333555777&tax_type=CIVAMP&tax_id=12345&tax_id=12345&offset=1&limit=2
Respuesta (Régimen General):
{
"offset": 0,
"limit": 150,
"total": 5,
"results": [
{
"detail_id": 1114444,
"date_created": "2021-10-30",
"taxable_amount": 154.93,
"aliquot": 3.0,
"tax_amount": 4.6479,
"movement_id": "1234567",
"reference_id": 1234567,
"transaction_detail": "CCMP",
"transaction_detail_description": "Cargo de MercadoPago",
"amount": 154.93,
"gross_amount": 187.46,
"detail_type": "CHARGE",
"detail_type_description": "Cargo"
}],
"errors": []
}
Campos de la respuesta
Para Mercado Libre y para una percepción del Régimen General se retornan los siguientes datos:
- detail_id: identificador del detalle.
- date_created: fecha de creación.
- taxable_amount: base imponible.
- aliquot: valor de la alícuota..
- tax_amount: importe del impuesto.
- transaction_detai: detalle de la transacción.
- transaction_detail_description: descripción internacionalizada de detalle de la transacción.
- charge_bonified_id: identificador del cargo que bonifica en el caso que el cargo se un bonus.
- amount: monto de la percepción.
- gross_amount: monto bruto de la percepción.
- detail_type: tipo de detalle a que aplica la percepción.
- detail_type_description: descripción del tipo de detalle al que aplica la percepción.
Para Mercado libre y para una percepción del Régimen Especial se informan además los siguientes datos:
- publish_number: número de publicación.
- publish_title: título de la publicación.
- sale_date: fecha de venta.
- sale_number: número de venta.
- buyer_name: número del comprador.
- buyer_state_name: provincia del comprador.
Para Mercado Libre y para una percepción del Régimen Tucumán se informa además el siguiente dato:
- coefficient: coeficiente con el que se calcula el importe del impuesto.
Para Mercado Pago se informa además los siguientes datos:
- movement_id: número de movimiento.
- reference_id: operación relacionada.
Código de respuesta HTTP
206 – Partial content: en algunos casos, los endpoints devolverán el código 206 – Partial content. Esto ocurrirá cuando falle la solicitud a algunos de los datos (por ejemplo, descuento de un detalle) para informarte que recibirás una respuesta incompleta. Los errores se podrán visualizar en el campo errors de la respuesta del endpoint.
Estructura del campo errors:
"errors": [
{
"index": 3,
"error_type": "PARTIAL_CONTENT",
"messages": "An error occurred while retrieving the information. Try again"
},
]
Descripción de los campos
- index: posición del objeto que no se pudo recuperar.
- date_created: tipo de error.
- taxable_amount: descripción del error.
Posibles errores
Los errores esperados que puedan ocurrir en la aplicación serán devueltos teniendo en cuenta la siguiente estructura:
{
"timestamp": string($date-time),
"status": integer($int32),
"type": string,
"message": string,
"path": string,
"errors": {
<*>: string }
}
- timestamp: informa la fecha y hora a la que se generó el error.
- status: informa el código de error retornado.
- type: código de error de aplicación. Los valores posibles:
- ABUSE_PREVENTION_ERROR
- AUTHENTICATION_ERROR
- AUTHORIZATION_ERROR
- BAD_REQUEST_ERROR
- VALIDATION_ERROR
- TYPE_MISMATCH_ERROR
- INTERNAL_ERROR
- MISSING_PARAMETER_ERROR
- METHOD_NOT_ALLOWED_ERROR
- NOT_FOUND_ERROR
Ejemplo:
{
"timestamp": "2021-07-07T21:21:09.72319Z",
"status": 422,
"type": "TYPE_MISMATCH_ERROR",
"message": "Type mismatch error.",
"path": "/periods",
"errors": {
"group": "Invalid format for value "
}
}