← WebMCP Directory

Tool tree

hobbyka.ru

CommerceTools verified
Website
Garden, park, and urban furniture manufacturer
Explore capabilities
    archive_partner_offerAction

    Архивировать своё КП Hobbyka. Требуется вход, право partner.offers.write и актуальный expected_version.

    View tool JSON
    {
      "name": "archive_partner_offer",
      "kind": "act",
      "impl": "imperative",
      "description": "Архивировать своё КП Hobbyka. Требуется вход, право partner.offers.write и актуальный expected_version.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "expected_version",
          "public_id"
        ],
        "properties": {
          "expected_version": {
            "type": "integer",
            "minimum": 1
          },
          "public_id": {
            "type": "string",
            "pattern": "^[a-f0-9]{40}$"
          }
        }
      }
    }
    cancel_partner_orderSensitive Action

    Отменить свой заказ Hobbyka с указанной причиной. Выполняйте по просьбе пользователя. Требуется вход, право partner.orders.write и актуальный expected_version.

    View tool JSON
    {
      "name": "cancel_partner_order",
      "kind": "transact",
      "impl": "imperative",
      "description": "Отменить свой заказ Hobbyka с указанной причиной. Выполняйте по просьбе пользователя. Требуется вход, право partner.orders.write и актуальный expected_version.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "expected_version",
          "public_id"
        ],
        "properties": {
          "expected_version": {
            "type": "integer",
            "minimum": 1
          },
          "reason": {
            "type": "string",
            "maxLength": 500
          },
          "public_id": {
            "type": "string",
            "pattern": "^[a-f0-9]{40}$"
          }
        }
      }
    }
    clear_webmcp_sessionAction

    Отключить текущую сессию WebMCP Hobbyka и отозвать её токен. Сохранённые на сервере контакт, КП и заказы остаются.

    View tool JSON
    {
      "name": "clear_webmcp_session",
      "kind": "act",
      "impl": "imperative",
      "description": "Отключить текущую сессию WebMCP Hobbyka и отозвать её токен. Сохранённые на сервере контакт, КП и заказы остаются.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false
      }
    }
    complete_partner_device_authorizationAction

    Проверить завершение ранее начатого входа Hobbyka после подтверждения пользователем на сайте. Одноразовый секретный код берётся из серверной сессии; токен остаётся на сервере. Если вход ожидается, соблюдайте возвращённый interval.

    View tool JSON
    {
      "name": "complete_partner_device_authorization",
      "kind": "act",
      "impl": "imperative",
      "description": "Проверить завершение ранее начатого входа Hobbyka после подтверждения пользователем на сайте. Одноразовый секретный код берётся из серверной сессии; токен остаётся на сервере. Если вход ожидается, соблюдайте возвращённый interval.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false
      }
    }
    create_commercial_offerAction

    Создать КП Hobbyka по выбранным товарам или вариантам и серверным ценам. Сначала сохраните контакт через register_cli_contact либо выполните вход. Аккаунт для контакта и КП не требуется. Возвращает статус, клиентскую страницу и PDF; письма и CRM не отправляются. Повторяйте тот же запрос с тем же idempotency_key.

    View tool JSON
    {
      "name": "create_commercial_offer",
      "kind": "act",
      "impl": "imperative",
      "description": "Создать КП Hobbyka по выбранным товарам или вариантам и серверным ценам. Сначала сохраните контакт через register_cli_contact либо выполните вход. Аккаунт для контакта и КП не требуется. Возвращает статус, клиентскую страницу и PDF; письма и CRM не отправляются. Повторяйте тот же запрос с тем же idempotency_key.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "company": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "phone": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "email": {
            "type": "string",
            "format": "email",
            "minLength": 1,
            "maxLength": 254
          },
          "contact": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "name": {
                "type": "string",
                "maxLength": 255
              },
              "phone": {
                "type": "string",
                "minLength": 1,
                "maxLength": 64
              },
              "email": {
                "type": "string",
                "format": "email",
                "minLength": 1,
                "maxLength": 254
              }
            }
          },
          "items": {
            "type": "array",
            "minItems": 1,
            "maxItems": 100,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "quantity"
              ],
              "properties": {
                "product_id": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "Товар без выбранного варианта."
                },
                "variant_id": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "Выбранный вариант; родительский товар сервер определит автоматически."
                },
                "quantity": {
                  "type": "number",
                  "exclusiveMinimum": 0
                }
              },
              "oneOf": [
                {
                  "required": [
                    "product_id"
                  ],
                  "not": {
                    "required": [
                      "variant_id"
                    ]
                  }
                },
                {
                  "required": [
                    "variant_id"
                  ],
                  "not": {
                    "required": [
                      "product_id"
                    ]
                  }
                }
              ]
            }
          },
          "object": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "name": {
                "type": "string",
                "maxLength": 500
              },
              "address": {
                "type": "string",
                "maxLength": 500
              },
              "city": {
                "type": "string",
                "maxLength": 255
              },
              "comments": {
                "type": "string",
                "maxLength": 1000
              }
            }
          },
          "delivery": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "method"
            ],
            "properties": {
              "method": {
                "type": "string",
                "minLength": 1,
                "maxLength": 128
              },
              "city": {
                "type": "string",
                "maxLength": 255
              },
              "address": {
                "type": "string",
                "maxLength": 500
              },
              "comments": {
                "type": "string",
                "maxLength": 1000
              }
            }
          },
          "idempotency_key": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128,
            "description": "Уникальный ключ запроса, 8–128 печатных ASCII-символов."
          }
        },
        "required": [
          "items",
          "idempotency_key"
        ]
      }
    }
    create_internal_commercial_offerSensitive Action

    Создать внутреннее КП Hobbyka с передачей в штатный CRM-контур. Требуется право offers.internal.create: его получают менеджеры и администраторы после подтверждения входа при включённом внутреннем контуре. Изменение цены, скидки, наценки, монтажа или дополнительных наценок требует также offers.pricing.write. Контакт клиента укажите явно. Стоимость доставки, сборки и установки, сроки изготовления, действия КП, предоплата и гарантия передаются явно; итог, валюта и политика CRM определяются сервером. Выполняйте после согласования пользователем; повторяйте тот же запрос с тем же idempotency_key.

    View tool JSON
    {
      "name": "create_internal_commercial_offer",
      "kind": "transact",
      "impl": "imperative",
      "description": "Создать внутреннее КП Hobbyka с передачей в штатный CRM-контур. Требуется право offers.internal.create: его получают менеджеры и администраторы после подтверждения входа при включённом внутреннем контуре. Изменение цены, скидки, наценки, монтажа или дополнительных наценок требует также offers.pricing.write. Контакт клиента укажите явно. Стоимость доставки, сборки и установки, сроки изготовления, действия КП, предоплата и гарантия передаются явно; итог, валюта и политика CRM определяются сервером. Выполняйте после согласования пользователем; повторяйте тот же запрос с тем же idempotency_key.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "company",
          "items",
          "idempotency_key"
        ],
        "properties": {
          "company": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "phone": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "email": {
            "type": "string",
            "format": "email",
            "minLength": 1,
            "maxLength": 254
          },
          "contact": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "name": {
                "type": "string",
                "maxLength": 255
              },
              "phone": {
                "type": "string",
                "minLength": 1,
                "maxLength": 64
              },
              "email": {
                "type": "string",
                "format": "email",
                "minLength": 1,
                "maxLength": 254
              },
              "surname": {
                "type": "string",
                "maxLength": 255
              }
            }
          },
          "items": {
            "type": "array",
            "minItems": 1,
            "maxItems": 100,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "quantity"
              ],
              "properties": {
                "product_id": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "Товар без выбранного варианта."
                },
                "variant_id": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "Выбранный вариант; родительский товар сервер определит автоматически."
                },
                "quantity": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "custom": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "name"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 500
                    },
                    "description": {
                      "type": "string",
                      "maxLength": 5000
                    },
                    "version": {
                      "type": "string",
                      "maxLength": 255
                    },
                    "article": {
                      "type": "string",
                      "maxLength": 255
                    },
                    "image": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "filename",
                        "mime_type",
                        "content_base64"
                      ],
                      "properties": {
                        "filename": {
                          "type": "string",
                          "maxLength": 255
                        },
                        "mime_type": {
                          "type": "string",
                          "enum": [
                            "image/jpeg",
                            "image/png",
                            "image/gif",
                            "image/webp"
                          ]
                        },
                        "content_base64": {
                          "type": "string",
                          "maxLength": 6990508
                        }
                      }
                    }
                  }
                },
                "price": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "discount": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 100
                },
                "markup": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 1000
                },
                "mounting_price": {
                  "type": "number",
                  "minimum": 0
                },
                "additional_markups": {
                  "type": "array",
                  "maxItems": 100,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "type",
                      "value"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "CURRENCY",
                          "PERCENT"
                        ]
                      },
                      "value": {
                        "type": "number",
                        "minimum": 0
                      },
                      "name": {
                        "type": "string",
                        "maxLength": 255
                      }
                    },
                    "oneOf": [
                      {
                        "properties": {
                          "type": {
                            "const": "CURRENCY"
                          }
                        }
                      },
                      {
                        "properties": {
                          "type": {
                            "const": "PERCENT"
                          },
                          "value": {
                            "maximum": 1000
                          }
                        }
                      }
                    ]
                  }
                }
              },
              "oneOf": [
                {
                  "required": [
                    "product_id"
                  ],
                  "not": {
                    "anyOf": [
                      {
                        "required": [
                          "variant_id"
                        ]
                      },
                      {
                        "required": [
                          "custom"
                        ]
                      }
                    ]
                  }
                },
                {
                  "required": [
                    "variant_id"
                  ],
                  "not": {
                    "anyOf": [
                      {
                        "required": [
                          "product_id"
                        ]
                      },
                      {
                        "required": [
                          "custom"
                        ]
                      }
                    ]
                  }
                },
                {
                  "required": [
                    "custom",
                    "price"
                  ],
                  "not": {
                    "anyOf": [
                      {
                        "required": [
                          "product_id"
                        ]
                      },
                      {
                        "required": [
                          "variant_id"
                        ]
                      }
                    ]
                  }
                }
              ]
            }
          },
          "object": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "name": {
                "type": "string",
                "maxLength": 500
              },
              "address": {
                "type": "string",
                "maxLength": 500
              },
              "city": {
                "type": "string",
                "maxLength": 255
              },
              "comments": {
                "type": "string",
                "maxLength": 1000
              }
            }
          },
          "delivery": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "method"
            ],
            "properties": {
              "method": {
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "enum": [
                  "pickup_mo",
                  "pickup_msk",
                  "pickup",
                  "delivery_object",
                  "delivery_tk"
                ]
              },
              "city": {
                "type": "string",
                "maxLength": 255
              },
              "address": {
                "type": "string",
                "maxLength": 500
              },
              "comments": {
                "type": "string",
                "maxLength": 1000
              },
              "price": {
                "type": "number",
                "minimum": 0,
                "description": "Согласованная менеджером стоимость доставки. Ноль означает бесплатную доставку."
              }
            }
          },
          "inn": {
            "type": "string",
            "maxLength": 32
          },
          "ogrn": {
            "type": "string",
            "maxLength": 32
          },
          "implementation_period": {
            "type": "string",
            "maxLength": 500
          },
          "not_send_amo": {
            "type": "boolean",
            "description": "Состояние галки «Не отправлять в AMO CRM». По умолчанию false."
          },
          "terms": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "production_time_from": {
                "type": "integer",
                "minimum": 0
              },
              "production_time_to": {
                "type": "integer",
                "minimum": 0
              },
              "validity_days": {
                "type": "integer",
                "minimum": 1
              },
              "prepayment_percent": {
                "type": "number",
                "minimum": 0,
                "maximum": 100
              },
              "warranty_months": {
                "type": "integer",
                "minimum": 0
              }
            }
          },
          "services": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "assembly_price": {
                "type": "number",
                "minimum": 0
              },
              "installation_price": {
                "type": "number",
                "minimum": 0
              }
            }
          },
          "presentation": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "header_type": {
                "type": "string",
                "enum": [
                  "hobbyka",
                  "dealer",
                  "hobbyka_with_contacts"
                ]
              }
            }
          },
          "proposals": {
            "type": "array",
            "minItems": 1,
            "maxItems": 3,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "type",
                "days",
                "discount"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "base",
                    "medium",
                    "maximum"
                  ]
                },
                "days": {
                  "type": "integer"
                },
                "discount": {
                  "type": "number"
                }
              }
            }
          },
          "idempotency_key": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128,
            "description": "Уникальный ключ запроса, 8–128 печатных ASCII-символов."
          }
        },
        "anyOf": [
          {
            "required": [
              "phone"
            ]
          },
          {
            "required": [
              "email"
            ]
          },
          {
            "required": [
              "contact"
            ],
            "properties": {
              "contact": {
                "anyOf": [
                  {
                    "required": [
                      "phone"
                    ]
                  },
                  {
                    "required": [
                      "email"
                    ]
                  }
                ]
              }
            }
          }
        ]
      }
    }
    create_partner_offerAction

    Создать КП Hobbyka по профилю текущего партнёра и серверным ценам. Требуется вход и право partner.offers.write. Письма и CRM не отправляются.

    View tool JSON
    {
      "name": "create_partner_offer",
      "kind": "act",
      "impl": "imperative",
      "description": "Создать КП Hobbyka по профилю текущего партнёра и серверным ценам. Требуется вход и право partner.offers.write. Письма и CRM не отправляются.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "items",
          "idempotency_key"
        ],
        "properties": {
          "items": {
            "type": "array",
            "minItems": 1,
            "maxItems": 100,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "quantity"
              ],
              "properties": {
                "product_id": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "Товар без выбранного варианта."
                },
                "variant_id": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "Выбранный вариант; родительский товар сервер определит автоматически."
                },
                "quantity": {
                  "type": "number",
                  "exclusiveMinimum": 0
                }
              },
              "oneOf": [
                {
                  "required": [
                    "product_id"
                  ],
                  "not": {
                    "required": [
                      "variant_id"
                    ]
                  }
                },
                {
                  "required": [
                    "variant_id"
                  ],
                  "not": {
                    "required": [
                      "product_id"
                    ]
                  }
                }
              ]
            }
          },
          "object": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "name": {
                "type": "string",
                "maxLength": 500
              },
              "address": {
                "type": "string",
                "maxLength": 500
              },
              "city": {
                "type": "string",
                "maxLength": 255
              },
              "comments": {
                "type": "string",
                "maxLength": 1000
              }
            }
          },
          "delivery": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "method"
            ],
            "properties": {
              "method": {
                "type": "string",
                "minLength": 1,
                "maxLength": 128
              },
              "city": {
                "type": "string",
                "maxLength": 255
              },
              "address": {
                "type": "string",
                "maxLength": 500
              },
              "comments": {
                "type": "string",
                "maxLength": 1000
              }
            }
          },
          "idempotency_key": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128,
            "description": "Уникальный ключ запроса, 8–128 печатных ASCII-символов."
          }
        }
      }
    }
    create_partner_orderSensitive Action

    Создать настоящий заказ Hobbyka по товарам либо своему КП. Выполняйте после согласования заказа пользователем. Требуется вход, право partner.orders.write и idempotency_key.

    View tool JSON
    {
      "name": "create_partner_order",
      "kind": "transact",
      "impl": "imperative",
      "description": "Создать настоящий заказ Hobbyka по товарам либо своему КП. Выполняйте после согласования заказа пользователем. Требуется вход, право partner.orders.write и idempotency_key.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "items": {
            "type": "array",
            "minItems": 1,
            "maxItems": 100,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "product_id",
                "quantity"
              ],
              "properties": {
                "product_id": {
                  "type": "integer",
                  "minimum": 1
                },
                "quantity": {
                  "type": "number",
                  "exclusiveMinimum": 0
                }
              }
            }
          },
          "offer_public_id": {
            "type": "string",
            "pattern": "^[a-f0-9]{40}$"
          },
          "comments": {
            "type": "string",
            "maxLength": 1000
          },
          "idempotency_key": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128,
            "description": "Уникальный ключ запроса, 8–128 печатных ASCII-символов."
          }
        },
        "oneOf": [
          {
            "required": [
              "items"
            ]
          },
          {
            "required": [
              "offer_public_id"
            ]
          }
        ],
        "required": [
          "idempotency_key"
        ]
      }
    }
    get_admin_activity_reportAnswer

    Hobbyka: Статистика действий с публичными КП. Сводка только для чтения из журнала /kp/activity.php: посещения, события, уведомления и выдачи PDF. Время возвращается в UTC.

    View tool JSON
    {
      "name": "get_admin_activity_report",
      "kind": "answer",
      "impl": "imperative",
      "description": "Hobbyka: Статистика действий с публичными КП. Сводка только для чтения из журнала /kp/activity.php: посещения, события, уведомления и выдачи PDF. Время возвращается в UTC.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200
          },
          "page": {
            "type": "integer",
            "minimum": 1
          },
          "number": {
            "type": "string",
            "maxLength": 100
          },
          "code": {
            "type": "string",
            "pattern": "^[a-zA-Z0-9]{1,80}$"
          },
          "actor": {
            "type": "string",
            "enum": [
              "client",
              "staff",
              "test",
              "bot"
            ]
          },
          "manager_id": {
            "type": "integer",
            "minimum": 1
          }
        },
        "additionalProperties": false
      }
    }
    get_admin_offerAnswer

    Hobbyka: Карточка любого КП. Требуется вход и право offers.admin.read.

    View tool JSON
    {
      "name": "get_admin_offer",
      "kind": "answer",
      "impl": "imperative",
      "description": "Hobbyka: Карточка любого КП. Требуется вход и право offers.admin.read.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ]
      }
    }
    get_admin_orderAnswer

    Hobbyka: Карточка любого заказа. Требуется вход и право orders.admin.read.

    View tool JSON
    {
      "name": "get_admin_order",
      "kind": "answer",
      "impl": "imperative",
      "description": "Hobbyka: Карточка любого заказа. Требуется вход и право orders.admin.read.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ]
      }
    }
    get_commercial_offerAnswer

    Получить статус, клиентскую страницу и подписанную PDF-ссылку ранее созданного КП Hobbyka. Требуется сессия владельца КП.

    View tool JSON
    {
      "name": "get_commercial_offer",
      "kind": "answer",
      "impl": "imperative",
      "description": "Получить статус, клиентскую страницу и подписанную PDF-ссылку ранее созданного КП Hobbyka. Требуется сессия владельца КП.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "public_id": {
            "type": "string",
            "pattern": "^[a-f0-9]{40}$"
          }
        },
        "additionalProperties": false,
        "required": [
          "public_id"
        ]
      }
    }
    get_contentAnswer

    Hobbyka: Материал целиком.

    View tool JSON
    {
      "name": "get_content",
      "kind": "answer",
      "impl": "imperative",
      "description": "Hobbyka: Материал целиком.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "news",
              "article",
              "faq",
              "help",
              "term",
              "service",
              "page"
            ]
          },
          "code": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]+$"
          }
        },
        "additionalProperties": false,
        "required": [
          "type",
          "code"
        ]
      }
    }
    get_partner_offerAnswer

    Hobbyka: Получить КП текущего партнёра. Требуется вход и право доступ владельца КП.

    View tool JSON
    {
      "name": "get_partner_offer",
      "kind": "answer",
      "impl": "imperative",
      "description": "Hobbyka: Получить КП текущего партнёра. Требуется вход и право доступ владельца КП.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "public_id": {
            "type": "string",
            "pattern": "^[a-f0-9]{40}$"
          },
          "include": {
            "type": "string",
            "pattern": "^(conditions|pdfs)(,(conditions|pdfs))?$",
            "description": "Дополнительные исходные условия и четыре варианта PDF."
          }
        },
        "additionalProperties": false,
        "required": [
          "public_id"
        ]
      }
    }
    get_partner_orderAnswer

    Hobbyka: Получить заказ. Требуется вход и право partner.orders.read и доступ владельца заказа.

    View tool JSON
    {
      "name": "get_partner_order",
      "kind": "answer",
      "impl": "imperative",
      "description": "Hobbyka: Получить заказ. Требуется вход и право partner.orders.read и доступ владельца заказа.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "public_id": {
            "type": "string",
            "pattern": "^[a-f0-9]{40}$"
          }
        },
        "additionalProperties": false,
        "required": [
          "public_id"
        ]
      }
    }
    get_partner_profileAnswer

    Hobbyka: Проверить связанный партнёрский профиль. Требуется вход и право partner.profile.read.

    View tool JSON
    {
      "name": "get_partner_profile",
      "kind": "answer",
      "impl": "imperative",
      "description": "Hobbyka: Проверить связанный партнёрский профиль. Требуется вход и право partner.profile.read.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false
      }
    }
    get_productAnswer

    Hobbyka: Карточка товара. Для обычного товара variants будет пустым массивом; для товара с торговыми предложениями — списком доступных вариантов.

    View tool JSON
    {
      "name": "get_product",
      "kind": "answer",
      "impl": "imperative",
      "description": "Hobbyka: Карточка товара. Для обычного товара variants будет пустым массивом; для товара с торговыми предложениями — списком доступных вариантов.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ]
      }
    }
    get_webmcp_sessionAnswer

    Проверить текущий доступ WebMCP Hobbyka: сохранён ли контакт, выполнен ли вход, какие действия разрешены. Секреты и контактные значения не возвращаются.

    View tool JSON
    {
      "name": "get_webmcp_session",
      "kind": "answer",
      "impl": "imperative",
      "description": "Проверить текущий доступ WebMCP Hobbyka: сохранён ли контакт, выполнен ли вход, какие действия разрешены. Секреты и контактные значения не возвращаются.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false
      }
    }
    list_admin_offersAnswer

    Hobbyka: Все КП Hobbyka. Требуется вход и право offers.admin.read.

    View tool JSON
    {
      "name": "list_admin_offers",
      "kind": "answer",
      "impl": "imperative",
      "description": "Hobbyka: Все КП Hobbyka. Требуется вход и право offers.admin.read.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "page": {
            "type": "integer",
            "minimum": 1
          },
          "date_from": {
            "type": "string",
            "format": "date"
          },
          "date_to": {
            "type": "string",
            "format": "date"
          },
          "number": {
            "type": "string",
            "maxLength": 64
          },
          "manager_id": {
            "type": "integer",
            "minimum": 1
          },
          "active": {
            "type": "string",
            "enum": [
              "Y",
              "N"
            ]
          }
        },
        "additionalProperties": false
      }
    }
    list_admin_ordersAnswer

    Hobbyka: Все заказы Hobbyka. Требуется вход и право orders.admin.read.

    View tool JSON
    {
      "name": "list_admin_orders",
      "kind": "answer",
      "impl": "imperative",
      "description": "Hobbyka: Все заказы Hobbyka. Требуется вход и право orders.admin.read.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "page": {
            "type": "integer",
            "minimum": 1
          },
          "date_from": {
            "type": "string",
            "format": "date"
          },
          "date_to": {
            "type": "string",
            "format": "date"
          },
          "id": {
            "type": "integer",
            "minimum": 1
          },
          "user_id": {
            "type": "integer",
            "minimum": 1
          },
          "status": {
            "type": "string",
            "maxLength": 32
          }
        },
        "additionalProperties": false
      }
    }
    list_catalog_sectionsAnswer

    Hobbyka: Дерево разделов каталога.

    View tool JSON
    {
      "name": "list_catalog_sections",
      "kind": "answer",
      "impl": "imperative",
      "description": "Hobbyka: Дерево разделов каталога.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "cursor": {
            "type": "string"
          },
          "updated_since": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      }
    }
    list_partner_offersAnswer

    Hobbyka: Список КП текущего партнёра. Требуется вход и право partner.offers.read.

    View tool JSON
    {
      "name": "list_partner_offers",
      "kind": "answer",
      "impl": "imperative",
      "description": "Hobbyka: Список КП текущего партнёра. Требуется вход и право partner.offers.read.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "additionalProperties": false
      }
    }
    list_partner_ordersAnswer

    Hobbyka: Список заказов текущего партнёра. Требуется вход и право partner.orders.read.

    View tool JSON
    {
      "name": "list_partner_orders",
      "kind": "answer",
      "impl": "imperative",
      "description": "Hobbyka: Список заказов текущего партнёра. Требуется вход и право partner.orders.read.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "additionalProperties": false
      }
    }
    logout_partnerAction

    Завершить подключение Hobbyka и отозвать текущий токен. КП и заказы сохраняются.

    View tool JSON
    {
      "name": "logout_partner",
      "kind": "act",
      "impl": "imperative",
      "description": "Завершить подключение Hobbyka и отозвать текущий токен. КП и заказы сохраняются.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false
      }
    }
    register_cli_contactSensitive Action

    Сохранить контакт Hobbyka без аккаунта: компанию и телефон либо email, при желании имя. Получите согласие пользователя на сохранение этих данных. После этого можно создать КП. Ключ доступа остаётся на сервере и агенту не возвращается.

    View tool JSON
    {
      "name": "register_cli_contact",
      "kind": "transact",
      "impl": "imperative",
      "description": "Сохранить контакт Hobbyka без аккаунта: компанию и телефон либо email, при желании имя. Получите согласие пользователя на сохранение этих данных. После этого можно создать КП. Ключ доступа остаётся на сервере и агенту не возвращается.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "company"
        ],
        "properties": {
          "company": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "name": {
            "type": "string",
            "maxLength": 255
          },
          "phone": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "email": {
            "type": "string",
            "format": "email",
            "minLength": 1,
            "maxLength": 254
          }
        },
        "anyOf": [
          {
            "required": [
              "phone"
            ]
          },
          {
            "required": [
              "email"
            ]
          }
        ]
      }
    }
    request_design_materialsSensitive Action

    Отправить менеджеру Hobbyka заявку на чертежи, 2D-, 3D- или BIM-материалы по товару. Создаёт запись CRM, почтовое событие и уведомление менеджеру. Требует ФИО, телефон, email и явное personal_data_consent=true. Аккаунт не требуется. Повторяйте тот же запрос с тем же idempotency_key.

    View tool JSON
    {
      "name": "request_design_materials",
      "kind": "transact",
      "impl": "imperative",
      "description": "Отправить менеджеру Hobbyka заявку на чертежи, 2D-, 3D- или BIM-материалы по товару. Создаёт запись CRM, почтовое событие и уведомление менеджеру. Требует ФИО, телефон, email и явное personal_data_consent=true. Аккаунт не требуется. Повторяйте тот же запрос с тем же idempotency_key.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "product_id",
          "full_name",
          "phone",
          "email",
          "personal_data_consent",
          "idempotency_key"
        ],
        "properties": {
          "product_id": {
            "type": "integer",
            "minimum": 1
          },
          "full_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "company": {
            "type": "string",
            "maxLength": 255
          },
          "phone": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "email": {
            "type": "string",
            "format": "email",
            "minLength": 1,
            "maxLength": 254
          },
          "comment": {
            "type": "string",
            "maxLength": 2000
          },
          "personal_data_consent": {
            "type": "boolean",
            "const": true
          },
          "idempotency_key": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128,
            "description": "Уникальный ключ запроса, 8–128 печатных ASCII-символов."
          }
        }
      }
    }
    revise_partner_offerAction

    Создать новую версию своего КП Hobbyka, заменив состав товаров. Требуется вход, partner.offers.write, expected_version и idempotency_key. Предыдущая версия будет заменена.

    View tool JSON
    {
      "name": "revise_partner_offer",
      "kind": "act",
      "impl": "imperative",
      "description": "Создать новую версию своего КП Hobbyka, заменив состав товаров. Требуется вход, partner.offers.write, expected_version и idempotency_key. Предыдущая версия будет заменена.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "items",
          "expected_version",
          "public_id",
          "idempotency_key"
        ],
        "properties": {
          "items": {
            "type": "array",
            "minItems": 1,
            "maxItems": 100,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "quantity"
              ],
              "properties": {
                "product_id": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "Товар без выбранного варианта."
                },
                "variant_id": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "Выбранный вариант; родительский товар сервер определит автоматически."
                },
                "quantity": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "custom": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "name"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 500
                    },
                    "description": {
                      "type": "string",
                      "maxLength": 5000
                    },
                    "version": {
                      "type": "string",
                      "maxLength": 255
                    },
                    "article": {
                      "type": "string",
                      "maxLength": 255
                    },
                    "image": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "filename",
                        "mime_type",
                        "content_base64"
                      ],
                      "properties": {
                        "filename": {
                          "type": "string",
                          "maxLength": 255
                        },
                        "mime_type": {
                          "type": "string",
                          "enum": [
                            "image/jpeg",
                            "image/png",
                            "image/gif",
                            "image/webp"
                          ]
                        },
                        "content_base64": {
                          "type": "string",
                          "maxLength": 6990508
                        }
                      }
                    }
                  }
                },
                "price": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "discount": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 100
                },
                "markup": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 1000
                },
                "mounting_price": {
                  "type": "number",
                  "minimum": 0
                },
                "additional_markups": {
                  "type": "array",
                  "maxItems": 100,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "type",
                      "value"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "CURRENCY",
                          "PERCENT"
                        ]
                      },
                      "value": {
                        "type": "number",
                        "minimum": 0
                      },
                      "name": {
                        "type": "string",
                        "maxLength": 255
                      }
                    },
                    "oneOf": [
                      {
                        "properties": {
                          "type": {
                            "const": "CURRENCY"
                          }
                        }
                      },
                      {
                        "properties": {
                          "type": {
                            "const": "PERCENT"
                          },
                          "value": {
                            "maximum": 1000
                          }
                        }
                      }
                    ]
                  }
                }
              },
              "oneOf": [
                {
                  "required": [
                    "product_id"
                  ],
                  "not": {
                    "anyOf": [
                      {
                        "required": [
                          "variant_id"
                        ]
                      },
                      {
                        "required": [
                          "custom"
                        ]
                      }
                    ]
                  }
                },
                {
                  "required": [
                    "variant_id"
                  ],
                  "not": {
                    "anyOf": [
                      {
                        "required": [
                          "product_id"
                        ]
                      },
                      {
                        "required": [
                          "custom"
                        ]
                      }
                    ]
                  }
                },
                {
                  "required": [
                    "custom",
                    "price"
                  ],
                  "not": {
                    "anyOf": [
                      {
                        "required": [
                          "product_id"
                        ]
                      },
                      {
                        "required": [
                          "variant_id"
                        ]
                      }
                    ]
                  }
                }
              ]
            }
          },
          "object": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "name": {
                "type": "string",
                "maxLength": 500
              },
              "address": {
                "type": "string",
                "maxLength": 500
              },
              "city": {
                "type": "string",
                "maxLength": 255
              },
              "comments": {
                "type": "string",
                "maxLength": 1000
              }
            }
          },
          "delivery": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "method"
            ],
            "properties": {
              "method": {
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "enum": [
                  "pickup_mo",
                  "pickup_msk",
                  "pickup",
                  "delivery_object",
                  "delivery_tk"
                ]
              },
              "city": {
                "type": "string",
                "maxLength": 255
              },
              "address": {
                "type": "string",
                "maxLength": 500
              },
              "comments": {
                "type": "string",
                "maxLength": 1000
              },
              "price": {
                "type": "number",
                "minimum": 0,
                "description": "Согласованная менеджером стоимость доставки. Ноль означает бесплатную доставку."
              }
            }
          },
          "expected_version": {
            "type": "integer",
            "minimum": 1
          },
          "company": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "phone": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "email": {
            "type": "string",
            "format": "email",
            "minLength": 1,
            "maxLength": 254
          },
          "contact": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "name": {
                "type": "string",
                "maxLength": 255
              },
              "phone": {
                "type": "string",
                "minLength": 1,
                "maxLength": 64
              },
              "email": {
                "type": "string",
                "format": "email",
                "minLength": 1,
                "maxLength": 254
              },
              "surname": {
                "type": "string",
                "maxLength": 255
              }
            }
          },
          "inn": {
            "type": "string",
            "maxLength": 32
          },
          "ogrn": {
            "type": "string",
            "maxLength": 32
          },
          "implementation_period": {
            "type": "string",
            "maxLength": 500
          },
          "not_send_amo": {
            "type": "boolean",
            "description": "Состояние галки «Не отправлять в AMO CRM». По умолчанию false."
          },
          "terms": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "production_time_from": {
                "type": "integer",
                "minimum": 0
              },
              "production_time_to": {
                "type": "integer",
                "minimum": 0
              },
              "validity_days": {
                "type": "integer",
                "minimum": 1
              },
              "prepayment_percent": {
                "type": "number",
                "minimum": 0,
                "maximum": 100
              },
              "warranty_months": {
                "type": "integer",
                "minimum": 0
              }
            }
          },
          "services": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "assembly_price": {
                "type": "number",
                "minimum": 0
              },
              "installation_price": {
                "type": "number",
                "minimum": 0
              }
            }
          },
          "presentation": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "header_type": {
                "type": "string",
                "enum": [
                  "hobbyka",
                  "dealer",
                  "hobbyka_with_contacts"
                ]
              }
            }
          },
          "proposals": {
            "type": "array",
            "minItems": 1,
            "maxItems": 3,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "type",
                "days",
                "discount"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "base",
                    "medium",
                    "maximum"
                  ]
                },
                "days": {
                  "type": "integer"
                },
                "discount": {
                  "type": "number"
                }
              }
            }
          },
          "public_id": {
            "type": "string",
            "pattern": "^[a-f0-9]{40}$"
          },
          "idempotency_key": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128,
            "description": "Уникальный ключ запроса, 8–128 печатных ASCII-символов."
          }
        }
      }
    }
    search_catalogAnswer

    Hobbyka: Поиск и подбор товаров. Возвращает краткие карточки. Полный товар вместе с торговыми предложениями доступен по идентификатору.

    View tool JSON
    {
      "name": "search_catalog",
      "kind": "answer",
      "impl": "imperative",
      "description": "Hobbyka: Поиск и подбор товаров. Возвращает краткие карточки. Полный товар вместе с торговыми предложениями доступен по идентификатору.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "example": "скамейка"
          },
          "section_id": {
            "type": "integer",
            "minimum": 1
          },
          "section_code": {
            "type": "string"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "cursor": {
            "type": "string"
          },
          "updated_since": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      }
    }
    search_contentAnswer

    Hobbyka: Поиск публичного контента.

    View tool JSON
    {
      "name": "search_content",
      "kind": "answer",
      "impl": "imperative",
      "description": "Hobbyka: Поиск публичного контента.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "news",
              "article",
              "faq",
              "help",
              "term",
              "service",
              "page"
            ]
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "cursor": {
            "type": "string"
          },
          "updated_since": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      }
    }
    start_partner_device_authorizationAction

    Начать вход в Hobbyka через одноразовую страницу сайта. Пользователь самостоятельно входит и подтверждает подключение. Затем вызовите complete_partner_device_authorization. Пароли передавать агенту не требуется.

    View tool JSON
    {
      "name": "start_partner_device_authorization",
      "kind": "act",
      "impl": "imperative",
      "description": "Начать вход в Hobbyka через одноразовую страницу сайта. Пользователь самостоятельно входит и подтверждает подключение. Затем вызовите complete_partner_device_authorization. Пароли передавать агенту не требуется.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "client_name": {
            "type": "string",
            "maxLength": 128
          }
        }
      }
    }
    update_partner_orderSensitive Action

    Изменить комментарий своего заказа Hobbyka. Требуется вход, право partner.orders.write и актуальный expected_version.

    View tool JSON
    {
      "name": "update_partner_order",
      "kind": "transact",
      "impl": "imperative",
      "description": "Изменить комментарий своего заказа Hobbyka. Требуется вход, право partner.orders.write и актуальный expected_version.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "expected_version",
          "public_id"
        ],
        "properties": {
          "expected_version": {
            "type": "integer",
            "minimum": 1
          },
          "comments": {
            "type": "string",
            "maxLength": 1000
          },
          "public_id": {
            "type": "string",
            "pattern": "^[a-f0-9]{40}$"
          }
        }
      }
    }