Заказ обновления API BigCommerce с помощью PUT

Мне нужно обновить заказ, который выполняется с помощью метода PUT, передавая идентификатор заказа как часть строки URL-адреса https и один параметр, status_id. https://mystore.mybigcommerce.com/orders/12345.json

Я пробовал несколько методов для передачи значения status_id, но независимо от того, что я пробовал «status_id = 12» или в формате JSON «{»status_id»: 12,}», я всегда получаю один и тот же ответ: [{"status": 415, "message":"Указанный тип входного содержимого недействителен."}]

Я также пробовал использовать POST-запрос, передавая код JSON или XML в виде необработанных данных, но этот метод не поддерживается.

Как я должен передать эту пару поле = значение? могу ли я вставить его в строку URL? Я тоже пробовал, но мне не помогло.

Любые идеи?

Если вам интересно, я делаю это в FileMaker с плагином TROIUrl, не очень популярной технологией, но метод GET, извлекающий заказы, работает как шарм TURL_Put( ""; $url ;"status_id=12") (я также пробовал другие плагины FM бесполезны) Не слишком увлекайтесь частью Filemaker, я не ожидаю, что многие люди будут знакомы с BigCommerce и Filemaker. Мне просто нужен общий ответ.

Спасибо


person David Las Vegas    schedule 27.08.2013    source источник
comment
Попробуйте установить для заголовков тип контента JSON. Кроме того, в вашей строке json может быть опечатка '{status_id:12}'.   -  person Saran    schedule 09.09.2013
comment
у вас когда-нибудь это работало?   -  person Mike Stephenson    schedule 27.02.2015


Ответы (3)


Инструмент командной строки curl стоит попробовать. Он поддерживает put и https.

Mac OS X: curl уже установлен, вызов из FileMaker через AppleScript do shell script.

Windows: должна быть установлена, вызов через Powershell.

person Jens Teich    schedule 27.08.2013

Это работает для меня, используя { "status_id": "3" }, что означает, что вам, вероятно, нужно поставить кавычки вокруг фактического числа.

Кроме того, это операция PUT и application/json, которые являются частью содержимого запроса.

person Mike Stephenson    schedule 27.02.2015

Сообщение об ошибке, полученное OP:

[{"status":415,"message":"The specified input content type is not valid."}]

Говорит, что он не предоставил заголовок «Content-Type» в своем запросе или что предоставленный заголовок относится к недопустимому типу контента. Для случая OP с использованием JSON ему нужно будет включить заголовок:

    Content-Type: application/json

в его запросе HTTPS. Это описание можно найти вместе с другими кодами состояния, которые вы можете увидеть здесь:

https://developer.bigcommerce.com/api/status-codes

person J Z    schedule 28.02.2015