Shopping Assistant GPT -- Save Time & Save Money

Shopping Assistant GPT -- Save Time & Save Money · Acciones GPT

Ionic Commerce | GPT Shopping API

Ionic GPT Shopping API -- Product Search & Recommendation for GPT Action & OpenAI ecosystem

  • POST /query/enhancedEnhanced Product Query

    Use Ionic's enhance search to query for product recommendations. POST Request with advanced search parameters

Esquema original API
{
  "openapi": "3.1.0",
  "info": {
    "title": "Ionic Commerce | GPT Shopping API",
    "description": "Ionic GPT Shopping API -- Product Search & Recommendation for GPT Action & OpenAI ecosystem",
    "contact": {
      "email": "info@ioniccommerce.com"
    },
    "version": "0.1"
  },
  "servers": [
    {
      "url": "https://api.ioniccommerce.com/gpt"
    }
  ],
  "paths": {
    "/query/enhanced": {
      "post": {
        "summary": "Enhanced Product Query",
        "description": "Use Ionic's enhance search to query for product recommendations. POST Request with advanced search parameters",
        "operationId": "EnhancedProductQueryPOST",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryAPIRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QueryAPIResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "Extension": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ExtensionObject"
            },
            "type": "array",
            "title": "Data"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "Extension"
      },
      "ExtensionImages": {
        "properties": {
          "thumbnail": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Thumbnail"
          }
        },
        "type": "object",
        "title": "ExtensionImages"
      },
      "ExtensionLinks": {
        "properties": {
          "tagged": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tagged"
          },
          "original": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Original"
          }
        },
        "type": "object",
        "title": "ExtensionLinks"
      },
      "ExtensionObject": {
        "properties": {
          "title": {
            "type": "string",
            "title": "Title"
          },
          "price": {
            "$ref": "#/components/schemas/PriceWithCurrency"
          },
          "links": {
            "$ref": "#/components/schemas/ExtensionLinks"
          },
          "images": {
            "$ref": "#/components/schemas/ExtensionImages"
          },
          "shipping_attributes": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/ShippingAttribute"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Shipping Attributes"
          }
        },
        "type": "object",
        "required": [
          "title",
          "price",
          "links",
          "images"
        ],
        "title": "ExtensionObject"
      },
      "Extensions": {
        "properties": {
          "merchants": {
            "$ref": "#/components/schemas/Extension"
          }
        },
        "type": "object",
        "required": [
          "merchants"
        ],
        "title": "Extensions"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "Link": {
        "properties": {
          "url": {
            "type": "string",
            "title": "Url"
          },
          "text": {
            "type": "string",
            "title": "Text"
          },
          "type": {
            "type": "string",
            "title": "Type"
          }
        },
        "type": "object",
        "required": [
          "url",
          "text",
          "type"
        ],
        "title": "Link"
      },
      "Message": {
        "properties": {
          "role": {
            "$ref": "#/components/schemas/MessageRole"
          },
          "type": {
            "$ref": "#/components/schemas/MessageType"
          },
          "content": {
            "type": "string",
            "title": "Content"
          }
        },
        "type": "object",
        "required": [
          "role",
          "type",
          "content"
        ],
        "title": "Message"
      },
      "MessageRole": {
        "type": "string",
        "enum": [
          "user",
          "assistant",
          "system"
        ],
        "title": "MessageRole"
      },
      "MessageType": {
        "type": "string",
        "enum": [
          "message",
          "summary",
          "filter",
          "tag"
        ],
        "title": "MessageType"
      },
      "PriceWithCurrency": {
        "properties": {
          "amount": {
            "type": "integer",
            "title": "Amount"
          },
          "currency": {
            "type": "string",
            "title": "Currency"
          }
        },
        "type": "object",
        "required": [
          "amount",
          "currency"
        ],
        "title": "PriceWithCurrency"
      },
      "Product": {
        "properties": {
          "merchant_product_id": {
            "type": "string",
            "title": "Merchant Product Id"
          },
          "merchant_name": {
            "type": "string",
            "title": "Merchant Name"
          },
          "merchant_logo": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Logo"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "brand_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Brand Name"
          },
          "links": {
            "items": {
              "$ref": "#/components/schemas/Link"
            },
            "type": "array",
            "title": "Links"
          },
          "thumbnail": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Thumbnail"
          },
          "upc": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Upc"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "price": {
            "type": "string",
            "title": "Price"
          },
          "shipping_attributes": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/ShippingAttribute"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Shipping Attributes"
          },
          "extensions": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Extensions"
              },
              {
                "type": "null"
              }
            ]
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "reference_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reference Url"
          }
        },
        "type": "object",
        "required": [
          "merchant_product_id",
          "merchant_name",
          "merchant_logo",
          "name",
          "brand_name",
          "links",
          "thumbnail",
          "upc",
          "status",
          "price",
          "description",
          "reference_url"
        ],
        "title": "Product"
      },
      "Query": {
        "properties": {
          "query": {
            "type": "string",
            "title": "Query"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description",
            "description": "A description of a hypothetical product matching the query in order to improve the relevance of the search"
          },
          "num_results": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 10,
                "minimum": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Num Results",
            "default": 5
          },
          "min_price": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 1000000,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Min Price"
          },
          "max_price": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 1000000,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Price"
          }
        },
        "type": "object",
        "required": [
          "query"
        ],
        "title": "Query"
      },
      "QueryAPIRequest": {
        "properties": {
          "query": {
            "$ref": "#/components/schemas/Query"
          },
          "session": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Session"
              },
              {
                "type": "null"
              }
            ]
          },
          "messages": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/Message"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Messages"
          }
        },
        "type": "object",
        "required": [
          "query"
        ],
        "title": "QueryAPIRequest"
      },
      "QueryAPIResponse": {
        "properties": {
          "token": {
            "type": "string",
            "title": "Token"
          },
          "results": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/QueryResult"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Results"
          }
        },
        "type": "object",
        "required": [
          "token"
        ],
        "title": "QueryAPIResponse"
      },
      "QueryResult": {
        "properties": {
          "query": {
            "$ref": "#/components/schemas/Query"
          },
          "products": {
            "items": {
              "$ref": "#/components/schemas/Product"
            },
            "type": "array",
            "title": "Products"
          }
        },
        "type": "object",
        "required": [
          "query",
          "products"
        ],
        "title": "QueryResult"
      },
      "Session": {
        "properties": {
          "session_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Id"
          },
          "user_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id"
          },
          "locale": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Locale",
            "default": "en-US"
          }
        },
        "type": "object",
        "title": "Session"
      },
      "ShippingAttribute": {
        "type": "string",
        "enum": [
          "free_shipping",
          "one_day_shipping",
          "two_day_shipping",
          "in_store_pickup"
        ],
        "title": "ShippingAttribute"
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      }
    },
    "securitySchemes": {
      "APIKeyHeader": {
        "type": "apiKey",
        "in": "header",
        "name": "x-api-key"
      }
    }
  }
}