Lustrix – mirrors made to measure

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
95%
Calidad de los nombres
95%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~5,225Tokens (definiciones de herramientas)
~14.6 KBTamaño de respuesta típico
Impacto significativo en la atención (4.08% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

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

Puntos de conexión remotos

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

Qué puede hacer

Inventario de herramientas

Herramientas (4)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "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
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada4 herramientas