Inicio
DocumentaciĂłn
Recursos
Partners
Comunidad

Recursos

Revisa las actualizaciones de nuestras soluciones y operatividad del sistema o pide soporte técnico.

Partners

Conoce nuestro programa para agencias o desarrolladores que ofrecen servicios de integraciĂłn y vendedores que quieren contratarlos.

Comunidad

Recibe las Ășltimas novedades, pide ayuda a otros integradores y comparte tus conocimientos.

Generar reporte - Reporte de ventas de la soluciĂłn split de pagos - Mercado Pago Developers

BĂșsqueda inteligente powered by OpenAI 

Generar reporte

Para generar el reporte, primero debes realizar la creaciĂłn de las configuraciones necesarias, donde podrĂĄs definir los emails a los que se enviarĂĄ el reporte o la frecuencia con la que quieres que se genere, entre otras opciones. Luego, deberĂĄs crear el reporte, que podrĂĄ ser de forma automĂĄtica (event) o manual (statement).

Importante
Para generar los reportes, serĂĄ necesario contar con el Access Token de tus credenciales de producciĂłn. Se trata de una clave privada de la aplicaciĂłn, que siempre debe ser usada en el backend para generar pagos. En caso de no contar con esta informaciĂłn todavĂ­a, sigue los pasos descritos a continuaciĂłn.

Generar Access Token

Las credenciales son contraseñas exclusivas utilizadas para identificar una integración en tu cuenta. Desempeñan un papel fundamental en la captura segura de pagos en tiendas en línea y otras aplicaciones. Puedes encontrarlas en Detalles de la aplicación > Credenciales dentro del Panel del desarrollador o en tu cuenta de Mercado Pago, accediendo a Tu negocio > Configuraciones > Gestión y administración > Credenciales.

Existen dos tipos diferentes de credenciales:

  • Credenciales de prueba: Utiliza las credenciales de prueba para probar tus integraciones. Pueden combinarse con tarjetas de crĂ©dito de prueba para simular transacciones y verificar el correcto funcionamiento de las integraciones. Se recomienda utilizar estas credenciales antes de pasar a las credenciales de producciĂłn.
  • Credenciales de producciĂłn: Utiliza las credenciales de producciĂłn para recibir pagos.

Ambos tipos de credenciales constan de dos pares de claves que debes utilizar segĂșn el producto elegido. Consulta la documentaciĂłn especĂ­fica de cada producto para obtener detalles sobre las claves que debes utilizar.

TipoDescripciĂłn
Public keyLa clave pĂșblica de la aplicaciĂłn se utiliza generalmente en el frontend. Permite, por ejemplo, acceder a informaciĂłn sobre los medios de pago y cifrar los datos de la tarjeta.
Access tokenClave privada de la aplicaciĂłn que siempre se debe utilizar en el backend para generar pagos. Es esencial mantener esta informaciĂłn segura en tus servidores.

Para poder generar el reporte de ventas, deberĂĄs utilizar tu Access Token productivo.

Generar Access Token

Crear configuraciĂłn

Previo a la generaciĂłn del reporte, deberĂĄs crear las configuraciones del mismo, que te permitirĂĄn personalizar los emails a los que se enviarĂĄ el reporte o la frecuencia con la que quieres que se genere, ademĂĄs de su estructura. La creaciĂłn de configuraciones consta de 2 pasos: primero, definir la estructura del reporte, y luego, configurar las vĂ­as de notificaciĂłn.

Estructurar reporte

Crear la estructura del reporte te permitirå definir las características que este tendrå al momento de su generación. A través de structures podrås indicar la zona horaria en la que quieres que el reporte se genere, agregar un prefijo para identificar el archivo generado e incorporar la cantidad de columnas deseadas, junto con separadores de columnas y decimales. Para definir esta estructura, realiza el siguiente llamado a la API, teniendo en cuenta las especificaciones de la tabla a continuación:

curl

curl --location --request POST 'https://api.mercadopago.com/v1/reports/marketplace_sellers_sales/structures' \
--header 'Authorization: Bearer {{TOKEN}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "display_timezone": "GMT-03",
    "name": "Structure de mi marketplace",
    "file_format": {
        "prefix": "marketplace",
        "column_separator": ";",
        "decimal_separator": "."
    },
    "columns": [
        {
            "key": "COLLECTOR",
            "alias": ""
        },
        {
            "key": "COLLECTOR_NICKNAME",
            "alias": ""
        },
        {
            "key": "PAYMENT",
            "alias": ""
        },
        {
            "key": "STATUS_DESCRIPTION",
            "alias": ""
        },
        {
            "key": "STATUS_DETAIL",
            "alias": ""
        },
        {
            "key": "PURCHASE_ORDER",
            "alias": ""
        },
        {
            "key": "PAYMENT_METHOD_TYPE",
            "alias": ""
        },
        {
            "key": "TRANSACTION_AMOUNT",
            "alias": ""
        },
        {
            "key": "DATE_CREATED",
            "alias": ""
        },
        {
            "key": "DATE_APPROVED",
            "alias": ""
        },
        {
            "key": "MARKETPLACE_FEE_AMOUNT",
            "alias": ""
        },
        {
            "key": "MERCADOPAGO_FEE_AMOUNT",
            "alias": ""
        },
        {
            "key": "TOTAL_PAID_AMOUNT",
            "alias": ""
        },
        {
            "key": "NET_RECEIVED_AMOUNT",
            "alias": ""
        }
    ]
}'

