Equipo Integraciones API Multivende
Encuentra la información necesaria de las integraciones vía API con Multivende.
Conéctate vía API a una o más cuentas de Merchant y automatiza operaciones con nuestra API Rest.
Multivende actúa como el centro de gestión para el catálogo de productos de un usuario, como observamos en el diagrama más abajo. (Diagrama flujo global de integraciones)
Dentro de Multivende, los usuarios pueden realizar todas las configuraciones necesarias, como la carga de productos, gestión de stock, administración de bodegas y establecimiento de listas de precios. Con esta información, Multivende publica los productos o SKUs en los diversos marketplaces y tiendas online con los que está integrado de manera nativa.
Todo el proceso entre Multivende, los marketplaces y las tiendas online está gestionado por nuestro equipo de desarrollo. Nosotros enviamos información relevante como stock, precios, productos, estado de órdenes y documentos a los marketplaces y tiendas online.
A su vez, recibimos en Multivende los datos de ventas y los cambios de estado, como actualizaciones de órdenes y detalles sobre despachos o retiros en tienda.
Además, ofrecemos la opción de descargar etiquetas de despacho y estamos integrados de manera nativa con operadores logísticos como Chilexpress, Envíame, entre otros.
Multivende sigue un enfoque API First, lo que significa que nuestra API está disponible para que los integradores conecten sus sistemas externos. Durante el proceso de implementación, gestionamos todas las interacciones entre Multivende y la integración. (Diagrama flujo global de integraciones - Aplicaciones)
La API permite actualizar stock, precios y productos, y también acceder a esta información desde Multivende. Asimismo, disponemos de Webhooks para proporcionar actualizaciones en tiempo real sobre cualquier cambio en los recursos habilitados en la aplicación. Se pueden conectar con Multivende diferentes tipos de sistemas como ERPs, OMS, WMs, Canales de ventas, entre otros. Para más información sobre los sistemas a conectar con Multivende y sus funcionalidades consulta el siguiente artículo.
Diagrama flujo global de integraciones
Toda integración de un sistema con Multivende se debe realizar con el método de autenticación Oauth2. Puedes automatizar diferentes funcionalidades con esta integración las cuales son:
Conexión de nuevos canales
Aplica para conectar marketplace o e-commerce que no están actualmente dentro de los canales con los que ya contamos con la integración, permitimos la conexión de nuevos canales de ventas a través de nuestra central de aplicaciones los cuales podrán realizar adicional a las funcionalidades anteriores:
Para conocer qué funcionalidades debes realizar en tu integración te invitamos a validar según tu tipo de sistemas las dimensiones a cubrir Dimensiones de integración.
El Merchant podrá seleccionar el nivel de permisos que se le asignará a cada aplicación por medio de los scopes definidos.
Por Ejemplo: Asignar a un canal de venta el acceso a una lista de precios específica.
Manejamos múltiples bodegas y listas de precios las cuales pueden mapear según los permisos otorgados a la aplicación para la sincronización del stock y precios.
Disponemos de Webhooks encargados de enviar notificaciones a la aplicación para que pueda consultar las actualizaciones de los recursos, por lo que necesitarás un desarrollo que esté escuchando nuestras notificaciones.
El siguiente paso que debes realizar es integrar una aplicación. Para saber cómo hacerlo, consulta el siguiente artículo.
Equipo Integraciones API Multivende
En este artículo te presentamos los pasos que debes seguir para integrar una aplicación.
La aplicación debe cumplir con los estándares de seguridad definidos en el siguiente artículo.
Equipo Integraciones API Multivende
Para usar la API de Multivende, gestiona tus aplicaciones desde la cuenta de desarrollador.
Para crear tu cuenta de desarrollador, debes seguir los siguientes pasos:
1. Tienes que crear una cuenta a través de https://app.multivende.com/developers/signup , donde deberás ingresar los datos solicitados en el formulario:
Dale click a "Continuar" y listo! Tu cuenta ha sido creada con éxito.
2.Si ya posees cuenta como desarrollador creada deben realizar login a través de:
https://app.multivende.com/developers/login
Equipo Integraciones API Multivende
Debes registrar la app en tu cuenta de desarrollador para integrarla vía API con otro sistema.
A continuación, te mostramos los pasos para crear la aplicación en Multivende:
1. Ingresa al menú de aplicaciones, donde se mostrarán todas tus aplicaciones creadas en Multivende y presiona el botón Crear.
2. Ingresa los datos de tu aplicación.
3. Carga el logo de tu aplicación. Recuerda que esta debe cumplir con el formato de 45x45 px.
4. ¡Listo! Tu aplicación se ha creado con éxito.

Equipo Integraciones API Multivende
Conoce más sobre nuestra API y accede a su documentación disponible en Postman en este artículo.
Multivende Integration Services (MIS) permite a los clientes o aplicaciones de terceros interactuar con la información del usuario de forma estándar, así como diferentes aspectos de la cuenta de los usuarios.
Puedes comenzar a probar la integración usando una cuenta con la URL base (Base URL) que apunte a la siguiente dirección:
https://app.multivende.com
Recuerda que nuestra comunicación utiliza HTTPS solo con TLS>= 1.2

En el siguiente enlace, podrás consultar el detalle de nuestra API, la cual se encuentra documentada en Postman para que puedas descargar la colección y realizar pruebas a través de la herramienta..
Equipo Integraciones API Multivende
Prueba Multivende creando una cuenta gratuita y conoce sus funciones antes de usarla en tu negocio.
Rellena tus datos personales: Para crear una cuenta de prueba, deberás proporcionar algunos datos básicos, tales como:
Completa el reCAPTCHA.
Enviar el formulario: Haz clic en el botón "Crear Cuenta".
Con tu cuenta de prueba ya activa, podrás explorar todas las características que Multivende ofrece, como:
¿Te gustaría aprender más sobre cómo sacar el máximo provecho a tu cuenta de prueba?
Te invitamos a visualizar nuestro Workshop del Funcionamiento de la plataforma, donde te explicaremos detalladamente cómo utilizar cada funcionalidad y resolveremos todas tus dudas.
Si tienes algún problema durante el registro o necesitas asistencia adicional, puedes contactar con el equipo de soporte de Multivende a través de las opciones de ayuda en línea o contacto que se encuentran en el sitio.
Si necesitas más detalles de como contactar al equipo de Integraciones API, puedes ver más detalles en el siguiente artículo:
Equipo Integraciones API Multivende
Es un marco de autorización que permite a las aplicaciones obtener acceso limitado a cuentas de usuario en un servicio HTTP como Google, Facebook, GitHub, entre otros.
Funciona delegando la autenticación del usuario (Merchant) al servicio que aloja la cuenta (Multivende) y autorizando a las aplicaciones de terceros a acceder a los datos de la cuenta del Merchant seleccionando los permisos que desea otorgar.
1. El Merchant ingresa al sitio web de la aplicación y genera la solicitud de autorización a Multivende.
2. Aplicación redirecciona al Merchant a Multivende enviando por parámetro en la URL:
Ejemplo:
https://app.multivende.com/apps/authorize?response_type=code&client_id=00000000000&redirect_uri=asd&scope=read:checkouts
3. El Merchant selecciona los permisos (scopes) a autorizar para la aplicación. Mas detalles en el artículo Scopes.
4. Multivende genera el código de autorización y redirige al redirect_uri. Enviando:
5. Aplicación solicita el access token a Multivende por el endpoint Authenticate OAuth2 Enviando:
6. Multivende valida que el authorization code entregado no haya expirado y retornar el access token. La aplicación recibe:
Response:
{ "_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "status": "created", "OauthClientId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "MerchantId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "CreatedById": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "UpdatedById": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "OwnerId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "scopes": { "read:products": true, "write:products": true, "read:stocks": { "all": false, "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX": true }, "write:stocks": { "all": false, "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX": true }, "read:prices": { "all": false, "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX": true }, "write:prices": { "all": false, "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX": true }, "read:checkouts": { "all": false, "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX": false, "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX": true }, "write:checkouts": { "all": false, "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX": true }, "read:product_links": { "all": false, "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX": true }, "write:product_links": { "all": false, "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX": true }, "manage:checkouts": true, "manage:product_links": true }, "expiresAt": "2021-03-03T01:45:34.958Z", "refreshToken": "rt-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "refreshTokenExpiresAt": "2021-03-04T19:45:34.958Z", "updatedAt": "2021-03-02T19:45:34.000Z", "createdAt": "2021-03-02T19:45:34.000Z", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" }
Se ilustra a continuación en el diagrama del proceso de autorización:
-1.png?width=688&name=image%20(6)-1.png)
Diagrama del proceso de autorización
Para generar un nuevo token se debe solicitar el endpoint Refresh token OAuth2 enviando:
Retorna dentro del response:
Response:
{ "_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "status": "created", "OauthClientId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "MerchantId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "CreatedById": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "UpdatedById": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "OwnerId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "scopes": { "read:products": true, "write:products": true, "read:stocks": { "all": false, "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX": true }, "write:stocks": { "all": false, "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX": true }, "read:prices": { "all": false, "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX": true }, "write:prices": { "all": false, "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX": true }, "read:checkouts": { "all": false, "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX": false, "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX": true }, "write:checkouts": { "all": false, "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX": true }, "read:product_links": { "all": false, "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX": true }, "write:product_links": { "all": false, "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX": true }, "manage:checkouts": true, "manage:product_links": true }, "expiresAt": "2021-03-03T01:45:34.958Z", "refreshToken": "rt-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "refreshTokenExpiresAt": "2021-03-04T19:45:34.958Z", "updatedAt": "2021-03-02T19:45:34.000Z", "createdAt": "2021-03-02T19:45:34.000Z", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" }
Diagrama proceso de refrescado del token:

