0

I am developing system to manage some services outside of magento system, however i need both systems (magento and the one i am creating) to comunicate.

So i went to magento rest api documentation and searched about how to fetch products, wich i think is pretty simple, but i am not sure if the custom options of the products will be returned in the request.

Any help/tip?

1

Sorry I do not see the Magento 1.9 tag.

For Magento 1 :

I think that you need to extend / create the products API to expose product options

More information here : http://devdocs.magento.com/guides/m1x/api/rest/introduction.html

A tutorial which explain how to extend the API : http://www.codealist.net/product-custom-options-in-rest-api/

For Magento 2 :

You can retrieve product custom options with this API inside extension_attributes => options

catalogProductRepositoryV1

"Get product list"

get /V1/products

Model schema :

{
  "items": [
    {
      "id": 0,
      "sku": "string",
      "name": "string",
      "attribute_set_id": 0,
      "price": 0,
      "status": 0,
      "visibility": 0,
      "type_id": "string",
      "created_at": "string",
      "updated_at": "string",
      "weight": 0,
      "extension_attributes": {
        "bundle_product_options": [
          {
            "option_id": 0,
            "title": "string",
            "required": true,
            "type": "string",
            "position": 0,
            "sku": "string",
            "product_links": [
              {
                "id": "string",
                "sku": "string",
                "option_id": 0,
                "qty": 0,
                "position": 0,
                "is_default": true,
                "price": 0,
                "price_type": 0,
                "can_change_quantity": 0,
                "extension_attributes": {}
              }
            ],
            "extension_attributes": {}
          }
        ],
        "downloadable_product_links": [
          {
            "id": 0,
            "title": "string",
            "sort_order": 0,
            "is_shareable": 0,
            "price": 0,
            "number_of_downloads": 0,
            "link_type": "string",
            "link_file": "string",
            "link_file_content": {
              "file_data": "string",
              "name": "string",
              "extension_attributes": {}
            },
            "link_url": "string",
            "sample_type": "string",
            "sample_file": "string",
            "sample_file_content": {
              "file_data": "string",
              "name": "string",
              "extension_attributes": {}
            },
            "sample_url": "string",
            "extension_attributes": {}
          }
        ],
        "downloadable_product_samples": [
          {
            "id": 0,
            "title": "string",
            "sort_order": 0,
            "sample_type": "string",
            "sample_file": "string",
            "sample_file_content": {
              "file_data": "string",
              "name": "string",
              "extension_attributes": {}
            },
            "sample_url": "string",
            "extension_attributes": {}
          }
        ],
        "stock_item": {
          "item_id": 0,
          "product_id": 0,
          "stock_id": 0,
          "qty": 0,
          "is_in_stock": true,
          "is_qty_decimal": true,
          "show_default_notification_message": true,
          "use_config_min_qty": true,
          "min_qty": 0,
          "use_config_min_sale_qty": 0,
          "min_sale_qty": 0,
          "use_config_max_sale_qty": true,
          "max_sale_qty": 0,
          "use_config_backorders": true,
          "backorders": 0,
          "use_config_notify_stock_qty": true,
          "notify_stock_qty": 0,
          "use_config_qty_increments": true,
          "qty_increments": 0,
          "use_config_enable_qty_inc": true,
          "enable_qty_increments": true,
          "use_config_manage_stock": true,
          "manage_stock": true,
          "low_stock_date": "string",
          "is_decimal_divided": true,
          "stock_status_changed_auto": 0,
          "extension_attributes": {}
        },
        "configurable_product_options": [
          {
            "id": 0,
            "attribute_id": "string",
            "label": "string",
            "position": 0,
            "is_use_default": true,
            "values": [
              {
                "value_index": 0,
                "extension_attributes": {}
              }
            ],
            "extension_attributes": {},
            "product_id": 0
          }
        ],
        "configurable_product_links": [
          0
        ]
      },
      "product_links": [
        {
          "sku": "string",
          "link_type": "string",
          "linked_product_sku": "string",
          "linked_product_type": "string",
          "position": 0,
          "extension_attributes": {
            "qty": 0
          }
        }
      ],
      "options": [
        {
          "product_sku": "string",
          "option_id": 0,
          "title": "string",
          "type": "string",
          "sort_order": 0,
          "is_require": true,
          "price": 0,
          "price_type": "string",
          "sku": "string",
          "file_extension": "string",
          "max_characters": 0,
          "image_size_x": 0,
          "image_size_y": 0,
          "values": [
            {
              "title": "string",
              "sort_order": 0,
              "price": 0,
              "price_type": "string",
              "sku": "string",
              "option_type_id": 0
            }
          ],
          "extension_attributes": {}
        }
      ],
      "media_gallery_entries": [
        {
          "id": 0,
          "media_type": "string",
          "label": "string",
          "position": 0,
          "disabled": true,
          "types": [
            "string"
          ],
          "file": "string",
          "content": {
            "base64_encoded_data": "string",
            "type": "string",
            "name": "string"
          },
          "extension_attributes": {
            "video_content": {
              "media_type": "string",
              "video_provider": "string",
              "video_url": "string",
              "video_title": "string",
              "video_description": "string",
              "video_metadata": "string"
            }
          }
        }
      ],
      "tier_prices": [
        {
          "customer_group_id": 0,
          "qty": 0,
          "value": 0,
          "extension_attributes": {}
        }
      ],
      "custom_attributes": [
        {
          "attribute_code": "string",
          "value": "string"
        }
      ]
    }
  ],
  "search_criteria": {
    "filter_groups": [
      {
        "filters": [
          {
            "field": "string",
            "value": "string",
            "condition_type": "string"
          }
        ]
      }
    ],
    "sort_orders": [
      {
        "field": "string",
        "direction": "string"
      }
    ],
    "page_size": 0,
    "current_page": 0
  },
  "total_count": 0
}

You can also retrieve product custom options with this API :

catalogProductCustomOptionRepositoryV1

"Get the list of custom options for a specific product"

get /V1/products/{sku}/options 

Model schema :

[
  {
    "product_sku": "string",
    "option_id": 0,
    "title": "string",
    "type": "string",
    "sort_order": 0,
    "is_require": true,
    "price": 0,
    "price_type": "string",
    "sku": "string",
    "file_extension": "string",
    "max_characters": 0,
    "image_size_x": 0,
    "image_size_y": 0,
    "values": [
      {
        "title": "string",
        "sort_order": 0,
        "price": 0,
        "price_type": "string",
        "sku": "string",
        "option_type_id": 0
      }
    ],
    "extension_attributes": {}
  }
]

More details : http://devdocs.magento.com/swagger/

1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.