1

我需要更新通过 PUT 方法完成的订单,该方法将订单 ID 作为 https url 字符串的一部分和一个参数 status_id 传递。 https://mystore.mybigcommerce.com/orders/12345.json

我尝试了几种方法来传递 status_id 值,但无论我尝试“status_id=12”还是格式化为 JSON“{“status_id”:12,}”,我总是得到相同的响应:[{“status”:415, "message":"指定的输入内容类型无效。"}]

我也尝试过将 JSON 或 XML 代码作为原始数据传递的 POST 请求,但不支持该方法。

我应该如何传递该字段=值对?我可以将它嵌入到 url 字符串中吗?我也试过了,但它对我不起作用。

有任何想法吗?

如果您想知道我在 FileMaker 中使用 TROIUrl 插件执行此操作,这不是一种非常流行的技术,但检索订单的 GET 方法就像一个魅力 TURL_Put( ""; $url ;"status_id=12") (我也尝试过其他 FM 插件无济于事)不要太沉迷于 Filemaker 部分,我不希望有很多人熟悉 BigCommerce 和 Filemaker。我只需要一个通用的答案。

谢谢

4

3 回答 3

0

它适用于我使用 { "status_id": "3" } 这意味着您可能需要在实际数字周围加上引号。

此外,它是一个 PUT 操作和 application/json,它是请求内容的一部分。

于 2015-02-27T18:32:16.717 回答
0

OP 收到的错误消息:

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

是说他没有在他的请求中提供“Content-Type”标头,或者提供的标头用于不允许的内容类型。对于使用 JSON 的 OP 案例,他需要包含标题:

    Content-Type: application/json

在他的 HTTPS 请求中。可以在此处找到此描述以及您可能在此处看到的其他状态代码的描述:

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

于 2015-02-28T04:06:49.047 回答
0

命令行工具curl值得一试。它支持puthttps

Mac OS X: curl 已安装,通过 AppleScript 从 FileMaker 调用do shell script

Windows:必须安装,通过Powershell调用。

于 2013-08-27T22:29:32.190 回答