Question

I have a product in my store with radio and checkbox custom options. using below JSON encoded string to add that item with it's options to shopping cart within my mobile app.

{
 "cartItem": {
    "qty": 1,
    "sku": "margherita",
    "quote_id": 134,
    "product_option": {
        "extension_attributes": {
            "custom_options": [
              {
                "option_id": 15,
                "option_value": 67

              },
              {
                "option_id": 16,
                "option_value": 70

              },
              {
                "option_id": 16,
                "option_value": 71

              }
            ]
        }
    }
  }
}

but cart doesn't remember all checkbox selections, only the last one - say, with option value 71 in this example (16 is checkbox option id here).

Any suggestions how I can encode options into cart item string for cart to be able to carry all checkbox option selections?

This is original blueprint cart item JSON string from Magento's doc:

{
"cartItem": {
"item_id": 0,
"sku": "string",
"qty": 0,
"name": "string",
"price": 0,
"product_type": "string",
"quote_id": "string",
"product_option": {
  "extension_attributes": {
    "custom_options": [
      {
        "option_id": "string",
        "option_value": "string",
        "extension_attributes": {
          "file_info": {
            "base64_encoded_data": "string",
            "type": "string",
            "name": "string"
          }
        }
      }
    ],
    "bundle_options": [
      {
        "option_id": 0,
        "option_qty": 0,
        "option_selections": [
          0
        ],
        "extension_attributes": {}
      }
    ],
    "downloadable_option": {
      "downloadable_links": [
        0
      ]
    },
    "giftcard_item_option": {
      "giftcard_amount": "string",
      "custom_giftcard_amount": 0,
      "giftcard_sender_name": "string",
      "giftcard_recipient_name": "string",
      "giftcard_sender_email": "string",
      "giftcard_recipient_email": "string",
      "giftcard_message": "string",
      "extension_attributes": {}
    },
    "configurable_item_options": [
      {
        "option_id": "string",
        "option_value": 0,
        "extension_attributes": {}
      }
    ]
  }
},
"extension_attributes": {}
}
}
Was it helpful?

Solution

I was just having this issue.

Change your json to...

{
  "option_id": "16",
  "option_value": "70,71"
}

and it will work!

Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange
scroll top