ошибка Shopify «line_items»: «ожидаемый хэш будет массивом» при попытке создать выполнение

#shopify

#Shopify

Вопрос:

Я пытаюсь создать выполнение позиций, передав следующие параметры в /admin/ api/2020-07/orders/{order_id}/fulfillments.json

 {
  "fulfillment": {
    "location_id": 905684977,
    "tracking_number": null,
    "line_items": [
      {
        "id": 466157049
      },
      {
        "id": 518995019
      },
      {
        "id": 703073504
      }
    ]
  }
}

  

Приведенные выше параметры взяты непосредственно из Shopify doc(https://shopify.dev/docs/admin-api/rest/reference/shipping-and-fulfillment/fulfillment ). Когда я выполняю его с использованием вышеуказанных параметров, я получаю следующий ответ

  [response] => {"errors":{"line_items":"expected Hash to be a Array"}} 
  

Проблема заключается только в том, что line_items находится в массиве, иначе он будет работать. Я хотел бы выполнить несколько элементов в заказе. У кого-нибудь есть идеи? Это проблема в конце Shopify?

Комментарии:

1. Просто проверьте, установлен ли в вашем заголовке content-type то, что вы отправляете данные. Кроме того, попробуйте отправить его в виде строки вместо объекта JSON.

Ответ №1:

Здравствуйте, вы должны установить это в заголовках и отправить параметры в виде json Попробуйте это :

 $request_headers[] = "X-Shopify-Access-Token: " . $token;
$request_headers[] = "Content-Type: application/json" ;

curl_setopt($curl, CURLOPT_HTTPHEADER, $request_headers);
curl_setopt($curl, CURLOPT_POSTFIELDS,  json_encode($query) );