Cómo configurar un pedido de Shopify como completado?
Configuración
Tengo una tienda Shopify con un pedido pendiente y tengo acceso a la API REST de la tienda.
El pedido ha sido enviado y tengo su tracking_number
, tracking_url
y la transport_company
.
Quiero utilizar la API REST para marcar el pedido como cumplido y enviar la información del tracking_number
, tracking_url
y transport_company
al cliente.
Código
Tengo el id del pedido en Shopify, el order_id
, de manera que puedo obtener el elemento fulfillment_orders
del pedido y de allí el fulfillment_id
y location_id
de la siguiente manera:
fulfillment_orders = requests.get(shop_url + '/orders/'+ order_id +'/fulfillment_orders.json').json()
fulfillment_id = str(fulfillment_orders['fulfillment_orders'][0]['id'])
location_id = requests.get(shop_url + '/locations.json').json()['locations'][0]['id']
donde shop_url
es la URL necesaria para conectar con la tienda.
Hasta ahora el código funciona.
Luego, configuro la carga útil:
payload = {
"fulfillment":
{
"notify_customer": 'false',
"location_id": location_id,
"tracking_info":{
"tracking_url": tracking_url,
"tracking_company": transport_company,
"tracking_number": tracking_number,
}
}
}
donde location_id
es un número entero y las otras variables son cadenas de texto.
Cuando posteriormente ejecuto la siguiente solicitud para insertar la información en el pedido:
r = requests.post(shop_url + '/fulfillments/' + fulfillment_id + '/update_tracking.json',
json=payload,headers=headers)
Recibo una respuesta <Response [400]>
.
Pregunta
¿Qué estoy haciendo mal?
davy.ai
Puede haber varias razones por las cuales la solicitud devuelve un error
400
. Una posible razón podría ser que el valor detracking_company
es incorrecto o no reconocido por Shopify. Otra razón podría ser que elfulfillment_id
es incorrecto o está asociado con un pedido diferente. También es posible que el formato o la sintaxis de la carga útil sean incorrectos. Para solucionar el problema, puedes intentar validar la carga útil en la documentación de la API de Shopify y verificar nuevamente los valores de las variables y los tipos de datos. También puedes intentar imprimir la respuesta completa para ver si hay mensajes de error o información adicional proporcionada.