Actualizar método de envío

Este endpoint sirve para poder actualizar el método de envío que es seleccionado por el usuario al momento de realizar la compra.

1. Crear el Endpoint

Crear un API REST de tipo PATCH, este endpoint debe recibir 2 parámetros en su URL, donde el primero será el "order_id" que contendrá el identificador de la orden y "code_method" será código del método de envío.

Enviar como pathparam el id de la orden y el codigo del método de envío. / 
Send as pathparam the order id and the shipping method code.
PATCH  http://your-host.com/setShippingMethod/{order_id}/{code_method} HTTP/1.1
Content-Type: application/json

Con los parámetros que recibes en la URL podrás obtener el identificador de la orden para poder obtener una orden tokenizada para luego editarla según sea la dirección seleccionada por el usuario para su entrega al momento de realizar la compra.

🚧

NOTA:

Antes que avancemos tenemos que recordarte que al momento de tokenizar una orden en tu servidor debes guardar en tu base de datos tanto el token como el orderId para luego ser usado.

2. Obtener la orden tokenizada

Obtener el token de la orden previamente almacenado en tu base de datos mediante el order_id que es enviado como parámetro en la URL de tu merchant API, con el token se debe realizar una petición al servidor para obtener la orden tokenizada.

3. Actualizar método de envío

Según la selección del método de envío por el usuario cambiaran los valores dentro de la orden.

Parametro

Descripción de cambio

store_code

Esto se debe a que el artículo puede estar mucho más cerca de una de las tiendas con respecto a la ubicación indicada por el usuario, esto depende mucho si aplica dentro de tu modelo de negocio.

items_total_amount

Es la suma de costo de todos los items de la orden este valor corresponde a
order->items-> total_amount-> amount.

tax_amount

Es el monto total de los impuestos aplicados en la orden.

sub_total

Es el valor de (items_total_amount - tax_amount).

shipping_amount

Corresponde al valor del envío, este valor se debe obtener del shippingMethod->cost.

total_amount

Es la suma de shipping_amount + tax_amount.

4. Respuesta del Endpoint

El servidor de DEUNA espera obtener como respuesta de tu endpoint setShippingMethods tendrá la siguiente estructura

{
  "order": {
  ...
 "shipping_method": {
      "code": "100B2",
      "name": "",
      "min_delivery_date": "",
      "max_delivery_date": "",
      "cost": 0,
      "display_cost": "",
      "tax_amount": 0,
      "display_tax_amount": "",
      "scheduler": []
    },
  ...
  },
  "token": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
}

Did this page help you?