Magento 2 REST-API POST V1/guest carts/{cartId}/项目400或404
我正在努力使用REST-API向来宾购物车添加产品。我尝试了不同的方法,结果是404或400个错误 第一种方法来自文档,或者至少是我如何解释它们。第二种方法来自另一个堆栈交换答案。我一定是忽略了什么或是混淆了什么。正确的方法是什么 第一种方法: 创建新的来宾购物车 请求Magento 2 REST-API POST V1/guest carts/{cartId}/项目400或404,rest,magento2,Rest,Magento2,我正在努力使用REST-API向来宾购物车添加产品。我尝试了不同的方法,结果是404或400个错误 第一种方法来自文档,或者至少是我如何解释它们。第二种方法来自另一个堆栈交换答案。我一定是忽略了什么或是混淆了什么。正确的方法是什么 第一种方法: 创建新的来宾购物车 请求 POST: V1/guest-carts POST: V1/guest-carts/EDzeXsnat8aODucV5zRVa6o7yChZ9je9/items { "cart_item": {
POST: V1/guest-carts
POST: V1/guest-carts/EDzeXsnat8aODucV5zRVa6o7yChZ9je9/items
{
"cart_item": {
"quote_id": "EDzeXsnat8aODucV5zRVa6o7yChZ9je9",
"product_type": "configurable",
"sku": "032501-42",
"qty": 1,
"extension_attributes": {},
"product_option": {
"extension_attributes": {
"configurable_item_options": [
{
"option_id": "168",
"option_value": 278
}
]
}
}
}
}
POST: V1/guest-carts
GET: V1/guest-carts/EDzeXsnat8aODucV5zRVa6o7yChZ9je9
POST: V1/guest-carts/95563/items
{
"cart_item": {
"quote_id": "95563",
"product_type": "configurable",
"sku": "032501-42",
"qty": 1,
"extension_attributes": {},
"product_option": {
"extension_attributes": {
"configurable_item_options": [
{
"option_id": "168",
"option_value": 278
}
]
}
}
}
}
答复:
"EDzeXsnat8aODucV5zRVa6o7yChZ9je9"
"EDzeXsnat8aODucV5zRVa6o7yChZ9je9"
将产品添加到客人购物车中
请求
POST: V1/guest-carts
POST: V1/guest-carts/EDzeXsnat8aODucV5zRVa6o7yChZ9je9/items
{
"cart_item": {
"quote_id": "EDzeXsnat8aODucV5zRVa6o7yChZ9je9",
"product_type": "configurable",
"sku": "032501-42",
"qty": 1,
"extension_attributes": {},
"product_option": {
"extension_attributes": {
"configurable_item_options": [
{
"option_id": "168",
"option_value": 278
}
]
}
}
}
}
POST: V1/guest-carts
GET: V1/guest-carts/EDzeXsnat8aODucV5zRVa6o7yChZ9je9
POST: V1/guest-carts/95563/items
{
"cart_item": {
"quote_id": "95563",
"product_type": "configurable",
"sku": "032501-42",
"qty": 1,
"extension_attributes": {},
"product_option": {
"extension_attributes": {
"configurable_item_options": [
{
"option_id": "168",
"option_value": 278
}
]
}
}
}
}
回应
{
"id": 95563,
// etc ...
}
400-请求错误
第二种方法: 从中我了解到,中间应该有一个额外的步骤,因为您必须使用实际的报价id,而不是
V1/guest carts
返回的掩码。这将流程更改为以下内容
创建新的来宾购物车
请求
POST: V1/guest-carts
POST: V1/guest-carts/EDzeXsnat8aODucV5zRVa6o7yChZ9je9/items
{
"cart_item": {
"quote_id": "EDzeXsnat8aODucV5zRVa6o7yChZ9je9",
"product_type": "configurable",
"sku": "032501-42",
"qty": 1,
"extension_attributes": {},
"product_option": {
"extension_attributes": {
"configurable_item_options": [
{
"option_id": "168",
"option_value": 278
}
]
}
}
}
}
POST: V1/guest-carts
GET: V1/guest-carts/EDzeXsnat8aODucV5zRVa6o7yChZ9je9
POST: V1/guest-carts/95563/items
{
"cart_item": {
"quote_id": "95563",
"product_type": "configurable",
"sku": "032501-42",
"qty": 1,
"extension_attributes": {},
"product_option": {
"extension_attributes": {
"configurable_item_options": [
{
"option_id": "168",
"option_value": 278
}
]
}
}
}
}
答复:
"EDzeXsnat8aODucV5zRVa6o7yChZ9je9"
"EDzeXsnat8aODucV5zRVa6o7yChZ9je9"
请求报价id
请求
POST: V1/guest-carts
POST: V1/guest-carts/EDzeXsnat8aODucV5zRVa6o7yChZ9je9/items
{
"cart_item": {
"quote_id": "EDzeXsnat8aODucV5zRVa6o7yChZ9je9",
"product_type": "configurable",
"sku": "032501-42",
"qty": 1,
"extension_attributes": {},
"product_option": {
"extension_attributes": {
"configurable_item_options": [
{
"option_id": "168",
"option_value": 278
}
]
}
}
}
}
POST: V1/guest-carts
GET: V1/guest-carts/EDzeXsnat8aODucV5zRVa6o7yChZ9je9
POST: V1/guest-carts/95563/items
{
"cart_item": {
"quote_id": "95563",
"product_type": "configurable",
"sku": "032501-42",
"qty": 1,
"extension_attributes": {},
"product_option": {
"extension_attributes": {
"configurable_item_options": [
{
"option_id": "168",
"option_value": 278
}
]
}
}
}
}
回应
{
"id": 95563,
// etc ...
}
将产品添加到客人购物车中
请求
POST: V1/guest-carts
POST: V1/guest-carts/EDzeXsnat8aODucV5zRVa6o7yChZ9je9/items
{
"cart_item": {
"quote_id": "EDzeXsnat8aODucV5zRVa6o7yChZ9je9",
"product_type": "configurable",
"sku": "032501-42",
"qty": 1,
"extension_attributes": {},
"product_option": {
"extension_attributes": {
"configurable_item_options": [
{
"option_id": "168",
"option_value": 278
}
]
}
}
}
}
POST: V1/guest-carts
GET: V1/guest-carts/EDzeXsnat8aODucV5zRVa6o7yChZ9je9
POST: V1/guest-carts/95563/items
{
"cart_item": {
"quote_id": "95563",
"product_type": "configurable",
"sku": "032501-42",
"qty": 1,
"extension_attributes": {},
"product_option": {
"extension_attributes": {
"configurable_item_options": [
{
"option_id": "168",
"option_value": 278
}
]
}
}
}
}
回应
{
"id": 95563,
// etc ...
}
404-未找到路由
您需要在url中使用掩码,在负载中使用id本身。您还可以直接使用该可配置产品的特定简单产品sku,而不是添加可配置产品和选项
POST: V1/guest-carts/EDzeXsnat8aODucV5zRVa6o7yChZ9je9/items
{
"cart_item": {
"quote_id": 95563,
"product_type": "configurable",
"sku": "032501-42",
"qty": 1,
"extension_attributes": {},
"product_option": {
"extension_attributes": {
"configurable_item_options": [
{
"option_id": "168",
"option_value": 278
}
]
}
}
}