Actualizar métodos de envío

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.

ParametroDescripción de cambio
store_codeEsto 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_amountEs la suma de costo de todos los items de la orden este valor corresponde a
order->items-> total_amount-> amount.
tax_amountEs el monto total de los impuestos aplicados en la orden.
sub_totalEs el valor de (items_total_amount - tax_amount).
shipping_amountCorresponde al valor del envío, este valor se debe obtener del shippingMethod->cost.
total_amountEs 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",
}