Ventas

¿Cómo integrar tu sistema para consultar ventas a Multivende (Polling)?

Se recomienda emplear un Polling en las integraciones que deben consultar las ventas de una cuenta en Multivende como complemento del Webhook. A continuación, se detalla cómo poder realizar esta implementación.

Consultar ventas

Se debe consultar las ventas de un rango de fechas cada M horas. Estableciendo:

  • from = fecha y hora de la última vez que se ejecutó correctamente el polling (si no se ha ejecutado, desde que fecha y hora se deben consultar las ventas).
  • to = la fecha y la hora actual.
  • M = frecuencia de ejecución (recomendamos usar M = 1 -2 horas).

Se recomienda usar el endpoint Get checkouts light para realizar el sondeo de las órdenes desde Multivende, al cual se le envían los siguientes parámetros en caso de querer consultar las órdenes según la fecha de actualización en Multivende.

Modos de consulta según funcionalidad a integrar

  1. Sistemas que intervienen en la operación de la orden. Por ejm: generación de etiquetas, documentos tributarios, entre otros.
    1. _updated_at_from (buscar en Fecha de última actualización en Multivende).
    2. _updated_at_to (buscar hasta la fecha de última actualización en Multivende).
    3. _marketplace_connection_id (opcional, filtra por Marketplace).
  2. Sistemas que no intervienen en la operación de la orden. Por ejm: reportería, herramientas de BI. (opción no recomendada para sistemas del punto 1, ya que puede haber desfase de fechas y horas en las que el marketplace y Multivende registraron la venta):
    1. _sold_at_from (buscar en Fecha de venta en el mercado).
    2. _sold_at_to (buscar hasta la fecha de venta en el Marketplace).
    3. _sold_at_order (opcional, ordenar ASC o DESC).
    4. _marketplace_connection_id (opcional, filtra por Marketplace).

 

Se pueden consultar las ventas cada M = 1, por ejemplo, pasando en los parámetros a continuación:

  • _updated_at_from: from.
  • _updated_at_to: to.

Importante: Estos parámetros tienen el formato y la zona horaria en UTC, es decir: "YYYY-mm-dd hh:mm:ss".

Ejemplo:

Si la fecha actual es “2020-03-18 20:30”, el request sería de la siguiente manera:

curl --location --request GET 

'http://app.multivende.com/api/m/b4bbbbbb-fff2-45b1-99989-0afc7xx32xxx/checkouts/light/p/1?_updated_at_from=2020-03-18 18: 30 & _updated_at_to = 2020-03-18 20:30 '\

--header' Autorización: Baerer eyJ0eXAiOiJKV1QiLCJhbGcixxxxxxxxxxxJ9.e ………… .. '

Este sería el Response:

{ 

"entries": [
{
"_id": "3a3ca49b-6318-4c1a-b7b6-ad9exxx06906",

"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 ":" 9474c2a8-6a0c-11e6-9651-70928b05753b ",

" MerchantId ":" bf03e4e6-53a0-4082-9476-643633009049 "

}, {

" _id ":"hasud4c1-2255 -ad9exxx06906 ",

……………………………………… ..

},

………………………………………………… ..

],




" paginación ": {

"desplazamiento": 0,

"limit": 50,

"total_pages": 1,

"current_page": 1,

"next_page": 0,

"previous_page": 0,

"total_items": 11

}

}

Recomendamos registrar en su sistema el campo updatedAt (Fecha de última actualización en Multivende), soldAt (Fecha de la venta en el canal),  y el campo _id (identificador) de la venta, ya que con estos campos se puede comparar en sus registros y validar si es una nueva venta o se debe actualizar.

Consultar detalle de venta por _id

Una vez se tenga el _id de la venta (response anterior), se consulta el detalle con el endpoint Get Checkout cuando el response tiene el campo:

  • DeliveryOrdersInCheckouts. Se refiere a la venta con despachos, el cual es un arreglo que detalla toda la información de los despachos de la venta. Cada despacho viene dentro de un objeto que se llama DeliverOrder. En el objeto se encuentra la dirección de despacho dentro del objeto ShippingAddress.

Importante: Multivende mantiene la misma estructura, pero los datos pueden variar según el canal.

Ejemplos: 

  1. country puede tener el valor CL o Chile
  2. En 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.

Polling - 1

  • PickUpOrders es venta con retiros, el cual un array que detalla toda la información de los retiros de la venta.

Diagrama de flujo

Flujos de integración-Consulta de ventas (polling) (2)

 

Si tienes dudas sobre este tema contáctanos a través de api@multivende.com y estaremos ¡felices de ayudarte!

Equipo Integraciones API Multivende