UNPKG

@storecraft/core

Version:
1 lines 4.88 MB
{"openapi":"3.0.0","info":{"version":"1.0.0","title":"StoreCraft API","description":"Welcome to the `StoreCraft` **API**"},"servers":[{"url":"/api"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"},"basicAuth":{"type":"http","scheme":"basic"},"apiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-KEY"}},"schemas":{"storecraftConfigSchema":{"type":"object","properties":{"dashboard_version":{"type":"string","default":"the same version of `core` version","description":"The `storecraft` dashboard default version"},"chat_version":{"type":"string","default":"the same version of `core` version","description":"The `storecraft` AI Chat default version"},"general_store_name":{"type":"string","description":"The store name\n`platform.env.SC_GENERAL_STORE_NAME` environment"},"general_store_website":{"type":"string","description":"The store `website`\n`platform.env.SC_GENERAL_STORE_WEBSITE` environment"},"general_store_logo_url":{"type":"string","description":"The store `logo` url\n`platform.env.SC_GENERAL_STORE_LOGO_URL` environment"},"general_store_description":{"type":"string","description":"The store `description`\n`platform.env.SC_GENERAL_STORE_DESCRIPTION` environment"},"general_store_support_email":{"type":"string","description":"The store support email\n`platform.env.SC_GENERAL_STORE_SUPPORT_EMAIL` environment"},"general_confirm_email_base_url":{"type":"string","default":"`platform.env.SC_GENERAL_STORE_CONFIRM_EMAIL_BASE_URL` environment","description":"The store `email-confirm` base url into which a template\naction button will link into including a `token` as a query parameter.\n\n### For example:\nSuppose the base url is `https://store.com/confirm`,\nthen `storecraft` default email template will use this to send\na link with `https://store.com/confirm?token{{CONFIRM_TOKEN}}`\n\nYou can use this to delegate into `storecraft` auth backend endpoint\n`/api/auth/confirm-email?token{{CONFIRM_TOKEN}}`"},"general_forgot_password_confirm_base_url":{"type":"string","default":"`platform.env.SC_GENERAL_STORE_FORGOT_PASSWORD_CONFIRM_BASE_URL` environment","description":"The store `forgot-password` base url, into which template action\nbutton will link into including a `token` as a query parameter.\n\n### For example:\nSuppose the base url is `https://store.com/forgot-password-confirm`,\nthen `storecraft` default email template will use this to send\na link with `https://store.com/forgot-password-confirm?token{{CONFIRM_TOKEN}}`\n\nYou can use this to delegate into `storecraft` auth backend endpoint\n`/api/auth/forgot-password-request-confirm?token{{CONFIRM_TOKEN}}`"},"auth_admins_emails":{"type":"array","items":{"type":"string"},"description":"Seed admin emails, if absent will be infered at init by\n`platform.env.SC_AUTH_ADMIN_EMAILS` environment as CSV of emails"},"auth_secret_access_token":{"type":"string","description":"access token signing secret, if absent will be infered\nat init by `platform.env.SC_AUTH_SECRET_ACCESS_TOKEN` environment"},"auth_secret_refresh_token":{"type":"string","description":"refresh token signing secret, if absent will be infered at\ninit by `platform.env.SC_AUTH_SECRET_REFRESH_TOKEN` environment"},"auth_secret_forgot_password_token":{"type":"string","description":"forgot password token signing secret, if absent will be infered at\ninit by `platform.env.SC_AUTH_SECRET_FORGOT_PASSWORD_TOKEN` environment"},"auth_secret_confirm_email_token":{"type":"string","description":"Confirm email signing secret, if absent will be infered at\ninit by `platform.env.SC_AUTH_SECRET_CONFIRM_EMAIL_TOKEN` environment"},"checkout_reserve_stock_on":{"anyOf":[{"type":"string","enum":["checkout_create"]},{"type":"string","enum":["checkout_complete"]},{"type":"string","enum":["never"]}],"default":"never","description":"(Optional) automatically reserve stock, we recommend to use `never`.\nDepending on your needs you can alter this setting.\nif absent will be infered at init by `platform.env.SC_CHECKOUT_RESERVE_STOCK_ON`\nenvironment and then will default to `never`."},"storage_rewrite_urls":{"type":"string","default":"undefined","description":"(Optional) Once object `storage` is used, you may have connected a\n**CDN** to buckets to take advantage of faster assets serving instead of serving\nfrom your server / the storage service directly. If you are using an cloud based\nstorage service such as AWS S3, it is very recommended to attach the bucket to\na **CDN** for super fast and efficient serving.\n\nTake note, most cloud based storage services and `storecraft` drivers support creating\n`presigned` urls for `download` / `upload`, which essentially delegate these operations\nto the storage services. However, **CDN** is always the best choice for assets serving\ncost and latency wise.\n\nif absent will be infered at init by `platform.env.SC_STORAGE_REWRITE_URLS` environment."},"cors":{"type":"object","properties":{"origin":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"allowMethods":{"type":"array","items":{"type":"string"}},"allowHeaders":{"type":"array","items":{"type":"string"}},"exposeHeaders":{"type":"array","items":{"type":"string"}},"maxAge":{"type":"number"},"credentials":{"type":"boolean"}},"required":["origin"],"description":"(Optional) Your chance to override the default `CORS` config\nfor HTTP requests"}}},"chat metadata":{"type":"object","properties":{"id":{"type":"string","description":"ID"},"created_at":{"type":"string","description":"ISO string creation time"},"updated_at":{"type":"string","description":"ISO string update time"},"handle":{"type":"string","description":"The key name"},"media":{"type":"array","items":{"type":"string"},"description":"List of images urls"},"attributes":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"The key"},"value":{"type":"string","description":"The value"}},"required":["key"]},"description":"List of attributes"},"tags":{"type":"array","items":{"type":"string"},"description":"List of tags , example ['genere_action', 'rated_M', ...]"},"description":{"type":"string","description":"Rich description"},"active":{"type":"boolean","description":"Is the entity active ?"},"search":{"type":"array","items":{"type":"string"},"description":"search terms"},"customer_id":{"type":"string","description":"The customer `id`"},"customer_email":{"type":"string","description":"The customer `email`"},"extra":{"type":"object","additionalProperties":{"nullable":true,"description":"Extra metadata coming from consumer."},"description":"Extra metadata coming from consumer."}},"required":["id","handle"]},"chat metadataUpsert":{"type":"object","properties":{"created_at":{"type":"string","description":"ISO string creation time"},"updated_at":{"type":"string","description":"ISO string update time"},"media":{"type":"array","items":{"type":"string"},"description":"List of images urls"},"attributes":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"The key"},"value":{"type":"string","description":"The value"}},"required":["key"]},"description":"List of attributes"},"tags":{"type":"array","items":{"type":"string"},"description":"List of tags , example ['genere_action', 'rated_M', ...]"},"description":{"type":"string","description":"Rich description"},"active":{"type":"boolean","description":"Is the entity active ?"},"search":{"type":"array","items":{"type":"string"},"description":"search terms"},"customer_id":{"type":"string","description":"The customer `id`"},"customer_email":{"type":"string","description":"The customer `email`"},"extra":{"type":"object","additionalProperties":{"nullable":true,"description":"Extra metadata coming from consumer."},"description":"Extra metadata coming from consumer."},"id":{"type":"string","description":"Optional `id`"},"handle":{"type":"string","description":"Optional `handle`"}}},"chatHistoryTypeSchema":{"type":"object","properties":{"thread_id":{"type":"string","description":"The thread / chat id"},"metadata":{"type":"object","additionalProperties":{"nullable":true},"description":"The metadata to save"},"messages":{"type":"array","items":{"type":"object","properties":{"role":{"anyOf":[{"type":"string","enum":["user"]},{"type":"string","enum":["assistant"]}],"description":"role of the message"},"contents":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"content":{"type":"string"}},"required":["type","content"],"description":"text content type for messages"},{"type":"object","properties":{"type":{"type":"string","enum":["delta_text"]},"content":{"type":"string"}},"required":["type","content"],"description":"partial text content type for messages"},{"type":"object","properties":{"type":{"type":"string","enum":["tool_use"]},"content":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"title":{"type":"string"},"id":{"type":"string"},"arguments":{"type":"object","additionalProperties":{"nullable":true}}}}}},"required":["type","content"],"description":"tool use content type for messages"},{"type":"object","properties":{"type":{"type":"string","enum":["tool_result"]},"content":{"type":"object","properties":{"data":{"type":"object","properties":{"result":{"nullable":true},"error":{"nullable":true}}},"id":{"type":"string"},"name":{"type":"string"}},"required":["data","name"]}},"required":["type","content"],"description":"tool result content type for messages"},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"content":{"type":"string"}},"required":["type","content"],"description":"image content type for messages"},{"type":"object","properties":{"type":{"type":"string","enum":["json"]},"content":{"type":"string"}},"required":["type","content"],"description":"json content type for messages"},{"type":"object","properties":{"type":{"type":"string","enum":["object"]},"content":{"type":"object","additionalProperties":{"nullable":true}}},"required":["type","content"],"description":"object content type for messages"},{"type":"object","properties":{"type":{"type":"string","enum":["error"]},"content":{"anyOf":[{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}},{"type":"string"}]}},"required":["type","content"],"description":"error content type for messages"}],"description":"A general content type from and to user"},"description":"contents of the message"}},"required":["role","contents"],"description":"Unified message type translatable to and\nfrom LLM native message"},"description":"The chat messages"}},"required":["metadata","messages"],"description":"The type being saved in the history"},"PresignedUrl":{"type":"object","properties":{"url":{"type":"string","description":"The request url to follow"},"method":{"type":"string","enum":["GET","POST","PUT"],"description":"The request method"},"headers":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional request headers"}},"required":["url","method"]},"similaritySearchResultSchema":{"type":"object","properties":{"context":{"type":"object","properties":{"metric":{"anyOf":[{"type":"string","enum":["cosine"]},{"type":"string","enum":["euclidean"]},{"type":"string","enum":["dotproduct"]}],"description":"The metric used for similarity so you can interpret the results"},"dimensions":{"type":"number","description":"The embedding dimensions of the vector store"}},"description":"The context of the search"},"items":{"type":"array","items":{"type":"object","properties":{"score":{"type":"number","description":"The score of similarity, lower is better"},"namespace":{"anyOf":[{"type":"string","enum":["products"]},{"type":"string","enum":["discounts"]},{"type":"string","enum":["collections"]},{"type":"string","enum":["shipping"]},{"type":"string","enum":["all"]},{"type":"string","enum":["*"]}],"description":"The namespace of the content"},"content":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","description":"ID"},"created_at":{"type":"string","description":"ISO string creation time"},"updated_at":{"type":"string","description":"ISO string update time"},"handle":{"type":"string","description":"The key name"},"media":{"type":"array","items":{"type":"string"},"description":"List of images urls"},"attributes":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"The key"},"value":{"type":"string","description":"The value"}},"required":["key"]},"description":"List of attributes"},"tags":{"type":"array","items":{"type":"string"},"description":"List of tags , example ['genere_action', 'rated_M', ...]"},"description":{"type":"string","description":"Rich description"},"active":{"type":"boolean","description":"Is the product active ?"},"search":{"type":"array","items":{"type":"string"},"description":"search terms"},"isbn":{"type":"string","description":"The International Standard Book Number (`ISBN`)"},"title":{"type":"string","minLength":3,"description":"Title of the product"},"video":{"type":"string","description":"Video media url"},"price":{"type":"number","minimum":0,"description":"Price of the product"},"qty":{"type":"number","minimum":0,"description":"Integer stock quantity of product"},"compare_at_price":{"type":"number","minimum":0,"description":"Compare at price point"},"collections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"ID"},"created_at":{"type":"string","description":"ISO string creation time"},"updated_at":{"type":"string","description":"ISO string update time"},"handle":{"type":"string","description":"The key name"},"media":{"type":"array","items":{"type":"string"},"description":"List of images urls"},"attributes":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"The key"},"value":{"type":"string","description":"The value"}},"required":["key"]},"description":"List of attributes"},"tags":{"type":"array","items":{"type":"string"},"description":"List of tags , example ['genere_action', 'rated_M', ...]"},"description":{"type":"string","description":"Rich description"},"active":{"type":"boolean","description":"Is the entity active ?"},"search":{"type":"array","items":{"type":"string"},"description":"search terms"},"title":{"type":"string","minLength":3,"description":"Title of collection"},"published":{"type":"string","description":"Collections can be exported into\njson with products, this is the url"}},"required":["id","handle","active","title"]},"description":"Collections this product belongs to, expanded field"},"discounts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"ID"},"created_at":{"type":"string","description":"ISO string creation time"},"updated_at":{"type":"string","description":"ISO string update time"},"handle":{"type":"string","description":"The key name"},"media":{"type":"array","items":{"type":"string"},"description":"List of images urls"},"attributes":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"The key"},"value":{"type":"string","description":"The value"}},"required":["key"]},"description":"List of attributes"},"tags":{"type":"array","items":{"type":"string"},"description":"List of tags , example ['genere_action', 'rated_M', ...]"},"description":{"type":"string","description":"Rich description"},"active":{"type":"boolean","description":"Is the discount active ?"},"search":{"type":"array","items":{"type":"string"},"description":"search terms"},"title":{"type":"string","minLength":3,"description":"Title of discount"},"priority":{"type":"number","description":"The order in which to apply the discounts\nstack (priority)"},"published":{"type":"string","description":"Discounts may generate collections, this\nis the collection handle that contains the applicable\ndiscount products"},"info":{"type":"object","properties":{"details":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["regular"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[0]},"type":{"type":"string","enum":["regular"]},"name":{"type":"string"}},"required":["id","type"],"description":"metadata to identify the interface of discount"},"extra":{"type":"object","properties":{"fixed":{"type":"number","description":"`RegularDiscountExtra` params, Fixed price addition"},"percent":{"type":"number","description":"`RegularDiscountExtra` params, Percents off"}},"required":["fixed","percent"],"description":"Extra parameters of the specific discount interface"}},"required":["extra"]},{"type":"object","properties":{"type":{"type":"string","enum":["bulk"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[1]},"type":{"type":"string","enum":["bulk"]},"name":{"type":"string"}},"required":["id","type"],"description":"metadata to identify the interface of discount"},"extra":{"type":"object","properties":{"fixed":{"type":"number","description":"`BulkDiscountExtra` params, Fixed price addition"},"percent":{"type":"number","description":"`BulkDiscountExtra` params, Percents off"},"qty":{"type":"number","description":"`BulkDiscountExtra` params, The integer quantity\nfor which the discount is given"},"recursive":{"type":"boolean","description":"`BulkDiscountExtra` params, Apply the discount as\nmany times as possible"}},"required":["fixed","percent","qty"],"description":"Extra parameters of the specific discount interface"}},"required":["extra"]},{"type":"object","properties":{"type":{"type":"string","enum":["bundle"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[4]},"type":{"type":"string","enum":["bundle"]},"name":{"type":"string"}},"required":["id","type"],"description":"metadata to identify the interface of discount"},"extra":{"type":"object","properties":{"fixed":{"type":"number","description":"`BundleDiscountExtra` params, Fixed price addition"},"percent":{"type":"number","description":"`BundleDiscountExtra` params, Percents off"},"recursive":{"type":"boolean","description":"`BundleDiscountExtra` params, Apply the discount\nas many times as possible"}},"required":["fixed","percent"],"description":"Extra parameters of the specific discount interface"}},"required":["extra"]},{"type":"object","properties":{"type":{"type":"string","enum":["buy_x_get_y"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[2]},"type":{"type":"string","enum":["buy_x_get_y"]},"name":{"type":"string"}},"required":["id","type"],"description":"metadata to identify the interface of discount"},"extra":{"type":"object","properties":{"fixed":{"type":"number","description":"`BuyXGetYDiscountExtra` params, Fixed price addition"},"percent":{"type":"number","description":"`BuyXGetYDiscountExtra` params, Percents off"},"qty_x":{"type":"number","description":"`BuyXGetYDiscountExtra` params, The integer\nquantity of BUY X"},"qty_y":{"type":"number","description":"`BuyXGetYDiscountExtra` params, The integer quantity\nof BUY Y"},"filters_y":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"op":{"type":"string","enum":["p-all"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[6]},"type":{"type":"string","enum":["product"]},"op":{"type":"string","enum":["p-all"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"nullable":true}},"description":"Filter for product discount,\nthat chooses all products"},{"type":"object","properties":{"op":{"type":"string","enum":["p-in-collections"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[0]},"type":{"type":"string","enum":["product"]},"op":{"type":"string","enum":["p-in-collections"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"`p_in_collections` filter, `id` of collection"},"title":{"type":"string","description":"`p_in_collections` filter, `title` of collection"},"handle":{"type":"string","description":"`p_in_collections` filter, `handle` of the collection"}}},"description":"`p_in_collections` filter, supply array of collections\n`ids` and `handles`"}},"required":["value"],"description":"Filter for product in collections"},{"type":"object","properties":{"op":{"type":"string","enum":["p-not-in-collections"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[1]},"type":{"type":"string","enum":["product"]},"op":{"type":"string","enum":["p-not-in-collections"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"`p_in_collections` filter, `id` of collection"},"title":{"type":"string","description":"`p_in_collections` filter, `title` of collection"},"handle":{"type":"string","description":"`p_in_collections` filter, `handle` of the collection"}}}}},"required":["value"],"description":"Filter for product not in collections"},{"type":"object","properties":{"op":{"type":"string","enum":["p-in-products"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[2]},"type":{"type":"string","enum":["product"]},"op":{"type":"string","enum":["p-in-products"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"`p_in_products` filter, `id` of `product`"},"title":{"type":"string","description":"`p_in_products` filter, `title` of `product`"},"handle":{"type":"string","description":"`p_in_products` filter, `handle` of the `product`"}}}}},"required":["value"],"description":"Filter for product discount, product in handles"},{"type":"object","properties":{"op":{"type":"string","enum":["p-not-in-products"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[3]},"type":{"type":"string","enum":["product"]},"op":{"type":"string","enum":["p-not-in-products"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"`p_in_products` filter, `id` of `product`"},"title":{"type":"string","description":"`p_in_products` filter, `title` of `product`"},"handle":{"type":"string","description":"`p_in_products` filter, `handle` of the `product`"}}}}},"required":["value"],"description":"Filter for product discount, product not in handles"},{"type":"object","properties":{"op":{"type":"string","enum":["p-in-tags"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[4]},"type":{"type":"string","enum":["product"]},"op":{"type":"string","enum":["p-in-tags"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"array","items":{"type":"string"}}},"required":["value"],"description":"Filter for product discount, product has tags"},{"type":"object","properties":{"op":{"type":"string","enum":["p-not-in-tags"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[5]},"type":{"type":"string","enum":["product"]},"op":{"type":"string","enum":["p-not-in-tags"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"array","items":{"type":"string"}}},"required":["value"],"description":"Filter for product discount, NOT has tags"},{"type":"object","properties":{"op":{"type":"string","enum":["p-in-price-range"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[7]},"type":{"type":"string","enum":["product"]},"op":{"type":"string","enum":["p-in-price-range"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"object","properties":{"from":{"type":"number","description":"`p_in_price_range` filter From price"},"to":{"type":"number","description":"`p_in_price_range` filter To price"}},"required":["to"]}},"required":["value"],"description":"Filter for product discount, product in price range"},{"type":"object","properties":{"op":{"type":"string","enum":["o-subtotal-in-range"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[100]},"type":{"type":"string","enum":["order"]},"op":{"type":"string","enum":["o-subtotal-in-range"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"object","properties":{"from":{"type":"number","description":"`o_subtotal_in_range` filter From price"},"to":{"type":"number","description":"`o_subtotal_in_range` filter To price"}}}},"required":["value"],"description":"Filter for order discount, subtotal in range"},{"type":"object","properties":{"op":{"type":"string","enum":["o-items-count-in-range"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[101]},"type":{"type":"string","enum":["order"]},"op":{"type":"string","enum":["o-items-count-in-range"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"object","properties":{"from":{"type":"number","description":"`o_items_count_in_range` filter From count"},"to":{"type":"number","description":"`o_items_count_in_range` filter To count"}}}},"required":["value"],"description":"Filter for order discount, items count in range"},{"type":"object","properties":{"op":{"type":"string","enum":["o-date-in-range"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[102]},"type":{"type":"string","enum":["order"]},"op":{"type":"string","enum":["o-date-in-range"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"object","properties":{"from":{"type":"string","description":"`o_date_in_range` filter From date `ISO` format"},"to":{"type":"string","description":"`o_date_in_range` filter To date `ISO` format"}}}},"required":["value"],"description":"Filter for order discount, subtotal in range"},{"type":"object","properties":{"op":{"type":"string","enum":["o-has-customer"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[103]},"type":{"type":"string","enum":["order"]},"op":{"type":"string","enum":["o-has-customer"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"`id` of `customer`"},"email":{"type":"string","description":"(optional) `email` of `customer`"},"firstname":{"type":"string","description":"(optional) readable `name` of `customer`"},"lastname":{"type":"string","description":"(optional) readable `name` of `customer`"}},"required":["id"]}}},"required":["value"],"description":"Filter for order discount, order has customer id"}],"description":"Discount filter schema"},"description":"`BuyXGetYDiscountExtra` params, The filters for what\na customer gets (Y)"},"recursive":{"type":"boolean","description":"`BuyXGetYDiscountExtra` params, Apply the discount\nas many times as possible"}},"required":["fixed","percent","qty_x","qty_y","filters_y"],"description":"Extra parameters of the specific discount interface"}},"required":["extra"]},{"type":"object","properties":{"type":{"type":"string","enum":["order"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[3]},"type":{"type":"string","enum":["order"]},"name":{"type":"string"}},"required":["id","type"],"description":"metadata to identify the interface of discount"},"extra":{"type":"object","properties":{"fixed":{"type":"number","description":"`OrderDiscountExtra` params, Fixed price addition"},"percent":{"type":"number","description":"`OrderDiscountExtra` params, Percents off"},"free_shipping":{"type":"boolean","description":"`OrderDiscountExtra` params, Do we have free shipping ?"}},"required":["fixed","percent"],"description":"Extra parameters of the specific discount interface"}},"required":["extra"]}],"description":"Discount details, decribes the `discount` interface and more"},"filters":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"op":{"type":"string","enum":["p-all"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[6]},"type":{"type":"string","enum":["product"]},"op":{"type":"string","enum":["p-all"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"nullable":true}},"description":"Filter for product discount,\nthat chooses all products"},{"type":"object","properties":{"op":{"type":"string","enum":["p-in-collections"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[0]},"type":{"type":"string","enum":["product"]},"op":{"type":"string","enum":["p-in-collections"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"`p_in_collections` filter, `id` of collection"},"title":{"type":"string","description":"`p_in_collections` filter, `title` of collection"},"handle":{"type":"string","description":"`p_in_collections` filter, `handle` of the collection"}}},"description":"`p_in_collections` filter, supply array of collections\n`ids` and `handles`"}},"required":["value"],"description":"Filter for product in collections"},{"type":"object","properties":{"op":{"type":"string","enum":["p-not-in-collections"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[1]},"type":{"type":"string","enum":["product"]},"op":{"type":"string","enum":["p-not-in-collections"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"`p_in_collections` filter, `id` of collection"},"title":{"type":"string","description":"`p_in_collections` filter, `title` of collection"},"handle":{"type":"string","description":"`p_in_collections` filter, `handle` of the collection"}}}}},"required":["value"],"description":"Filter for product not in collections"},{"type":"object","properties":{"op":{"type":"string","enum":["p-in-products"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[2]},"type":{"type":"string","enum":["product"]},"op":{"type":"string","enum":["p-in-products"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"`p_in_products` filter, `id` of `product`"},"title":{"type":"string","description":"`p_in_products` filter, `title` of `product`"},"handle":{"type":"string","description":"`p_in_products` filter, `handle` of the `product`"}}}}},"required":["value"],"description":"Filter for product discount, product in handles"},{"type":"object","properties":{"op":{"type":"string","enum":["p-not-in-products"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[3]},"type":{"type":"string","enum":["product"]},"op":{"type":"string","enum":["p-not-in-products"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"`p_in_products` filter, `id` of `product`"},"title":{"type":"string","description":"`p_in_products` filter, `title` of `product`"},"handle":{"type":"string","description":"`p_in_products` filter, `handle` of the `product`"}}}}},"required":["value"],"description":"Filter for product discount, product not in handles"},{"type":"object","properties":{"op":{"type":"string","enum":["p-in-tags"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[4]},"type":{"type":"string","enum":["product"]},"op":{"type":"string","enum":["p-in-tags"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"array","items":{"type":"string"}}},"required":["value"],"description":"Filter for product discount, product has tags"},{"type":"object","properties":{"op":{"type":"string","enum":["p-not-in-tags"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[5]},"type":{"type":"string","enum":["product"]},"op":{"type":"string","enum":["p-not-in-tags"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"array","items":{"type":"string"}}},"required":["value"],"description":"Filter for product discount, NOT has tags"},{"type":"object","properties":{"op":{"type":"string","enum":["p-in-price-range"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[7]},"type":{"type":"string","enum":["product"]},"op":{"type":"string","enum":["p-in-price-range"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"object","properties":{"from":{"type":"number","description":"`p_in_price_range` filter From price"},"to":{"type":"number","description":"`p_in_price_range` filter To price"}},"required":["to"]}},"required":["value"],"description":"Filter for product discount, product in price range"},{"type":"object","properties":{"op":{"type":"string","enum":["o-subtotal-in-range"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[100]},"type":{"type":"string","enum":["order"]},"op":{"type":"string","enum":["o-subtotal-in-range"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"object","properties":{"from":{"type":"number","description":"`o_subtotal_in_range` filter From price"},"to":{"type":"number","description":"`o_subtotal_in_range` filter To price"}}}},"required":["value"],"description":"Filter for order discount, subtotal in range"},{"type":"object","properties":{"op":{"type":"string","enum":["o-items-count-in-range"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[101]},"type":{"type":"string","enum":["order"]},"op":{"type":"string","enum":["o-items-count-in-range"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"object","properties":{"from":{"type":"number","description":"`o_items_count_in_range` filter From count"},"to":{"type":"number","description":"`o_items_count_in_range` filter To count"}}}},"required":["value"],"description":"Filter for order discount, items count in range"},{"type":"object","properties":{"op":{"type":"string","enum":["o-date-in-range"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[102]},"type":{"type":"string","enum":["order"]},"op":{"type":"string","enum":["o-date-in-range"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"object","properties":{"from":{"type":"string","description":"`o_date_in_range` filter From date `ISO` format"},"to":{"type":"string","description":"`o_date_in_range` filter To date `ISO` format"}}}},"required":["value"],"description":"Filter for order discount, subtotal in range"},{"type":"object","properties":{"op":{"type":"string","enum":["o-has-customer"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[103]},"type":{"type":"string","enum":["order"]},"op":{"type":"string","enum":["o-has-customer"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"`id` of `customer`"},"email":{"type":"string","description":"(optional) `email` of `customer`"},"firstname":{"type":"string","description":"(optional) readable `name` of `customer`"},"lastname":{"type":"string","description":"(optional) readable `name` of `customer`"}},"required":["id"]}}},"required":["value"],"description":"Filter for order discount, order has customer id"}],"description":"Discount filter schema"},"minItems":1,"description":"List of `discount` filters, which determine the\neligible `products` for the discount or the eligible `order`"}},"required":["details","filters"],"description":"Details and filters of the discount"},"application":{"anyOf":[{"type":"object","properties":{"id":{"type":"number","enum":[0]},"name":{"type":"string"},"name2":{"type":"string","enum":["automatic"]}},"required":["id","name2"]},{"type":"object","properties":{"id":{"type":"number","enum":[1]},"name":{"type":"string"},"name2":{"type":"string","enum":["manual"]}},"required":["id","name2"]}],"description":"Discount application (`automatic` and `manual`)"}},"required":["id","handle","active","title","priority","info","application"]},"description":"Discounts we know were applied to this product,\nexpanded interface"},"variants":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"ID"},"created_at":{"type":"string","description":"ISO string creation time"},"updated_at":{"type":"string","description":"ISO string update time"},"handle":{"type":"string","description":"The key name"},"media":{"type":"array","items":{"type":"string"},"description":"List of images urls"},"attributes":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"The key"},"value":{"type":"string","description":"The value"}},"required":["key"]},"description":"List of attributes"},"tags":{"type":"array","items":{"type":"string"},"description":"List of tags , example ['genere_action', 'rated_M', ...]"},"description":{"type":"string","description":"Rich description"},"active":{"type":"boolean","description":"Is the product active ?"},"search":{"type":"array","items":{"type":"string"},"description":"search terms"},"isbn":{"type":"string","description":"The International Standard Book Number (`ISBN`)"},"title":{"type":"string","minLength":3,"description":"Title of the product"},"video":{"type":"string","description":"Video media url"},"price":{"type":"number","minimum":0,"description":"Price of the product"},"qty":{"type":"number","minimum":0,"description":"Integer stock quantity of product"},"compare_at_price":{"type":"number","minimum":0,"description":"Compare at price point"},"collections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"ID"},"created_at":{"type":"string","description":"ISO string creation time"},"updated_at":{"type":"string","description":"ISO string update time"},"handle":{"type":"string","description":"The key name"},"media":{"type":"array","items":{"type":"string"},"description":"List of images urls"},"attributes":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"The key"},"value":{"type":"string","description":"The value"}},"required":["key"]},"description":"List of attributes"},"tags":{"type":"array","items":{"type":"string"},"description":"List of tags , example ['genere_action', 'rated_M', ...]"},"description":{"type":"string","description":"Rich description"},"active":{"type":"boolean","description":"Is the entity active ?"},"search":{"type":"array","items":{"type":"string"},"description":"search terms"},"title":{"type":"string","minLength":3,"description":"Title of collection"},"published":{"type":"string","description":"Collections can be exported into\njson with products, this is the url"}},"required":["id","handle","active","title"]},"description":"Collections this product belongs to, expanded field"},"discounts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"ID"},"created_at":{"type":"string","description":"ISO string creation time"},"updated_at":{"type":"string","description":"ISO string update time"},"handle":{"type":"string","description":"The key name"},"media":{"type":"array","items":{"type":"string"},"description":"List of images urls"},"attributes":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"The key"},"value":{"type":"string","description":"The value"}},"required":["key"]},"description":"List of attributes"},"tags":{"type":"array","items":{"type":"string"},"description":"List of tags , example ['genere_action', 'rated_M', ...]"},"description":{"type":"string","description":"Rich description"},"active":{"type":"boolean","description":"Is the discount active ?"},"search":{"type":"array","items":{"type":"string"},"description":"search terms"},"title":{"type":"string","minLength":3,"description":"Title of discount"},"priority":{"type":"number","description":"The order in which to apply the discounts\nstack (priority)"},"published":{"type":"string","description":"Discounts may generate collections, this\nis the collection handle that contains the applicable\ndiscount products"},"info":{"type":"object","properties":{"details":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["regular"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[0]},"type":{"type":"string","enum":["regular"]},"name":{"type":"string"}},"required":["id","type"],"description":"metadata to identify the interface of discount"},"extra":{"type":"object","properties":{"fixed":{"type":"number","description":"`RegularDiscountExtra` params, Fixed price addition"},"percent":{"type":"number","description":"`RegularDiscountExtra` params, Percents off"}},"required":["fixed","percent"],"description":"Extra parameters of the specific discount interface"}},"required":["extra"]},{"type":"object","properties":{"type":{"type":"string","enum":["bulk"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[1]},"type":{"type":"string","enum":["bulk"]},"name":{"type":"string"}},"required":["id","type"],"description":"metadata to identify the interface of discount"},"extra":{"type":"object","properties":{"fixed":{"type":"number","description":"`BulkDiscountExtra` params, Fixed price addition"},"percent":{"type":"number","description":"`BulkDiscountExtra` params, Percents off"},"qty":{"type":"number","description":"`BulkDiscountExtra` params, The integer quantity\nfor which the discount is given"},"recursive":{"type":"boolean","description":"`BulkDiscountExtra` params, Apply the discount as\nmany times as possible"}},"required":["fixed","percent","qty"],"description":"Extra parameters of the specific discount interface"}},"required":["extra"]},{"type":"object","properties":{"type":{"type":"string","enum":["bundle"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[4]},"type":{"type":"string","enum":["bundle"]},"name":{"type":"string"}},"required":["id","type"],"description":"metadata to identify the interface of discount"},"extra":{"type":"object","properties":{"fixed":{"type":"number","description":"`BundleDiscountExtra` params, Fixed price addition"},"percent":{"type":"number","description":"`BundleDiscountExtra` params, Percents off"},"recursive":{"type":"boolean","description":"`BundleDiscountExtra` params, Apply the discount\nas many times as possible"}},"required":["fixed","percent"],"description":"Extra parameters of the specific discount interface"}},"required":["extra"]},{"type":"object","properties":{"type":{"type":"string","enum":["buy_x_get_y"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[2]},"type":{"type":"string","enum":["buy_x_get_y"]},"name":{"type":"string"}},"required":["id","type"],"description":"metadata to identify the interface of discount"},"extra":{"type":"object","properties":{"fixed":{"type":"number","description":"`BuyXGetYDiscountExtra` params, Fixed price addition"},"percent":{"type":"number","description":"`BuyXGetYDiscountExtra` params, Percents off"},"qty_x":{"type":"number","description":"`BuyXGetYDiscountExtra` params, The integer\nquantity of BUY X"},"qty_y":{"type":"number","description":"`BuyXGetYDiscountExtra` params, The integer quantity\nof BUY Y"},"filters_y":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"op":{"type":"string","enum":["p-all"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[6]},"type":{"type":"string","enum":["product"]},"op":{"type":"string","enum":["p-all"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"nullable":true}},"description":"Filter for product discount,\nthat chooses all products"},{"type":"object","properties":{"op":{"type":"string","enum":["p-in-collections"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[0]},"type":{"type":"string","enum":["product"]},"op":{"type":"string","enum":["p-in-collections"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"`p_in_collections` filter, `id` of collection"},"title":{"type":"string","description":"`p_in_collections` filter, `title` of collection"},"handle":{"type":"string","description":"`p_in_collections` filter, `handle` of the collection"}}},"description":"`p_in_collections` filter, supply array of collections\n`ids` and `handles`"}},"required":["value"],"description":"Filter for product in collections"},{"type":"object","properties":{"op":{"type":"string","enum":["p-not-in-collections"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[1]},"type":{"type":"string","enum":["product"]},"op":{"type":"string","enum":["p-not-in-collections"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"`p_in_collections` filter, `id` of collection"},"title":{"type":"string","description":"`p_in_collections` filter, `title` of collection"},"handle":{"type":"string","description":"`p_in_collections` filter, `handle` of the collection"}}}}},"required":["value"],"description":"Filter for product not in collections"},{"type":"object","properties":{"op":{"type":"string","enum":["p-in-products"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[2]},"type":{"type":"string","enum":["product"]},"op":{"type":"string","enum":["p-in-products"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"`p_in_products` filter, `id` of `product`"},"title":{"type":"string","description":"`p_in_products` filter, `title` of `product`"},"handle":{"type":"string","description":"`p_in_products` filter, `handle` of the `product`"}}}}},"required":["value"],"description":"Filter for product discount, product in handles"},{"type":"object","properties":{"op":{"type":"string","enum":["p-not-in-products"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[3]},"type":{"type":"string","enum":["product"]},"op":{"type":"string","enum":["p-not-in-products"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"`p_in_products` filter, `id` of `product`"},"title":{"type":"string","description":"`p_in_products` filter, `title` of `product`"},"handle":{"type":"string","description":"`p_in_products` filter, `handle` of the `product`"}}}}},"required":["value"],"description":"Filter for product discount, product not in handles"},{"type":"object","properties":{"op":{"type":"string","enum":["p-in-tags"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[4]},"type":{"type":"string","enum":["product"]},"op":{"type":"string","enum":["p-in-tags"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"array","items":{"type":"string"}}},"required":["value"],"description":"Filter for product discount, product has tags"},{"type":"object","properties":{"op":{"type":"string","enum":["p-not-in-tags"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[5]},"type":{"type":"string","enum":["product"]},"op":{"type":"string","enum":["p-not-in-tags"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"array","items":{"type":"string"}}},"required":["value"],"description":"Filter for product discount, NOT has tags"},{"type":"object","properties":{"op":{"type":"string","enum":["p-in-price-range"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[7]},"type":{"type":"string","enum":["product"]},"op":{"type":"string","enum":["p-in-price-range"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"object","properties":{"from":{"type":"number","description":"`p_in_price_range` filter From price"},"to":{"type":"number","description":"`p_in_price_range` filter To price"}},"required":["to"]}},"required":["value"],"description":"Filter for product discount, product in price range"},{"type":"object","properties":{"op":{"type":"string","enum":["o-subtotal-in-range"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[100]},"type":{"type":"string","enum":["order"]},"op":{"type":"string","enum":["o-subtotal-in-range"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"object","properties":{"from":{"type":"number","description":"`o_subtotal_in_range` filter From price"},"to":{"type":"number","description":"`o_subtotal_in_range` filter To price"}}}},"required":["value"],"description":"Filter for order discount, subtotal in range"},{"type":"object","properties":{"op":{"type":"string","enum":["o-items-count-in-range"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[101]},"type":{"type":"string","enum":["order"]},"op":{"type":"string","enum":["o-items-count-in-range"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"object","properties":{"from":{"type":"number","description":"`o_items_count_in_range` filter From count"},"to":{"type":"number","description":"`o_items_count_in_range` filter To count"}}}},"required":["value"],"description":"Filter for order discount, items count in range"},{"type":"object","properties":{"op":{"type":"string","enum":["o-date-in-range"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[102]},"type":{"type":"string","enum":["order"]},"op":{"type":"string","enum":["o-date-in-range"]},"name":{"type":"string"}},"required":["id","type","op"]},"value":{"type":"object","properties":{"from":{"type":"string","description":"`o_date_in_range` filter From date `ISO` format"},"to":{"type":"string","description":"`o_date_in_range` filter To date `ISO` format"}}}},"required":["value"],"description":"Filter for order discount, subtotal in range"},{"type":"object","properties":{"op":{"type":"string","enum":["o-has-customer"]},"meta":{"type":"object","properties":{"id":{"type":"number","enum":[103]},"t