Gelato MCP by usefulapi

Browse the Gelato catalog, prices, orders and shipping; quote, create draft orders and products.

我該用這個嗎

品質與安全性

B
說明品質
94%
結構描述完整度
95%
命名品質
79%
汙染風險
60%
權限相符程度
100%
協定合規性
100%

發現項目(7)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool 'gelato_get_template' description contains placeholder text在 gelato_get_template 中
  • MEDIUMTool 'gelato_create_product_from_template' description contains placeholder text在 gelato_create_product_from_template 中
  • LOWTool 'gelato_check_stock' description lacks action verb在 gelato_check_stock 中
  • LOWTool 'gelato_create_product_from_template' name length outside 3-30 range在 gelato_create_product_from_template 中
  • INFOTool description contains placeholder or incomplete text在 gelato_get_template 中
  • INFOTool description contains placeholder or incomplete text在 gelato_create_product_from_template 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~7,145Token(工具定義)
~3.1 KB典型回應大小
顯著的注意力影響(128k 上下文的 5.58%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "gelato": {
      "url": "https://gelato.usefulapi.io/mcp"
    }
  }
}

遠端端點

https://gelato.usefulapi.io/mcpstreamable-http

它能做什麼

工具清單

工具(19)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢gelato_list_catalogs

List Gelato's product catalogs (posters, cards, t-shirts, mugs, photo books, ...) with their catalogUid and title. Start here to find products. GET product.gelatoapis.com/v3/catalogs.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢gelato_get_catalog(catalog_uid)

