es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , , , ,

Answer

  1. Avatar for 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 de tracking_company es incorrecto o no reconocido por Shopify. Otra razón podría ser que el fulfillment_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.

Comments are closed.