BigCommerce Orders API:无法更新

时间:2018-12-05 18:06:05

标签: bigcommerce

我正在尝试使用对V2订单API的PUT请求来更新商店中的现有订单:

  

https://api.bigcommerce.com/stores/ {$$。env.store_hash} / v2 / orders / {id}

根据docs,我应该能够更新以下内容:

  

customer_id,status_id,添加新产品,添加自定义产品,帐单地址

我唯一成功更改的是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:为了提供更多背景信息,我尝试更新的订单已经有现有产品,并且已经“付款”(产品是免费的)。我尝试添加已经订购的产品以及新产品。我也尝试过各种状态的订单。另外,订单是由来宾帐户处理的,因此customer_id字段为0。我没有尝试使用已注册的帐户订单进行此操作。这些事情中的任何一个可能导致问题吗?

编辑3:对于其他任何徘徊的人,这似乎是与可下载产品相关的错误。有关详细信息,请参见已接受答案下的评论链。

1 个答案:

答案 0 :(得分:0)

添加新产品:

{
    "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
    }]
}

它将返回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
}