IKEA

IKEA · GPT アクション

IKEA ChatGPT plugin API

A plugin that allows the user to interact with IKEA's catalog using ChatGPT.

  • GET /content/search/Search among IKEA-published content of how-to articles or essential tips & ideas for any household room. Searches such as "back to school", "bathroom decorating ideas", "children's room safety" are all relevant.
  • GET /product/availability/store/{storeNo}/{itemNo}Check if an item is available for pickup (also known as Click & Collect).
  • GET /product/availability/{zipCode}/{itemNo}Check if an item is available for home delivery to a zipcode or in-store pickup at the nearest IKEA store.
  • POST /product/checkout/Create a checkout link for the IKEA products of interest
  • GET /product/search/Search for IKEA products based on query parameters.
  • GET /recognition/search/Identify likely IKEA products from an image
  • GET /specials/search/Search for IKEA products by special category
  • GET /store/List all IKEA stores in the U.S.
元の API スキーマ
{
  "components": {
    "responses": {
      "DEFAULT_ERROR": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        },
        "description": "Default error response"
      },
      "UNPROCESSABLE_ENTITY": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        },
        "description": "Unprocessable Entity"
      }
    },
    "schemas": {
      "AvailabilityResponseArgs": {
        "properties": {
          "EXTRA_INFORMATION_TO_ASSISTANT": {
            "type": "string"
          },
          "availableForHomeDelivery": {
            "description": "bool describing whether product is available for home delivery",
            "type": "boolean"
          },
          "availableForStorePickUp": {
            "description": "bool describing whether product is available for store pickup",
            "type": "boolean"
          },
          "storeName": {
            "description": "name of the IKEA store",
            "type": "string"
          },
          "storeNo": {
            "description": "store number of the IKEA store",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "AvailabilityStoreArgs": {
        "properties": {
          "EXTRA_INFORMATION_TO_ASSISTANT": {
            "type": "string"
          },
          "availableForClickCollect": {
            "description": "bool describing whether a product is available for pickup (also known as Click & Collect) from a nearby IKEA store.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "CheckoutArgs": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/CheckoutArgsItem"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "CheckoutArgsItem": {
        "properties": {
          "itemNo": {
            "description": "product item number",
            "type": "integer"
          },
          "quantity": {
            "description": "quantity of the item",
            "type": "integer"
          }
        },
        "required": [
          "itemNo",
          "quantity"
        ],
        "type": "object"
      },
      "CheckoutResponse": {
        "properties": {
          "EXTRA_INFORMATION_TO_ASSISTANT": {
            "type": "string"
          },
          "data": {
            "description": "Checkout url",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ContentResponse": {
        "properties": {
          "EXTRA_INFORMATION_TO_ASSISTANT": {
            "type": "string"
          },
          "data": {
            "items": {
              "$ref": "#/components/schemas/ContentResponseData"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "ContentResponseData": {
        "properties": {
          "description": {
            "description": "content description",
            "type": "string"
          },
          "imageUrl": {
            "description": "image url for the content's thumbnail",
            "type": "string"
          },
          "title": {
            "description": "title of the IKEA-published content",
            "type": "string"
          },
          "url": {
            "description": "link to the content on IKEA.com",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Error": {
        "properties": {
          "code": {
            "description": "Error code",
            "type": "integer"
          },
          "errors": {
            "description": "Errors",
            "type": "object"
          },
          "message": {
            "description": "Error message",
            "type": "string"
          },
          "status": {
            "description": "Error name",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ImageRecognitionResponse": {
        "properties": {
          "EXTRA_INFORMATION_TO_ASSISTANT": {
            "type": "string"
          },
          "data": {
            "items": {
              "$ref": "#/components/schemas/ImageRecognitionResponseData"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "ImageRecognitionResponseData": {
        "properties": {
          "altName": {
            "description": "a more detailed description of the product",
            "type": "string"
          },
          "imageUrl": {
            "description": "image url for the IKEA product",
            "type": "string"
          },
          "itemNo": {
            "description": "item number of the IKEA product",
            "type": "integer"
          },
          "name": {
            "description": "name of the IKEA product",
            "type": "string"
          }
        },
        "type": "object"
      },
      "PaginationMetadata": {
        "properties": {
          "first_page": {
            "type": "integer"
          },
          "last_page": {
            "type": "integer"
          },
          "next_page": {
            "type": "integer"
          },
          "page": {
            "type": "integer"
          },
          "previous_page": {
            "type": "integer"
          },
          "total": {
            "type": "integer"
          },
          "total_pages": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "SearchResponse": {
        "properties": {
          "EXTRA_INFORMATION_TO_ASSISTANT": {
            "type": "string"
          },
          "data": {
            "items": {
              "$ref": "#/components/schemas/SearchResponseData"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "SearchResponseData": {
        "properties": {
          "image_url": {
            "description": "image URL of the IKEA product",
            "type": "string"
          },
          "itemNo": {
            "description": "item number of the IKEA product",
            "type": "integer"
          },
          "item_description": {
            "description": "short summary description of the IKEA product",
            "type": "string"
          },
          "price": {
            "description": "price of the product",
            "type": "string"
          },
          "product_url": {
            "description": "URL of the product on IKEA.com",
            "type": "string"
          },
          "series_name": {
            "description": "name of the IKEA product series",
            "type": "string"
          }
        },
        "type": "object"
      },
      "SpecialsResponse": {
        "properties": {
          "EXTRA_INFORMATION_TO_ASSISTANT": {
            "type": "string"
          },
          "data": {
            "items": {
              "$ref": "#/components/schemas/SpecialsResponseData"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "SpecialsResponseData": {
        "properties": {
          "currency": {
            "description": "price currency",
            "type": "string"
          },
          "image": {
            "description": "image url for the IKEA product",
            "type": "string"
          },
          "name": {
            "description": "name of the IKEA product",
            "type": "string"
          },
          "price": {
            "description": "price of the product",
            "type": "number"
          },
          "url": {
            "description": "link to the product information page on ikea.com",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Store": {
        "properties": {
          "address": {
            "$ref": "#/components/schemas/StoreAddress"
          },
          "name": {
            "description": "IKEA store name",
            "type": "string"
          },
          "openingHours": {
            "$ref": "#/components/schemas/StoreOpeningHours"
          },
          "rawName": {
            "description": "IKEA store raw name",
            "type": "string"
          },
          "storeNo": {
            "description": "IKEA store number",
            "type": "integer"
          },
          "website": {
            "description": "IKEA store website",
            "type": "string"
          }
        },
        "type": "object"
      },
      "StoreAddress": {
        "properties": {
          "address1": {
            "description": "street address",
            "type": "string"
          },
          "cityName": {
            "description": "city name",
            "type": "string"
          },
          "displayAddress": {
            "description": "display address",
            "type": "string"
          },
          "zipCode": {
            "description": "zip code",
            "type": "string"
          }
        },
        "type": "object"
      },
      "StoreListResponse": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Store"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "StoreOpeningHours": {
        "properties": {
          "days": {
            "items": {
              "$ref": "#/components/schemas/StoreOpeningHoursDay"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "StoreOpeningHoursDay": {
        "properties": {
          "date": {
            "description": "IKEA store opening hours day",
            "type": "string"
          },
          "hours": {
            "items": {
              "$ref": "#/components/schemas/StoreOpeningHoursDayHours"
            },
            "type": "array"
          },
          "source": {
            "description": "IKEA store opening hours source",
            "type": "string"
          },
          "uncertain": {
            "description": "IKEA store opening hour uncertainty",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "StoreOpeningHoursDayHours": {
        "properties": {
          "close": {
            "description": "IKEA store closing time",
            "type": "string"
          },
          "open": {
            "description": "IKEA store opening time",
            "type": "string"
          }
        },
        "type": "object"
      }
    }
  },
  "info": {
    "description": "A plugin that allows the user to interact with IKEA's catalog using ChatGPT.",
    "title": "IKEA ChatGPT plugin API",
    "version": "v1"
  },
  "openapi": "3.1.0",
  "paths": {
    "/content/search/": {
      "get": {
        "operationId": "content_search",
        "parameters": [
          {
            "description": "The published content to search for",
            "in": "query",
            "name": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContentResponse"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Search among IKEA-published content of how-to articles or essential tips & ideas for any household room. Searches such as \"back to school\", \"bathroom decorating ideas\", \"children's room safety\" are all relevant.",
        "tags": [
          "content"
        ]
      }
    },
    "/product/availability/store/{storeNo}/{itemNo}": {
      "get": {
        "operationId": "check_availability_store",
        "parameters": [
          {
            "description": "IKEA store number",
            "in": "path",
            "name": "storeNo",
            "required": true,
            "schema": {
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "item number of the IKEA product",
            "in": "path",
            "name": "itemNo",
            "required": true,
            "schema": {
              "minimum": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AvailabilityStoreArgs"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Check if an item is available for pickup (also known as Click & Collect).",
        "tags": [
          "product"
        ]
      }
    },
    "/product/availability/{zipCode}/{itemNo}": {
      "get": {
        "operationId": "check_product_availability",
        "parameters": [
          {
            "description": "the user's zip code",
            "in": "path",
            "name": "zipCode",
            "required": true,
            "schema": {
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "item number of the IKEA product",
            "in": "path",
            "name": "itemNo",
            "required": true,
            "schema": {
              "minimum": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AvailabilityResponseArgs"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Check if an item is available for home delivery to a zipcode or in-store pickup at the nearest IKEA store.",
        "tags": [
          "product"
        ]
      }
    },
    "/product/checkout/": {
      "post": {
        "operationId": "checkout_link",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckoutArgs"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckoutResponse"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Create a checkout link for the IKEA products of interest",
        "tags": [
          "product"
        ]
      }
    },
    "/product/search/": {
      "get": {
        "operationId": "product_search",
        "parameters": [
          {
            "description": "The minimum price or price range the user might be looking for",
            "in": "query",
            "name": "min_price",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "description": "Product features like comfortable, compact, or easy to assemble",
            "in": "query",
            "name": "features",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The minimum height of the product in centimeters",
            "in": "query",
            "name": "min_height_cm",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "A specific product or catergory like furniture",
            "in": "query",
            "name": "product",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Colors such as red, blue, grey, brown",
            "in": "query",
            "name": "color",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Whether to filter out variants of the same product",
            "in": "query",
            "name": "variant_filtering",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "The maximum height of the product in centimeters",
            "in": "query",
            "name": "max_height_cm",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Predicted category from the provided list. Can be a single category or a list of multiple categories",
            "in": "query",
            "name": "category",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The maximum price or price range the user might be looking for",
            "in": "query",
            "name": "max_price",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "description": "The maximum number of products to retrieve",
            "in": "query",
            "name": "retrieval_cap",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "Materials like wood, plastic. It can be a single material or a list of materials",
            "in": "query",
            "name": "material",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Search for IKEA products based on query parameters.",
        "tags": [
          "product"
        ]
      }
    },
    "/recognition/search/": {
      "get": {
        "operationId": "image_rec",
        "parameters": [
          {
            "description": "The user provides an image URL address. It is acceptable to accept an external URL as long as it is related to home furnishing, is in a common image file format like .jpg or .png' and is no longer than 150 characters.",
            "in": "query",
            "name": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImageRecognitionResponse"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Identify likely IKEA products from an image",
        "tags": [
          "recognition"
        ]
      }
    },
    "/specials/search/": {
      "get": {
        "operationId": "specials_search",
        "parameters": [
          {
            "description": "A specials category that can only be either family_price, new_lower_price, new_product, last_chance, breath_taking, top_seller, limited_edition, or home_furnishing_accessories",
            "in": "query",
            "name": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SpecialsResponse"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Search for IKEA products by special category",
        "tags": [
          "specials"
        ]
      }
    },
    "/store/": {
      "get": {
        "operationId": "get_stores",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreListResponse"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "List all IKEA stores in the U.S.",
        "tags": [
          "store"
        ]
      }
    }
  },
  "servers": [
    {
      "url": "https://chatgpt-plugin.usdh.ingka.com/"
    }
  ],
  "tags": [
    {
      "description": "",
      "name": "product"
    },
    {
      "description": "",
      "name": "store"
    },
    {
      "description": "",
      "name": "specials"
    },
    {
      "description": "",
      "name": "content"
    },
    {
      "description": "",
      "name": "recognition"
    }
  ]
}