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.
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",
}
Updated over 1 year ago