Lustrix – mirrors made to measure

Price and design made-to-measure mirrors (PL/DE/AT); order on lustrix.eu.

使うべきか

品質と安全性

A
説明の品質
100%
スキーマの完全性
95%
命名の品質
95%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~5,225トークン数(ツール定義)
~14.6 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 4.08%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "mirrors": {
      "url": "https://lustrix.eu/api/mcp"
    }
  }
}

リモートエンドポイント

https://lustrix.eu/api/mcpstreamable-http

できること

ツール一覧

ツール(4)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢list_materials(locale)

Lists the active mirror and glass materials with thickness, size limits (cm) and a gross "price from" (50×70 cm rectangle, polished edge, no options) in the shop currency. Use the slug in quote_mirror.

入力スキーマ

{
  "type": "object",
  "properties": {
    "locale": {
      "default": "pl",
      "description": "Language of every text in the answer: pl (Polish shop, PLN) or de (German shop for DE/AT, EUR). Default pl.",
      "type": "string",
      "enum": [
        "pl",
        "de"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "currency": {
      "type": "string",
      "enum": [
        "PLN",
        "EUR"
      ]
    },
    "materials": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "thicknessMm": {
            "type": "number"
          },
          "isLaminated": {
            "type": "boolean"
          },
          "canBeTempered": {
            "type": "boolean"
          },
          "sizeCm": {
            "type": "object",
            "properties": {
              "minWidth": {
                "type": "number"
              },
              "maxWidth": {
                "type": "number"
              },
              "minHeight": {
                "type": "number"
              },
              "maxHeight": {
                "type": "number"
              }
            },
            "required": [
              "minWidth",
              "maxWidth",
              "minHeight",
              "maxHeight"
            ],
            "additionalProperties": false
          },
          "fromPriceBrutto": {
            "type": [
              "number",
              "null"
            ]
          },
          "fromPriceNote": {
            "type": "string"
          }
        },
        "required": [
          "slug",
          "name",
          "thicknessMm",
          "isLaminated",
          "canBeTempered",
          "sizeCm",
          "fromPriceBrutto",
          "fromPriceNote"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "currency",
    "materials"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢list_options(locale, materialSlug, shape)

Lists the shapes (with the fields each needs and, for a material, its size limits), edges, tempering, LED lighting (colour temperatures, frontlit patterns per shape), heating mat, switches and holes, with the gross "+X" price of each paid option. Paid options are only added when the customer asks.

入力スキーマ

{
  "type": "object",
  "properties": {
    "locale": {
      "default": "pl",
      "description": "Language of every text in the answer: pl (Polish shop, PLN) or de (German shop for DE/AT, EUR). Default pl.",
      "type": "string",
      "enum": [
        "pl",
        "de"
      ]
    },
    "materialSlug": {
      "description": "Adds the size limits of this material per shape",
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    },
    "shape": {
      "description": "Filters the frontlit LED patterns to this shape",
      "type": "string",
      "enum": [
        "rectangle",
        "square",
        "circle",
        "capsule",
        "trapezoid-left",
        "trapezoid-right",
        "water-drop",
        "arch",
        "oval",
        "octagon"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "currency": {
      "type": "string",
      "enum": [
        "PLN",
        "EUR"
      ]
    },
    "shapes": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "enum": [
              "rectangle",
              "square",
              "circle",
              "capsule",
              "trapezoid-left",
              "trapezoid-right",
              "water-drop",
              "arch",
              "oval",
              "octagon"
            ]
          },
          "name": {
            "type": "string"
          },
          "fields": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "widthCm",
                "heightCm",
                "height2Cm"
              ]
            }
          },
          "limitsCm": {
            "type": "object",
            "properties": {
              "width": {
                "type": "object",
                "properties": {
                  "min": {
                    "type": "number"
                  },
                  "max": {
                    "type": "number"
                  }
                },
                "required": [
                  "min",
                  "max"
                ],
                "additionalProperties": false
              },
              "height": {
                "type": "object",
                "properties": {
                  "min": {
                    "type": "number"
                  },
                  "max": {
                    "type": "number"
                  }
                },
                "required": [
                  "min",
                  "max"
                ],
                "additionalProperties": false
              },
              "height2": {
                "type": "object",
                "properties": {
                  "min": {
                    "type": "number"
                  },
                  "max": {
                    "type": "number"
                  }
                },
                "required": [
                  "min",
                  "max"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "width"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "id",
          "name",
          "fields"
        ],
        "additionalProperties": false
      }
    },
    "edges": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "enum": [
              "grind",
              "bevel"
            ]
          },
          "name": {
            "type": "string"
          },
          "bevelWidthMm": {
            "type": "object",
            "properties": {
              "min": {
                "type": "number"
              },
              "max": {
                "type": "number"
              }
            },
            "required": [
              "min",
              "max"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "id",
          "name"
        ],
        "additionalProperties": false
      }
    },
    "tempering": {
      "type": "object",
      "properties": {
        "available": {
          "type": "boolean"
        },
        "priceNote": {
          "type": "string"
        }
      },
      "required": [
        "available",
        "priceNote"
      ],
      "additionalProperties": false
    },
    "backlitLed": {
      "type": "object",
      "properties": {
        "colorTemperatures": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "enum": [
                  "neutral",
                  "warm"
                ]
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ],
            "additionalProperties": false
          }
        },
        "pricePerMeterBrutto": {
          "type": "number"
        },
        "note": {
          "type": "string"
        }
      },
      "required": [
        "colorTemperatures",
        "pricePerMeterBrutto",
        "note"
      ],
      "additionalProperties": false
    },
    "frontlitLed": {
      "type": "object",
      "properties": {
        "colorTemperatures": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "enum": [
                  "neutral",
                  "warm"
                ]
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ],
            "additionalProperties": false
          }
        },
        "patterns": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "enum": [
                  "perimeter",
                  "two-sides-horizontal",
                  "two-sides-vertical",
                  "single-top",
                  "single-bottom"
                ]
              },
              "name": {
                "type": "string"
              },
              "shapes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "id",
              "name"
            ],
            "additionalProperties": false
          }
        },
        "sandingWidthMm": {
          "type": "object",
          "properties": {
            "min": {
              "type": "number"
            },
            "max": {
              "type": "number"
            }
          },
          "required": [
            "min",
            "max"
          ],
          "additionalProperties": false
        },
        "pricePerMeterBrutto": {
          "type": "number"
        },
        "note": {
          "type": "string"
        }
      },
      "required": [
        "colorTemperatures",
        "patterns",
        "sandingWidthMm",
        "pricePerMeterBrutto",
        "note"
      ],
      "additionalProperties": false
    },
    "heatingMat": {
      "type": "object",
      "properties": {
        "priceBrutto": {
          "type": "number"
        },
        "note": {
          "type": "string"
        }
      },
      "required": [
        "priceBrutto",
        "note"
      ],
      "additionalProperties": false
    },
    "switches": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "enum": [
              "touch",
              "sensor-dimmer-front",
              "touch-dimmer-front"
            ]
          },
          "name": {
            "type": "string"
          },
          "priceBrutto": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "name",
          "priceBrutto"
        ],
        "additionalProperties": false
      }
    },
    "switchRequiresLed": {
      "type": "boolean",
      "const": true
    },
    "holes": {
      "type": "object",
      "properties": {
        "max": {
          "type": "number"
        },
        "diameterMm": {
          "type": "object",
          "properties": {
            "min": {
              "type": "number"
            },
            "max": {
              "type": "number"
            }
          },
          "required": [
            "min",
            "max"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "max",
        "diameterMm"
      ],
      "additionalProperties": false
    },
    "productNote": {
      "type": "string"
    },
    "frame": {
      "type": "object",
      "properties": {
        "available": {
          "type": "boolean"
        },
        "type": {
          "type": "string",
          "enum": [
            "alu-black-matte"
          ]
        },
        "priceFrom": {
          "type": "number"
        },
        "currency": {
          "type": "string",
          "enum": [
            "PLN",
            "EUR"
          ]
        },
        "shapes": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "rectangle",
              "square",
              "circle",
              "capsule",
              "trapezoid-left",
              "trapezoid-right",
              "water-drop",
              "arch",
              "oval",
              "octagon"
            ]
          }
        },
        "materials": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "sizeCm": {
          "type": "object",
          "properties": {
            "min": {
              "type": "number"
            },
            "maxShort": {
              "type": "number"
            },
            "maxLong": {
              "type": "number"
            }
          },
          "required": [
            "min",
            "maxShort",
            "maxLong"
          ],
          "additionalProperties": false
        },
        "extraProductionDays": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "note": {
          "type": "string"
        }
      },
      "required": [
        "available",
        "type",
        "shapes",
        "materials",
        "sizeCm",
        "note"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "currency",
    "shapes",
    "edges",
    "tempering",
    "backlitLed",
    "frontlitLed",
    "heatingMat",
    "switches",
    "switchRequiresLed",
    "holes",
    "productNote",
    "frame"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢quote_mirror(locale, country, postalCode, materialSlug, shape, ...)

Prices one mirror exactly as the shop does: product gross price with its option lines, weight, delivery methods with rate-table prices (add postalCode for a delivery estimate), the cheapest total, the delivery window and whether it can be ordered. An estimate: the binding price is shown at checkout on lustrix.eu. Only include paid options the customer asked for.

入力スキーマ

{
  "type": "object",
  "properties": {
    "locale": {
      "default": "pl",
      "description": "Language of every text in the answer: pl (Polish shop, PLN) or de (German shop for DE/AT, EUR). Default pl.",
      "type": "string",
      "enum": [
        "pl",
        "de"
      ]
    },
    "country": {
      "description": "Delivery country. PL with locale pl; DE or AT with locale de. Default: the shop home country.",
      "type": "string",
      "enum": [
        "PL",
        "DE",
        "AT"
      ]
    },
    "postalCode": {
      "description": "Delivery postal code (PL 00-000, DE 12345, AT 1234). Only used to estimate delivery; never stored.",
      "type": "string",
      "minLength": 1,
      "maxLength": 10
    },
    "materialSlug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "Material slug from list_materials"
    },
    "shape": {
      "type": "string",
      "enum": [
        "rectangle",
        "square",
        "circle",
        "capsule",
        "trapezoid-left",
        "trapezoid-right",
        "water-drop",
        "arch",
        "oval",
        "octagon"
      ],
      "description": "Shape id from list_options"
    },
    "widthCm": {
      "type": "number",
      "minimum": 1,
      "maximum": 400,
      "description": "Width in cm; for a circle the diameter"
    },
    "heightCm": {
      "description": "Height in cm (not for a circle; a square may omit it)",
      "type": "number",
      "minimum": 1,
      "maximum": 400
    },
    "height2Cm": {
      "description": "Height of the second vertical side in cm, trapezoid shapes only",
      "type": "number",
      "minimum": 1,
      "maximum": 400
    },
    "edge": {
      "default": "grind",
      "description": "grind (polished, default) or bevel",
      "type": "string",
      "enum": [
        "grind",
        "bevel"
      ]
    },
    "bevelWidthMm": {
      "description": "Bevel width in mm (5-30); required with edge=bevel",
      "type": "integer",
      "minimum": 5,
      "maximum": 30
    },
    "tempered": {
      "description": "Tempered safety glass (paid; only when the customer asks)",
      "type": "boolean"
    },
    "backlitLed": {
      "description": "LED behind the mirror lighting the wall (paid; only when asked)",
      "type": "object",
      "properties": {
        "colorTemperature": {
          "type": "string",
          "enum": [
            "neutral",
            "warm"
          ]
        }
      },
      "required": [
        "colorTemperature"
      ],
      "additionalProperties": false
    },
    "frontlitLed": {
      "description": "LED shining through a sanded stripe on the mirror face (paid; only when asked). Patterns per shape: list_options",
      "type": "object",
      "properties": {
        "colorTemperature": {
          "type": "string",
          "enum": [
            "neutral",
            "warm"
          ]
        },
        "pattern": {
          "type": "string",
          "enum": [
            "perimeter",
            "two-sides-horizontal",
            "two-sides-vertical",
            "single-top",
            "single-bottom"
          ]
        },
        "sandingWidthMm": {
          "type": "integer",
          "minimum": 30,
          "maximum": 60
        }
      },
      "required": [
        "colorTemperature",
        "pattern"
      ],
      "additionalProperties": false
    },
    "heatingMat": {
      "description": "Anti-fog heating mat (paid; only when asked)",
      "type": "boolean"
    },
    "switchType": {
      "description": "Switch, only together with an LED (paid)",
      "type": "string",
      "enum": [
        "touch",
        "sensor-dimmer-front",
        "touch-dimmer-front"
      ]
    },
    "holes": {
      "description": "Mounting holes, at most 4",
      "maxItems": 4,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "xCm": {
            "type": "number",
            "minimum": 0,
            "maximum": 400,
            "description": "Hole centre, cm from the left edge of the bounding box"
          },
          "yCm": {
            "type": "number",
            "minimum": 0,
            "maximum": 400,
            "description": "Hole centre, cm from the top edge of the bounding box"
          },
          "diameterMm": {
            "type": "number",
            "minimum": 6,
            "maximum": 70,
            "description": "Hole diameter in mm"
          }
        },
        "required": [
          "xCm",
          "yCm",
          "diameterMm"
        ],
        "additionalProperties": false
      }
    },
    "frame": {
      "description": "Paid option: a slim matte black aluminium frame (rectangle/square mirrors only). Set ONLY when the customer explicitly asked for a frame; omit otherwise (frameless is the default). Check list_options.frame.available first. With a frame, widthCm × heightCm is the outer frame size.",
      "type": "string",
      "enum": [
        "alu-black-matte"
      ]
    }
  },
  "required": [
    "materialSlug",
    "shape",
    "widthCm"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "currency": {
      "type": "string",
      "enum": [
        "PLN",
        "EUR"
      ]
    },
    "locale": {
      "type": "string",
      "enum": [
        "pl",
        "de"
      ]
    },
    "country": {
      "type": "string",
      "enum": [
        "PL",
        "DE",
        "AT"
      ]
    },
    "material": {
      "type": "object",
      "properties": {
        "slug": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "required": [
        "slug",
        "name"
      ],
      "additionalProperties": false
    },
    "shape": {
      "type": "string",
      "enum": [
        "rectangle",
        "square",
        "circle",
        "capsule",
        "trapezoid-left",
        "trapezoid-right",
        "water-drop",
        "arch",
        "oval",
        "octagon"
      ]
    },
    "dimensionsCm": {
      "type": "object",
      "properties": {
        "width": {
          "type": "number"
        },
        "height": {
          "type": "number"
        },
        "height2": {
          "type": "number"
        }
      },
      "required": [
        "width",
        "height"
      ],
      "additionalProperties": false
    },
    "lines": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string"
          },
          "amountBrutto": {
            "type": "number"
          }
        },
        "required": [
          "label",
          "amountBrutto"
        ],
        "additionalProperties": false
      }
    },
    "productBrutto": {
      "type": "number"
    },
    "weightKg": {
      "type": "number"
    },
    "shipmentClass": {
      "type": "string",
      "enum": [
        "PARCEL",
        "PARCEL_NSTD",
        "PALLET",
        "PICKUP_ONLY"
      ]
    },
    "delivery": {
      "type": "object",
      "properties": {
        "methods": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "method": {
                "type": "string",
                "enum": [
                  "courier",
                  "pallet",
                  "pickup"
                ]
              },
              "label": {
                "type": "string"
              },
              "priceBrutto": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "free": {
                "type": "boolean"
              }
            },
            "required": [
              "method",
              "label",
              "priceBrutto",
              "free"
            ],
            "additionalProperties": false
          }
        },
        "cheapest": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "courier",
                "pallet",
                "pickup"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "needsPostalCode": {
          "type": "boolean"
        }
      },
      "required": [
        "methods",
        "cheapest",
        "needsPostalCode"
      ],
      "additionalProperties": false
    },
    "estimatedTotalBrutto": {
      "type": [
        "number",
        "null"
      ]
    },
    "deliveryWindow": {
      "type": "object",
      "properties": {
        "text": {
          "type": "string"
        },
        "bindingBusinessDays": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "text",
        "bindingBusinessDays"
      ],
      "additionalProperties": false
    },
    "frame": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "alu-black-matte"
          ]
        },
        "hanging": {
          "type": "string",
          "enum": [
            "vertical",
            "horizontal"
          ]
        },
        "productionBusinessDays": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "type",
        "hanging",
        "productionBusinessDays"
      ],
      "additionalProperties": false
    },
    "orderable": {
      "type": "boolean"
    },
    "orderBlock": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": false
    },
    "estimate": {
      "type": "boolean",
      "const": true
    },
    "finalPriceAtCheckout": {
      "type": "boolean",
      "const": true
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "currency",
    "locale",
    "country",
    "material",
    "shape",
    "dimensionsCm",
    "lines",
    "productBrutto",
    "weightKg",
    "shipmentClass",
    "delivery",
    "estimatedTotalBrutto",
    "deliveryWindow",
    "orderable",
    "estimate",
    "finalPriceAtCheckout",
    "notes"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟡create_design_link(locale, country, postalCode, materialSlug, shape, ...)

Saves the priced mirror as a design on lustrix.eu and returns two links: the configurator (to review or change it) and the checkout (to order it), plus the same price block as quote_mirror. The customer orders and pays on lustrix.eu; nothing is ordered by this tool. The design is deleted after 30 days if not ordered.

入力スキーマ

{
  "type": "object",
  "properties": {
    "locale": {
      "default": "pl",
      "description": "Language of every text in the answer: pl (Polish shop, PLN) or de (German shop for DE/AT, EUR). Default pl.",
      "type": "string",
      "enum": [
        "pl",
        "de"
      ]
    },
    "country": {
      "description": "Delivery country. PL with locale pl; DE or AT with locale de. Default: the shop home country.",
      "type": "string",
      "enum": [
        "PL",
        "DE",
        "AT"
      ]
    },
    "postalCode": {
      "description": "Delivery postal code (PL 00-000, DE 12345, AT 1234). Only used to estimate delivery; never stored.",
      "type": "string",
      "minLength": 1,
      "maxLength": 10
    },
    "materialSlug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "Material slug from list_materials"
    },
    "shape": {
      "type": "string",
      "enum": [
        "rectangle",
        "square",
        "circle",
        "capsule",
        "trapezoid-left",
        "trapezoid-right",
        "water-drop",
        "arch",
        "oval",
        "octagon"
      ],
      "description": "Shape id from list_options"
    },
    "widthCm": {
      "type": "number",
      "minimum": 1,
      "maximum": 400,
      "description": "Width in cm; for a circle the diameter"
    },
    "heightCm": {
      "description": "Height in cm (not for a circle; a square may omit it)",
      "type": "number",
      "minimum": 1,
      "maximum": 400
    },
    "height2Cm": {
      "description": "Height of the second vertical side in cm, trapezoid shapes only",
      "type": "number",
      "minimum": 1,
      "maximum": 400
    },
    "edge": {
      "default": "grind",
      "description": "grind (polished, default) or bevel",
      "type": "string",
      "enum": [
        "grind",
        "bevel"
      ]
    },
    "bevelWidthMm": {
      "description": "Bevel width in mm (5-30); required with edge=bevel",
      "type": "integer",
      "minimum": 5,
      "maximum": 30
    },
    "tempered": {
      "description": "Tempered safety glass (paid; only when the customer asks)",
      "type": "boolean"
    },
    "backlitLed": {
      "description": "LED behind the mirror lighting the wall (paid; only when asked)",
      "type": "object",
      "properties": {
        "colorTemperature": {
          "type": "string",
          "enum": [
            "neutral",
            "warm"
          ]
        }
      },
      "required": [
        "colorTemperature"
      ],
      "additionalProperties": false
    },
    "frontlitLed": {
      "description": "LED shining through a sanded stripe on the mirror face (paid; only when asked). Patterns per shape: list_options",
      "type": "object",
      "properties": {
        "colorTemperature": {
          "type": "string",
          "enum": [
            "neutral",
            "warm"
          ]
        },
        "pattern": {
          "type": "string",
          "enum": [
            "perimeter",
            "two-sides-horizontal",
            "two-sides-vertical",
            "single-top",
            "single-bottom"
          ]
        },
        "sandingWidthMm": {
          "type": "integer",
          "minimum": 30,
          "maximum": 60
        }
      },
      "required": [
        "colorTemperature",
        "pattern"
      ],
      "additionalProperties": false
    },
    "heatingMat": {
      "description": "Anti-fog heating mat (paid; only when asked)",
      "type": "boolean"
    },
    "switchType": {
      "description": "Switch, only together with an LED (paid)",
      "type": "string",
      "enum": [
        "touch",
        "sensor-dimmer-front",
        "touch-dimmer-front"
      ]
    },
    "holes": {
      "description": "Mounting holes, at most 4",
      "maxItems": 4,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "xCm": {
            "type": "number",
            "minimum": 0,
            "maximum": 400,
            "description": "Hole centre, cm from the left edge of the bounding box"
          },
          "yCm": {
            "type": "number",
            "minimum": 0,
            "maximum": 400,
            "description": "Hole centre, cm from the top edge of the bounding box"
          },
          "diameterMm": {
            "type": "number",
            "minimum": 6,
            "maximum": 70,
            "description": "Hole diameter in mm"
          }
        },
        "required": [
          "xCm",
          "yCm",
          "diameterMm"
        ],
        "additionalProperties": false
      }
    },
    "frame": {
      "description": "Paid option: a slim matte black aluminium frame (rectangle/square mirrors only). Set ONLY when the customer explicitly asked for a frame; omit otherwise (frameless is the default). Check list_options.frame.available first. With a frame, widthCm × heightCm is the outer frame size.",
      "type": "string",
      "enum": [
        "alu-black-matte"
      ]
    },
    "name": {
      "description": "Design name shown in the shop (max 60 characters). No personal data.",
      "type": "string",
      "maxLength": 60
    },
    "notes": {
      "description": "Notes for the workshop (max 500 characters). No personal data.",
      "type": "string",
      "maxLength": 500
    }
  },
  "required": [
    "materialSlug",
    "shape",
    "widthCm"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "currency": {
      "type": "string",
      "enum": [
        "PLN",
        "EUR"
      ]
    },
    "locale": {
      "type": "string",
      "enum": [
        "pl",
        "de"
      ]
    },
    "country": {
      "type": "string",
      "enum": [
        "PL",
        "DE",
        "AT"
      ]
    },
    "material": {
      "type": "object",
      "properties": {
        "slug": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "required": [
        "slug",
        "name"
      ],
      "additionalProperties": false
    },
    "shape": {
      "type": "string",
      "enum": [
        "rectangle",
        "square",
        "circle",
        "capsule",
        "trapezoid-left",
        "trapezoid-right",
        "water-drop",
        "arch",
        "oval",
        "octagon"
      ]
    },
    "dimensionsCm": {
      "type": "object",
      "properties": {
        "width": {
          "type": "number"
        },
        "height": {
          "type": "number"
        },
        "height2": {
          "type": "number"
        }
      },
      "required": [
        "width",
        "height"
      ],
      "additionalProperties": false
    },
    "lines": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string"
          },
          "amountBrutto": {
            "type": "number"
          }
        },
        "required": [
          "label",
          "amountBrutto"
        ],
        "additionalProperties": false
      }
    },
    "productBrutto": {
      "type": "number"
    },
    "weightKg": {
      "type": "number"
    },
    "shipmentClass": {
      "type": "string",
      "enum": [
        "PARCEL",
        "PARCEL_NSTD",
        "PALLET",
        "PICKUP_ONLY"
      ]
    },
    "delivery": {
      "type": "object",
      "properties": {
        "methods": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "method": {
                "type": "string",
                "enum": [
                  "courier",
                  "pallet",
                  "pickup"
                ]
              },
              "label": {
                "type": "string"
              },
              "priceBrutto": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "free": {
                "type": "boolean"
              }
            },
            "required": [
              "method",
              "label",
              "priceBrutto",
              "free"
            ],
            "additionalProperties": false
          }
        },
        "cheapest": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "courier",
                "pallet",
                "pickup"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "needsPostalCode": {
          "type": "boolean"
        }
      },
      "required": [
        "methods",
        "cheapest",
        "needsPostalCode"
      ],
      "additionalProperties": false
    },
    "estimatedTotalBrutto": {
      "type": [
        "number",
        "null"
      ]
    },
    "deliveryWindow": {
      "type": "object",
      "properties": {
        "text": {
          "type": "string"
        },
        "bindingBusinessDays": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "text",
        "bindingBusinessDays"
      ],
      "additionalProperties": false
    },
    "frame": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "alu-black-matte"
          ]
        },
        "hanging": {
          "type": "string",
          "enum": [
            "vertical",
            "horizontal"
          ]
        },
        "productionBusinessDays": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "type",
        "hanging",
        "productionBusinessDays"
      ],
      "additionalProperties": false
    },
    "orderable": {
      "type": "boolean"
    },
    "orderBlock": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": false
    },
    "estimate": {
      "type": "boolean",
      "const": true
    },
    "finalPriceAtCheckout": {
      "type": "boolean",
      "const": true
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "designId": {
      "type": "string"
    },
    "configureUrl": {
      "type": "string"
    },
    "checkoutUrl": {
      "type": "string"
    },
    "expiresInDays": {
      "type": "number",
      "const": 30
    },
    "nextStep": {
      "type": "string"
    }
  },
  "required": [
    "currency",
    "locale",
    "country",
    "material",
    "shape",
    "dimensionsCm",
    "lines",
    "productBrutto",
    "weightKg",
    "shipmentClass",
    "delivery",
    "estimatedTotalBrutto",
    "deliveryWindow",
    "orderable",
    "estimate",
    "finalPriceAtCheckout",
    "notes",
    "designId",
    "configureUrl",
    "checkoutUrl",
    "expiresInDays",
    "nextStep"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 4 件