BigCommerce 订单 API:无法更新
BigCommerce Orders API: unable to update
我正在尝试使用对 V2 订单的 PUT 请求更新商店中的现有订单 API:
https://api.bigcommerce.com/stores/{$$.env.store_hash}/v2/orders/{id}
根据docs,我应该可以更新以下内容:
customer_id, status_id, Add a new product, Add a custom product, billing_address
我唯一成功改变的是 status_id。我可以使用文档页面底部提供的示例正文:
{
"status_id": 1,
"billing_address": {
"first_name": "Trisha",
"last_name": "McLaughlin",
"company": "",
"street_1": "123 Main Street",
"street_2": "",
"city": "Anywhere",
"state": "Some State",
"zip": "12345",
"country": "United States",
"country_iso2": "US",
"phone": "",
"email": "elsie@example.com"
}
}
我收到 200 OK 响应,但没有正文。但在商店中只有状态发生变化。如果我故意拼错一个字段,则会收到错误响应,这表明正文格式正确,但被忽略了。
任何人都可以提供更新帐单地址或添加 API 将执行的新产品的正文示例吗?
我目前正在使用 Postman 生成 PUT 请求,但稍后会转移到 PHP。
谢谢。
编辑:
这是我尝试添加现有产品的请求示例,该请求也被接受但不起作用。
{
"products": [{
"product_id": 111,
"quantity": 5
}]
}
编辑 2:为了提供更多上下文,我尝试更新的订单已经有现有产品并且已经 'paid for'(产品免费)。我试过添加订单中已有的产品以及新产品。我也在不同状态的订单上试过这个。此外,订单由访客帐户处理,因此 customer_id 字段为 0。我没有尝试使用注册帐户订单执行此操作。这些问题是否会导致问题?
编辑 3:对于任何路过的人来说,这似乎是与可下载产品相关的错误。有关详细信息,请参阅已接受答案下的评论链。
添加新产品:
{
"products": [{
"name": "Poster",
"quantity": 5,
"price_inc_tax": 12.45,
"price_ex_tax": 10.12
}]
}
添加现有产品:确保将 product_id 更新为商店中的产品。
{
"products": [{
"product_id": 187,
"quantity": 5,
"price_inc_tax": 12.45,
"price_ex_tax": 10.12
}]
}
它将return一个200。然后查询Order Products以查看订单上的产品列表。
要更新帐单地址,此结构有效:
{
"billing_address": {
"first_name": "Jane",
"last_name": "Doe",
"company": "",
"street_1": "455 Main Street",
"street_2": "",
"city": "Austin",
"state": "Texas",
"zip": "78751",
"country": "United States",
"country_iso2": "US",
"phone": "",
"email": "rick@sanchez.com"
}
}
客户 ID 需要与商店中存在的客户 ID 匹配。要获取客户列表,请使用 customers endpoint。
{
"customer_id": 20
}
根据此页面:
https://developer.bigcommerce.com/api-reference/b3A6MzU5MDQ3MzE-update-an-order
它指出:
“状态将包括(字符串,选项)之一 - 在订单状态下定义的值。此值为 read-only。请勿尝试在 POST 中修改或设置此值或 PUT 操作。
您似乎无法从 api...
更新订单状态
我正在尝试使用对 V2 订单的 PUT 请求更新商店中的现有订单 API:
https://api.bigcommerce.com/stores/{$$.env.store_hash}/v2/orders/{id}
根据docs,我应该可以更新以下内容:
customer_id, status_id, Add a new product, Add a custom product, billing_address
我唯一成功改变的是 status_id。我可以使用文档页面底部提供的示例正文:
{
"status_id": 1,
"billing_address": {
"first_name": "Trisha",
"last_name": "McLaughlin",
"company": "",
"street_1": "123 Main Street",
"street_2": "",
"city": "Anywhere",
"state": "Some State",
"zip": "12345",
"country": "United States",
"country_iso2": "US",
"phone": "",
"email": "elsie@example.com"
}
}
我收到 200 OK 响应,但没有正文。但在商店中只有状态发生变化。如果我故意拼错一个字段,则会收到错误响应,这表明正文格式正确,但被忽略了。
任何人都可以提供更新帐单地址或添加 API 将执行的新产品的正文示例吗?
我目前正在使用 Postman 生成 PUT 请求,但稍后会转移到 PHP。
谢谢。
编辑:
这是我尝试添加现有产品的请求示例,该请求也被接受但不起作用。
{
"products": [{
"product_id": 111,
"quantity": 5
}]
}
编辑 2:为了提供更多上下文,我尝试更新的订单已经有现有产品并且已经 'paid for'(产品免费)。我试过添加订单中已有的产品以及新产品。我也在不同状态的订单上试过这个。此外,订单由访客帐户处理,因此 customer_id 字段为 0。我没有尝试使用注册帐户订单执行此操作。这些问题是否会导致问题?
编辑 3:对于任何路过的人来说,这似乎是与可下载产品相关的错误。有关详细信息,请参阅已接受答案下的评论链。
添加新产品:
{
"products": [{
"name": "Poster",
"quantity": 5,
"price_inc_tax": 12.45,
"price_ex_tax": 10.12
}]
}
添加现有产品:确保将 product_id 更新为商店中的产品。
{
"products": [{
"product_id": 187,
"quantity": 5,
"price_inc_tax": 12.45,
"price_ex_tax": 10.12
}]
}
它将return一个200。然后查询Order Products以查看订单上的产品列表。
要更新帐单地址,此结构有效:
{
"billing_address": {
"first_name": "Jane",
"last_name": "Doe",
"company": "",
"street_1": "455 Main Street",
"street_2": "",
"city": "Austin",
"state": "Texas",
"zip": "78751",
"country": "United States",
"country_iso2": "US",
"phone": "",
"email": "rick@sanchez.com"
}
}
客户 ID 需要与商店中存在的客户 ID 匹配。要获取客户列表,请使用 customers endpoint。
{
"customer_id": 20
}
根据此页面: https://developer.bigcommerce.com/api-reference/b3A6MzU5MDQ3MzE-update-an-order
它指出:
“状态将包括(字符串,选项)之一 - 在订单状态下定义的值。此值为 read-only。请勿尝试在 POST 中修改或设置此值或 PUT 操作。
您似乎无法从 api...
更新订单状态