Magento 2 REST-API POST V1/guest carts/{cartId}/项目400或404

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": {

我正在努力使用REST-API向来宾购物车添加产品。我尝试了不同的方法,结果是404或400个错误

第一种方法来自文档,或者至少是我如何解释它们。第二种方法来自另一个堆栈交换答案。我一定是忽略了什么或是混淆了什么。正确的方法是什么

第一种方法:

创建新的来宾购物车

请求

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