Respuesta

json

{
    "id": {{structure_id}},
    "version": 0,
    "date_created": null,
    "date_last_updated": null,
    "name": null,
    "file_format": null,
    "columns": null,
    "file_config": null,
    "report_translation": null,
    "include_withdraw": null,
    "refund_detailed": null,
    "show_fee_prevision": null,
    "coupon_detailed": null,
    "show_chargeback_cancel": null
}
CampoDescripciĂłn
display_timezone (opcional)Este campo determina la fecha y la hora que se visualiza en los reportes. Si no configuras este campo con una zona horaria, el sistema tomarĂĄ por defecto el valor GMT-04. Si eliges una zona horaria que utiliza horario de verano, es necesario que hagas el ajuste manual cuando cambie la hora.
columns (obligatorio)Campo con el detalle de columnas a incluir en tu reporte. Encuentra todos los posibles valores en la secciĂłn Glosario.
name (obligatorio)Campo para asignar nombre a la estructura.
file_format.prefix (obligatorio)Prefijo que compone el nombre del reporte una vez generado.
file_column_separator (obligatorio)Caracter que puedes usar en el archivo .csv cuando no quieras que el separador sea un punto y coma.

VĂ­as de notificaciĂłn

Después de establecer la estructura del reporte, determine cómo desea recibir las notificaciones, ya sea por email o SFTP. Configure un notifier como se muestra a continuación y preste atención a las características de cada campo descritas en la tabla siguiente.

Email

curl

curl --location --request POST 'https://api.mercadopago.com/v1/reports/notifiers' \
--header 'Authorization: Bearer {{TOKEN}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "type": "email",
    "data": {
        "recipients": ["test@mercadolibre.com"]
    },
    "description": "test notifier email"
}'

Respuesta

json

{
    "id": {{notifier_id}},
    "type": "email",
    "data": {
        "recipients": [
            "test@mercadolibre.com"
        ]
    },
    "description": null,
    "version": 0,
    "status": "ACTIVE",
    "is_pii_data": true
}

SFTP

curl

curl --location --request POST 'https://api.mercadopago.com/v1/reports/notifiers?type=ftp' \
--header 'Authorization: Bearer {{TOKEN}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "type": "ftp",
    "data": {
        "ip": "test.files.com",
        "port": 22,
        "password": "test",
        "protocol": "SFTP",
        "username": "test@mercadolibre.com",
        "remote_dir": "/"
    },
    "description": "test notifier sftp"
}'

Respuesta

json

{
    "id": {{notifier_id}},
    "type": "ftp",
    "data": {
        "protocol": "SFTP",
        "ip": "test.files.com",
        "username": "test@mercadolibre.com",
        "password": "test",
        "remote_dir": "/",
        "port": 22
    },
    "description": null,
    "version": 0,
    "status": "ACTIVE",
    "is_pii_data": false
}
CampoDescripciĂłn
type (obligatorio)Define el tipo de notificaciĂłn a configurar. Valores posibles: email; ftp.
data (obligatorio)Contiene la informaciĂłn del destinatario del notifier. Dependiendo del valor indicado en type, puede contener los siguientes objetos:

- email: ContendrĂĄ el campo recipients, donde podrĂĄs indicar los emails a los que el reporte serĂĄ enviado. Puede ser mĂĄs de uno, si lo deseas.

- ftp: ContendrĂĄ los siguientes campos:
- ip: URL del servidor FTP
- port: Puerto del servidor FTP
- password: Contraseña de acceso al servidor FTP
- protocolo: SFTP
- username: Usuario para acceder al servidor FTP
- remote_dir: Carpeta destino en el servidor FTP.

Crear reporte

Después de crear las configuraciones iniciales, tienes dos opciones para crear el reporte:

  • Programar un evento: Esto automatiza la creaciĂłn de reportes, indicando su periodicidad.
  • Generar un evento manualmente: Puedes crear un reporte a demanda, definiendo el perĂ­odo que deseas que abarque.

Programar un reporte (Events)