One catalog with the attributes that define its products (e.g. PaperFormat, PaperType, ColorType) and each attribute's possible values. Use them as attribute_filters in gelato_search_products. GET /v3/catalogs/{catalogUid}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "catalog_uid": {
      "type": "string",
      "minLength": 1,
      "maxLength": 400,
      "pattern": "^[A-Za-z0-9_.+-]+$",
      "description": "Catalog UID, e.g. \"posters\" (from gelato_list_catalogs)."
    }
  },
  "required": [
    "catalog_uid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢gelato_search_products(catalog_uid, attribute_filters, limit, offset)

List the products of a catalog, optionally filtered by attribute values, with each product's productUid, attributes, weight and dimensions, plus hit counts per attribute value. POST /v3/catalogs/{catalogUid}/products:search.

輸入結構描述

{
  "type": "object",
  "properties": {
    "catalog_uid": {
      "type": "string",
      "minLength": 1,
      "maxLength": 400,
      "pattern": "^[A-Za-z0-9_.+-]+$",
      "description": "Catalog UID, e.g. \"posters\"."
    },
    "attribute_filters": {
      "description": "Attribute name → accepted values, e.g. {\"Orientation\":[\"hor\"],\"PaperFormat\":[\"A4\",\"A3\"]} (names and values from gelato_get_catalog).",
      "type": "object",
      "propertyNames": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      },
      "additionalProperties": {
        "minItems": 1,
        "maxItems": 50,
        "type": "array",
        "items": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        }
      }
    },
    "limit": {
      "description": "Results per page, 1-100 (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "offset": {
      "description": "Number of results to skip (default 0). Pass the previous reply's next_offset.",
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000
    }
  },
  "required": [
    "catalog_uid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢gelato_get_product(product_uid)

One catalog product by productUid: attributes, weight, supported and unsupported countries, whether it is printable or stockable, and valid page counts for multi-page products. GET /v3/products/{productUid}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "product_uid": {
      "type": "string",
      "minLength": 1,
      "maxLength": 400,
      "pattern": "^[A-Za-z0-9_.+-]+$",
      "description": "Gelato product UID (from gelato_search_products)."
    }
  },
  "required": [
    "product_uid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢gelato_get_product_prices(product_uid, country, currency, page_count)

Gelato's production prices of a product for every quantity tier, optionally for one destination country and currency. page_count is required for multi-page products. Shipping is not included (use gelato_quote_order). GET /v3/products/{productUid}/prices.

輸入結構描述

{
  "type": "object",
  "properties": {
    "product_uid": {
      "type": "string",
      "minLength": 1,
      "maxLength": 400,
      "pattern": "^[A-Za-z0-9_.+-]+$",
      "description": "Gelato product UID."
    },
    "country": {
      "description": "2-letter ISO 3166-1 country code (the United Kingdom is GB, not UK).",
      "type": "string",
      "pattern": "^[A-Za-z]{2}$"
    },
    "currency": {
      "description": "3-letter ISO 4217 currency code, e.g. USD or EUR.",
      "type": "string",
      "pattern": "^[A-Za-z]{3}$"
    },
    "page_count": {
      "description": "Page count, required for multi-page products.",
      "type": "integer",
      "minimum": 1,
      "maximum": 10000
    }
  },
  "required": [
    "product_uid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢gelato_get_cover_dimensions(product_uid, page_count)

Cover layout of a multi-page product (photo book, brochure) in millimetres: spine, front, back, bleed and wraparound areas, for designing the cover file. GET /v3/products/{productUid}/cover-dimensions.

輸入結構描述

{
  "type": "object",
  "properties": {
    "product_uid": {
      "type": "string",
      "minLength": 1,
      "maxLength": 400,
      "pattern": "^[A-Za-z0-9_.+-]+$",
      "description": "Gelato product UID of a multi-page product."
    },
    "page_count": {
      "type": "integer",
      "minimum": 1,
      "maximum": 10000,
      "description": "Total page count including covers (see validPageCounts in gelato_get_product)."
    }
  },
  "required": [
    "product_uid",
    "page_count"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢gelato_check_stock(product_uids)

Stock status of stockable products per stock region (US-CA, EU, UK, OC, AS, SA, ROW): in-stock, out-of-stock-replenishable (with a replenishment date), out-of-stock, non-stockable or not-supported. POST /v3/stock/region-availability.

輸入結構描述

{
  "type": "object",
  "properties": {
    "product_uids": {
      "minItems": 1,
      "maxItems": 250,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 400,
        "pattern": "^[A-Za-z0-9_.+-]+$",
        "description": "Gelato product UID."
      },
      "description": "Product UIDs to check (1-250)."
    }
  },
  "required": [
    "product_uids"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢gelato_list_shipment_methods(country)

Gelato's shipment methods (shipmentMethodUid, name, type normal/express/pallet, tracking, business/private, supported destination countries), optionally only those for one destination country. GET shipment.gelatoapis.com/v1/shipment-methods.

輸入結構描述

{
  "type": "object",
  "properties": {
    "country": {
      "description": "Only methods that deliver to this 2-letter ISO country code.",
      "type": "string",
      "pattern": "^[A-Za-z]{2}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢gelato_search_orders(search, order_types, fulfillment_statuses, financial_statuses, countries, ...)

Search orders and drafts, newest first: id, your reference ids, order type, fulfillment and financial status, channel, store, country, currency, totals and dates. Filter by status, type, country, channel, store, reference, date range or free text (recipient name or order reference). POST /v4/orders:search.

輸入結構描述

{
  "type": "object",
  "properties": {
    "search": {
      "description": "Free text matched against the recipient's first or last name and orderReferenceId.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "order_types": {
      "description": "Only these order types.",
      "minItems": 1,
      "maxItems": 2,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "order",
          "draft"
        ]
      }
    },
    "fulfillment_statuses": {
      "description": "Only these fulfillment statuses.",
      "minItems": 1,
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "created",
          "passed",
          "failed",
          "canceled",
          "printed",
          "shipped",
          "draft",
          "pending_approval",
          "not_connected",
          "on_hold"
        ]
      }
    },
    "financial_statuses": {
      "description": "Only these financial statuses.",
      "minItems": 1,
      "maxItems": 9,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "draft",
          "pending",
          "invoiced",
          "to_be_invoiced",
          "paid",
          "canceled",
          "partially_refunded",
          "refunded",
          "refused"
        ]
      }
    },
    "countries": {
      "description": "Only orders shipping to these countries (2-letter ISO codes).",
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "description": "2-letter ISO 3166-1 country code (the United Kingdom is GB, not UK).",
        "type": "string",
        "pattern": "^[A-Za-z]{2}$"
      }
    },
    "currencies": {
      "description": "Only orders in these currencies.",
      "minItems": 1,
      "maxItems": 20,
      "type": "array",
      "items": {
        "description": "3-letter ISO 4217 currency code, e.g. USD or EUR.",
        "type": "string",
        "pattern": "^[A-Za-z]{3}$"
      }
    },
    "channels": {
      "description": "Only orders from these channels (ui, api, shopify, etsy).",
      "minItems": 1,
      "maxItems": 4,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "ui",
          "api",
          "shopify",
          "etsy"
        ]
      }
    },
    "store_ids": {
      "description": "Only orders from these e-commerce store ids.",
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100,
        "pattern": "^[A-Za-z0-9_-]+$",
        "description": "Gelato e-commerce store id."
      }
    },
    "ids": {
      "description": "Only these Gelato order ids.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100,
        "pattern": "^[A-Za-z0-9_-]+$",
        "description": "Gelato order id."
      }
    },
    "order_reference_ids": {
      "description": "Only orders with these orderReferenceIds.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200,
        "description": "Your order reference id."
      }
    },
    "start_date": {
      "description": "Only orders ordered or created on or after this ISO 8601 date-time (e.g. 2026-10-01T00:00:00Z).",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})(?:T(\\d{2}):(\\d{2})(?::(\\d{2})(?:\\.\\d{1,9})?)?(Z|[+-](\\d{2}):(\\d{2})))?$"
    },
    "end_date": {
      "description": "Only orders ordered or created on or before this ISO 8601 date-time.",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})(?:T(\\d{2}):(\\d{2})(?::(\\d{2})(?:\\.\\d{1,9})?)?(Z|[+-](\\d{2}):(\\d{2})))?$"
    },
    "limit": {
      "description": "Results per page, 1-100 (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "offset": {
      "description": "Number of results to skip (default 0). Pass the previous reply's next_offset.",
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢gelato_get_order(order_id)

One order by Gelato order id: type (order/draft), fulfillment and financial status, items with their files and statuses, shipment with packages and tracking codes/URLs, shipping address, receipts and totals. GET /v4/orders/{orderId}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Gelato order id (from gelato_search_orders)."
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢gelato_quote_order(order_reference_id, customer_reference_id, currency, recipient, products, ...)

Price an order before placing it: product prices and the available shipment methods (shipmentMethodUid, price, min/max delivery days and dates) per fulfillment facility, for a recipient address. Nothing is created or charged. Pass a returned shipmentMethodUid to gelato_create_order. POST /v4/orders:quote.

輸入結構描述

{
  "type": "object",
  "properties": {
    "order_reference_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Your order reference id for the quote."
    },
    "customer_reference_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Your customer reference id."
    },
    "currency": {
      "description": "3-letter ISO 4217 currency code, e.g. USD or EUR.",
      "type": "string",
      "pattern": "^[A-Za-z]{3}$"
    },
    "recipient": {
      "type": "object",
      "properties": {
        "first_name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 25,
          "description": "Recipient first name (Gelato allows 25 characters)."
        },
        "last_name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 25,
          "description": "Recipient last name (Gelato allows 25 characters)."
        },
        "company_name": {
          "description": "Company name (max 60 characters).",
          "type": "string",
          "minLength": 1,
          "maxLength": 60
        },
        "address_line1": {
          "type": "string",
          "minLength": 1,
          "maxLength": 35,
          "description": "Street and number (Gelato allows 35 characters)."
        },
        "address_line2": {
          "description": "Second address line (Gelato allows 35 characters).",
          "type": "string",
          "minLength": 1,
          "maxLength": 35
        },
        "city": {
          "type": "string",
          "minLength": 1,
          "maxLength": 30,
          "description": "City (Gelato allows 30 characters)."
        },
        "post_code": {
          "description": "Postal code (required where the country uses them).",
          "type": "string",
          "minLength": 1,
          "maxLength": 15
        },
        "state": {
          "description": "State/province code, required for US, CA and AU (e.g. NY).",
          "type": "string",
          "minLength": 1,
          "maxLength": 35
        },
        "country": {
          "description": "2-letter ISO 3166-1 country code (the United Kingdom is GB, not UK).",
          "type": "string",
          "pattern": "^[A-Za-z]{2}$"
        },
        "phone": {
          "description": "Recipient phone number.",
          "type": "string",
          "minLength": 1,
          "maxLength": 25
        },
        "email": {
          "type": "string",
          "maxLength": 254,
          "format": "email",
          "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
          "description": "Recipient email (required by Gelato; used for delivery notifications)."
        },
        "is_business": {
          "description": "Brazil only: true if the recipient is a company (then state_tax_id and registration_state_code apply).",
          "type": "boolean"
        },
        "federal_tax_id": {
          "description": "Brazil only, required there: CPF (person) or CNPJ (company).",
          "type": "string",
          "minLength": 1,
          "maxLength": 30
        },
        "state_tax_id": {
          "description": "Brazil only: the company's state tax id (Inscrição Estadual).",
          "type": "string",
          "minLength": 1,
          "maxLength": 30
        },
        "registration_state_code": {
          "description": "Brazil only: the state code where the company is registered.",
          "type": "string",
          "minLength": 1,
          "maxLength": 10
        }
      },
      "required": [
        "first_name",
        "last_name",
        "address_line1",
        "city",
        "country",
        "email"
      ],
      "additionalProperties": false,
      "description": "Delivery address the quote is for."
    },
    "products": {
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "item_reference_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Your id for this line, unique within the order."
          },
          "product_uid": {
            "type": "string",
            "minLength": 1,
            "maxLength": 400,
            "pattern": "^[A-Za-z0-9_.+-]+$",
            "description": "Gelato product UID (from gelato_search_products or a store product variant)."
          },
          "quantity": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100000,
            "description": "Quantity, at least 1."
          },
          "files": {
            "description": "Print files (required for printable products only).",
            "minItems": 1,
            "maxItems": 20,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "description": "Print area: \"default\" (the primary area, e.g. the front of apparel), \"front\", \"back\", or an embroidery position. Default \"default\".",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 50,
                  "pattern": "^[a-z0-9_-]+$"
                },
                "url": {
                  "type": "string",
                  "maxLength": 2048,
                  "format": "uri",
                  "description": "Public URL Gelato downloads the file from (PDF, PNG, TIFF, SVG or JPEG)."
                }
              },
              "required": [
                "url"
              ],
              "additionalProperties": false
            }
          },
          "page_count": {
            "description": "Page count, multi-page products only (covers included).",
            "type": "integer",
            "minimum": 1,
            "maximum": 10000
          }
        },
        "required": [
          "item_reference_id",
          "product_uid",
          "quantity"
        ],
        "additionalProperties": false
      },
      "description": "Products to quote."
    },
    "allow_multiple_quotes": {
      "description": "Default true: one quote per fulfillment facility when one facility cannot make everything. False: one combined quote.",
      "type": "boolean"
    }
  },
  "required": [
    "order_reference_id",
    "customer_reference_id",
    "currency",
    "recipient",
    "products"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴gelato_create_order(order_type, order_reference_id, customer_reference_id, currency, items, ...)

Create an order. By default it is a DRAFT: nothing is produced or charged until it is submitted with gelato_submit_draft_order (or in the dashboard). With order_type "order" Gelato starts production and charges the account right away. Shipment: a shipmentMethodUid from gelato_quote_order, or "normal"/"standard"/"express"; omitted = the cheapest. POST /v4/orders.

輸入結構描述

{
  "type": "object",
  "properties": {
    "order_type": {
      "description": "\"draft\" (default; review first) or \"order\" (produced and charged immediately).",
      "type": "string",
      "enum": [
        "draft",
        "order"
      ]
    },
    "order_reference_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Your internal order id."
    },
    "customer_reference_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Your internal customer id."
    },
    "currency": {
      "description": "3-letter ISO 4217 currency code, e.g. USD or EUR.",
      "type": "string",
      "pattern": "^[A-Za-z]{3}$"
    },
    "items": {
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "item_reference_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Your id for this line, unique within the order."
          },
          "product_uid": {
            "type": "string",
            "minLength": 1,
            "maxLength": 400,
            "pattern": "^[A-Za-z0-9_.+-]+$",
            "description": "Gelato product UID (from gelato_search_products or a store product variant)."
          },
          "quantity": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100000,
            "description": "Quantity, at least 1."
          },
          "files": {
            "description": "Print files (required for printable products only).",
            "minItems": 1,
            "maxItems": 20,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "description": "Print area: \"default\" (the primary area, e.g. the front of apparel), \"front\", \"back\", or an embroidery position. Default \"default\".",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 50,
                  "pattern": "^[a-z0-9_-]+$"
                },
                "url": {
                  "type": "string",
                  "maxLength": 2048,
                  "format": "uri",
                  "description": "Public URL Gelato downloads the file from (PDF, PNG, TIFF, SVG or JPEG)."
                }
              },
              "required": [
                "url"
              ],
              "additionalProperties": false
            }
          },
          "page_count": {
            "description": "Page count, multi-page products only (covers included).",
            "type": "integer",
            "minimum": 1,
            "maximum": 10000
          }
        },
        "required": [
          "item_reference_id",
          "product_uid",
          "quantity"
        ],
        "additionalProperties": false
      },
      "description": "Line items."
    },
    "shipping_address": {
      "type": "object",
      "properties": {
        "first_name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 25,
          "description": "Recipient first name (Gelato allows 25 characters)."
        },
        "last_name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 25,
          "description": "Recipient last name (Gelato allows 25 characters)."
        },
        "company_name": {
          "description": "Company name (max 60 characters).",
          "type": "string",
          "minLength": 1,
          "maxLength": 60
        },
        "address_line1": {
          "type": "string",
          "minLength": 1,
          "maxLength": 35,
          "description": "Street and number (Gelato allows 35 characters)."
        },
        "address_line2": {
          "description": "Second address line (Gelato allows 35 characters).",
          "type": "string",
          "minLength": 1,
          "maxLength": 35
        },
        "city": {
          "type": "string",
          "minLength": 1,
          "maxLength": 30,
          "description": "City (Gelato allows 30 characters)."
        },
        "post_code": {
          "description": "Postal code (required where the country uses them).",
          "type": "string",
          "minLength": 1,
          "maxLength": 15
        },
        "state": {
          "description": "State/province code, required for US, CA and AU (e.g. NY).",
          "type": "string",
          "minLength": 1,
          "maxLength": 35
        },
        "country": {
          "description": "2-letter ISO 3166-1 country code (the United Kingdom is GB, not UK).",
          "type": "string",
          "pattern": "^[A-Za-z]{2}$"
        },
        "phone": {
          "description": "Recipient phone number.",
          "type": "string",
          "minLength": 1,
          "maxLength": 25
        },
        "email": {
          "type": "string",
          "maxLength": 254,
          "format": "email",
          "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
          "description": "Recipient email (required by Gelato; used for delivery notifications)."
        },
        "is_business": {
          "description": "Brazil only: true if the recipient is a company (then state_tax_id and registration_state_code apply).",
          "type": "boolean"
        },
        "federal_tax_id": {
          "description": "Brazil only, required there: CPF (person) or CNPJ (company).",
          "type": "string",
          "minLength": 1,
          "maxLength": 30
        },
        "state_tax_id": {
          "description": "Brazil only: the company's state tax id (Inscrição Estadual).",
          "type": "string",
          "minLength": 1,
          "maxLength": 30
        },
        "registration_state_code": {
          "description": "Brazil only: the state code where the company is registered.",
          "type": "string",
          "minLength": 1,
          "maxLength": 10
        }
      },
      "required": [
        "first_name",
        "last_name",
        "address_line1",
        "city",
        "country",
        "email"
      ],
      "additionalProperties": false,
      "description": "Delivery address."
    },
    "shipment_method_uid": {
      "description": "A shipmentMethodUid from gelato_quote_order, or \"normal\", \"standard\", \"express\". Several values may be given separated by commas (no spaces). Omitted = cheapest.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "pattern": "^[A-Za-z0-9_.:-]+(,[A-Za-z0-9_.:-]+)*$"
    },
    "metadata": {
      "description": "Up to 20 key/value pairs stored on the order.",
      "minItems": 1,
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "value": {
            "type": "string",
            "maxLength": 100
          }
        },
        "required": [
          "key",
          "value"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "order_reference_id",
    "customer_reference_id",
    "currency",
    "items",
    "shipping_address"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴gelato_submit_draft_order(order_id)

Convert a DRAFT order into a regular order: Gelato starts production and charges the account. Items stay as they are. Only drafts can be submitted. PATCH /v4/orders/{orderId} {"orderType":"order"}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Gelato order id of a draft order."
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴gelato_cancel_order(order_id)

Cancel an order before production. Gelato refuses (HTTP 409) once any item is printed or the order has shipped. This cannot be undone. POST /v4/orders/{orderId}:cancel.

輸入結構描述

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Gelato order id."
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴gelato_delete_draft_order(order_id)

Permanently delete a DRAFT order (regular orders cannot be deleted; cancel them instead). DELETE /v4/orders/{orderId}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Gelato order id of a draft order."
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢gelato_list_store_products(store_id, order_by, order, limit, offset)

Products of a connected e-commerce store (Shopify, Etsy, WooCommerce, ...) as Gelato knows them: id, title, status (created/publishing/publishing_error/active), external id, variants with their productUid, preview images and dates. The store id is in the Gelato dashboard URL of the store and on its orders (storeId). GET ecommerce.gelatoapis.com/v1/stores/{storeId}/products.

輸入結構描述

{
  "type": "object",
  "properties": {
    "store_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Gelato e-commerce store id."
    },
    "order_by": {
      "description": "Sort field (default createdAt).",
      "type": "string",
      "enum": [
        "createdAt",
        "updatedAt"
      ]
    },
    "order": {
      "description": "Sort direction (default desc).",
      "type": "string",
      "enum": [
        "desc",
        "asc"
      ]
    },
    "limit": {
      "description": "Results per page, 1-100 (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "offset": {
      "description": "Number of results to skip (default 0). Pass the previous reply's next_offset.",
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000
    }
  },
  "required": [
    "store_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢gelato_get_store_product(store_id, product_id)

One product of a connected store: title, description, status, variants (with productUid and external ids), options, preview and publishing state. GET /v1/stores/{storeId}/products/{productId}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "store_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Gelato e-commerce store id."
    },
    "product_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Store product id (from gelato_list_store_products)."
    }
  },
  "required": [
    "store_id",
    "product_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢gelato_get_template(template_id)

A product template made in the Gelato dashboard: title, description, preview, and its variants (id, title, productUid; pass the variant id as template_variant_id) with their image placeholders (names to fill in gelato_create_product_from_template). GET /v1/templates/{templateId}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "template_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Template id (Gelato dashboard → the template's URL)."
    }
  },
  "required": [
    "template_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴gelato_create_product_from_template(store_id, template_id, title, description, visible_in_online_store, ...)

Create a product in a connected store from a template, with your own images in the template's placeholders. Gelato creates the product, then publishes variants and mockups in the background (track it with gelato_get_store_product). Hidden in the online store unless visible_in_online_store is true. POST /v1/stores/{storeId}/products:create-from-template.

輸入結構描述

{
  "type": "object",
  "properties": {
    "store_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Gelato e-commerce store id."
    },
    "template_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Template id (see gelato_get_template)."
    },
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500,
      "description": "Product title."
    },
    "description": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20000,
      "description": "Product description (HTML allowed by most stores)."
    },
    "visible_in_online_store": {
      "description": "Show the product in the online store (default false).",
      "type": "boolean"
    },
    "sales_channels": {
      "description": "Sales channels: \"web\" (default) or \"global\" (Shopify Point of Sale).",
      "minItems": 1,
      "maxItems": 2,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "web",
          "global"
        ]
      }
    },
    "tags": {
      "description": "Product tags, at most 13 (Etsy stores: 20 characters each).",
      "minItems": 1,
      "maxItems": 13,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 255
      }
    },
    "product_type": {
      "description": "Product type shown in the store.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "vendor": {
      "description": "Vendor shown in the store.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "variants": {
      "description": "Variants to create (omit for all template variants), each with the images for its placeholders.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "template_variant_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "pattern": "^[A-Za-z0-9_-]+$",
            "description": "The variant id (variants[].id) from gelato_get_template."
          },
          "image_placeholders": {
            "minItems": 1,
            "maxItems": 50,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200,
                  "description": "Placeholder (layer) name from the template."
                },
                "file_url": {
                  "type": "string",
                  "maxLength": 2048,
                  "format": "uri",
                  "description": "Public image URL (jpg, jpeg, png or pdf)."
                },
                "fit_method": {
                  "description": "\"slice\" (default: fill and crop) or \"meet\" (fit the whole image).",
                  "type": "string",
                  "enum": [
                    "slice",
                    "meet"
                  ]
                }
              },
              "required": [
                "name",
                "file_url"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "template_variant_id"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "store_id",
    "template_id",
    "title",
    "description"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本19 個工具