Diagrama proceso de refrescado
|
Caducidad |
Usos |
|
|
authorization code |
24 horas |
1 sola vez |
|
token |
6 horas |
indefinido |
|
refreshToken |
48 horas |
1 sola vez |
Equipo Integraciones API Multivende
Notificaciones en tiempo real de eventos en Multivende enviadas a tu app vía Callback URL.
Cuando se produce un evento en Multivende, se envía una solicitud HTTPS POST a la URL de devolución de llamada (Callback URL) por cada una de las apps de integración que están suscritas a los webhooks. A partir de las notificaciones se puede usar para desencadenar reglas o procesos específicos de la aplicación.
De esta manera, las apps resultan más eficientes, porque identifican cuando se produce un cambio en tiempo real, y, entonces, puede hacer las solicitudes periódicas en un rango de tiempo más amplio a la API para obtener el contenido actualizado.
Los webhooks disponibles son los siguientes:
Ejemplo de notificación cambio de checkouts:
{
"CheckoutId":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"MerchantId":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"MarketplaceConnectionId":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"MerchantAppId":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"OauthClient":{
"_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"client_id":"99631xxxxxxx"
},
"resource":"checkouts",
"attemps":1,
"received":"2021-04-08T19:55:07.061Z"
}
Más ejemplos de notificaciones (link)
Equipo Integraciones API Multivende
Permisos que otorga el Merchant para que la app acceda solo a los datos de los scopes autorizados.
Por ejemplo:
El Merchant otorga el alcance “read: stock”. Como el stock varia según la bodega, el Merchant puede seleccionar otorgar acceso a todas sus bodegas o a una/varias bodegas específicas.
Response:
{ "_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "status": "created", "OauthClientId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "MerchantId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "MerchantAppId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "CreatedById": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "UpdatedById": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "OwnerId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "scopes": { "read:stocks": { "all": true } }, "expiresAt": "2024-10-15T19:57:26.468Z", "refreshToken": "rt-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "refreshTokenExpiresAt": "2024-10-17T13:57:26.468Z", "updatedAt": "2024-10-15T13:57:26.000Z", "createdAt": "2024-10-15T13:57:26.000Z", "token": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXXXX........." }
Si el merchant otorga permisos "all", deberá consultar el endpoint correspondiente según sea el caso para obtener el listado de todos los recursos.
Response:
{ "_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "status": "created", "OauthClientId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "MerchantId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "MerchantAppId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "CreatedById": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "UpdatedById": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "OwnerId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "scopes": { "read:stocks": { "all": false, "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX": false, "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX1234": true // Bodega con acceso } }, "expiresAt": "2024-10-15T19:57:26.468Z", "refreshToken": "rt-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "refreshTokenExpiresAt": "2024-10-17T13:57:26.468Z", "updatedAt": "2024-10-15T13:57:26.000Z", "createdAt": "2024-10-15T13:57:26.000Z", "token": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXXXX........." }
En este caso en el json del scope el valor del campo “all” es “false” por lo que la aplicación no tiene acceso a todas las bodegas. Pero tiene acceso a la bodega con id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX1234".
Response:
{ "_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "status": "created", "OauthClientId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "MerchantId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "MerchantAppId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "CreatedById": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "UpdatedById": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "OwnerId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "scopes": { "read:stocks": { "all": false // Ninguna bodega con acceso. } }, "expiresAt": "2024-10-15T19:57:26.468Z", "refreshToken": "rt-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "refreshTokenExpiresAt": "2024-10-17T13:57:26.468Z", "updatedAt": "2024-10-15T13:57:26.000Z", "createdAt": "2024-10-15T13:57:26.000Z", "token": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXXXX........." }
Tipos de scope:
Los diferentes scopes que tenemos disponibles son los siguientes:
Equipo Integraciones API Multivende
Guía para generar el código de autorización OAuth2 sin necesidad de una interfaz gráfica.
En caso de no contar con una interfaz gráfica para realizar la conexión de la aplicación con la cuenta del Merchant igualmente puede generar tu código de autorización, primero debes ingresar a tu cuenta de Desarrollador, dirigirte a "Aplicaciones", luego a "Listado de aplicaciones" y hacer clic en la acción del "Lápiz" (Editar).
Dentro de la configuración de la aplicación podrás visualizar la opción “Agregar cuentas de merchant”, la cual se encuentra debajo de “Visibilidad”.
Importante, esto solo se puede realizar una vez tengas tu aplicación autorizada.
Una vez dentro, debes insertar el MerchantId en el recuadro y hacer click sobre el botón guardar.
Ahora el Merchant podrá visualizar tu aplicación en el listado de aplicaciones de la vista de Merchants.
Para esto, el Merchant debe ingresar a la plataforma, dirigirse a "Aplicaciones" luego a "Listado de aplicaciones".
Aquí veremos un listado de aplicaciones certificadas de Multivende, se debe hacer scroll hasta el final de la página en donde dice "Listado de aplicaciones propias no certificadas", debes hacer clic en "Ver más" en la aplicación a la cual se desea generar el authorization code, donde el Mrechant podrá otorgar los permisos según lo requiera.
Seguido a esto se debe seleccionar la opción "Generar authorization code", aquí el Merchant podrá brindarle permiso (Scopes) a los datos seleccionados y establecer un nombre para la conexión con la aplicación.
Válida que la información esté correcta y listo, el código de autorización será generado y podrás continuar con el proceso de autenticación mediante Oauth2
Podrás ver el proceso en el siguiente video:
Equipo Integraciones API Multivende
Guía para generar el código de autorización OAuth2 sin reconectar la aplicación.
Para generar un nuevo código de autorización de una aplicación ya conectada a la cual se le expiró el refreshToken o algún problema similar; lo puedes realizar sin generar una nueva conexión de la aplicación en Multivende. Para ello debes seguir los siguientes pasos.
Primero, el Merchant debe ingresar a la plataforma de Multivende, seguido a esto hará clic a la opción "Aplicaciones" la cual desplegará "Listado de aplicaciones".
Aquí el Merchant podrá ver todas las aplicaciones que tenga conectadas en su cuenta:
Puedes ver los detalles en el siguiente vídeo:
Equipo Integraciones API Multivende
Clave para asegurar que apps externas interactúen de forma segura con una API.
El proceso de autenticación mediante OAuth2 es un paso crucial para garantizar que las aplicaciones de terceros puedan interactuar de manera segura con una API, garantizando que solo los usuarios autorizados puedan acceder a ciertos recursos. Sin embargo, en este proceso, pueden surgir varios errores que impiden obtener o renovar el token de acceso. A continuación, te explicamos los pasos involucrados en este proceso, los posibles errores que podrías enfrentar y cómo solucionarlos.
Cuando un merchant entrega el código de autorización, se inicia el proceso de autenticación mediante OAuth2. El primer paso consiste en enviar los parámetros necesarios al Endpoint Authenticate OAuth2 utilizando una solicitud HTTP POST.
Ejemplo de solicitud:
En este punto, la API responderá con un objeto que contiene el token, refreshToken y la duración de su validez.
Respuesta exitosa:
El token tiene una validez de 6 horas, mientras que el refreshToken tiene una validez de 48 horas y puede ser utilizado una única vez para renovar el acceso.
Cuando el token está cerca de expirar, se debe utilizar el Endpoint Refresh Token OAuth2 para obtener un nuevo token y un nuevo refreshToken. Esto debe realizarse antes de que el token original caduque, idealmente cuando queda aproximadamente 1 hora de vida.
Ejemplo de solicitud para renovar el token:
Respuesta exitosa:
Este proceso puede ser automatizado para que, cuando el token esté cerca de su expiración (por ejemplo, con 5 horas de antelación), se realice la renovación automática utilizando el refreshToken. De este modo, se garantiza la continuidad en el flujo de autenticación sin interrupciones.
Token Expirado o Invalidado: Si el token ha expirado y no se ha renovado a tiempo, el proceso debe reiniciarse desde el principio. Esto implica que el merchant deberá generar un nuevo código de autorización manualmente desde la configuración de la aplicación.
Refresh Token Expirado o No Utilizado: Si el refreshToken ha expirado o no ha sido utilizado dentro de su período de validez, el proceso también debe reiniciarse desde cero, lo que requerirá que el merchant obtenga un nuevo código de autorización manualmente.
Error en la Solicitud de Renovación: Si hay errores en la solicitud de renovación del token (por ejemplo, errores de red, parámetros incorrectos, etc.), asegúrate de validar los datos enviados, como el client_id, client_secret y el refresh_token.
Error en la Respuesta del Servidor: Si la API devuelve un error, revisa el código de estado HTTP y el mensaje de error para identificar la causa. Algunos errores comunes incluyen falta de permisos o problemas de autenticación.
Para gestionar adecuadamente la autenticación OAuth2, es importante realizar lo siguiente:
Obtener y gestionar el token y el refreshToken de manera eficiente.
Automatizar la renovación del token antes de su expiración.
Asegurarse de que el refreshToken se use dentro de su período de validez.
Si el refreshToken expira o no es válido, reiniciar el proceso de autenticación obteniendo un nuevo código de autorización manualmente.
Este proceso garantiza que las interacciones con la API sean seguras y fluidas, manteniendo el acceso autorizado de manera continua y sin interrupciones.
Equipo Integraciones API Multivende
Conoce el proceso para interactuar de forma correcta con la API de Multivende para integrar ERP's
Para realizar tu interacción de forma correcta con la plataforma y permitir que tu integración ERP pueda sacar el máximo provecho de las herramientas que brindamos, es necesario iniciar aprendiendo información básica sobre nuestra API, para eso te pedimos leer 5 artículos básicos sobre la integración:
Detallamos cuáles son los pasos para que tu aplicación pueda conectarse a la cuenta del merchant y poder empezar a consultar sus datos.
Conocerás más sobre nuestra API y su documentación en Postman.
Encontrarás la información asociada a las consideraciones técnicas que debes tener en cuenta para la integración.
Encontrarás la información para realizar la sincronización de stock a Multivende. Para hacerlo, debes hacer uso de los endpoints de la sección “stock”, te recomendamos dejar un cron que sincronice los stocks por lo menos una vez al día. Además de una opción para que el usuario pueda ejecutar el proceso manualmente.
Podrás obtener la información para realizar la sincronización de precios a Multivende. Para hacerlo, debes hacer uso de los endpoints de la sección “prices”.
Con información básica (SKUs, Nombre, Variantes)(Recomendado): Te dejamos los endpoint disponibles:
Conocerás cómo obtener las ventas e iniciar el proceso de logística. Este es un flujo complementario a los webhooks para repasar las ventas en un rango de fechas y horas dadas, se recomienda:
Detallamos cómo realizar la carga de los documentos electrónicos a las ventas.
Equipo Integraciones API Multivende
Conoce el proceso para interactuar de forma correcta con la API de Multivende para integrar tu OMS.
Para realizar tu interacción de forma correcta con la plataforma y permitir que tu integración OMS pueda sacar el máximo provecho de las herramientas que brindamos, es necesario iniciar aprendiendo información básica sobre nuestra API, para eso te pedimos leer 8 artículos básicos sobre la integración:
Detallamos cuáles son los pasos para que tu aplicación pueda conectarse a la cuenta del merchant y poder empezar a consultar sus datos.
Conocerás más sobre nuestra API y su documentación en Postman.
Encontrarás la información asociada a las consideraciones técnicas que debes tener en cuenta para la integración.
Conocerás cómo obtener las ventas e iniciar el proceso de logística. Este es un flujo complementario a los webhooks para repasar las ventas en un rango de fechas y horas dadas, se recomienda:
Encontrarás la información para poder notificar al canal el estado de manejo de una orden.
Conocerás cómo obtener las etiquetas de las ventas que son despachadas por el marketplace.
Encontrarás la información para realizar la sincronización de stock a Multivende. Para hacerlo, debes hacer uso de los endpoints de la sección “stock”, te recomendamos dejar un cron que sincronice los stocks por lo menos una vez al día. Además de una opción para que el usuario pueda ejecutar el proceso manualmente.
Podrás obtener la información para realizar la sincronización de precios a Multivende. Para hacerlo, debes hacer uso de los endpoints de la sección “prices”.
Detallamos cómo realizar la carga de los documentos electrónicos a las ventas.
Equipo Integraciones API Multivende
Conoce el proceso para interactuar de forma correcta con la API de Multivende para integrar tu POS.
Para realizar tu interacción de forma correcta con la plataforma y permitir que tu integración POS pueda sacar el máximo provecho de las herramientas que brindamos, es necesario iniciar aprendiendo información básica sobre nuestra API, para eso te pedimos leer 8 artículos básicos sobre la integración:
Detallamos cuáles son los pasos para que tu aplicación pueda conectarse a la cuenta del merchant y poder empezar a consultar sus datos.
Conocerás más sobre nuestra API y su documentación en Postman.
Encontrarás la información asociada a las consideraciones técnicas que debes tener en cuenta para la integración.
Encontrarás la información para realizar la sincronización de stock a Multivende. Para hacerlo, debes hacer uso de los endpoints de la sección “stock”, te recomendamos dejar un cron que sincronice los stocks por lo menos una vez al día. Además de una opción para que el usuario pueda ejecutar el proceso manualmente.
Conocerás cómo obtener las ventas e iniciar el proceso de logística. Este es un flujo complementario a los webhooks para repasar las ventas en un rango de fechas y horas dadas, se recomienda:
Detallamos cómo realizar la carga de los documentos electrónicos a las ventas.
Podrás obtener la información para realizar la sincronización de precios a Multivende. Para hacerlo, debes hacer uso de los endpoints de la sección “prices”.
Encontrarás la información para poder notificar al canal el estado de manejo de una orden.
Conocerás cómo obtener las etiquetas de las ventas que son despachadas por el marketplace.
Equipo Integraciones API Multivende
Conoce el proceso para interactuar de forma correcta con la API de Multivende para tu integración con PIM.
Para realizar tu interacción de forma correcta con la plataforma y permitir que tu integración OMS pueda sacar el máximo provecho de las herramientas que brindamos, es necesario iniciar aprendiendo información básica sobre nuestra API, para eso te pedimos leer 8 artículos básicos sobre la integración:
Detallamos cuáles son los pasos para que tu aplicación pueda conectarse a la cuenta del merchant y poder empezar a consultar sus datos.
Conocerás más sobre nuestra API y su documentación en Postman.
Encontrarás la información asociada a las consideraciones técnicas que debes tener en cuenta para la integración.
Con información básica (SKUs, Nombre, Variantes)(Recomendado): Te dejamos los endpoint disponibles:
Encontrarás la información para realizar la sincronización de stock a Multivende. Para hacerlo, debes hacer uso de los endpoints de la sección “stock”, te recomendamos dejar un cron que sincronice los stocks por lo menos una vez al día. Además de una opción para que el usuario pueda ejecutar el proceso manualmente.
Podrás obtener la información para realizar la sincronización de precios a Multivende. Para hacerlo, debes hacer uso de los endpoints de la sección “prices”.
Equipo Integraciones API Multivende
Conoce el proceso para interactuar de forma correcta con la API de Multivende y aprovechar las herramientas disponibles para integrar tu DTE.
Para realizar tu interacción de forma correcta con la plataforma y permitir que tu integración OMS pueda sacar el máximo provecho de las herramientas que brindamos, es necesario iniciar aprendiendo información básica sobre nuestra API, para eso te pedimos leer 8 artículos básicos sobre la integración:
Detallamos cuáles son los pasos para que tu aplicación pueda conectarse a la cuenta del merchant y poder empezar a consultar sus datos.
Conocerás más sobre nuestra API y su documentación en Postman.
Encontrarás la información asociada a las consideraciones técnicas que debes tener en cuenta para la integración.
Conocerás cómo obtener las ventas e iniciar el proceso de logística. Este es un flujo complementario a los webhooks para repasar las ventas en un rango de fechas y horas dadas, se recomienda:
Detallamos cómo realizar la carga de los documentos electrónicos a las ventas.
Equipo Integraciones API Multivende
Conoce el proceso para interactuar de forma correcta con la API de Multivende para tu integración de sistema logístico.
Para realizar tu interacción de forma correcta con la plataforma y permitir que tu integración OMS pueda sacar el máximo provecho de las herramientas que brindamos, es necesario iniciar aprendiendo información básica sobre nuestra API, para eso te pedimos leer 8 artículos básicos sobre la integración:
Detallamos cuáles son los pasos para que tu aplicación pueda conectarse a la cuenta del merchant y poder empezar a consultar sus datos.
Conocerás más sobre nuestra API y su documentación en Postman.
Encontrarás la información asociada a las consideraciones técnicas que debes tener en cuenta para la integración.
Encontrarás la información para realizar la sincronización de stock a Multivende. Para hacerlo, debes hacer uso de los endpoints de la sección “stock”, te recomendamos dejar un cron que sincronice los stocks por lo menos una vez al día. Además de una opción para que el usuario pueda ejecutar el proceso manualmente.
Conocerás cómo obtener las ventas e iniciar el proceso de logística. Este es un flujo complementario a los webhooks para repasar las ventas en un rango de fechas y horas dadas, se recomienda:
Encontrarás la información para poder notificar al canal el estado de manejo de una orden.
Conocerás cómo obtener las etiquetas de las ventas que son despachadas por el marketplace.
Equipo Integraciones API Multivende
Para registrar las ventas desde Multivende hacia un sistema tenemos a disposición dos herramientas:
Se debe consultar las ventas de un rango de fechas cada M (Frecuencia de ejecución) horas, estableciendo lo siguiente:
Debes utilizar el endpoint Get checkouts light whit scroll para realizar el sondeo de las órdenes desde Multivende.
En cada solicitud, se debe enviar el MerchantId.
De manera opcional, puedes filtrar por MarketplaceConnectionId y obtener las ventas utilizando los campos de fecha:
También debes definir el límite (limit) de resultados a consultar (valor permitido entre 50 y 1000). Este endpoint permite obtener las ventas del merchant paginadas mediante scroll.
⚠️ Advertencia:
Recuerda que, para un correcto registro de tus ventas, debes ejecutar el polling comenzando desde la última vez en que se ejecutó correctamente.
Por ejemplo, si la última ejecución fue el 2025-01-01T02:55:31.000Z, al realizar una nueva solicitud asegúrate de establecer el parámetro from desde esa fecha.
Ten en cuenta que el rango máximo permitido por consulta es de 2 horas.
Si realizas una consulta con un rango mayor, no solo podrías obtener resultados incompletos, sino que además las consultas serán bloqueadas y se retornará un error.
De esta manera, garantizas un registro completo, confiable y dentro de los límites operativos del sistema.
Se pueden consultar las ventas cada M = 1 hora, por ejemplo, pasando en los parámetros a continuación:
_updated_at_from --> "from".
_updated_at_to --> "to".
Estos parámetros tienen el formato y la zona horaria en UTC, puedes utilizar los siguientes formatos:
Ejemplo:
Si la fecha actual es “2020-03-18 20:30”, el request sería de la siguiente manera:
curl --location -g '{{base_url}}/api/m/{{merchant_id}}/checkouts/light/limit/{{limit}}?_scroll_id={{scroll_id}}&_updated_at_from=2025-01-01T13:43:00.OOOZ&_updated_at_to=2025-01-02T13:490:00.OOOZ'
--header 'Authorization: Bearer {{access_token}}'
En donde este sería el Response:
{
"entries": [
{
"_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"status": "created",
"verifyStatus": "verificado",
"paymentStatus": "completado",
"soldAt": "2019-10-10T16:12:59.000Z",
"createdAt": "2019-10-10T16:13:01.000Z",
"updatedAt": "2019-10-31T22:01:09.000Z",
"BillingAddressId": null,
"DeliveryTypeId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"MerchantId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
],
"pagination": {
"limit": 50,
"scroll_id":XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX,
"previous_id":XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
}
}
Recomendamos registrar en su sistema los campos updatedAt (Fecha de última actualización en Multivende), soldAt (Fecha de la venta en el canal), y "_id" (identificador de la venta en Multivende), ya que con estos campos se puede comparar en sus registros y validar si es una nueva venta o se debe actualizar.
Una vez se tenga el "_id" de la venta (response anterior), se consulta su detalle con el endpoint Get Checkout.
"CheckoutLink" (Trae la información asociada al canal remoto):
Importante:
Ejemplos:
1. El campo country puede tener el valor CL o Chile.
2. El campo indication puede llegar el detalle de la calle y casa y en otra venta llegar separado en el campo calle y número.
Podemos consultar el detalle de la orden para tomar la data relevante para la operación logística mediante el endpoint delivery order.
Podemos consultar el detalle de la orden para tomar la data relevante para la operación logística mediante el endpoint pickup order.
Se consultan ambos endpoints de acuerdo al tipo de entrega de cada producto.
Ventas con errores:
Es posible consultar los ids de las ventas que no se registraron en Multivende por motivos de error durante el registro, esto puede funcionar como una auditoría. Para realizar la consulta de estos ids pueden realizar un request al endpoint Get checkouts with error
La respuesta de la api dará una descripción del error que causó el no registro correspondiente de la orden. Recordar que cuando la orden es corregida, se lleva a cabo el registro de la misma con un id diferente.
Response:
{
"entries": [
{
"_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"externalId": "XXXXXXX",
"externalContent": null,
"error": "StatusCodeError: 404 - {\"cause\":\"\",\"message\":\"Order do not exists\",\"error\":\"order_not_found\",\"status\":404}\n at new StatusCodeError (...)",
"archived": "disabled",
"count": 0,
"status": null,
"eventStatus": "error",
"type": null,
"createdAt": "2021-05-22T04:29:46.000Z",
"updatedAt": "2021-05-22T04:29:46.000Z",
"MerchantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"MarketplaceConnectionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"CreatedById": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"UpdatedById": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx"
},
{
"_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"externalId": "XXXXXXX",
"externalContent": null,
"error": "StatusCodeError: 404 - {\"cause\":\"\",\"message\":\"Order do not exists\",\"error\":\"order_not_found\",\"status\":404}\n at new StatusCodeError (...)",
"archived": "disabled",
"count": 0,
"status": null,
"eventStatus": "error",
"type": null,
"createdAt": "2021-05-22T04:11:37.000Z",
"updatedAt": "2021-05-22T04:11:37.000Z",
"MerchantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"MarketplaceConnectionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"CreatedById": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"UpdatedById": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx"
}
]
}
Equipo Integraciones API Multivende
En este artículo detallamos la información de la facturación referente a una venta según el Canal.
Lo primero que debes realizar es consultar la orden enviando el ID mediante el Endpoint Get Checkout, los detalles para la información de facturación puedes obtenerla dentro de nuestros campos normalizados en Multivende, consultando dentro de "Client" donde podrás obtener todos los datos relacionados al cliente y dentro del campo "BillingAddresses" los detalles en relación a la dirección de facturación.
"Client": { "fullName": "", "_id": "a8e48e5c-XXXX-4dab-9ec3-XXXXXXXXXXXX", "name": "", "lastName": "", "activity": null, "contactName": null, "comune": null, "city": null, "documentType": null, "taxId": "XXXXXXXX-X", "birthday": null, "code": null, "email": null, "phoneNumber": null, "comment": null, "type": "person", "tags": null, "status": "created", "createdAt": "2020-11-04T19:32:04.000Z", "updatedAt": "2020-11-04T19:32:04.000Z", "CreatedById": "af718539-XXXX-4413-8c83-XXXXXXXXXXXX", "UpdatedById": "68a88914-XXXX-414e-9d3c-XXXXXXXXXXXX", "ClientId": "a8e48e5c-XXXX-4dab-9ec3-XXXXXXXXXXXX", "MerchantId": "be133293-XXXX-4f01-822a-XXXXXXXXXXXX", "BillingAddresses": [ { "_id": "30feddc9-XXXX-4951-816b-XXXXXXXXXXXX", "name": "Full Name", "address_1": "Coquimbo - IV - Coquimbo, Chile", "address_2": "General Bartolome Blanche XXX", "description": null, "indications": null, "position": 0, "status": "created", "importance": "principal", "createdAt": "2023-03-10T13:02:10.000Z", "updatedAt": "2023-03-10T13:02:10.000Z", "CreatedById": "af718539-XXXX-4413-8c83-XXXXXXXXXXXX", "UpdatedById": "68a88914-XXXX-414e-9d3c-XXXXXXXXXXXX", "ClientId": "a8e48e5c-XXXX-4dab-9ec3-XXXXXXXXXXXX", "MerchantId": "be133293-XXXX-4f01-822a-XXXXXXXXXXXX" } ] }
"CheckoutBillingClients": [ { "_id": "9f1839df-XXXX-4a05-XXXX-2e4024XXXXXX", "name": "Multivende", "taxName": null, "taxActivity": null, "taxId": "XXXXXXXXX", "documentType": "RUT", "legalRepresentative": null, "legalRepresentativeTaxId": null, "email": null, "phoneNumber": null, "type": "company" or "person" "status": "created", "createdAt": "2024-01-12T12:41:08.000Z", "updatedAt": "2024-01-12T12:41:08.000Z", "BillingAddressId": "02e22a7b-7850-4204-8728-78a888ae09c7", "CheckoutId": "0d85a156-9c81-XXXX-XXXX-7908e8XXXXXX", "CreatedById": null, "UpdatedById": null, "MerchantId": "4df759c7-XXXX-4cad-XXXX-a5e954XXXXXX" } ]
Dafiti y Falabella
Esta se informa dentro del campo "InvoiceRequired"
{ "InvoiceRequired: "false", }
{
"InvoiceRequired: "true",
}
Mercadolibre
Se informa dentro de:
"remote_order_extra_billing_information" → "buyer" → "attributes" → "cust_type"
{ "remote_order_billing_information":
{ "buyer":
{ "billing_info":
{ "attributes":
{ "cust_type": "CO"
}
}
}
}
}
{ "remote_order_billing_information":
{ "buyer":
{ "billing_info":
{ "attributes":
{ "cust_type": "BU"
}
}
}
}
}
Paris
Se informa dentro del campo "originInvoiceType".
{ "originInvoiceType: "boleta, }
{ "originInvoiceType: "factura, }
Ripley
Se informa dentro del campo "has_invoice"
{ "has_invoice: "false, }
{ "has_invoice: "true", }
Shopify
Se informa dentro de los campos "CheckoutLink" --> "tags"
"tags": [ "FACTURA", ]
VTEX
Se informa dentro del campo "clientProfileData" --> "isCorporate"
{ "isCorporate: true // Factura }
Equipo Integraciones API Multivende
Se pueden adjuntar archivos tanto las ventas (Checkouts) como los despachos (DeliveryOrder) en formato PDF con un peso máximo de 1MB, para ello se requiere identificar los respectivos _ids de la venta o del despacho.
Primero se tiene que crear un registro en Multivende del DTE usando el siguiente endpoint Create checkout electronic billing document, dentro del body estarás enviando la siguiente información:
Request:
curl --location -g '{{base_url}}/api/checkouts/{{checkout_id}}/electronic-billing-documents' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{access_token}}' \
--data '{
"ClientId": "{{client_id}}",
"id": "XXXXXXX",
"emissionDate": "2019-03-01",
"type": "electronic_billing_electronic_bill",
"provider": "test_provider_code",
"ElectronicBillingDocumentEmitterId": "{{electronic_billing_document_emitter_id}}"
}'
Response:
{
"_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"status": "created",
"ClientId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"id": "8877777",
"emissionDate": "2019-03-01T00:00:00.000Z",
"ElectronicBillingDocumentEmitterId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"CreatedById": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"UpdatedById": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"MerchantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"ElectronicBillingDocumentTypeId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"ElectronicBillingDocumentProviderId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"CheckoutId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"updatedAt": "2019-08-29T15:26:33.000Z",
"createdAt": "2019-08-29T15:26:33.000Z"
}
Una vez se cree el registro del DTE, con el "_Id" del response, se adjuntan los archivos, tenemos dos endpoints que permiten realizar la carga de archivos en pdf o base64:
La carga de los DTE desde Multivende a los canales de venta se tiene habilitado para:
A continuación te detallamos algunas consideraciones a tener en cuenta en la carga de los documentos tributarios para los siguientes canales de ventas:
La creación del registro del DTE y posterior subida solo es permitida cuando la orden se encuentra en los siguientes estados:
De lo contrario el documento quedará con error de sincronización.
Primero se tiene que crear el registro en Multivende del DTE usando el siguiente endpoint Create delivery order electronic billing document
Para lo que se requiere conocer:
Response:
Una vez se cree el registro del DTE, con el _id del response, se adjunta como tal los archivos (.pdf, .zip, entre otros) por medio del endpoint Upload file to electronic billing document.
Esta información se tiene que canalizar vía correo api@multivende.com solicitando un código de proveedor según el proveedor (generador de boletas) que estén usando. Enviando la siguiente información:
Multivende genera el código y lo informa de vuelta en el correo de la solitud.
Puedes seguir los pasos del siguiente artículo ¿Cómo crear un emisor de documentos?. En caso de cualquier duda comunicarse con onboarding@multivende.com , ellos lo asistirán en la generación de este identificador.
Si deseas realizar este proceso via API, puedes crear el emisor de documentos mediante el endpoint Create electronic billing document emitter enviando los siguientes campos:
*Rellena el campo código con 01111
En la respuesta del endpoint puedes identificar el _id asociado al emisor del documento electrónico, este proceso se realiza sólo una vez y el emisor de documento electrónico queda asociado a la cuenta del merchant.
Response:
Puedes consultar el _id del emisor de documento asociado a la cuenta de un merchant mediante el endpoint: Get electronic billing document emitters
Para consultar los documentos electrónicos de una orden puedes consultar al siguiente endpoint Get electronic billing documents of a checkout
Si se trata de una orden de tipo Fulfillment, recuerda que para verificar el tipo de envío debes consultar el campo "shippingMode".
Paris:
Mercadolibre:
Falabella
Ripley
Equipo Integraciones API Multivende
En este artículo mostramos como obtener la información del pago realizado por el comprador en la venta.
Esta información la obtenemos mediante los siguientes Endpoints que tenemos disponibles dentro de nuestro Servicios de Integración de Multivende.
Ejemplo Response:
Ejemplo Response:
Los valores permitidos para enviar dentro del campo “verificationStatus” es "verified" o "pending"
Nota: esta funcionalidad sólo es permitida para las integraciones que son de tipo Canal de venta, las cuales pueden notificar los estados de los pagos hacia Multivende.
Ejemplo Request:
Ejemplo Response:
Equipo Integraciones API Multivende
Cuando un comprador adquiere un Kit (Pack) en MercadoLibre, se genera una única venta que represente al kit completo.
En su lugar:
Implicaciones importantes:
Flujo general para identificar una venta de Kit vía API Multivende:
El proceso recomendado para un integrador de Multivende es el siguiente:
Tags clave a validar:
Interpretación: Si alguno de estos tags está presente, la venta contiene productos de kit.
Este campo contiene un arreglo con la información de cada orden que compone el kit.
Ejemplo de kit_orders:
"kit_orders": [
{
"order_id": 200001408888XXXX,
"item_id": "MLB595574XXXX",
"variation_id": null,
"pack_id": 20000103169XXXX,
"shipment_id": 4598979XXXX,
"parent_item_id": "MLB595731XXXX"
},
{
"order_id": 20000140888XXXX,
"item_id": "MLB595581XXXX",
"variation_id": null,
"pack_id": 200001031698XXXX,
"shipment_id": 4598979XXXX,
"parent_item_id": "MLB595731XXXX"
},
{
"order_id": 200001408888XXXX,
"item_id": "MLB595585XXXX",
"variation_id": null,
"pack_id": 200001031698XXXX,
"shipment_id": 4598979XXXX,
"parent_item_id": "MLB595731XXXX"
}
]Cada objeto dentro de kit_orders representa una orden individual del kit:
| Campo | Descripción |
| order_id | ID de la orden individual del componente |
| item_id | ID del producto vendido |
| variation_id | ID de la variación (si aplica) |
| pack_id | Identificador único del Kit (Pack) |
| shipment_id | ID del envío compartido |
| parent_item_id | ID del ítem principal del Kit |
Cualquier duda o consulta adicional referente a este artículo, puedes escribirnos a api@multivende.com.
Para poder registrar una venta se deben cumplir las siguientes condiciones:
A continuación, se detalla los campos que deben enviar a través del endpoint Created checkout
Detalles de los campos a enviar para crear una venta:
A continuación, te detallamos los valores válidos para los campos
Desde la integración de tu marketplace, puedes realizar la actualización de los estados asociados a una venta, los cuales son los siguientes:
Actualización del estado del despacho
Actualización del estado del pago
Actualización del estado de verificación de la orden
Para actualizar a la venta los estados anteriores, se debe mediante el endpoint PUT
Update checkout status enviando en la solicitud el id de la venta y en el body el o los estados a actualizar:
{ "deliveryStatus": "cancelled", "paymentStatus": "cancelled", "verificationStatus": "verified" }
Equipo Integraciones API Multivende
Encuentra aquí el proceso necesario para sincronizar información de productos hacia canales de venta.
El objetivo es facilitar que los merchants puedan gestionar y relacionar toda la información de sus productos de manera eficiente.
Para lograr la publicación exitosa de un producto en un canal de venta, se requiere seguir los siguientes pasos de configuración de información, los cuales deben ser implementados del lado del canal de venta.
Mapeo general: Configuración de los datos de las credenciales para establecer la conexión entre Multivende y el canal de venta. Permite al comerciante vincular ambos sistemas.
Mapeo de categorías : Establecer la relación entre las categorías de productos en Multivende y las categorías correspondientes en el canal de venta. Las categorías de la cuenta del merchant en Multivende pueden ser obtenidas mediante el endpoint: Get product categories.
Mapeo de atributos: Relacionar los atributos personalizados creados en Multivende con los atributos equivalentes disponibles en el canal de venta. Los atributos deben estar asociados por categorías. El único atributo que debe quedar configurado por defecto es el SKU (code).
Para obtener un array con todos los atributos de los productos de Multivende para un Merchant usar el endpoint Get product attributes.
Mapeo de marcas:Relacionar cada una de las marcas creadas en Multivende con la marca correspondiente en el canal de venta.
Para consultar las marcas de una cuenta de merchant dentro de Multivende puedes hacerlo mediante el endpoint: Get brands.
Imágenes: las imágenes están clasificadas por álbum. Para obtener el listado de los álbumes usar el endpoint Get products picture set. (El Merchant debe poder seleccionar qué álbum de fotos que va a usar). En caso de usar el álbum por defecto de Multivende debes considerar que el _id de este álbum es el valor "null".
Publicación de los productos en el canal:
Para consultar todo el detalle de la información de un producto lo haces por el id de Multivende del producto mediante el endpoint Get product by id.
La publicación de los productos en el canal de venta se puede realizar mediante dos modalidades:
Esta vista debe listar los productos de la cuenta del merchant en Multivende y permitir la publicación masiva o individual de los productos. La vista debe ser realizada de lado de la integración.
Para leer los productos desde Multivende hacia el canal de venta debes realizar la consulta mediante el polling de productos con el endpoint de Get products with scroll.
En Multivende, el merchant, puede activar los productos de forma individual o masiva, generando un `product link`. Este enlace contiene información del estado del producto entre el canal de ventas y Multivende.
Los product links serán notificados vía webhook y también pueden ser consultados mediante la api con el endpoint de Get product links with scroll para respaldar cualquier notificación que no haya sido recibida.
Al consultar el detalle del product link mediante el endpoint de Get product link by id en la respuesta de la api, se puede validar el estado de sincronización para el producto enviado.
Los estados de sincronización asociados a un product link son:
Realizar actualizaciones de estados de sincronización hacia Multivende.
Las actualizaciones de estados de los product links notifican hacia Multivende el resultado de la vinculación del producto con el canal de venta. Esta comunicación de product links es bi- direccional entre Multivende y el canal de venta.
Las integraciones de canal de venta reciben la notificación via webhook o la lectura via polling de las actualizaciones de los product links que se realicen desde Multivende y a partir de allí deben informar hacia Multivende el estado en que se encuentra el producto en el canal.
El endpoint para enviar los de estados de sincronización hacia Multivende es: Post Upsert product link, se deben pasar los siguientes parámetros:
-> 'not-synchronized'
-> 'synchronized'
-> 'synchronized_with_warnings'
-> 'synchronizing'
-> 'Failed'
Los estados de sincronización de los productos entre Multivende y el canal de venta, los merchants los pueden ver en el panel de control del front de Multivende:
Y también en la conexión con la aplicación:
Despublicar el producto en el canal de venta
Si un usuario requiere remover productos en el canal, puede hacerlo desde Multivende, apagando el producto en la conexión, esta acción registra el estado de sincronización del producto como “to_unpublish”.
El canal de venta debe notificar a Multivende que la publicación del producto en el canal fue eliminada mediante el endpoint: Deleted product link , el estado de sincronización del producto se actualiza a “to_unpublish” y es removido de la conexión, si el producto es nuevamente activado, el estado de sincronización llegará como “to_republish” y puede ser sincronizado nuevamente.
Si se desea remover el producto directamente desde el canal, sólo se debe enviar la solicitud del Deleted product link. Este endpoint permite eliminar uno o varios productos directamente de la conexión.
Mapeo de precios
El merchant debe poder seleccionar la lista de precios mediante la cual el canal tomará la información de los valores de precios de los productos. Para consultar las listas de precios asociadas a un merchant usamos el endpoint Get price lists
Posteriormente puedes consultar el precio de los productos mediante el endpoint Get prices with scroll, enviando el id de la lista de precios, límite de items a consultar (el rango del límite permitido es >=50 y <=30000), este endpoint permite obtener el precio de los productos paginados por scroll.
Puedes consultar el precio por un rango de fecha y hora, filtrando por el parámetro de fecha de creación (createdAt) o fecha de actualización (updatedAt).
Mapeo de inventario
En esta vista el merchant selecciona la bodega desde la cual se tomará el stock de los productos publicados en el canal. Para consultar las bodegas de la cuenta de un usuario en Multivende hacemos un llamado al endpoint Get stocks and warehouses.
Puedes consultar el stock de los productos mediante el endpoint Get stocks with scroll, enviando el id de la bodega, límite de items a consultar (el rango del límite permitido es >=50 y <=30000), este endpoint permite obtener el stock de los productos paginados por scroll.
Puedes consultar el stock por un rango de fecha y hora, filtrando por el parámetro de fecha de creación (createdAt) o fecha de actualización (updatedAt).
Esperamos que este artículo te haya proporcionado una guía detallada para asegurar que la información de los productos se sincronice correctamente entre Multivende y los canales de venta, incluyendo los pasos necesarios y los endpoints de la API para realizar estas acciones.
Equipo Integraciones API Multivende
En este artículo, mostramos cómo realizar la creación de productos desde tu sistema hacia Multivende.
Para comenzar, te dejamos los Endpoints disponibles para una correcta creación de un producto desde nuestra API.
Te recomendamos leer el siguiente artículo en donde abordamos esto con mayor detalle.
A través de nuestra API podemos realizar la creación de un producto para ello disponemos del Endpoint Create product *, esto nos permite crear un producto a un Merchant.
Te dejamos un ejemplo para la creación de un producto enviando información básica dentro del cuerpo del mensaje, cabe destacar que debes ponerle un Nombre y configurar el SKU padre e hijo.
{ "name": "Nombre del producto", "code": "SKU Padre", "InventoryTypeId": "791a6654-c5f2-11e6-aad6-2c56dc130c0d", "InternalCodeTypeId": null, "ProductVersions": [ { "status": "waiting-for-creation", "code": "SKU Hijo", "isDefaultVersion": true, "InventoryTypeId": "791a6654-c5f2-11e6-aad6-2c56dc130c0d", "InternalCodeTypeId": null, "position": 0 } ] }
Tener en consideración utilizar siempre el campo “InventoryTypeId” seteado de la siguiente manera = "791a6654-c5f2-11e6-aad6-2c56dc130c0d".
Una vez enviado el endpoint la API no retornará 201, indicando la creación de nuestro producto de forma exitosa, un ejemplo del response es el siguiente:
{ "_id": "XXX33b34-XXXX-XXXX-85e2-5b55a0aXXXXXX", "status": "created", "name": "Nombre del producto", "InternalCodeTypeId": null, "code": "SKU Padre", "CreatedById": "d561f14f-0800-4091-8d3f-XXXXXXXXXXXX", "UpdatedById": "d561f14f-0800-4091-8d3f-XXXXXXXXXXX", "MerchantId": "bf03e4e6-53a0-4082-9476-XXXXXXXXXXX", "updatedAt": "2023-00-00T00:00:00.000Z", "createdAt": "2023-00-00T00:00:00.000Z", "ProductTypeId": "0f381d1c-3408-11e7-8e63-XXXXXXXXXXXX", "ProductVersions": [ { "_id": "d775b3d8-a19a-4069-8cdd-XXXXXXXXXXXX", "code": "SKU Hijo", "internalCode": null, "providerCode": null, "position": 0, "width": 0, "length": 0, "height": 0, "weight": 0, "status": "created", "createdAt": "2023-00-00T00:00:00.000Z", "updatedAt": "2023-00-00T00:00:00.000Z", "CodeTypeId": null, "InternalCodeTypeId": null, "ColorId": "4ecf5004-f721-46bf-a38a-75807491a4cb", "SizeId": "226a61dc-1eef-41cf-af5e-cc6aea7c75b4", "CreatedById": "d561f14f-0800-4091-8d3f-XXXXXXXXXXXX", "UpdatedById": "d561f14f-0800-4091-8d3f-XXXXXXXXXXXX", "InventoryTypeId": "791a6654-c5f2-11e6-aad6-XXXXXXXXXXXX", "ProductId": "30433b34-294f-40a6-85e2-XXXXXXXXXXXX", "MerchantId": "bf03e4e6-53a0-4082-9476-XXXXXXXXXXXX" } ] }
Tener en consideración la lectura de los siguientes artículos, dado que una vez creado este producto puedes realizar la carga del Stock y el Precio.
Del mismo modo utilizando el Endpoint Create product * podemos crear un producto pero enviando información completa de este, ya sea color, talla, marca, etc.
Antes de comenzar a crear un producto al detalle lo primero que debes realizar es lo siguiente:
1.- Mapeo de los atributos de los productos como:
Para obtener un array con todos los atributos de los productos de Multivende para un Merchant usar en endpoint Get product attributes.
2.- Imágenes:
Las imágenes están clasificadas por álbum para obtener el listado de los álbumes usar el endpoint Get products picture set. (El Merchant deberá poder mapear los álbumes de la aplicación con los álbumes de Multivende).
Si el campo "ProductPictureSetId" es "null", es el álbum predeterminado.
Puedes encontrar más detalles en el artículo dedicado a la Gestión de imágenes.
*El Merchant deberá poder seleccionar cuales son los productos que cargará desde la aplicación a Multivende.
Puedes encontrar el detalle de los Endpoint en la propia documentación de la API, no obstante te dejamos los que podrían ser los más relevantes:
Get Brands: Podrás obtener las marcas asociadas al Merchant.
Get Brands by Id: Te permite buscar una marca especifica enviando el "_id" dentro del request.
Post Brands: Puedes crear una marca desde la integración la cual quedará asociada al Merchant.
Update Brands: Te permite actualizar el nombre o la descripción de la marca.
Get shipping classes: Podrás obtener las clases de envío asociadas al Merchant.
Get shipping classes by Id: Te permite buscar una clase envío especifica enviando el "_id" dentro del request.
Post shipping classes: Puedes crear una clase de envío desde la integración la cual quedará asociada al Merchant.
Get Colors: Podrás obtener los colores asociados al Merchant.
Get Colors by Id: Te permite buscar un color especifico enviando el "_id" dentro del request.
Post Colors: Puedes crear un color el cual quedará asociado al Merchant.
Update Colors: Te permite actualizar el nombre del color.
Get Sizes: Podrás buscar las tallas asociadas al Merchant.
Get Size by Id: Te permite buscar una talla especifica enviando el "_id" dentro del request.
Post Sizes: Puedes crear un talla la cual quedará asociada al Merchant.
Update Sizes: Te permite actualizar el nombre y la descripción de la talla.
Get Seasons: Podrás obtener las temporadas asociadas al Merchant.
Get Seasons by Id: Te permite buscar una temporada especifica enviando el "_id" dentro del request.
Post Seasons: Puedes crear una temporada la cual quedará asociada al Merchant.
Update Seasons: Te permite actualizar el nombre de la temporada.
Get Product Categories: Podrás obtener las categorías de los productos asociadas al Merchant.
Get Product Categories by Id: Te permite buscar una categoría de un producto enviando el "_id" dentro del request.
Post Product Categories: Puedes crear una categoría la cual quedará asociada al Merchant.
Update Categories: Te permite actualizar el nombre y la descripción de la categoría.
Equipo Integraciones API Multivende
En este artículo, mostramos como actualizar un producto desde tu sistema hacia Multivende mediante nuestra API.
Para comenzar, te dejamos los endpoints disponibles para una correcta actualización de un producto desde nuestra API.
A través de nuestra API podemos realizar la actualización de un producto para ello disponemos del Endpoint Update Product.
Dentro del "Body" podrás enviar los parámetros que deseas modificar, como por ejemplo "name", "alias" o un "CustomAttributeValues".
Te dejamos un ejemplo para la actualización de un producto enviando información básica dentro del cuerpo del mensaje.
{ "name": "TEST Guantes Nike Extreme Lightweight Fitness Para Hombre", "alias": "", "BrandId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "model": "", "SeasonId": null, "description": null, "ProductVersions": [ { "_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "code": "NLGC4937_L", "SizeId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "ColorId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "status": "created", "internalCode": "", "CodeTypeId": null, "InternalCodeTypeId": null, "position": 0, "width": 0, "length": 0, "height": 0, "weight": 0, "Size": { "_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "name": "L" }, "CodeType": { "_id": null, "name": null, "code": null, "description": null, "position": null, "tags": null, "status": null, "createdAt": null, "updatedAt": null }, "InternalCodeType": { "_id": null, "name": null, "code": null, "description": null, "position": null, "tags": null, "status": null, "createdAt": null, "updatedAt": null }, "Color": { "_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "name": "Negro" }, "InventoryType": { "_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "name": "INVENTORY_TYPES.Normal.Name", "code": "_normal_inventory_type", "description": "INVENTORY_TYPES.Normal.Description", "position": 0, "tags": "NULL", "status": "created", "createdAt": null, "updatedAt": null }, "ProductVersionPictures": [null], "CustomAttributeValues": { "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX": "L" }, "allImages": [], "InventoryTypeId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" } ], "ProductCategoryId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "code": "NLGC4937", "internalCode": "", "CodeTypeId": null, "shortDescription": "", "htmlDescription": "", "htmlShortDescription": "", "tags": [], "WarrantyId": null, "ShippingClassId": null, "CustomAttributeValues": { "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX": "negro", "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX": "xNLGC4937", "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" }, "OfficialStoreId": null, "InventoryTypeId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "InternalCodeTypeId": null }
Importante:
"InventoryTypeId": "791a6654-c5f2-11e6-aad6-2c56dc130c0d"
Equipo Integraciones API Multivende
En este artículo te mostramos cómo consultar el stock de tus productos mediante la API de Multivende.
La consulta de stock se realiza a productos asociados a una bodega en Multivende. Para consultar las bodegas que se encuentran creadas en una cuenta de merchant, lo puedes hacer mediante el endpoint: Get stores and warehouses.
Request:
curl --location -g '{{base_url}}/api/m/{{merchant_id}}/stores-and-warehouses/p/{{page}}' \
--header 'Authorization: Bearer {{access_token}}'
Response:
{ "entries": [ { "_id": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "name": "Mi Tienda (Personaliza el nombre)", "code": null, "address": null, "description": null, "type": "store", "phoneAreaCode": null, "phoneNumber": null, "latitude": 0, "longitude": 0, "openHours": null, "tags": null, "position": 0, "status": "created", "createdAt": "2018-05-24T00:19:31.000Z", "updatedAt": "2018-05-24T00:19:31.000Z", "CreatedById": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "UpdatedById": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "LocationId": null, "TimezoneId": null, "MerchantId": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "SalesGroupId": null }, { "_id": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "name": "Bodega (Personaliza el nombre)", "code": null, "address": null, "description": null, "type": "warehouse", "phoneAreaCode": null, "phoneNumber": null, "latitude": 0, "longitude": 0, "openHours": null, "tags": null, "position": 1, "status": "created", "createdAt": "2018-05-24T00:19:31.000Z", "updatedAt": "2018-05-24T00:19:31.000Z", "CreatedById": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "UpdatedById": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "LocationId": null, "TimezoneId": null, "MerchantId": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "SalesGroupId": null } ], "pagination": { "offset": 0, "limit": 50, "total_pages": 1, "current_page": 1, "next_page": 0, "previous_page": 0, "total_items": 2 } }
Puedes consultar el stock de los productos mediante el endpoint Get stocks with scroll, enviando:
Este endpoint permite obtener el stock de los productos en una bodega paginados por scroll.
Puedes consultar el stock por un rango de fecha y hora, filtrando por el parámetro de fecha de creación (createdAt) o fecha de actualización (updatedAt). Esta modalidad es requerida para aquellas integraciones que realicen consultas frecuentes de stocks, se recomienda que la ventana de búsqueda no sea mayor a 2 horas respecto a la última búsqueda realizada.
El historial de stock en bodega, puede ser consultado a través del endpoint Get stock history
este retorna todo el movimiento de stock del producto.
Podrás visualizar la información que se ve en la vista Movimiento de inventario desde la plataforma de Multivende.
Ejemplo response:
{ "entries": [ { "_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "date": "2019-03-07T18:14:15.000Z", "amount": 76, "unitCost": 0, "type": "INCREASE", "comment": null, "status": "created", "createdAt": "2019-03-07T18:14:15.000Z", "updatedAt": "2019-03-07T18:14:15.000Z", "CreatedById": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "UpdatedById": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "CostCurrencyId": null, "OriginProviderId": null, "ProductRelocationCategoryId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "OriginWarehouseId": null, "DestinationWarehouseId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "ProductVersionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "MerchantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "ProductStockBatchId": null, "ProductRelocationCategory": { "_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "name": "PRODUCT_RELOCATION_CATEGORIES.Product_reception.Name", "certaintyLevel": "known", "type": "increase", "code": "_product_reception", "description": "PRODUCT_RELOCATION_CATEGORIES.Product_reception.Description", "position": 0, "tags": "{ \"use_type\": \"external\"}", "status": "created", "createdAt": null, "updatedAt": null }, "CreatedBy": { "profile": { "name": "developers", "fullName": "developers" }, "token": { "_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx" }, "_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "name": "developers", "email": "developers-test@multivende.com" }, "OriginWarehouse": null, "DestinationWarehouse": { "_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "name": "Bodega (Personaliza el nombre)", "code": null, "address": null, "description": null, "type": "warehouse", "phoneAreaCode": null, "phoneNumber": null, "latitude": 0, "longitude": 0, "openHours": null, "tags": null, "position": 1, "status": "created", "createdAt": "2019-01-30T17:18:46.000Z", "updatedAt": "2019-01-30T17:18:46.000Z", "CreatedById": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "UpdatedById": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "LocationId": null, "TimezoneId": null, "MerchantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "SalesGroupId": null } }, { "_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "date": "2019-03-07T18:04:49.000Z", "amount": 14, "unitCost": 0, "type": "INCREASE", "comment": null, "status": "created", "createdAt": "2019-03-07T18:04:49.000Z", "updatedAt": "2019-03-07T18:04:49.000Z", "CreatedById": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "UpdatedById": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "CostCurrencyId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "OriginProviderId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "ProductRelocationCategoryId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "OriginWarehouseId": null, "DestinationWarehouseId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "ProductVersionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "MerchantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "ProductStockBatchId": null, "ProductRelocationCategory": { "_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "name": "PRODUCT_RELOCATION_CATEGORIES.Product_reception.Name", "certaintyLevel": "known", "type": "increase", "code": "_product_reception", "description": "PRODUCT_RELOCATION_CATEGORIES.Product_reception.Description", "position": 0, "tags": "{ \"use_type\": \"external\"}", "status": "created", "createdAt": null, "updatedAt": null }, "CreatedBy": { "profile": { "name": "developers", "fullName": "developers" }, "token": { "_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx" }, "_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "name": "developers", "email": "developers-test@multivende.com" }, "OriginWarehouse": null, "DestinationWarehouse": { "_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "name": "Bodega (Personaliza el nombre)", "code": null, "address": null, "description": null, "type": "warehouse", "phoneAreaCode": null, "phoneNumber": null, "latitude": 0, "longitude": 0, "openHours": null, "tags": null, "position": 1, "status": "created", "createdAt": "2019-01-30T17:18:46.000Z", "updatedAt": "2019-01-30T17:18:46.000Z", "CreatedById": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "UpdatedById": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "LocationId": null, "TimezoneId": null, "MerchantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "SalesGroupId": null } } ], "pagination": { "offset": 0, "limit": 50, "total_pages": 1, "current_page": 1, "next_page": 0, "previous_page": 0, "total_items": 2 } }
Equipo Integraciones API Multivende
En este artículo, te mostramos cómo cargar stock de tus productos mediante la API de Multivende.
Puedes consultar y crear bodegas asociadas a un Merchant mediante el siguiente Endpoint:Get stores and warehouses
Create store or warehouse permite crear una bodega asociada al Merchant.
La actualización de stock disponible de un producto se envía a cada bodega.
De manera masiva se pueden actualizar 1000 productos por solicitud.
Puedes actualizar el stock de productos asociados a una bodega mediante el siguiente endpoint:
Equipo Integraciones API Multivende
En este artículo te mostramos cómo consultar el precio de tus productos mediante la API de Multivende.
La consulta de precios se realiza a productos asociados a una lista de precios en Multivende.
Para obtener el id de una lista de precios consultamos al endpoint Get price lists.
Puedes consultar el precio de los productos que estén en una lista de precios mediante el endpoint Get prices with scroll, enviando:
Este endpoint permite obtener el precio de los productos paginados por scroll.
Para realizar el polling de precios lo puedes hacer consultando por un rango de fecha y hora, filtrando por el parámetro de fecha de creación (createdAt) o fecha de actualización (updatedAt). Esta modalidad es requerida para aquellas integraciones que realicen consultas frecuentes de precios, se recomienda que la ventana de búsqueda no sea mayor a 2 horas respecto a la última búsqueda realizada.
Equipo Integraciones API Multivende
Conoce las modalidades y operadores logísticos de los despachos que puedes gestionar a través de Multivende.
Podrás conseguir la información de las modalidades logísticas de tus despachos en los endpoints:
En el detalle del DeliveryOrders:
En el detalle del Checkout:
En el "shippingMode" encontrarás las opciones propias de cada canal de venta, según la información que nos proporcione el canal vía API. (me1, me2, fulfillment, Dropshipping).
Ejemplo:
"shippingMode": "fulfillment",
En el “courierName” las opciones disponibles y denominación de los operadores logísticos podrán variar de acuerdo a la configuración propia del canal para identificar a cada uno (El courier Blue Express podrás encontrarlo con los valores: Blue Express, BLX, entre otros).
Ejemplo:
"courierName": "BLUEXPRESS",
Modalidad |
"shippingMode" |
Descripción |
|
me2 |
fulfillment |
Mercado Envíos Full El vendedor envía stock a la bodega de Mercado Libre y el marketplace se encarga de almacenar los productos y realizar todo el proceso de preparación, generación de etiquetas y entrega al cliente final. *No se genera etiqueta * El seller debe generar la boleta para Colombia.
|
|
me2 |
cross_docking |
Mercado Envíos Coleta El vendedor prepara el pedido en su bodega, imprime la etiqueta y la flota propia de Mercado Libre lo retira y entrega al cliente final.
|
|
me2 |
xd_drop_off |
Mercado Envíos Places El vendedor prepara el pedido en su bodega, imprime la etiqueta y despacha a través del courier asignado o en los puntos autorizados de Mercado Libre.
|
|
me2 |
self_service |
Mercado Envíos Flex El vendedor prepara el pedido en su bodega, imprime la etiqueta con código QR y despacha a través del courier de su preferencia o con su flota propia. *Las etiquetas deben ser escaneadas por el operador logístico con la app móvil de Mercado Envíos Flex para el control y seguimiento de los paquetes.
|
|
me2 |
drop_off |
Llevar a sucursal/correo El vendedor prepara el pedido en su bodega, imprime la etiqueta y despacha a través del courier asignado por el marketplace.
|
me2 |
turbo |
Envíos Turbo (ultra-rápido) Es una modalidad de envíos ultrarrápidos que forma parte del sistema de logística propia de Mercado Libre (Mercado Envíos). Su objetivo es entregar productos el mismo día o en menos de 24 horas, principalmente en zonas urbanas grandes de México, Chile, Argentina, Colombia y Brasil. TURBO = Fulfillment + Envío express de última milla.
|
|
custom |
custom |
Envío personalizado del vendedor El vendedor prepara el pedido en su bodega y despacha según lo acordado con el comprador.
|
me1 |
own logistics
|
Programa viejo de Mercado Envíos Despacho por cuenta propia del vendedor.
|
| Dropshipping | El vendedor prepara el pedido en su bodega, imprime la etiqueta y despacha a través del courier asignado por el marketplace. |
| crossdocking/ Cross docking | El vendedor prepara el pedido en su bodega, imprime la etiqueta y la flota propia de Dafiti lo retira y entrega al cliente final. |
| Fulfillment by Dafiti |
Los sellers pueden enviar su stock a centros de distribución de Dafiti. Dafiti se encarga de almacenar, empaquetar, despachar y gestionar devoluciones. Esto permite que los productos tengan entrega rápida y seguimiento profesional, similar a FBA o Fulfillment by Falabella. |
| Dropshipping | El vendedor prepara el pedido en su bodega, imprime la etiqueta y despacha a través del courier asignado por el marketplace. |
| Cross docking | El vendedor prepara el pedido en su bodega, imprime la etiqueta y la flota propia de Ripley lo retira y entrega al cliente final. |
| Despacho propio | El vendedor prepara el pedido en su bodega y despacha a través de su flota propia. |
| Fulfillment | El vendedor envía stock a la bodega de Mercado Ripley y el marketplace se encarga de almacenar los productos y realizar todo el proceso de preparación, generación de etiquetas y entrega al cliente final. |
| Dropshipping (scheduled) | El vendedor prepara el pedido en su bodega, imprime la etiqueta y despacha a través del courier asignado por el marketplace. |
| Same Day (sameday) | El vendedor prepara el pedido en su bodega, imprime la etiqueta y despacha con su flota propia o a través del courier de su preferencia en el mismo día. |
| Fulfillment (fulfillment) |
El vendedor envía stock a la bodega de Paris y el marketplace se encarga de almacenar los productos y realizar todo el proceso de preparación, generación de etiquetas y entrega al cliente final. *Los productos aún no son informados vía API. *No se genera etiqueta y el seller debe generar la boleta. |
| Next Day (netxday) | El vendedor prepara el pedido en su bodega, imprime la etiqueta y despacha con su flota propia o a través del courier de su preferencia en el mismo día. |
| Daterange | |
|
Envío a domicilio del marketplace según la entrega. Mkp → significa “Marketplace” (productos de terceros). homeDelivery → envío a domicilio. El resto indica tipo o velocidad del envío (24h, estándar, con rango de fecha, etc.). |
| intangible |
Se usa para identificar productos que no tienen envío asociado, por ejemplo:
|
| Dropshipping | El vendedor prepara el pedido en su bodega, imprime la etiqueta y despacha a través del courier asignado por el marketplace. |
| Cross docking | El vendedor prepara el pedido en su bodega, imprime la etiqueta y la flota propia de falabella.com lo retira y entrega al cliente final. |
| Fulfillment |
El vendedor envía stock a la bodega de Falabella y el marketplace se encarga de almacenar los productos y realizar todo el proceso de preparación y entrega al cliente final. El marketplace o un tercero se encarga del almacenamiento, preparación y despacho de los productos vendidos por los sellers. 🔹 En este modelo genérico, puede haber distintos operadores (no necesariamente Falabella). |
| Fulfillment by Falabella Retail S.A | Falabella (la empresa) se encarga directamente de todo el proceso logístico de envío, almacenamiento y despacho de los productos vendidos a través de su marketplace. |
| MFN | Los vendedores son responsables de abastecer y almacenar su propio inventario, cumplir con sus propios pedidos, gestionar las devoluciones y trabajar directamente con el cliente. |
| Fulfillment | El vendedor envía el stock a la bodega de Amazon y el marketplace se encarga de almacenar los productos y realizar todo el proceso de preparación y entrega al cliente final. |
|
Easy Ship ('pri-ez-mx' 'expd-ez-mx' 'expr-ez-mx' std-ez-mx') |
Se encarga de la recolección, etiquetado y entrega de tus productos. Una vez que recibes un pedido, el sistema genera automáticamente la etiqueta de envío y coordina la recolección con el transportista. Además te ofrece seguimiento en tiempo real de todos tus envíos, proporcionando actualizaciones constantes tanto a ti como a tus clientes, mejorando la transparencia y la satisfacción del cliente. |
| SellerFlex |
|
| MFN std | Logística MFN pero en modalidad standard. |
| Fulfillment (sólo México) | Es un servicio logístico en el que Walmart se encarga del almacenamiento, preparación, envío y postventa de los productos que venden los sellers dentro del marketplace de Walmart. |
| Standard | El vendedor prepara el pedido en su bodega, imprime la etiqueta y despacha a través del courier asignado por el marketplace. |
| Standard | El vendedor prepara el pedido en su bodega, imprime la etiqueta y despacha a través del courier asignado por el marketplace. |
| TIKTOK-HOME_DELIVERY |
TikTok Home Delivery es el modelo de envío gestionado directamente por TikTok o sus socios logísticos, similar a un fulfillment de marketplace.
|
| SELLER-HOME_DELIVERY |
Seller Home Delivery es el modelo en el que el propio vendedor es responsable de todo el proceso de envío.
|
| dropshipping | El vendedor prepara el pedido en su bodega, imprime la etiqueta y despacha a través del courier asignado por el marketplace. |
| DIA-SIG | Sin observaciones |
| EnviosExito | Permite a los vendedores externalizar la gestión de envíos, aprovechando la infraestructura y red logística de Éxito para mejorar la eficiencia y alcance de sus entregas. |
| Standar | Es una modalidad logística que permite a los vendedores gestionar sus propios envíos sin utilizar el servicio EnviosExito. Esta opción es adecuada para quienes desean tener control total sobre el proceso de entrega, ya sea utilizando su propia infraestructura o mediante acuerdos con transportadoras externas. |
Las ventas de tipo fulfillment pueden ser registradas en Multivende y leerse mediante la integración a través del endpoint de Get checkout, no hay diferencia entre el formato de estas ventas y otras modalidades.
Los canales de venta que tienen disponible esta modalidad son: Mercado Libre, Paris, Falabella.com, Amazon, Ripley y Walmart MX.
Equipo Integraciones API Multivende
Conoce el flujo mediante el cual puedes consultar las etiquetas de despacho via API.
El proceso de generación/consultas de etiquetas, debe realizarse consultado por cada Marketplace.
Te dejamos el paso a paso para que puedas obtener los documentos de despachos vía API:
Primero se debe consultar las conexiones de los Marketplaces que tiene habilitadas el Merchant por el endpoint Get Marketplace connections . El cual retorna un array con todas las conexiones, en el campo "_name" se indica el Marketplace al cual pertenece la conexión, los cuales pueden ser los siguientes:
| Marketplace / Tienda online | Estado para poder generar etiquetas |
| Mercadolibre | Disponible |
| Linio | Disponible |
| Dafiti | Disponible |
| Ripley | Disponible |
| Paris | Disponible |
| Falabella (FCOM) | Disponible |
| Amazon | Disponible |
| Walmart | Disponible sólo Chile |
| Coppel | Disponible |
| Totalplay | Disponible |
| Liverpool | Disponible |
| Vtex | No disponible |
| Magento | No disponible |
| Shopify | No disponible |
| Prestashop | No disponible |
| Woocommerce | No disponible |
Nota: Se deben descartar las conexiones de los Marketplace / Tiendas online que no están disponibles.
Con el "_Id" obtenido del respuesta anterior (Get Marketplace connections), se debe consultar por cada uno al Endpoint Get delivery orders with available labels. Enviando de forma predeterminada los siguientes parámetros:
El response es un array paginado de 50 órdenes por página. Se debe iterar por cuantas paginas contenga.
CONSIDERACIONES ESPECIALES:
Con los _Id del response anterior (Get delivery orders with available labels), los cuales se pueden agrupar en un array de máximo 50 para consultar al endpoint PUT Generate delivery order tikets..
El cual crea una tarea asíncrona para procesar la solicitud de generar etiquetas.
Para verificar que la tarea esté procesada, consultar periódicamente al siguiente Endpoint Get bulk action task hasta que el campo "processStatus" sea igual a:
En caso que sea "completed_with_warnings" o "failed" se debe volver a procesar la solicitud.
Adicionalmente, se debe validar el valor del campo “output” en el se indica el estado de las órdenes a las que se le solicitó generar las etiquetas.
Cuando un pedido requiere varias cajas, Multivende permite generar múltiples guías de envío para un mismo despacho. A esta función se le llama Multiboxing.
Flujo recomendado para configurar tus cajas y generar múltiples etiquetas desde Multivende:
1. Obtén las dimensiones de los productos en tu despacho (opcional, si necesitas calcular manualmente tus cajas)
Puedes consultar las dimensiones de los productos incluidos en tu pedido usando el endpoint:
Get Delivery Order in Checkout Items
Con esta información podrás aplicar la lógica que prefieras para determinar cuántas cajas necesitas y qué producto irá en cada una.
Este paso es opcional si ya cuentas con configuraciones previas o deseas usar cajas por defecto.
2. Consulta las cajas configuradas o las cajas por defecto (opcional)
Multivende ofrece la opción de revisar las cajas que ya tengas registradas, o bien visualizar las cajas por defecto que aplicaremos cuando no edites la configuración, puedes hacer esta consulta mediente el endpoint Get Boxes
Si una caja corresponde a la configuración por defecto, verás el campo "default": true
3. Configura las cajas que utilizarás para este despacho
Una vez que tengas claro cómo vas a distribuir los productos, debes registrar las cajas necesarias para tu envío mediante el endpoint Post Boxes
Este endpoint recibe un array en el que debes indicar:
Las dimensiones de cada caja (alto, ancho, largo, peso).
Los productos asignados a cada caja.
Con esto, Multivende podrá generar las guías correspondientes de forma individual.
4. Cambia el estado de la orden para continuar con el proceso de despacho
Una vez configuradas las cajas, debes mover la orden al estado En manejo, lo que confirma que estás listo para generar las etiquetas. Esto lo hacemos actualizando el estado a la orden.
5. Genera las etiquetas de envío
Finalmente, puedes solicitar la generación de etiquetas tus cajas utilizando el flujo estándar de etiquetas en Multivende.
El .zip contiene los siguientes archivos, según el formato que estableció el Marketplace:
*La activación del ZPL de FCOM se solicita directamente al canal de venta.
Documentos según canal de venta:
| Canales | Tipos de documentos | "externalOrderNumber" | "PackageId" ("externalContent) | "shipping"."id" ("externalContent") |
| Amazon | 1 PDF por cada orden de la solicitud. | "Oder ID" | No disponible | No disponible |
| Coppel |
1 PDF por cada orden de la solicitud. Nota de entrega. |
"PO" | No disponible | "TN" |
| Dafiti |
1 PDF por cada orden de la solicitud. El formato es compatible con impresora zebra. |
"Referencia" | No disponible | No disponible |
| Falabella |
1 PDF por cada orden de la solicitud. O de lo contrario: 1 ZPL por cada orden de solicitud. Esto se modifica desde el canal, si desean recibir PDF no llegará el archivo ZPL y al contrario, si desean recibir el ZPL no llegará el PDF dentro del .ZIP |
No disponible | "REF" | No disponible |
| Linio |
1 PDF por cada orden de la solicitud. El formato es compatible con impresora zebra. |
No disponible | "REF" | No disponible |
| Liverpool |
1 PDF por cada orden de la solicitud.
Courier UPS entrega el documento en formato .gif |
No disponible | No disponible | "Código de rastreo" |
| Mercado Libre |
1 PDF por solicitud. 1 ZPL por cada orden de la solicitud. |
"Venta" | "Pack ID" | "Envío" |
| Paris |
1 PDF por cada orden de la solicitud. 1 ZPL por cada orden de la solicitud. 1 PDF con todas las órdenes cada orden separada en 1 página. El formato es compatible con impresora zebra. |
"Referencia" | No disponible | "subOrderNumber" |
| Ripley |
1 PDF por cada orden de la solicitud. 1 PDF con todas las órdenes cada orden separada en 1 página. El formato es compatible con impresora zebra. |
"Referencia" | No disponible | "Folio" |
| Totalplay | 1 PDF por cada orden de la solicitud. | "Número de pedido logístico" | No disponible | No disponible |
| Walmart | 1 PDF por cada orden de la solicitud. |
"Referencia" | No disponible | No disponible |
NOTA: si el Marketplace es Mercado Libre, automáticamente procesa la orden a lista, lo cual bloquea que se pueda cancelar por parte del cliente o Merchant.
No se registra que pueden pasar a buscar el pedido, esto se debe coordinar con el courier.
A través del endpoint Get delivery order se puede consultar el detalle de entregas con despacho de una orden. El campo "DeliveryOrderDocuments" contiene un array con los documentos referentes a la entrega con despacho de la orden consultada.
A continuación, se encuentra el diagrama de flujo para las consultas.
Equipo Integraciones API Multivende
Los cambios de estados lo puedes realizar mediante tu integración vía API, te explicamos a continuación.
Puedes obtener el campo _id del endpoint Get checkout dentro del arreglo de DeliveryOrder, el cual es necesario para actualizar el estado de la entrega.
La actualización del estado se debe realizar según el tipo de entrega.
Los siguientes datos pueden actualizarse por el endpoint Update delivery order status:
Tener en consideración que al enviar el cambio de estado a "Listo para envío" verificar posteriormente que este se haya sincronizado de forma correcta, esto lo pueden hacer consultando el Endpoint Get Delivery Order, el campo "DeliveryOrderStatusLink" verificando dentro de "synchronizationStatus" el cual puede contener los siguientes estados:
| "pending" | Pendiente de sincronizar |
| "requesting" | Empezando la ejecución |
| "changed" | Cambio de estado correcto |
| "not_requested" | El estado no genera sincronización al canal |
| "failed_fatal" | Fallo cambio de estado en el canal |
Equipo Integraciones API Multivende
Conoce la información de los estados de una de orden de acuerdo al tipo de entrega que maneje el vendedor.
Los estados de las órdenes dependen del tipo de entrega que haya seleccionado el cliente, por lo que puede variar según esta condición.
Para obtener los diferentes tipos de entrega que puede tener una orden se debe consultar el Endpoint Get delivery types. Actualmente contamos con dos tipos de entrega posibles, las cuales, en el response de la solicitud se obtiene el campo code, que puede tener los siguientes valores:
En el endpoint Get Checkout entregamos información general del despacho, pero si necesitas información adicional como los documentos o logs de cambio de estado, consulta el endpoint Get delivery order.
Para realizar la integración con los sistemas, se debe hacer un mapeo de los estados de las órdenes en Multivende y el sistema con el que se va a integrar. Para ello, se consulta al endpoint Get Delivery Order Status el cual retorna un array con todos los estados posibles de una orden en Multivende.
Del response se deben guardar los campos _id y code, que deben ser mapeados con los estados del sistema.
A continuación, se detallan los posibles estados de las ventas en Multivende y su relación con los estados de las ventas en los canales.
| Estado en Multivende campo code | Descripción |
| _delivery_order_status_pending_ | La orden ingresó en el sistema. |
| _delivery_order_status_handling_ | Se está preparando la orden para el envío. |
| _delivery_order_status_ready_to_ship_ | La orden está lista para el despacho. |
| _delivery_order_reschedule_ | La orden se re agendó. |
| _delivery_order_status_shipped_ | La orden se ha enviado. |
| _delivery_order_status_delivered_ | La orden se ha entregado. |
| _delivery_order_status_not_delivered_ | La orden no se entregó. |
| _delivery_order_status_cancelled_ | La orden se ha cancelado. |
| _delivery_order_status_under_review_ | La orden está en revisión. |
| _delivery_order_status_partial_cancelled_ | Uno o algunos de los items de la orden fue cancelado |
| Multivende | Amazon |
| _delivery_order_status_pending_ | unshipped |
| _delivery_order_status_handling_ | partiallyShipped |
| _delivery_order_status_ready_to_ship_ | closed_summary |
| _delivery_order_status_shipped_ | shipped |
| _delivery_order_status_delivered_ | delivered |
| _delivery_order_status_not_delivered_ | not_delivered |
| _delivery_order_status_cancelled_ | cancelled |
| Multivende | Linio, Dafiti, Falabella |
| _delivery_order_status_handling_ |
"PackedByMarketplace" (Se informa items y courier para el despacho) |
| _delivery_order_status_ready_to_ship_ | ready_to_ship |
| _delivery_order_status_shipped_ | shipped |
| _delivery_order_status_delivered_ | delivered |
| _delivery_order_status_not_delivered_ | returned |
| _delivery_order_status_cancelled_ | canceled |
| Multivende | Mercado Libre |
| _delivery_order_status_pending_ | pending |
| _delivery_order_status_handling_ | handling |
| delivery_order_status_ready_to_ship_ | ready_to_ship |
| _delivery_order_status_shipped_ | shipped |
| _delivery_order_status_delivered_ | delivered |
| _delivery_order_status_not_delivered_ | not_delivered |
| _delivery_order_status_cancelled_ | cancelled |
El estado solo se cambia en Mercadolibre para los pedidos que no son ME2 excepto el estado cancelado.
| Multivende | Paris |
| _delivery_order_status_pending_ | null |
| _delivery_order_status_handling_ | confirmed |
| _delivery_order_status_shipped_ | in_transit |
| _delivery_order_status_delivered_ | delivered |
| _delivery_order_status_not_delivered_ | failure |
| _delivery_order_status_cancelled_ | failure |
| Multivende | Ripley |
| _delivery_order_status_pending_ | shipping |
| _delivery_order_status_shipped_ | shipped |
| _delivery_order_status_delivered_ | received |
| _delivery_order_status_cancelled_ | cancelled |
| Multivende | Walmart Chile |
| _delivery_order_status_pending_ | Created |
| _delivery_order_status_handling_ | Acknowledged |
| _delivery_order_status_shipped_ | Shipped |
| _delivery_order_status_delivered_ | Delivered |
| _delivery_order_status_cancelled_ | Cancelled |
| Multivende | Walmart México |
| _delivery_order_status_pending_ | On Hold |
| _delivery_order_status_pending_ | Created |
| _delivery_order_status_ready_to_ship_ | Acknowledged |
| _delivery_order_status_shipped_ | Shipped |
| _delivery_order_status_delivered_ | Delivered |
| _delivery_order_status_cancelled_ | Cancelled |
| Multivende | Magento |
| _delivery_order_status_pending_ | pending, new, pending payment, pending payPal |
| _delivery_order_status_handling_ | processing, on hold, payment review |
| _delivery_order_status_delivered_ | invoiced |
| _delivery_order_status_cancelled_ | closed, canceled |
| Multivende | Shopify |
| _delivery_order_status_pending_ | null |
| delivery_order_status_ready_to_ship_ | confirmed |
| _delivery_order_status_shipped_ | in_transit |
| _delivery_order_status_delivered_ | delivered |
| _delivery_order_status_not_delivered_ | failure |
| Multivende | VTEX |
| _delivery_order_status_under_review_ | window-to-cancel |
| _delivery_order_status_pending_ | ready-for-handling |
| _delivery_order_status_handling_ | handling |
| _delivery_order_status_shipped_ | invoiced (Solo si esta el DTE cargado) |
| _delivery_order_status_cancelled_ | cancelled |
Identificar los items cancelados: Para determinar qué artículo o artículos han sido cancelados en una orden de despacho, les instamos a buscar en el campo:
"checkoutLink" -> "externalContent" -> "subOrders "-> items al consultar la venta con Get checkout.
Dentro items, por cada uno de los items, en el campo “status” encontrarán la información detallada sobre la cancelación parcial en caso de que el ítem haya sido cancelado.
"status": {
"id": 31,
"name": "stock_shortage_refunded",
"description": "Reembolsado por falta de stock en la db",
"translate": "Problema con stock",
"cancelable": false
}
Estas indicaciones solo aplican para el caso del marketplace Paris.
Equipo Integraciones API Multivende
Conoce la información de los estados de una orden de acuerdo al tipo de entrega “Retiro en tienda”.
Los estados de las órdenes pueden variar según el tipo de entrega seleccionado por el cliente.
En el caso de retiro en tienda, el flujo de la orden se ajusta a las etapas propias de este método, que van desde la preparación del pedido hasta su retiro en el punto de venta.
Para obtener los diferentes tipos de entrega que puede tener una orden se debe consultar el Endpoint Get delivery types. Actualmente contamos con dos tipos de entrega posibles, las cuales, en el response de la solicitud se obtiene el campo code, que puede tener los siguientes valores:
En el endpoint Get Checkout entregamos información general del retiro en tienda, pero si necesitas información adicional como los documentos o logs de cambio de estado, consulta el endpoint Get pick up order.
Para realizar la integración con los sistemas, se debe hacer un mapeo de los estados de las órdenes en Multivende y el sistema con el que se va a integrar. Para ello, se consulta al endpoint Get pick up order statuses el cual retorna un array con todos los estados posibles de una orden en Multivende.
Del response se deben guardar los campos _id y code, que deben ser mapeados con los estados del sistema.
A continuación, se detallan los posibles estados de las ventas en Multivende y su relación con los estados de las ventas en los canales.
| Estado en Multivende campo code | Descripción |
_pick_up_order_status_pending_ |
La orden ingresó en el sistema. |
_pick_up_order_status_handling_ |
Se está preparando la orden para el retiro. |
_pick_up_order_status_received_by_store_ |
La orden ha sido recibida por la tienda. |
_pick_up_order_status_shipped_ |
La orden ha sido enviada a la tienda. |
_pick_up_order_status_completed_ |
La orden se ha completado. |
_pick_up_order_status_cancelled_ |
La orden se ha cancelado. |
| Multivende | Magento |
_pick_up_order_status_pending_ |
pending |
| _pick_up_order_status_pending_ | new |
| _pick_up_order_status_pending_ | pending payment |
| _pick_up_order_status_pending_ | pending payPal |
| _pick_up_order_status_handling_ | processing |
| _pick_up_order_status_handling_ | on hold |
| _pick_up_order_status_handling_ | payment review |
| _pick_up_order_status_cancelled_ | closed |
_pick_up_order_status_cancelled_ |
canceled |
_pick_up_order_status_completed_ |
complete |
| Multivende | Mercadolibre |
| _pick_up_order_status_completed_ | delivered |
| Multivende | Liverpool |
_pick_up_order_status_pending_ |
waiting_acceptance |
_pick_up_order_status_handling_ |
shipping |
_pick_up_order_status_handling_ |
shipped |
_pick_up_order_status_completed_ |
received |
_pick_up_order_status_cancelled_ |
closed |
_pick_up_order_status_cancelled_ |
canceled |
_pick_up_order_status_cancelled_ |
refused |
| _pick_up_order_status_cancelled_ | refunded |
| _pick_up_order_status_received_by_store_ | to_collect |
| Multivende | Shopify |
_pick_up_order_status_cancelled_ |
Si existe cancelReason o la última fulfillment está CANCELLED
|
Si ya existe al menos un "fulfillment" (sin cancelación) el estado será: _pick_up_order_status_completed_
Si no hay fulfillments dentro del pedido aún:
último fulfillment open → pick_up_order_status_pending
último fulfillment in_progress → pick_up_order_status_received_by_store
| Multivende | VTEX |
_pick_up_order_status_handling_ |
handling |
_pick_up_order_status_pending_ |
ready-for-handling |
_pick_up_order_status_cancelled_ |
cancellation-requested |
_pick_up_order_status_cancelled_ |
canceled |
_pick_up_order_status_cancelled_ |
cancel |
| _pick_up_order_status_shipped_ | invoiced |
| _pick_up_order_status_completed_ | finished |
Para actualizar el estado de una orden con retiro en tienda, lo hacemos mediante el endpoint: PUT Update pick up order status.
Enviando en el body los siguientes parámetros:
"PickUpOrderStatusId": "{{pick_up_order_status_pending_id}}", "comment": "test comment", "pickUpClosingComment": "test Pick Up Closing Comment", "estimatedPickUpDateFrom": "2019-09-08 16:19:06", "estimatedPickUpDateTo": "2019-09-10 09:19:06", "effectivePickUpClosingDate": "2019-09-11 16:19:06"
Equipo Integraciones API Multivende
Cuando un pedido requiere varias cajas, Multivende permite generar múltiples guías de envío para un mismo despacho. A esta función se le llama Multiboxing.
Multiboxing te permite dividir un pedido en varias cajas, asignando a cada una su propia guía de rastreo. Así puedes dar seguimiento individual a cada paquete, tanto tú como tu cliente.
Esta opción es especialmente útil cuando:
A continuación te mostramos el flujo recomendado para configurar tus cajas y generar múltiples etiquetas desde Multivende.
Puedes consultar las dimensiones de los productos incluidos en tu pedido usando el endpoint:
👉 Get Delivery Order in Checkout Items
GET /delivery-order/checkout-items - Ver endpoint en Postman
Con esta información podrás aplicar la lógica que prefieras para determinar cuántas cajas necesitas y qué producto irá en cada una.
Este paso es opcional si ya cuentas con configuraciones previas o deseas usar cajas por defecto.
Multivende ofrece la opción de revisar las cajas que ya tengas registradas, o bien visualizar las cajas por defecto que aplicaremos cuando no edites la configuración.
👉 Get Boxes
GET /boxes - Ver endpoint en Postman
Si una caja corresponde a la configuración por defecto, verás el campo:
"default": trueUna vez que tengas claro cómo vas a distribuir los productos, debes registrar las cajas necesarias para tu envío.
👉 Post Boxes
POST /boxes - Ver endpoint en Postman
Este endpoint recibe un array en el que debes indicar:
Con esto, Multivende podrá generar las guías correspondientes de forma individual.
Una vez configuradas las cajas, debes mover la orden al estado En manejo, lo que confirma que estás listo para generar las etiquetas.
Guía relacionada:
🔗 Estados de una orden con despacho
Finalmente, puedes solicitar la generación de etiquetas tus cajas utilizando el flujo estándar de etiquetas en Multivende.
Guía relacionada:
🔗 Cómo generar y consultar etiquetas de los Marketplace
Certificación ISO 27001 - Conoce más sobre la certificación de Multivende.
Multivende ha obtenido la certificación ISO 27001, la norma internacional que garantiza las mejores prácticas en gestión de la seguridad de la información. Esta certificación reconoce nuestro compromiso con la protección de los datos y la gestión de la seguridad en todos nuestros procesos.
La ISO 27001 se centra en identificar y gestionar los riesgos relacionados con la información, estableciendo un marco robusto para proteger la confidencialidad, integridad y disponibilidad de los datos. Con esta certificación, aseguramos que nuestros sistemas y procedimientos cumplen con los más altos estándares de seguridad, brindando confianza tanto a nuestros clientes como a nuestros socios comerciales.
Nuestro equipo trabaja continuamente para mantener estos estándares, implementando políticas y controles que garantizan la seguridad en cada etapa de nuestro trabajo.
Equipo Integraciones API Multivende
Consulta la información asociada a los procesos de privacidad e integridad de los datos de nuestra API.
echo | openssl s_client -showcerts -servername app.multivende.com
-connect app.multivende.com:443 2/dev/null | openssl x509 -inform pem -noout –text
Los algoritmos de cifrado que utilizamos son los siguientes:
Transport Layer Security (TLS) el cual es un protocolo criptográfico que protege las comunicaciones por Internet y Secure Hash Algorithm (SHA).
Si, dado que Cloudflare utiliza SNI por defecto.
Equipo Integraciones API Multivende
Conoce los rangos de IPs utilizados por Multivende en esta información detallada.
Multivende opera sobre instancias de Amazon con la IP estática 3.15.93.102 la cual puedes registrar en el white list de IP's dentro de tu sistema.
Equipo Integraciones API Multivende
Sigue nuestras recomendaciones para garantizar la seguridad de tu integración.
Equipo Integraciones API Multivende
En este artículo, te compartimos algunas recomendaciones para realizar tu integración vía API con Multivende.
Si debes crear una integración porque formas parte de nuestro Developers Partners Program o si ya te encuentras trabajando en una integración para un merchant de Multivende, debes seguir las siguientes recomendaciones para que puedas brindar la mejor experiencia de trabajo al merchant y para que tus procesos también sean más optimizados.
Si eres miembro de nuestro Developers Partners Program como desarrollador de integraciones con Multivende, debes tomar en cuenta las siguientes recomendaciones:
Debes asegurarte de que tu equipo de desarrollo asista al onboarding de TI, ya que en este se dejará configurada la cuenta test del merchant para las pruebas en ambiente QA de la integración.
Como integrador debes asistir a las reuniones semanales pautadas durante el proyecto de integración.
Te pedimos que seas muy claro en las funcionalidades que cubre tu integración, las cuáles debes notificarnos en el Go Live y dejar definido si es factible realizar algún desarrollo customizado que el merchant requiera.
Recuerda que ante cualquier duda o inconveniente en la conexión con nuestro servicio de integraciones, puedes consultarnos a través del correo electrónico api@multivende.com.
Si ya te encuentras desarrollado una integración específica para un merchant de Multivende, debes tomar en cuenta las siguientes recomendaciones
Como integrador, debes asistir a las reuniones semanales pautadas durante el proyecto de integración.
Debes solicitar al merchant directamente los accesos a sus cuentas productivas en Multivende y gestionar las pruebas y recursos necesarios para validar la integración.
Como integrador, debes garantizar que la integración cumpla con las necesidades del merchant.
Multivende es responsable de realizar el kickoff inicial del proyecto para un merchant en conjunto. Como integrador, debes asistir a esta reunión con los miembros de tu equipo de TI que realizará la integración, ya que en el kickoff se debe dejar claro el alcance del proyecto.
Nuestro equipo de API hará seguimiento para confirmar la finalización del proyecto, es importante que des respuesta a nuestros emails y realizar una reunión para validar que la integración finalizó con éxito.
Te aconsejamos estar atento a las comunicaciones de nuestro equipo de desarrollo ante cualquier comunicación que enviemos referente a la actualización en nuestra API, esto con el fin de garantizar que tu desarrollo no se vea afectado ante algún cambio.
Equipo Integraciones API Multivende
Necesitas el Client ID y Secret para obtener un token y acceder a los servicios de nuestra API.
Debes ingresar en tu cuenta previamente creada realizando login a través de:
Tanto el Client ID como el Client Secret los puedes encontrar ingresando a tu lista de aplicaciones.
Haz click en el botón de acciones como se muestra en la siguiente imagen:
Al darle click al botón de acciones podrás editar los datos de tu aplicación, además, en la parte superior del formulario encontrarás el Client ID y el Client Secret resaltado en color azul.
Equipo Integraciones API Multivende
El Merchant ID es clave para consultas en la API. Aquí aprenderás a ubicarlo en la interfaz.
1.- Debes hacer clic en el ícono del lápiz que aparece al lado del nombre de la cuenta. Este enlace te llevará a visualizar/editar los datos de la cuenta.
2.- Toma de la URL el ID, este es el identificador de la cuenta (Merchant_id).
¡Listo! Ya obtuviste tu Merchant ID.
Equipo Integraciones API Multivende
Aprende a consultar los ID de recursos en la interfaz de la plataforma Multivende.
Para facilitar la visibilidad entre los ID entregados vía API y la plataforma, en la URL de Multivende puedes verificar el ID del ítem seleccionado.
Por ejemplo, al seleccionar "editar" una bodega la URL será:
https://app.multivende.com/stores-and-warehouses/XXXXXXXX-3639-4c28-9e1c-XXXXXXXXXXXX/edit
Donde el ID correspondiente a la bodega es: XXXXXXXX-3639-4c28-9e1c-XXXXXXXXXXXX.
Equipo Integraciones API Multivende
Este campo es el identificador único de una conexión con un canal de venta de la cuenta de un merchant.
Puedes consultar la información de este Id para las conexiones de las cuentas de un merchant mediante el endpoint Get Marketplace connections , la api retornará un array con todas las conexiones disponibles en la cuenta del merchant:
{ "entries": [ { "_name": "Mercadolibre", "_id": "a58xxxe-1fb6-4bd2-80xx-1b795xxxa39a", "name": null, "country": "cl", "pictureUrl": "https://s3.amazonaws.com/im-shared/mercadolibre.png", "provider": "mercadolibre", "allowPickUpInStore": null } ], "pagination": { "offset": 0, "limit": 50, "total_pages": 1, "current_page": 1, "next_page": 0, "previous_page": 0, "total_items": 1 } }
En el request de la solicitud se debe identificar el canal de venta al que estamos consultando las conexiones.
Marketplace
Online Store:
Equipo Integraciones API Multivende
Si tienes problemas con Webhooks, revisa varios factores que pueden afectar su funcionamiento.
A continuación, se detallan algunas posibles causas y soluciones para que puedas realizar las validaciones necesarias.
Si estás experimentando problemas con la recepción de Webhooks, asegúrate de validar cada uno de los puntos mencionados anteriormente. Revisar la configuración de la CallbackURL, permitir las IPs correctas, contar con un certificado SSL válido y optimizar el tiempo de procesamiento de las solicitudes te ayudará a resolver los inconvenientes y mejorar el flujo de trabajo con Webhooks.
Si después de verificar estos puntos el problema persiste, puede ser útil realizar pruebas adicionales y revisar los logs de tu servidor para obtener más información sobre el origen del problema.
Equipo Integraciones API Multivende
¿Necesitas ayuda con la API? Crea un ticket y el equipo de Integraciones te asistirá pronto.
Lo primero que debes hacer es ingresar a la plataforma de soporte o al sistema de tickets de Multivende. Este acceso se encuentra en la sección de Soporte o Ayuda de nuestro sitio web o dentro de la misma aplicación.
Una vez que hayas ingresado al sistema de soporte, deberás elegir la categoría adecuada para tu solicitud. En este caso, selecciona "Necesito crear un ticket de soporte para integraciones API" que te llevará directamente al formulario de tickets relacionado con este tema.
El siguiente paso es completar el formulario con los detalles de tu solicitud. Asegúrate de proporcionar la mayor cantidad de información posible para que el equipo de Integraciones pueda ayudarte de manera eficiente.
Los campos más comunes en el formulario incluyen:
Una vez que hayas completado el formulario y revisado toda la información, haz clic en el botón de Enviar para crear el ticket. Esto enviará tu solicitud directamente al equipo de Integraciones vía API.
Después de enviar el ticket, recibirás un correo de confirmación con el número de seguimiento del ticket. El equipo de Integraciones comenzará a trabajar en tu solicitud y se pondrá en contacto contigo para proporcionarte una solución o más detalles si fuera necesario.
Una vez que se haya resuelto tu solicitud y estés satisfecho con la solución, se procederá a cerrar el ticket. Si en algún momento tienes más preguntas o problemas adicionales, puedes abrir un nuevo ticket en cualquier momento.
Equipo de integraciones API Multivende.