Productos, Stocks y Precios
Conoce nuestro proceso de integración para la administración de tus productos, stock y precios vía API con Multivende.
-
Sincronización de Información de Productos a Canales de Venta.
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.
- Proceso de Sincronización y Publicación
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:
- Publicar desde el canal
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.
- Publicación mediante product links:
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:
- “not-synchronized” : el producto fue enviado para ser sincronizado, este estado es recepcionado por el canal para iniciar la publicación del producto.
- “synchronized”: el producto fue publicado exitosamente en el canal de venta, este estado es notificado por el canal de venta hacia Multivende mediante una actualización del estado de sincronización.
- “synchronized_with_warnings”: el producto se sincronizó, sin embargo se requiere de cierta información, que si bien no afecta la publicación del producto, debe ser corregida o enviada para que la publicación quede cien por ciento sincronizada.
- “synchronizing”: el producto se encuentra en sincronización con el canal de venta, este estado es usado por los canales que requieren una revisión del producto antes de ser publicado.
- “failed”: la sincronización del producto con el canal falló y no se logró la publicación. El canal debe enviar la descripción o detalle del error para que el merchant pueda realizar las correcciones pertinentes.
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:
- 'ProductId': id de el producto padre en Multivende
- 'externalId': corresponde al identificador del producto en el canal
- 'externalContent': se informa la data nativa del canal (JSON)
- 'extraData': cualquier otra información relevante
- 'synchronizationStatus': permite los siguientes estados
-> '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
-
¿Cómo crear productos desde tu sistema a 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.
- Get products with scroll: Obtener todos los productos de un Merchant.
- Products: Obtener los registros de las marcas, tallas, colores u otros se debe consultar según sea el caso en la carpeta correspondiente.
- Create product: Crear productos asociado a un merchant.
- Update product: Permite actualizar la información del producto.
- Atributos custom: Atributos personalizados que pueden asignar al producto.
Te recomendamos leer el siguiente artículo en donde abordamos esto con mayor detalle.
Creación de un producto con información básica
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.
- ¿Cómo cargar stock vía API?: Mostramos cómo realizar las carga de stock de tus productos mediante la API de Multivende.
- Actualización de Precios: Te indicamos cómo realizar una actualización de precio para tus productos.
Crear un producto con información completa.
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:
- Categoría.
- Color.
- Talla.
- Marca.
- Temporada.
- Clases de envío.
- Descripción.
- Atributos custom.
- 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 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).
- Configuración imágenes de producto: Contiene los Endpoint para realizar actualizaciones de posiciones de imágenes, subir imágenes por ID o URL, cargar imágenes hacia la versión del producto.
- Get products picture set: Obtendrás los álbumes de imágenes de los productos del Merchant.
- Get products pictures: Lista las imágenes de un producto del Merchant.
Si el campo "ProductPictureSetId" es "null", es el álbum predeterminado.
- Get product versions pictures: Obtiene las imágenes de las versiones de un producto del Merchant
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.
Configuración de atributos
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:
- Marcas:
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.
- Clases de envío:
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.
- Colores:
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.
- Tallas:
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.
- Temporadas:
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.
- Categorías:
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
-
¿Cómo actualizar un producto desde tu sistema hacia 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.
- Get products with scroll: Obtener todos los productos de un Merchant.
- Products: Obtener los registros de las marcas, tallas, colores u otros se debe consultar según sea el caso en la carpeta correspondiente.
- Create product: Crear productos asociado a un merchant.
- Atributos custom: Atributos personalizados que pueden asignar al producto.
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:
- Recordar que siempre el campo “InventoryTypeId” debe ir establecido de la siguiente manera:
"InventoryTypeId": "791a6654-c5f2-11e6-aad6-2c56dc130c0d"
- Dentro del body puede enviar únicamente los parámetros que deseas actualizar, el resto, puedes omitirlos o no enviarlos en la solicitud.
Equipo Integraciones API Multivende
-
Consultar stock de productos en bodegas
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 } }
Consultar stock de productos
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 <=5000)
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.
Consultar el histórico de movimientos de stock de un producto en una bodega
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
-
¿Cómo cargar stock vía API?
En este artículo, te mostramos cómo cargar stock de tus productos mediante la API de Multivende.
Consultar y crear bodegas
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.
Actualizar stock de productos en bodegas
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:
- Bulk update stock: envía de manera individual o masiva el stock a una bodega, enviando en un arreglo de productos el sku versión y monto disponible. En la respuesta mediante el parámetro success se devuelve el mensaje de si la actualización fue exitosa o no.
2. Puedes actualizar el stock a múltiples bodegas en una solicitud mediante el siguiente endpoint:
- Bulk set stock: permite definir las cantidades de inventario de un producto en múltiples bodegas mediante una sola solicitud. Es ideal para actualizar de forma simultánea los niveles de existencias del mismo producto en distintas ubicaciones. En la respuesta mediante el parámetro success se devuelve el mensaje de si la actualización fue exitosa o no.
Consideraciones
Debes tener en cuenta que el stock enviado mediante API reemplaza al actual que tenga el producto.Debes consultar primero el stock actual en Multivende mediante el endpoint Get stocks with scroll y actualizar solamente los que tengan diferencias.Se recomienda realizar la sincronización de stock por lo menos una vez al día de forma automática.Se recomienda dejar una opción para que se pueda ejecutar el proceso de forma manual.
Equipo Integraciones API Multivende
-
Consultar precios de productos via API
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.
Consultar precios de productos.
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:
- el id de la lista de precios
- límite de items a consultar (el rango del límite permitido es >=50 y <=5000)
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
-
Actualización de Precios
En este artículo te mostramos el proceso de actualización de precios vía API.
Un producto puede estar relacionado a más de una lista de precios, por lo que la actualización del precio de un producto se realiza por cada una de las listas en la que se encuentre.
Proceso para actualizar el precio de un producto
Se debe consultar al endpoint Get price list para obtener las listas de precios que tiene creadas el Merchant.
El response es un array que contiene:
-
- “_Id”: Identificador de la lista en Multivende, este dato se debe guardar en el sistema para poder realizar el mapeo de las listas.
- “name”: Nombre de la lista.
-
“status”: Estado de la lista en Multivende.
Ejemplo Response:
{
"entries": [
{
"_id": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "Precios de lista",
"isDefault": true,
"code": null,
"description": 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",
"CurrencyId": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"MerchantId": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"Currency": {
"_id": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"PlatformCurrency": {
"_id": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "CURRENCIES.Chilean_peso.Name",
"symbol": "$",
"code": "CLP",
"decimalPlaces": 0
}
}
}
],
"pagination": {
"offset": 0,
"limit": 50,
"total_pages": 1,
"current_page": 1,
"next_page": 0,
"previous_page": 0,
"total_items": 1
}
}Para el precio de un producto en una lista de precios, se emplea el siguiente Endpoint Update price enviando como parámetros el "_Id" actualizar obtenido de la consulta anterior y el campo sku_child del producto. Y en el body:
- “net”: Precio neto.
- “tax”: Impuestos.
- "gross": Precio de venta.
- " priceWithDiscount": Precio con descuento (algunos canales no permiten realizar la actualización de esta manera, por lo que se sugiere que los descuentos los trabajen directo en el canal).
Request:
https://app.multivende.com/api/product-price-lists/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/product-versions/{{sku_child}}/set' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer ' \
--header 'Cookie: route=XXXXXXXXXX.XXX.XX.XXXXXX|0bbbab1f8d05XXXXXXXXXXXXXXXXXXX' \
--data
{
"net": 119900,
"tax": 19,
"gross": 120000,
"priceWithDiscount": 150000
}Response:
{
"_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"net": 100840.336134454,
"tax": 21,
"gross": 120000,
"priceWithDiscount": 150000,
"status": "created",
"createdAt": "2019-10-14T13:50:19.000Z",
"updatedAt": "2019-10-24T20:01:25.000Z",
"CreatedById": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"UpdatedById": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"ProductPriceListId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"ProductVersionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"CurrencyId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"MerchantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"Currency": {
"_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"PlatformCurrency": {
"_id": "a3e8e8ec-62d5-11e6-9651-70928b05753b",
"name": "CURRENCIES.Chilean_peso.Name",
"symbol": "$",
"code": "CLP",
"decimalPlaces": 0
}
}
}Si tienes dudas o necesitas asistencia, puedes escalar un ticket a través de este enlace y nuestro equipo estará encantado de ayudarte.
Equipo Integraciones API Multivende
-
-
Atributos Personalizados: Qué son y cómo configurarlos
Explicamos el proceso para configurar atributos personalizados a tus productos.
¿Qué son los atributos personalizados de tus productos?
- Los atributos son características de los productos que dependen de la categoría a las que pertenecen y que son fijados individualmente por el vendedor según requerimiento de cada canal de venta.
- La función principal de los atributos personalizados es describir al consumidor propiedades adicionales del producto y a nivel técnico los atributos facilitan la conexión de tu catálogo de productos en cada canal de venta con Multivende.
- Puedes crear tus atributos personalizados a través de nuestra API, a continuación te mostramos los Endpoint disponibles y cómo puedes utilizarlos.
Lo primero que debes realizar es crear un conjunto de atributos personalizados asociados al Merchant, esto lo realizamos utilizando Create Custom Attribute Sets quien nos habilita un conjunto de atributos personalizados para el Merchant, por ejemplo: “Atributos de Mercadolibre”.
- Para crear un conjunto de atributos personalizados para productos, debes configurar la variable {{attribute_set_scope}} = productos.
- Para crear un conjunto de atributos personalizados para las versiones del producto, se debe configurar la variable {{attribute_set_scope}} = product_versions.
Un ejemplo de lo enviado es el siguiente:
curl --location -g '{{base_url}}/api/m/{{merchant_id}}/custom-attribute-sets/
{{attribute_set_scope}}' \
--header 'Authorization: Bearer {{access_token}}' \
--data '{
"name": "Atributos de Mercadolibre",
"description": "Productos custom para meli"
}'En donde la API nos devolverá el siguiente mensaje indicando la creación del conjunto:
{
"_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"position": 0,
"status": "created",
"name": "Atributos de Mercadolibre",
"description": "Productos custom para meli",
"CreatedById": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"UpdatedById": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"MerchantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"CustomAttributeScopeId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"updatedAt": "2022-02-15T19:04:14.000Z",
"createdAt": "2022-02-15T19:04:14.000Z"
}Una vez creado el conjunto de atributos personalizados podemos realizar la actualización de estos, es por ellos que disponemos del Endpoint Update Custom Attribute Sets, para poder visualizar el conjunto de atributos personalizados a través de nuestra API consultar Get Custom Attribute Sets en donde enviaremos el MerchantId dentro del request.
Consultar Conjunto de atributos personalizados asociado al Merchant:
curl --location -g '{{base_url}}/api/m/{{merchant_id}}/custom-attribute-sets/
{{attribute_set_scope}}' \
--header 'Authorization: Bearer {{access_token}}'Obteniendo el detalle correspondiente:
"entries": [
{
"_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
"name": "Atributos Dafiti - Versiones",
"code": null,
"description": null,
"position": 0,
"tags": null,
"status": "created",
"createdAt": "2021-08-02T19:14:00.000Z",
"updatedAt": "2021-08-02T19:33:46.000Z",
"MerchantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
"CustomAttributeScopeId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
"CreatedById": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
"UpdatedById": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
"CustomAttributes": [
{
"_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
"name": "Material de la correa - version",
"code": "material_de_la_correa_version",
"description": null,
"position": 0,
"tags": null,
"status": "created",
"createdAt": "2021-08-02T19:30:21.000Z",
"updatedAt": "2021-08-02T19:37:23.000Z",
"MerchantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
"CustomAttributeSetId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
"CustomAttributeScopeId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
"CustomAttributeTypeId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
"CustomAttributeSpecificityId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
"CreatedById": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
"UpdatedById": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
"CustomAttributeScope": {
"_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
"name": "CUSTOM_ATTRIBUTE_SCOPES.Scopes_product_versions.Name",
"code": "product_versions",
"description": "CUSTOM_ATTRIBUTE_SCOPES.Scopes_product_versions.Description",
"position": 1,
"tags": null,
"status": "created",
"createdAt": "2018-07-14T14:38:00.000Z",
"updatedAt": "2018-07-14T14:38:00.000Z"
},
"CustomAttributeType": {
"_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
"name": "CUSTOM_ATTRIBUTE_TYPES.Single_line_text.Name",
"code": "single_line_text",
"description": "CUSTOM_ATTRIBUTE_TYPES.Single_line_text.Description",
"position": 0,
"tags": null,
"status": "created",
"createdAt": "2018-01-14T18:23:56.000Z",
"updatedAt": "2018-01-14T18:23:56.000Z"
},
"CustomAttributeSpecificity": {
"_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
"name": "CUSTOM_ATTRIBUTE_SPECIFICITIES.Specificities_all.Name",
"code": "all",
"description": "CUSTOM_ATTRIBUTE_SPECIFICITIES.Specificities_all.Description",
"position": 0,
"tags": null,
"status": "created",
"createdAt": "2018-01-14T18:23:56.000Z",
"updatedAt": "2018-01-14T18:23:56.000Z"
},
"CustomAttributeOptions": []
}
]
},Finalizada la creación del conjunto de atributos personalizados, podemos realizar la creación de un atributo personalizado.
Create Custom Attribute: Te permite crear un atributo personalizado en un conjunto de atributos personalizados.
curl --location -g '{{base_url}}/api/custom-attribute-sets/{{custom_attribute_set_id}}/custom-attributes' \
--header 'Authorization: Bearer {{access_token}}' \
--data '{
"code": "test_custom_att",
"CustomAttributeTypeId": "763c2831-b9af-462f-8974-d401f358949c",
"CustomAttributeSpecificityId": "7464869d-968b-46d4-85c5-0e349052c5c9",
"name": "test - custom att",
"description": "test custom",
"CustomAttributeOptions": [
{
"text": "Option 1",
"code": "option_1",
"status": "waiting-for-creation"
},
{
"text": "Option 2",
"code": "option_2",
"status": "waiting-for-creation"
},
{
"text": "Option 3",
"code": "option_3",
"status": "waiting-for-creation"
}
]
}'- Update Custom Attribute: Enviando el {{custom_attributes_id}} podemos realizar la actualización del atributo personalizado.
- Get Custom Attributes Type: Lista los tipos de atributos personalizados que se pueden crear.
- Get Product Custom Attributes: Permite ver los detalles de un atributo personalizado, enviando dentro del request el {{custom_attributes_id}}.
Si tienes dudas o necesitas asistencia, puedes escalar un ticket a través de este enlace y nuestro equipo estará encantado de ayudarte.
Equipo Integraciones API Multivende
-
Gestión de imágenes a través de la API de Multivende
Conoce cómo administrar tus imágenes tanto de los productos padres como las versiones.
Las imágenes se organizan en álbumes. Para obtener la lista de estos álbumes, es necesario utilizar el endpoint "Get products picture set". El álbum predeterminado es productPictureSetId = null, que ya ha sido creado por Multivende para facilitar la carga de imágenes.
Puedes realizar carga de las imágenes, tanto para los productos padres como para las versiones:
Productos Padres:
En la siguiente carpeta podrás encontrar los endpoint asociados a la carga de imágenes de productos padre.
Versiones:
En la siguiente carpeta podrás encontrar los endpoint asociados a la carga de imágenes de versiones de productos.
Consultar imágenes de un producto
- Get products pictures: Te permite obtener las imágenes asociadas al producto, al hacer click en la URL del response podrás visualizar la imagen del producto.
[ { "url": "https://s3-us-west-2.amazonaws.com/im-prod-products-images/1- xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.jpg", "_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "provider": "s3", "title": null, "alt": null, "description": null, "storageUrl": "https://s3-us-west-2.amazonaws.com/im-prod-products-images", "storagePath": null, "fileKey": "1-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.jpg", "originalServerPath": "/tmp/AivQ8EPan8P-L1Fp2hV68sqn.jpg", "originalFileName": "1.jpg", "fileName": null, "fileType": "image/jpeg", "fileSize": 14257, "position": 1, "status": "created", "createdAt": "2021-06-02T20:26:14.000Z", "updatedAt": "2021-06-02T20:26:14.000Z", "CreatedById": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "UpdatedById": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "ProductPictureSetId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "ProductId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "MerchantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "ProductPictureSet": { "branch": "Album-test-App", "_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "name": "Album-test-App", "code": null, "description": null, "status": "created", "createdAt": "2021-04-22T23:51:29.000Z", "updatedAt": "2021-04-22T23:51:29.000Z", "CreatedById": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "UpdatedById": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "MerchantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } } ]Es importante que descargues la imagen y la almacenes dentro del respectivo repositorio de tu integración, si esta URL la expones en un sistema externo Multivende bloqueará la solicitud.
Eliminar imágenes a un producto:
-
Delete product image by id: Te permite eliminar una imagen enviando dentro del request el "product_image_id"
- Para conocer las imágenes asociadas al producto, puedes obtenerlas consultando el Producto (Get Product by Id) dejando el filtro _include_product_picture=true.
Cargar imágenes a un producto: la carga de imágenes puedes realizarse mediante los archivos almacenados de manera local o a través de una url pública. A continuación te dejamos el detalle de los endpoints:
- Upload picture to product by Id: Te permite cargar una imagen almacenada localmente enviando dentro del request el "_id" del producto al cual cargarás esta.
Importante:
- ProductPictureSetId: Corresponde al "_id" del album en donde será cargada está imagen, recordar que si el album por defecto debe ir "null".
- position: De carácter opcional, es la posición de la imagen, en caso de ser "0" está será listada primero que el resto.
-
Upload picture to product by url:Te permite cargar una imagen desde una URL enviando dentro del Body el "ProductId" y las diferentes URL's de las imágenes que quieras anexar al producto.
La URL no debe contener bloqueos ni tokens que impidan el acceso y debe permitir la descarga. Multivende descargará la imagen y la almacenará en su repositorio.
Actualizar la posición de una imagen dentro de un albúm
- Update product picture position:Te permite actualizar las posiciones de las imágenes dentro del album enviando dentro del request el "MerchantId" y "ProductPictureSetId"
Dentro del "Body" enviarás el "ProductId" y un array donde cada una de las entradas será la posición en donde quieras organizar la respectiva imagen.
La información de este artículo también aplica para las versiones de los productos, la única diferencia es que para los endpoints de las versiones trabajarás con los "_id" respectivos a las versiones.
Equipo Integraciones API Multivende
-
¿Cómo crear productos en tu canal desde Multivende?
En este artículo, mostramos cómo realizar la creación de productos en tu canal mediante la API de Multivende.
Para lograr una conexión entre Multivende y el canal, se debe diseñar una interfaz en la que el merchant pueda:
-
Mapear los atributos de los productos como:
- Categoría.
- Color.
- Talla.
- Marca.
- Temporada.
- Clases de envío.
- Descripción.
- Atributos custom.
-
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 en endpoint Get product attributes.
Ejemplo de mapeo de atributos:
La documentación de los endpoint para los productos está disponible en Products.- 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 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".
- Listas de precios: Si la app tiene permiso para leer todas las listas de precios debe listar todas las listas del endpoint Get price lists, sí no, debe listar solo a las que tiene permisos.
- Bodegas: Si la app tiene permiso para leer todas las bodegas debe listar todas las bodegas del endpoint Get stores and warehouses, si no, debe listar solo a las que tiene permisos.
- El Merchant deberá poder seleccionar que productos va a publicar en el canal a través del endpoint Get products with scroll podrás obtener el listado de productos con atributos filtrados, la aplicación deberá notificar a Multivende el estado del product link(Estado del producto en canal para la publicación). Te dejamos disponible nuestra documentación para administrar los product link mediante al endpoint Get product links with scroll. Ten en cuenta que con este endpoint tienes la posibilidad de filtrar por estado de sincronización (synchronization_statuses) enviando los estados separados por coma, si quieres filtrar por varios estados.
- El Merchant deberá poder eliminar productos del canal y la aplicación deberá notificar a Multivende a través del endpoint Deleted product link.
- Deben implementar los webhooks para: productos, stocks, precios y product link con los cuales deben buscar la información del producto para actualizarla, si al consultar por el _id del product link retornamos 404 significa que el merchant apago el producto para el canal. Como complemento de los webhooks deben usar los endpoints disponibles para consultas de stock, productos, product links y precios, consultando cada cierto la información para mantener la información sincronizada y evitar cualquier perdida de notificaciones.
A nivel de configuración de backend deben mapear internamente:
- Moneda: En el endpoint Get currencies podrás consultar las monedas disponibles en Multivende, este dato se debe enviar para crear las órdenes.
- Métodos de pago: En el endpoint Get checkout payment methods podrás consultar los métodos de pagos disponibles en Multivende, este dato se debe enviar para crear las órdenes.
Si tienes dudas o necesitas asistencia, puedes escalar un ticket a través de este enlace y nuestro equipo estará encantado de ayudarte.
Equipo Integraciones API Multivende
-
Mapear los atributos de los productos como: