Изменить существующее выполнение неожиданно возвращает страницу 404

В настоящее время я использую плагин sandeepshetty shopify.php на github https://github.com/sandeepshetty/shopify.php< /а>

Плагин, кажется, работает, и логика довольно проста. Я протестировал его с помощью "Создать новое выполнение", однако получаю сообщение об ошибке при использовании вызова API "Изменить существующее выполнение".

Я отправляю следующую строку и получаю ошибку 404

$orders = $shopify('PUT', "/admin/orders/160387514/fulfillments/791851111396.json", $fulfillment_put, $response_headers);

Где $fulfillment_put означает полезную нагрузку

{ "fulfillment": { "tracking_number": "987654321", "id": 255858046 } }

Ниже приведен подробный дамп команды PUT. Как видно выше, я использовал следующий формат пути. Я заменил несколько переменных либо скрытыми, либо альтернативными, просто для вашего сведения.

/admin/orders/#{order_id}/fulfillments/#{product_id}.json

* About to connect() to alt.myshopify.com port 443 (#0)
*   Trying 204.93.213.40... * connected
* Connected to alt.myshopify.com (204.93.213.40) port 443 (#0)
* successfully set certificate verify locations:
*   CAfile: /usr/share/curl/curl-ca-bundle.crt
  CApath: none
* SSL connection using RC4-SHA
* Server certificate:
* subject: /serialNumber=Hidden/C=CA/ST=Ontario/L=Ottawa/O=Jaded Pixel Technologies Inc./CN=*.myshopify.com
* start date: 2010-05-10 22:23:08 GMT
* expire date: 2015-08-12 19:17:14 GMT
* subjectAltName: alt.myshopify.com matched
* issuer: /C=US/O=Equifax/OU=Equifax Secure Certificate Authority
* SSL certificate verify ok.
* Server auth using Basic with user 'hidden for privacy'
> PUT /admin/orders/160387514/fulfillments/791851111396.json HTTP/1.1
Authorization: Basic hidden for privacy=
User-Agent: HAC
Host: alt.myshopify.com
Accept: */*
Content-Type: application/json; charset=utf-8
Content-Length: 62

< HTTP/1.1 404 Not Found
< Server: nginx
< Date: Thu, 21 Mar 2013 21:39:06 GMT
< Content-Type: application/json; charset=utf-8
< Transfer-Encoding: chunked
< Connection: keep-alive
< Vary: Accept-Encoding
< Status: 404 Not Found
< X-Shopify-Shop-Api-Call-Limit: 2/500
< HTTP_X_SHOPIFY_SHOP_API_CALL_LIMIT: 2/500
< X-Request-Id: 7ec529327cd022e973f22be4a9e86916
< X-UA-Compatible: IE=Edge,chrome=1
< Set-Cookie: _secure_session_id=hidden; path=/; secure; HttpOnly
< X-Runtime: 0.042757
< 
* Connection #0 to host alt.myshopify.com left intact
* Closing connection #0

P.S. Я хотел бы отметить, что я использовал следующую документацию по API http://docs.shopify.com/api/fulfillment#create

Это предполагает, что я использую PUT /admin/orders/#{id}/fulfillments/#{id}.json

Тем не менее, #{id} упоминается там дважды, предполагая, что я должен использовать идентификатор заказа дважды подряд, но документация ясно показывает пример /admin/orders/450789469/fulfillments/255858046.json. Я хотел бы получить дополнительные разъяснения. о том, что на самом деле означает #{id} и как их использовать.


person ipatenco    schedule 27.03.2013    source источник


Ответы (1)


Я думаю, вы просто используете неправильный идентификатор для второго в /admin/orders/#{id}/fulfillments/#{id}.json. Вы правы насчет первого — это идентификатор заказа, а второй — идентификатор выполнения. Идентификатор выполнения был возвращен в ответе на создание выполнения.

person Jason N    schedule 08.09.2013
comment
Спасибо за ответ, извините за задержку с принятием. Проблема была так же проста, как использование неправильного идентификатора. - person ipatenco; 24.10.2014