Al programar un evento, es posible generar reportes de manera automĂĄtica y establecer su periodicidad. Para realizar esta programaciĂłn, crea un event siguiendo el ejemplo a continuaciĂłn. AsegĂșrate de tener las configuraciones previamente establecidas y la informaciĂłn de la tabla a continuaciĂłn a mano para garantizar una programaciĂłn exitosa del reporte.

curl

curl --location --request POST 'https://api.mercadopago.com/v1/reports/marketplace_sellers_sales/events' \
--header 'Authorization: Bearer {{TOKEN}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "type": "frequency",
    "data": {
        "period": "daily",
        "value": 0,
        "hour": 0
    },
    "description": "event test",
    "structure_id": {{structure_id}},
    "notifiers": [      
       {{notifier_id}}
    ],
    "status": "ACTIVE",
    "version": 0
}'

Respuesta

json

{
    "id": {{event_id}},
    "type": "frequency",
    "data": {
        "period": "daily",
        "value": 0,
        "hour": 20,
        "skip_non_working_days": false
    },
    "description": "event test",
    "structure_id": {{structure_id}},
    "notifiers": [],
    "status": "ACTIVE",
    "version": 0,
    "user_id": {{user_id}}
}

Puedes ver la descripciĂłn de los campos presente en los curls en la tabla a continuaciĂłn.

CampoDescripciĂłn
type (obligatorio)Este campo define el tipo de evento. El Ășnico valor posible es frequency.
data (obligatorio)Este campo contiene la frecuencia con la que se generarĂĄ el reporte. Puede ser diaria (period=daily), semanal (period=weekly) o mensual (period=monthly). Dentro de value, podrĂĄs definir quĂ© dĂ­a de la semana quieres que se genere el reporte (si period=weekly), asignĂĄndole un nĂșmero de 1 a 7, o quĂ© dĂ­a del mes (si period=monthly), asignĂĄndole un nĂșmero del 1 al 31. AdemĂĄs, en el campo hour puedes programar la hora del dĂ­a en la que se generarĂĄ el reporte.
description (obligatorio)Campo para asignar un nombre al evento. Valor mĂĄximo: 50 caracteres.
structure_id (obligatorio)Campo para asignar la estructura con la que se va a generar el reporte. DeberĂĄs completarlo con el valor obtenido para este mismo campo en la respuesta a la creaciĂłn de la estructura.
notifier_id (obligatorio)Campo para asignar la vĂ­a por la que deseas recibir las notificaciones. DeberĂĄs completarlo con la identificaciĂłn obtenida en la respuesta a la creaciĂłn de notificaciones.

Generar reporte manualmente (Statements)

La creaciĂłn manual permite generar un reporte a demanda, especificando el intervalo de tiempo deseado.

Para hacerlo, crea una statement, como se muestra a continuaciĂłn. AdemĂĄs, asegĂșrate de tener a mano las configuraciones que creaste previamente y la informaciĂłn de la tabla siguiente para garantizar la creaciĂłn exitosa del reporte.

curl

curl --location --request POST 'https://api.mercadopago.com/v1/reports/marketplace_sellers_sales/statements' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{TOKEN}}' \
--data-raw '{
    "user_description": "",
    "created_by": "automatic",
    "origin": {
        "type": "date_range",
        "data": {
            "date_start": "2023-04-01T03:00:00Z",
    		"date_end": "2023-04-02T02:27:44Z"
        }
    },
    "structure_id": {{structure_id}},
    "notifiers_id": [{{notifier_id}}]
}'

Respuesta

json

{
    "status_code": 201,
    "request_id": {{statement_id}},
    "message": ""
}

Puedes ver la descripciĂłn de los campos presente en los curls en la tabla a continuaciĂłn.

CampoDescripciĂłn
user_description (obligatorio)DescripciĂłn deseada. ExtensiĂłn mĂĄxima: 50 caracteres.
created_by (obligatorio)Creador de la solicitud. De momento, sĂłlo puede recibir el valor automatic.
Origin (obligatorio)Este campo contiene la informaciĂłn del perĂ­odo que se desea incluir en el reporte.
- type: el Ășnico valor posible es date_range, ya que deberĂĄs indicar el perĂ­odo a consultar.
- date_start: indica el inicio del perĂ­odo que deseas consultar en formato: yyyy-MM-dd HH:mm:ss.SSS.
- date_end: indica el fin del perĂ­odo que deseas consultar en formato: yyyy-MM-dd HH:mm:ss.SSS.
structure_id (obligatorio)Campo para asignar la estructura con la que se va a generar el reporte. DeberĂĄs completarlo con el valor obtenido para este mismo campo en la respuesta a la creaciĂłn de la estructura.
notifiers_id (obligatorio)Campo para asignar la vĂ­a por la que deseas recibir las notificaciones. DeberĂĄs completarlo con la identificaciĂłn obtenida en la respuesta a la creaciĂłn de notificaciones.