A1 Yandex KIT MCP

io.github.gistrec由 GitHub 账号 gistrec 发布v1.13.0更新于 Nov 1, 2026

A1 Yandex KIT MCP server for the Yandex KIT e-commerce API: products, orders, discounts, webhooks.

已验证STDIO仅桌面效率与工作流商业与电商

概览

AI 生成的概览

面向 Yandex KIT 电商 API 的本地 MCP 服务器,让助手读取并修改线上店铺的商品目录、订单、客户、促销和 webhook。

可以做什么
  • 搜索、查看并执行全部 178 个 KIT API 操作,包括没有专用工具的操作
  • 列出、创建和更新商品、变体、分类及相似商品设置;批量改价并归档条目
  • 列出、确认、取消订单并完成配送,写入标记码,获取支付链接、交接单和配送标签
  • 列出客户与订单,可对个人数据做脱敏并导出 CSV
  • 读取店铺信息、地区、商品目录 feed 和标签格式
适用场景
适合经营 Yandex KIT 店铺、希望在桌面 AI 客户端中让助手审计商品目录、同步价格与库存、处理订单、创建或调整促销、检查 webhook,而不必登录商家后台的场景。
运行要求
通过 npx 以 stdio 在本地运行,需要 Node.js 20.11 或更高版本。需要商家后台生成的 Yandex KIT API 令牌,放在 YANDEX_KIT_TOKEN 中。可选配置:YANDEX_KIT_BASE_URL、YANDEX_KIT_RPS(API 每店限 3 rps)和 YANDEX_KIT_TIMEOUT_MS。需要访问 KIT API 的网络。
安装前请注意
该令牌拥有店铺完整权限且只显示一次,避免写入 shell 历史或命令行。没有沙箱或测试店铺:创建、更新、删除、归档会立即作用于线上店铺,且无法一键撤销。支付链接永久有效且不可撤销。客户数据属于个人数据,脱敏只影响回复内容。webhook 检查会向配置的地址发送测试请求。

安装

在 SourceWeft 中

  1. 打开 控制台中的 A1 Yandex KIT MCP,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Поручайте задачи магазина Яндекс KIT ассистенту

[A1] Yandex KIT Skills β

Проверьте, что требует внимания, приведите каталог в порядок, разберите заказы и запустите промо обычной фразой. Ассистент читает текущее состояние магазина, выполняет изменения только по точной команде и показывает проверенный итог.

  • Проверяет. Заказы, каталог, промо, вебхуки и готовность магазина к открытию.
  • Выполняет. Обновляет заданные цены и остатки, запускает акции, работает с файлами и документами.
  • Показывает результат. Сообщает, что изменилось, что проверено полностью и где данных не хватило.

Ваш первый запрос

Что сейчас требует внимания в магазине? Проверь заказы и каталог и укажи, какие данные удалось проверить.

Подключить магазин · Посмотреть, что ещё можно поручить · Подписаться на Telegram-канал


AI-ассистент для Яндекс KIT

[A1] Yandex KIT Skills β позволяет управлять магазином из привычного приложения (Claude, Cursor, Codex и других). Вы ставите задачи обычными словами, а ассистент проверяет текущее состояние магазина, находит то, что требует внимания, и выполняет команды.

  • Четыре готовых сценария. Операционные риски и приоритеты, ошибки каталога, запуск акций и готовность магазина к открытию.
  • Голосом или текстом. Формулируйте рабочие задачи естественным языком. Пишите или диктуйте, если приложение поддерживает голосовой ввод. При желании можно вызвать нужный навык напрямую.
  • Изменения только по команде. Проверки ничего не меняют, а цены, остатки, сроки и другие бизнес-значения ассистент не придумывает.

Что уже умеет ассистент

  1. Оператор (a1-yandex-kit-operator) проводит операционный разбор магазина: находит всё, из-за чего можно потерять заказ, деньги или репутацию, расставляет риски по срочности и формирует точный план действий.
  2. Доктор каталога (a1-yandex-kit-catalog-doctor) находит ошибки, из-за которых товары теряют видимость и продажи, и по команде владельца исправляет их.
  3. Запуск промо (a1-yandex-kit-promo-launcher) превращает заданные условия в готовую акцию: создаёт, изменяет и запускает скидки, промокоды и подарки в магазине.
  4. Проверка запуска (a1-yandex-kit-launch-check) определяет, готов ли магазин к открытию и приёму заказов: находит блокеры и перечисляет всё, что ещё нужно подтвердить.
  5. Специализированные навыки. a1-yandex-kit-orders, a1-yandex-kit-catalog, a1-yandex-kit-promotions, a1-yandex-kit-store и a1-yandex-kit-webhooks — для отдельных задач по заказам, каталогу, акциям, ресурсам магазина и вебхукам.
  6. [Бинокль] Не нашли нужного сценария? Расскажите, какой задачи вам не хватает, и следите за новыми возможностями.

Увидеть работу за минуту

После подключения:

Вы: Что сейчас требует внимания в магазине?

Ассистент: Проверил доступные заказы, каталог, промо и вебхуки. Показал найденные риски и отдельно отметил участки, которые не удалось проверить полностью.

Вы: Выгрузи заказы в CSV с датой, суммой и статусом.

Ассистент: Подготовил выгрузку и указал её охват. Если список получен не полностью, это отмечено в результате.

Вы: Подними цены всех товаров на 20%.

Ассистент: Цены всех 12 товаров повышены с 999 ₽ до 1 199 ₽. Базовые и итоговые цены обновлены и проверены.

Вы: [прикладывает семь PDF-файлов]

Здесь инструкции, технические паспорта и сертификаты. Названия файлов непонятные. Разбери, к каким товарам относится каждый документ, и прикрепи их, пожалуйста.

Ассистент: Разобрал содержимое семи документов и сопоставил их с каталогом по названиям моделей и SKU:

  • «Кресло Urban Relax» — инструкция по сборке и технический паспорт;
  • «Nordic Comfort Lounge Chair» — инструкция по сборке и спецификация материалов;
  • «Black Force», «Pink Dream» и «Champion Spirit» — декларация соответствия для каждого парфюма.

Все совпадения однозначные. Прикрепил 7 из 7 документов, дал им понятные названия и проверил список документов у каждого товара. Нераспознанных файлов нет.


Содержание

Быстрый старт

  1. Откройте терминал и установите пакет навыков:

    bash
    npx skills@latest add ztemerbekov/a1-yandex-kit-skills -y

    Чтобы позже получить свежие обновления, выполните npx skills update.

  2. Явно вызовите установщик навыком a1-yandex-kit-setup. В Codex вызов выглядит так:

    text
    $a1-yandex-kit-setup

    В другом приложении выберите навык с этим именем в списке команд.

  3. Следуйте вопросам установщика. Он проверит окружение и токен, подключит магазин к выбранному приложению и выполнит первый вызов. Начиная с 1.12.0 Codex и Claude Code используют выбранный проект: один проект — один магазин, с общей привязкой для двух агентов.

  4. После сообщения об успешном подключении рабочие сценарии можно вызывать обычными фразами — голосом или текстом. Начните с простого вопроса:

    Как дела в магазине?

Установщик работает с Claude Code, Claude Desktop, Cursor, OpenAI Codex и другими приложениями. Пакет также можно установить через маркетплейс приложения. Если подключение не завершилось, откройте подробную инструкцию: там есть полный список платформ, ручная настройка и способы устранения ошибок.

Проектный режим добавлен в 1.12.0. Для него нужны yandex-kit-core, mcp-yandex-kit и навык a1-yandex-kit-setup версии 1.12.0 или новее из одного согласованного выпуска. Перед использованием mcp-yandex-kit@latest убедитесь, что он разрешается в совместимую версию не ниже 1.12.0. Привязка, приватное хранение токена, миграция и перезапуск сессий описаны в инструкции.

Подробнее о сценариях

Выберите знакомую задачу и отправьте запрос ассистенту. Формулировки можно менять: подставьте свои товары, заказы, даты и условия. Для проверки достаточно описать, что вас интересует; для изменения укажите нужное значение или приложите файл, из которого его взять.

Понять, что требует внимания в магазине

Начинается рабочий день, накопились заказы или нужно быстро разобраться в состоянии магазина. Оператор (a1-yandex-kit-operator) проверит доступные данные и расставит найденные риски по срочности.

Что можно написать:

Как дела в магазине? С чего начать сегодня?

Я три дня не заглядывал в магазин. Разбери заказы за это время и покажи, что требует внимания.

Перед выходными проверь заказы, каталог и действующие акции. Какие вопросы нужно решить в первую очередь?

Что получите: разбор заказов, состояния каталога, промо и вебхуков с фактами из магазина. Ассистент отдельно укажет, что не удалось проверить.

Привести в порядок карточки, цены и остатки

Пришла поставка, изменился прайс или в каталоге накопились ошибки. Доктор каталога (a1-yandex-kit-catalog-doctor) поможет проверить товары и внести заданные изменения.

Что можно написать:

Проведи полный аудит каталога. Сначала покажи ошибки, которые мешают купить товар.

Найди товары без фотографий и проверь, где не заполнены характеристики.

Подними цены всех товаров на 20%.

Установи остаток у кроп-топа Summer Breeze: 13 штук.

Прикладываю файл с новыми остатками. Сопоставь товары по SKU и обнови остатки по файлу. Покажи строки, для которых не нашлось однозначного совпадения.

Что получите: список ошибок с указанием товаров или проверенный результат изменений. Для аудита ассистент разделит блокеры, риски и рекомендации, укажет охват и непроверенные участки. Цены и остатки возьмёт из вашей команды или файла.

Разобрать заказы, получить ссылку на оплату и документы для отгрузки

Нужно проверить оплату, подготовить отчёт или передать отправления службе доставки. Эти задачи доступны через a1-yandex-kit-orders.

Что можно написать:

Покажи заказы за сегодня и их статусы оплаты. Скрой имена, телефоны и адреса.

Выгрузи заказы за прошлую неделю в CSV: дата, сумма и статус.

Дай платёжную ссылку для заказа 123.

Сформируй акты приёма-передачи для всех частей заказа 123. Если для какой-то части акт недоступен, объясни почему.

Что получите: список заказов, CSV, платёжную ссылку или ссылки на PDF с актами — в зависимости от запроса. Если выгрузка неполная, ассистент укажет её охват; если акт недоступен, перечислит пропущенные части заказа с причинами.

Платёжную ссылку ассистент отдаёт вам; покупателю её отправляете вы. Она постоянная и неотзываемая, поэтому не публикуйте её в открытом доступе. Ссылки на PDF с актами, наоборот, истекают: если ссылка перестала работать, запросите акт заново.

Добавить фото, видео и документы к товарам

Поставщик прислал материалы, и их нужно разложить по карточкам. Навыки a1-yandex-kit-catalog и a1-yandex-kit-store помогают работать с медиа и файлами магазина.

Что можно написать:

Прикладываю семь PDF-файлов: инструкции, технические паспорта и сертификаты. Разбери, к каким товарам они относятся, и прикрепи документы к карточкам.

Покажи загруженные файлы, включая документы, со ссылками на них.

Покажи список загруженных видео и их статусы обработки.

Добавь это фото к товару SKU-42. Сохрани остальные фотографии в карточке.

Что получите: список файлов или результат прикрепления материалов с проверкой карточек. Если по документу нельзя однозначно определить товар, ассистент уточнит соответствие. Видео хранятся отдельно и не входят в общий список файлов — их можно запросить отдельной фразой.

Запустить акцию или изменить действующий промокод

Условия акции уже определены, осталось перенести их в магазин. Запуск промо (a1-yandex-kit-promo-launcher) создаёт и изменяет скидки, промокоды и подарки по вашей команде.

Что можно написать:

Какие акции сейчас действуют? Покажи сроки, товары и условия каждой.

Создай промокод SMPT10 «Сентябрь 10»: скидка 10% на все товары с 1 по 30 сентября 2026 года по Москве, без лимита использований. Активируй сразу.

Продли промокод SMPT10 до 7 октября 2026 года, 23:59 по Москве. Остальные условия сохрани.

Отключи промокод SMPT10 и проверь, что он больше не активен.

Что получите: обзор действующих промо или настроенную акцию с проверкой итоговых условий и статуса. Если для запуска не хватает размера скидки, товаров, срока или другого обязательного условия, ассистент уточнит его.

Получить каталог для рекламы и CRM

Рекламный специалист или интегратор просит ссылку на товарный фид — файл, из которого сервис получает каталог. Навык a1-yandex-kit-store найдёт ссылку для нужной площадки.

Что можно написать:

Нужна ссылка на каталог для Яндекс Директа. Дай YML-фид магазина.

Подключаю RetailCRM. Покажи ссылку на ICML-фид.

Дай фид для Яндекс Товаров и подпиши, какой это формат.

Что получите: постоянную ссылку на нужный фид: YML для Яндекс Директа, ICML для RetailCRM или YML_GOODS для Яндекс Товаров. Адрес сохраняется при обновлении содержимого. Ссылку нужно добавить в соответствующий сервис; получение фида само по себе не запускает рекламу и не настраивает CRM.

Найти данные клиента или подготовить выгрузку

Нужна история заказов конкретного клиента, список для отчёта или правка в карточке. Эти задачи доступны через a1-yandex-kit-orders.

Что можно написать:

Покажи заказы клиента с этим ID, скрыв его персональные данные.

Выгрузи клиентов в CSV: ID, имя и email.

В карточке клиента с этим ID замени заметку на «Предпочитает самовывоз». Остальные поля сохрани.

Что получите: запрошенные данные, выгрузку с указанием охвата или проверенное изменение карточки. Скрытие персональных данных действует только на ответ ассистента — сведения в магазине сохраняются.

Проверить уведомления для интеграций

Внешняя система получает события магазина через вебхуки. Навык a1-yandex-kit-webhooks поможет посмотреть подписки, проверить принимающий адрес или отключить конкретный вебхук.

Что можно написать:

Покажи вебхуки магазина: куда они отправляют уведомления, на какие события подписаны и какой у них статус.

Запусти проверку вебхука с этим ID и покажи результат. Не активируй его.

Отключи вебхук с этим ID. Сам вебхук сохрани.

Что получите: список настроек, результат проверки или подтверждённое отключение. Проверка отправляет тестовый запрос на адрес вебхука; ассистент выполняет её по вашей команде.

Проверить магазин перед открытием

Каталог заполнен, и вы собираетесь принимать первые заказы. Проверка запуска (a1-yandex-kit-launch-check) поможет найти то, что ещё мешает открытию.

Что можно написать:

Проверь, готов ли магазин к открытию. Что мешает начать принимать заказы?

Завтра запускаем магазин. Проверь каталог и промо, а непроверенные этапы покупки вынеси в отдельный список.

Что мне проверить вручную в оплате и доставке перед открытием?

Что получите: статус «не готов», «условно готов» или «готов» с блокерами, рисками и непроверенными участками. Ассистент проверит каталог и промо, учтёт подтверждения проверки оформления заказа, а при наличии web-доступа у приложения — посмотрит публичную витрину. Оформление и оплату тестового заказа проверяет владелец; одних данных API для статуса «готов» недостаточно.

Как ассистент взаимодействует с магазином

Проверка ничего не изменяет. Если вы просите «покажи», «проверь», «разбери» или «найди», ассистент только проверит магазин и покажет результат.

Для изменения нужна точная команда. Укажите, что нужно изменить и какое значение установить. Например: «Подними цены всех товаров на 20%». Ассистент не будет самостоятельно придумывать цену, остаток, срок или другое решение.

Повторное подтверждение не требуется. Точная команда уже считается разрешением на действие.

Это правило относится к ассистенту. Само AI-приложение может отдельно показывать кнопку Allow перед вызовом инструмента. В пользовательском режиме можно отдельно включить «Работу без остановок»: AI-приложение разрешит все текущие и будущие инструменты Yandex KIT, включая удаления, заказы, промо и настройки магазина. Сами навыки по-прежнему меняют магазин только по вашей точной команде. Проектный setup Codex/Claude Code сохраняет целевые разрешения и запреты без такого расширения.

Результат проверяется. Перед изменением ассистент посмотрит текущее состояние объекта, выполнит команду и затем проверит, что получилось.

Неясная операция не повторяется. Если во время изменения пропадёт связь и результат нельзя будет подтвердить, ассистент сообщит об этом, но не станет повторять команду вслепую.

Автоматической отмены нет. Ассистент не сохраняет копию состояния магазина перед каждым изменением, поэтому вернуть всё одной командой «как было» нельзя.

Обратите внимание

Все изменения происходят в рабочем магазине. Отдельного тестового магазина или пробного режима нет.

Ассистент не следит за магазином постоянно. Он проверяет состояние магазина и выполняет действия только тогда, когда вы ставите ему задачу.

С заказами доступны не все действия. Ассистент может просматривать, подтверждать и отменять заказы. Для самовывоза и собственной доставки при выключенной автоматизации он может завершить доставку; произвольные статусы доставки и статусы оплаты недоступны. Он не может создавать заказы, свободно менять содержимое заказа, оформлять возвраты или писать покупателям.

Готовность к открытию проверяется не полностью автоматически. Ассистент не видит настройки оплаты и доставки и не может самостоятельно оформить и оплатить тестовый заказ. Эту часть проверки выполняет владелец магазина.

После ошибки связи команда не повторяется автоматически. Сначала ассистент попробует проверить, выполнилось ли изменение. Если подтвердить результат не получится, он сообщит об этом и остановится, чтобы случайно не выполнить действие дважды.

Охват списка виден в ответе. Ассистент укажет, сколько объектов проверено, а непроверенные объекты или участки отметит отдельно. Если данных не хватает, он не назовёт результат полным. Для большого списка может понадобиться несколько обращений к магазину.

Списки заказов и клиентов можно выгрузить в CSV. Попросите выгрузить список с выбранными полями, например: «Выгрузи заказы в CSV с датой, суммой и статусом». Если список получен не полностью, ассистент скажет об этом.

Персональные данные можно скрыть в ответе. Попросите показать заказы, клиентов или подарочные карты без имён, телефонов, email, адресов и заметок. Это изменяет только показанный ответ — данные магазина сохраняются как есть.

MCP-сервер (Model Context Protocol)

Этот репозиторий содержит рабочий MCP-сервер для API Яндекс KIT — не только навыки и плагины для AI-клиентов.

  • Реализация. Сервер написан на TypeScript с официальным пакетом @modelcontextprotocol/sdk, создаётся через McpServer и подключается к AI-клиенту через StdioServerTransport.
  • Возможности MCP. Сервер предоставляет 96 инструментов (tools) для работы с товарами, вариантами (включая массовое обновление цен), категориями, характеристиками, видео, новостями, заказами, клиентами и их корзинами, складами, коллекциями, файлами, скидками, промокодами, подарочными картами, алертами и вебхуками. Ресурсы (resources) и промты (prompts) не объявляются: операции API предоставляются как MCP-инструменты.
  • Полное покрытие API. Специализированные инструменты дополняют search_operations, get_operation_schema и kit_request, через которые доступны все 178 операций API Яндекс KIT.
  • Транспорт. Локальный MCP-сервер работает через stdio.
  • Публикация. Сервер доступен как npm-пакет mcp-yandex-kit и запускается через npx на Node.js 20.11 и новее.
  • Навыки. Навыки из этого репозитория добавляют готовые рабочие сценарии и правила безопасного выполнения операций поверх MCP-инструментов, но не заменяют сам MCP-сервер.

Исходный код: packages/mcp/src/index.ts · packages/mcp/src/tools · список инструментов · README MCP-пакета.

Ниже показано прежнее пользовательское/env-подключение самого MCP-сервера. Оно добавляет MCP-инструменты, но не устанавливает навыки и не изолирует магазины по проектам. Для проектного подключения Codex/Claude Code начиная с 1.12.0 используйте setup-навык и инструкцию. Настоящий токен безопаснее передать setup через защищённую страницу или stdin, чем вставлять в shell-команду.

Codex — прежнее пользовательское подключение MCP
  1. Добавьте сервер командой:

    bash
    codex mcp add yandex-kit \  --env YANDEX_KIT_TOKEN=ваш_токен \  -- npx -y mcp-yandex-kit@latest
  2. Начните новую задачу Codex.

  3. Проверьте подключение простым запросом:

    Проверь, подключился ли магазин. Покажи, сколько товаров в каталоге, и скажи, на что стоит обратить внимание в первую очередь.

Cursor — подключить MCP-сервер
  1. Откройте ~/.cursor/mcp.json и добавьте сервер:

    json
    {  "mcpServers": {    "yandex-kit": {      "command": "npx",      "args": ["-y", "mcp-yandex-kit"],      "env": {        "YANDEX_KIT_TOKEN": "ваш_токен"      }    }  }}
  2. Перезагрузите окно Cursor.

  3. Проверьте подключение простым запросом:

    Проверь, подключился ли магазин. Покажи, сколько товаров в каталоге, и скажи, на что стоит обратить внимание в первую очередь.

Claude Code — прежнее пользовательское подключение MCP
  1. Добавьте сервер командой:

    bash
    claude mcp add --scope user yandex-kit \  -e YANDEX_KIT_TOKEN=ваш_токен \  -- npx -y mcp-yandex-kit@latest
  2. Начните новую сессию Claude Code.

  3. Проверьте подключение простым запросом:

    Проверь, подключился ли магазин. Покажи, сколько товаров в каталоге, и скажи, на что стоит обратить внимание в первую очередь.

Установка через маркетплейсы

Выберите AI-приложение, в котором хотите управлять магазином. Каждый вариант устанавливает полный комплект: подключение Яндекс KIT, API-навыки и четыре готовых сценария. Bundled MCP сохраняет env-режим; проектный setup локально выключает фактически обнаруженную старую KIT-запись, сохраняя навыки. При недоступном identity или активном дубликате проверка не объявляет проект готовым.

Если способ установки не важен, используйте быстрый старт — там достаточно одной команды.

Codex — установить через Marketplace
  1. Добавьте маркетплейс и установите полный комплект:

    bash
    codex plugin marketplace add ztemerbekov/a1-yandex-kit-skillscodex plugin add a1-yandex-kit-skills@a1-yandex-kit-skills
  2. Начните новую задачу Codex, чтобы загрузились установленные навыки.

  3. Подключите магазин:

    text
    $a1-yandex-kit-skills:a1-yandex-kit-setup

Следуйте вопросам установщика — он проверит окружение, подключит магазин и выполнит первый вызов.

Cursor — установить через Marketplace
  1. Добавьте маркетплейс:

    bash
    cursor-agent plugin marketplace add https://github.com/ztemerbekov/a1-yandex-kit-skills
  2. Запустите Cursor Agent, откройте /plugin и выберите маркетплейс A1 Яндекс KIT.

  3. Установите плагин A1 Яндекс KIT, затем выберите навык a1-yandex-kit-setup и следуйте вопросам подключения.

Claude Code — установить через Marketplace
  1. Добавьте маркетплейс и установите полный комплект:

    text
    /plugin marketplace add ztemerbekov/a1-yandex-kit-skills/plugin install a1-yandex-kit-skills@a1-yandex-kit-skills
  2. Загрузите установленные навыки:

    text
    /reload-plugins
  3. Подключите магазин:

    text
    /a1-yandex-kit-skills:a1-yandex-kit-setup

Следуйте вопросам установщика — он проверит окружение, подключит магазин и выполнит первый вызов.


Обновление

Обновляйте пакет тем же способом, которым установили его.

Если вы использовали быстрый старт, получите свежую версию навыков одной командой:

bash
npx skills update

Если вы устанавливали пакет через маркетплейс, обновите плагин A1 Яндекс KIT в том же AI-приложении. После обновления начните новую задачу, чтобы приложение загрузило свежую версию навыков.


Документация


Помощь и обратная связь

Нужна помощь, что-то не работает или есть идея? Напишите нам в Telegram — [A1] Yandex KIT Skills β.


[Две Моны дают пять]

Вы дочитали до конца!

来源:README.md,提交 df8de5d

工具

96

search_operations

Search KIT API operations

Search the full catalog of all 178 Yandex KIT API operations by keyword. Matches operationId, URL path, tag and Russian summary/description (the API docs are in Russian, so Russian keywords like "категории" work too). Any operation found here can be executed with kit_request; use get_operation_schema to inspect its parameters and body shape first.

输入参数taglimitquery必填

get_operation_schema

Get KIT operation schema

Get full metadata for one KIT API operation by operationId: HTTP method, path, path/query parameters, request content type, pagination info, and the fully dereferenced JSON schemas of the request body and response. Call this before kit_request or any create/update tool to learn the exact body shape.

输入参数operation_id必填

kit_request

Execute any KIT API operation

Escape hatch that executes ANY of the 178 Yandex KIT API operations by operationId, including operations without a dedicated tool. WARNING: this performs REAL calls against the live store — write operations (create/update/delete/archive) take effect immediately and there is no sandbox. Workflow: search_operations -> get_operation_schema -> kit_request. The request body is validated against the OpenAPI schema before sending (set validate=false to skip). If a mutation returns HTTP 429, LIMIT_EXCEEDED, timeout or another uncertain result, read back the complete affected resource before considering any repeat; never blindly replay the write.

输入参数bodyqueryvalidatepath_paramsoperation_id必填

get_store

Get store

Get information about the current store (id, slug, b2c_url). `b2c_url` is the storefront origin a variant's `relative_link_url` is resolved against — list_variant_links already does that join. Operation: GetStore.

无需输入参数。

get_current_user

Get current user

Get the user that owns the API token. Operation: GetCurrentUser.

无需输入参数。

get_store_feeds

Get store feeds

Get permanent links to the store's catalog feeds: ICML (RetailCRM), YML (Yandex Direct) and YML_GOODS (Yandex Tovary). A feed URL never changes when the feed content updates — fetch it once and download the feed by that URL on a schedule. Operation: GetStoreFeeds.

无需输入参数。

get_regions

Get regions

Get the list of geographic regions (countries, regions, cities). Each region has an id, a name and a parent region id, forming a hierarchy. Operation: GetRegions.

无需输入参数。

list_products

List products

List product records (paginated); for export requests, use this for explicit raw product-group or catalog-structure dumps. Ordinary catalog exports use list_variants: a product carries grouping and category data, not a sellable name, SKU, price or stock. format:"csv" defaults to top-level scalar fields (currently id and group_id) and does not flatten variant data. The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

输入参数allpagefieldsformatper_page

get_product

Get product

Get a single product by its ID, including its category bindings.

输入参数id必填

create_product

Create product

Create a new product. Requires category_ids (array of category UUIDs, at least one). Call get_operation_schema("CreateProduct") for the exact request shape.

输入参数product必填

update_product

Update product

Update an existing product (plain JSON PATCH, not merge-patch). Passing category_ids fully replaces the product's category list. Call get_operation_schema("UpdateProduct") for the exact request shape.

输入参数id必填product必填

get_similar_cards

Get similar-products settings

Get the similar-products settings of a product card: its binding_mode plus the bound objects for that mode — product_card_ids for SELECTED_CARDS, category_ids and collection_ids for SELECTED_CATEGORIES_COLLECTIONS, none for ALL_VARIANTS (up to 500 IDs each). A 404 means the card has no settings yet — create them with set_similar_cards_mode action="create". These settings are separate from the deprecated symmetric links of GetSimilarProductCardIDs — neither API sees the other's bindings. The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

输入参数product_card_id必填

set_similar_cards_mode

Create or change similar-products settings

Create the similar-products settings of a product card (action="create"; 409 if they already exist) or change the binding mode of existing ones (action="update"; 404 if there are none — check with get_similar_cards). Changing the mode drops every bound card, category and collection, and switching back does not restore them — read them with get_similar_cards first and re-bind afterwards. After choosing SELECTED_CARDS or SELECTED_CATEGORIES_COLLECTIONS, bind the objects with manage_similar_cards_objects.

输入参数action必填binding_mode必填product_card_id必填

manage_similar_cards_objects

Add or remove similar-products objects

Bind objects to a product card's similar-products settings or unbind them (up to 500 per call). product_card_ids work only in SELECTED_CARDS mode, category_ids and collection_ids only in SELECTED_CATEGORIES_COLLECTIONS — send either cards or categories/collections, never both. One-directional: only this card's settings change, the listed cards get no reverse link (unlike the deprecated symmetric AddSimilarProductCards/DeleteSimilarProductCards).

输入参数action必填objects必填product_card_id必填

delete_similar_cards

Delete similar-products settings

Delete the similar-products settings of a product card. Cannot be undone — read them with get_similar_cards first if they may be needed again.

输入参数product_card_id必填

list_variants

List variants

Primary sellable catalog/export listing: list variants (SKUs), one item per sellable SKU. Use this for ordinary catalog or «выгрузи товары в CSV» requests; use list_products only for an explicit raw product-group export. Variants support optional filters and pagination. By default the API returns variants of all statuses except ARCHIVED. format:"csv" defaults to top-level scalar fields and serializes nested pricing/stocks as JSON cells; it does not create flat price or per-warehouse stock columns. List the archive with status ["ARCHIVED"]. If the response ever holds statuses outside the requested filter, the tool fails with STATUS_FILTER_IGNORED instead of returning the wrong catalog slice. For storefront page URLs use list_variant_links — it joins each item's `relative_link_url` with the store's b2c_url for you. The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

输入参数allnamepagefieldsformatstatusper_pageproduct_id

get_variant

Get variant

Get a single variant by its ID (name, SKU, pricing, stocks, media, status). `relative_link_url` is the variant's storefront path; prefix it with the store's b2c_url (get_store) for a full link, or use list_variant_links to get that joined for you.

输入参数id必填

create_variant

Create variant

Create a new variant (sellable item) under an existing product. Required: name and product_id. `media` holds images and at most ONE video: a video entry is accepted only when the same `media` list also carries at least one image, and its video_id must already be READY (upload_video / upload_video_from_url, then poll get_video). Call get_operation_schema("CreateVariant") for the exact request shape (pricing, stocks, media, ...).

输入参数variant必填

update_variant

Update variant

Update an existing variant via JSON Merge Patch: send only the fields to change (e.g. pricing or stocks). No field of UpdateVariantRequest is nullable, so null values are rejected by validation before any call — to clear a price, use bulk_update_prices (its price/manual_discount_price accept null). `media` is an exception to merge-patch granularity: sending it REPLACES the whole list, so resend the existing images alongside anything you add. At most ONE video per variant, and a video is accepted only when the same list carries at least one image — sending a video alone wipes the images and fails. `stocks` and `characteristics` replace the whole list too; rebuild them from a fresh get_variant, which IS the complete current state (an empty characteristics list is genuinely empty, nothing hidden). Call get_operation_schema("UpdateVariant") for the exact request shape — but ignore its prose for `stocks`: upstream the spec pasted the media wording there, while the field still takes VariantStock entries (per-warehouse quantities).

输入参数id必填variant必填

bulk_update_prices

Bulk update prices

Update prices of up to 5000 variants in one synchronous, atomic request — the fast path for syncing a whole catalog instead of calling update_variant per item. If a single item is invalid (variant unknown or archived, variant listed twice, price malformed, discount price above the base price) the whole request is rejected with 400 and NOTHING is applied; the response `errors` list names every offending variant. Both price fields are optional per item: omit a key to keep the current value, or send null to reset it (resetting `price` works only on unpublished variants). Changing `price` recomputes the promo price; promo membership is refreshed in the background afterwards.

输入参数items必填

variant_action

Archive or unarchive variant

Archive a variant (soft delete: status becomes ARCHIVED, item is hidden from the storefront but restorable) or unarchive it (status becomes HIDDEN; publish it afterwards via update_variant).

输入参数id必填action必填

list_categories

List categories

List product categories of the store (paginated). The API requires a status filter; defaults to ACTIVE when not provided. The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

输入参数allpagefieldsformatstatusper_page

get_category

Get category

Get a single product category by its ID.

输入参数id必填

create_category

Create category

Create a new product category. Required: title. Optional: slug, parent_id, display_sequence, is_hidden_in_menu, file_id, seo_title, seo_description. Call get_operation_schema("CreateCategory") for the exact request shape.

输入参数category必填

update_category

Update category

Update an existing category via JSON Merge Patch: send only the fields to change. Only parent_id and file_id accept null (parent_id: null makes the category top-level, file_id: null removes the image); null on any other field is rejected by validation. Call get_operation_schema("UpdateCategory") for the exact request shape.

输入参数id必填category必填

category_action

Archive or unarchive category

Archive a category (soft delete: hidden from the storefront, restorable) or unarchive it. If the category is the only one of a product with non-archived variants, archiving requires archive_variants=true.

输入参数id必填action必填archive_variants

list_orders

List orders

List orders of the store (paginated), newest first by default. Each order carries customer_id (look the buyer up with get_customer) and items[].name, so a CRM can link an order to its customer card without extra calls. updated_from/updated_to filter by last-change time, which is what an incremental sync should poll on: an order that only changed status still falls inside the window, while a created-at filter would miss it. Sync recipe: updated_from=<cursor>, sort_by=updated_at, sort_direction=asc, then advance the cursor to the largest updated_at seen — an order that changes mid-paging moves to the end instead of being skipped, and an all=true run cut off at 500 items resumes from that cursor. The filter is inclusive on both ends, so the boundary order comes back on the next poll — deduplicate by order ID. The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

输入参数allpagefieldsformatredactsort_byper_pageupdated_toupdated_fromsort_direction

get_order

Get order

Get a single order by its ID, including line items (items[].name is the product name at order time), delivery chunks, payment and status. customer_id links the order to its buyer — read the card with get_customer. Read the delivery address from delivery_chunks[].delivery_info.address.locality/.address: they always match the chosen delivery method, while the courier_*, pickup_point_* and self_pick_up_* groups keep whatever the buyer picked earlier in checkout and are stale unless the group matches `method`.

输入参数id必填redact

confirm_order

Confirm order

Confirm an order. The order must be in the WAIT_FOR_CONFIRMATION status. No request body is required.

输入参数id必填

cancel_order

Cancel order

Cancel an order. Whether cancellation is possible depends on the order's current status. The optional owner reason is retained only in the MCP conversation/tool log; the KIT CancelOrder endpoint has no reason field, so it is not sent to or stored by the KIT API. No request body is required.

输入参数id必填reason

complete_order_delivery

Complete order delivery

Mark the delivery of an order as fully completed. Intended for pickup and the store's own delivery when delivery automation is off — with automation on, the platform moves the order itself. No request body is required.

输入参数id必填

set_order_marking_codes

Set order marking codes

Write «Честный знак» (Chestny ZNAK) marking codes onto order items, or remove them. Each order item is a single unit and takes exactly one code; item IDs come from get_order under delivery_chunks[].items[].id. Pass the code in full, including the crypto tail; pass marking_code null to remove a previously written code. Atomic: if any code fails the server-side check the whole request is rejected and nothing is written.

输入参数id必填items必填

get_order_addons

Get order addons

List additional services (addons) attached to an order by the order ID.

输入参数id必填

generate_order_waybills

Generate order waybills

Generate waybills (акты приёма-передачи отправлений) for order delivery chunks and return links to PDF documents. Chunks are grouped by warehouse + delivery service — one document per group. Every call asks the delivery service for a fresh document (nothing is cached), and the PDF links are signed and expire at `expires_at` — do not store them, re-request instead. Chunks a waybill cannot be produced for (self-pickup, delivery not created yet, no warehouse, unsupported service) come back in `skipped` with a reason. Chunk IDs come from get_order under delivery_chunks[].id.

输入参数items必填

get_order_delivery_labels

Get order delivery labels

Get the delivery labels (ярлыки) of an order's delivery chunks — the PDF with the address, tracking number and barcode that goes onto the parcel. The first request per chunk and format asks the delivery service for the document, later ones return the same one. The PDF links are signed and expire at `expires_at` — do not store them, re-request instead. Chunks with no label (self-pickup, delivery not created yet, service that does not print labels, requested format unsupported, or a failure on the service's side — reason GENERATION_FAILED, which is temporary and worth retrying) come back in `skipped` with a reason, while the remaining chunks still return their labels. For the handover act covering a whole warehouse + service group use generate_order_waybills instead.

输入参数id必填label_format

get_delivery_label_formats

Get delivery label formats

List the label sizes the given delivery services can print — the values accepted by get_order_delivery_labels' label_format. Per service, `mode` says how it treats sizes: EXPLICIT_FORMATS (pick one of `formats`), PROVIDER_DEFAULT (size ignored, the service prints its own) or NOT_SUPPORTED (no labels at all, `formats` empty). `preselected` is only the size preselected in the KIT UI — it does NOT apply when label_format is omitted. Services come back in the platform's own display order, so look one up by `delivery_service`, not by position.

输入参数delivery_service必填

list_customers

List customers

List customers of the store (paginated), by customer ID ascending by default. updated_from/updated_to filter by last-change time (updated_at) for incremental CRM sync. Sync recipe: updated_from=<cursor>, sort_by=updated_at, sort_direction=asc, then advance the cursor to the largest updated_at seen — a customer that changes mid-paging moves to the end instead of being skipped, and an all=true run cut off at 500 items resumes from that cursor. Both bounds are inclusive, so the boundary customer comes back on the next poll — deduplicate by customer_id. The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

输入参数allpagefieldsformatredactsort_byper_pageupdated_toupdated_fromsort_direction

get_customer

Get customer

Get a single customer by their ID. `birth_date` (date only, no year-of-birth guarantee beyond what the buyer entered) is present only when the customer supplied it, and is read-only: UpdateCustomer has no such field. It is personal data — redact:true masks it along with name, phone, email and note.

输入参数id必填redact

update_customer

Update customer

Update a customer (plain JSON PATCH). Updatable fields: note, first_name, last_name, email. phone and birth_date are read-only — the API returns them but has no field to write them, so do not try. Call get_operation_schema("UpdateCustomer") for the exact request shape.

输入参数id必填customer必填

get_customer_cart

Get customer cart

Get the current cart of a customer — the source for abandoned-cart work: `items` with quantity and per-unit/line prices, plus `total_price` (before discounts) and `total_final_price` (after item and bundle discounts). An empty cart, and a customer who never had one, both return `items: []` with zero totals; `updated_at` is absent in the never-had-one case and is the only way to tell the two apart — there is no abandoned-cart flag, so decide staleness from `updated_at` yourself. `product_variant_id` is NOT a unique key for a line: the same variant appears in several items when it is part of a bundle, was added with different addons, or was picked as a gift. `quantity` is what the buyer put in and may exceed stock — the API clamps it only when they reopen the cart or check out. Items whose variant was unpublished are dropped from the response. A cart promocode is NOT reflected in `total_final_price` (unlike `Order.total_final_price`), so cart totals are not a forecast of the order total.

输入参数id必填

get_customer_orders

Get customer orders

List order IDs of a customer by their customer ID (paginated) — the purchase history. Read each order with get_order for its line items (items[].name, quantity, price). The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

输入参数id必填pageper_page

list_gift_cards

List gift cards

List gift cards of the store (paginated), with optional status and purchase-date filters. The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

输入参数allpagefieldsformatredactstatusper_pagepurchased_date_topurchased_date_from

get_gift_card

Get gift card

Get a single gift card by its ID, including status, balance and purchase info.

输入参数id必填redact

list_discounts

List discounts

List discounts of the store filtered by status (paginated). The status filter is required by the API. The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

输入参数allpagefieldsformatstatus必填per_page

get_discount

Get discount

Get a single discount by its ID (title, value, dates, status, binding mode).

输入参数id必填

create_discount

Create discount

Create a new discount. Required: title, discount_value ({value, type: PERCENT|VALUE}), discount_dates ({start_date, optional end_date}), status (ACTIVE|INACTIVE) and binding_mode (ALL_VARIANTS|SELECTED_VARIANTS). Call get_operation_schema("CreateDiscount") for the exact request shape.

输入参数discount必填

update_discount

Update discount

Update an existing discount (plain application/json PATCH): send only the fields to change (title, discount_value, discount_dates, status, binding_mode). Call get_operation_schema("UpdateDiscount") for the exact request shape.

输入参数id必填discount必填

discount_action

Archive or unarchive discount

Archive a discount (soft delete: status becomes ARCHIVED, the discount stops applying but stays restorable) or unarchive it (returns it to a non-archived status).

输入参数id必填action必填

manage_discount_objects

Add or remove discount objects

Attach objects to a discount or detach them. Supported object types: product_variant_ids (variant UUIDs), category_ids (category UUIDs), collection_ids (collection UUIDs). Per request pass EITHER product_variant_ids OR categories/collections — the API does not mix variants with categories/collections.

输入参数id必填action必填objects必填

list_promocodes

List promocodes

List promocodes of the store filtered by status (paginated). The status filter is required by the API. The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

输入参数allpagefieldsformatstatus必填per_page

get_promocode

Get promocode

Get a single promocode by its ID (code, title, discount value, dates, type, usage limits).

输入参数id必填

create_promocode

Create promocode

Create a new promocode. Required: code, title, discount_value ({value, type: PERCENT|VALUE}), promocode_dates ({start_date, optional end_date}) and type (ORDER|PRODUCTS). Optional: binding_mode, minimum_order_amount, max_usage, max_discount_amount, one_time_use, first_order_only, show_in_pdp. The live API rejects codes containing lowercase letters even though the spec documents no format constraint — use uppercase Latin letters and digits (e.g. WELCOME5). Call get_operation_schema("CreatePromocode") for the exact request shape.

输入参数promocode必填

update_promocode

Update promocode

Update an existing promocode (plain application/json PATCH): send only the fields to change (code, title, discount_value, promocode_dates, status, binding_mode, limits). Call get_operation_schema("UpdatePromocode") for the exact request shape.

输入参数id必填promocode必填

manage_promocode_objects

Add or remove promocode objects

Attach objects to a promocode or detach them. Supported object types: product_variant_ids (variant UUIDs), category_ids (category UUIDs), collection_ids (collection UUIDs). Per request pass EITHER product_variant_ids OR categories/collections — the API does not mix variants with categories/collections.

输入参数id必填action必填objects必填

list_webhooks

List webhooks

List all webhooks of the store (not paginated). Each webhook has a URL, a list of subscribed event types and a status.

无需输入参数。

get_webhook

Get webhook

Get a single webhook by its ID (URL, subscribed events, status).

输入参数id必填

create_webhook

Create webhook

Create a new webhook. The url must use HTTPS (HTTP is rejected). Allowed events: ORDER_STATUS_CHANGED, ORDER_PAYMENT_STATUS_CHANGED, ORDER_DELIVERY_STATUS_CHANGED, CUSTOMER_CHANGED, CART_UPDATED. CUSTOMER_CHANGED fires when a customer appears or their name/phone/email changes; its data carries only {customer_id}, so a CRM sync must follow up with get_customer to read the new values (no before/after diff is delivered). CART_UPDATED fires when a customer changes their cart (clearing included); data is only {customer_id}, a series of changes to one cart collapses into one event, sent at most once per 15 minutes and up to 15 minutes late — read the current contents with get_customer_cart when handling it. NOTE: ORDER_STATUS_CHANGED will stop firing for the receipt-technical statuses CREATING_INITIAL_RECEIPT and CREATING_FINAL_RECEIPTS — key new integrations on ORDER_PLACED and COMPLETED instead (the statuses themselves stay readable via get_order). IMPORTANT: the response contains the signing secret — it is shown ONLY ONCE, store it securely. Call get_operation_schema("CreateWebhook") for the exact request shape.

输入参数webhook必填

update_webhook

Update webhook

Update an existing webhook: change url (HTTPS only), the subscribed events, or set deactivate=true to switch the webhook to INACTIVE. `events` is the full subscription list, not a delta — to add CART_UPDATED to an existing webhook, read it with get_webhook first and send its current events plus the new one. Call get_operation_schema("UpdateWebhook") for the exact request shape.

输入参数id必填webhook必填

delete_webhook

Delete webhook

Permanently delete a webhook by its ID. This cannot be undone.

输入参数id必填

validate_webhook

Validate webhook

Trigger webhook validation: the API sends a POST with event WEBHOOK_VALIDATE to the webhook URL. With activate=true, the webhook becomes ACTIVE if the server replies HTTP 2xx with body {"message": "validated_store_{store_id}"} (store_id: see get_store).

输入参数id必填activate

list_warehouses

List warehouses

List warehouses of the store (paginated). The API requires a status filter; defaults to ACTIVE when not provided. The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

输入参数allpagefieldsformatstatusper_page

get_warehouse

Get warehouse

Get a single warehouse by its ID (title, slug, status).

输入参数id必填

create_warehouse

Create warehouse

Create a new warehouse. Required: title. The URL slug is generated automatically from the title and cannot be changed later. Call get_operation_schema("CreateWarehouse") for the exact request shape.

输入参数warehouse必填

update_warehouse

Update warehouse

Update an existing warehouse via JSON Merge Patch: send only the fields to change; setting a field to null removes it. The slug cannot be changed after creation. Call get_operation_schema("UpdateWarehouse") for the exact request shape.

输入参数id必填warehouse必填

warehouse_action

Archive or unarchive warehouse

Archive a warehouse (soft delete: status becomes ARCHIVED, warehouse can no longer be used for stock) or unarchive it (status becomes ACTIVE again).

输入参数id必填action必填

list_collections

List collections

List collections of the store (paginated). A collection is a curated set of product cards: STATIC (filled manually via manage_collection_cards) or DYNAMIC (filled by filters). The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

输入参数allpagetypefieldsformatstatusper_page

get_collection

Get collection

Get a single collection by its ID (title, slug, status, type, SEO fields).

输入参数id必填

create_collection

Create collection

Create a new collection. Required: title, status (ACTIVE|INACTIVE) and collection_type (STATIC|DYNAMIC; DYNAMIC also takes a dynamic_filter). Call get_operation_schema("CreateCollection") for the exact request shape. If a write returns HTTP 429, LIMIT_EXCEEDED, timeout or another uncertain result, read back the complete collection list and reconcile before considering any repeat; never blindly retry the create.

输入参数collection必填

update_collection

Update collection

Update an existing collection (plain JSON PATCH; only the provided fields are changed). The collection type itself cannot be changed. Call get_operation_schema("UpdateCollection") for the exact request shape.

输入参数id必填collection必填

delete_collection

Delete collection

Permanently delete a collection by its ID. This cannot be undone.

输入参数id必填

manage_collection_cards

Add or remove collection cards

Add product cards to a STATIC collection or remove them from it. Requires product_card_ids (array of product card UUIDs).

输入参数id必填cards必填action必填

list_files

List files

List the store's uploaded files with their URLs (paginated). Covers images (IMAGE) and other files (OTHER) only — videos live in a separate scenario, use get_video/list_videos. The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

输入参数allpagefieldsformatper_page

upload_file

Upload file

Upload a file (e.g. an image for a variant or collection) via multipart/form-data. Files are deduplicated by content: uploading identical bytes returns the existing file. Max size 100 MB. Provide exactly one source: file_path or content_base64.

输入参数filenamefile_pathcontent_base64

get_file

Get file

Get metadata of a previously uploaded file by its ID (name, size, URL).

输入参数id必填

list_characteristics

List characteristics

List product characteristics (paginated). The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

输入参数allpagefieldsformatper_page

get_characteristic

Get characteristic

Get one product characteristic by ID.

输入参数id必填

create_characteristic

Create characteristic

Create a product characteristic. Call get_operation_schema("CreateCharacteristic") for the exact request shape.

输入参数characteristic必填

update_characteristic

Update characteristic

Update a product characteristic. Call get_operation_schema("UpdateCharacteristic") for the exact request shape.

输入参数id必填characteristic必填

list_characteristic_groups

List characteristic groups

List product characteristic groups (paginated). The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

输入参数allpagefieldsformatper_page

get_characteristic_group

Get characteristic group

Get one product characteristic group by ID.

输入参数id必填

create_characteristic_group

Create characteristic group

Create a product characteristic group. Call get_operation_schema("CreateCharacteristicGroup") for the exact request shape.

输入参数group必填

update_characteristic_group

Update characteristic group

Update a product characteristic group. Call get_operation_schema("UpdateCharacteristicGroup") for the exact request shape.

输入参数id必填group必填

list_characteristic_colors

List characteristic colors

List the color values of the store's characteristics with their hex codes (paginated). Colors are keyed by the characteristic value itself (e.g. «Красный»), not by an ID. The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

输入参数allpagefieldsformatper_pagesearch_text

update_characteristic_color

Update characteristic color

Set the hex code of a color characteristic value. The value must already exist among the store's characteristic values (see list_characteristic_colors) — this endpoint recolors an existing value, it does not create one. Both fields are required.

输入参数value必填color_hex必填

list_videos

List videos

List product videos of the store (paginated), oldest upload first. The API requires a status filter; defaults to all four statuses when not provided. The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

输入参数allpagefieldsformatstatusper_page

get_video

Get video

Get a single video by its ID with the current processing status. Use it to poll after upload_video: the status walks UPLOADED -> PROCESSING -> READY (the `content` field with the player links is filled only in READY) or ends in ERROR (details in `error`). Poll at most once every 5 seconds — processing time scales with the video length.

输入参数video_id必填

upload_video

Upload video

Upload a product video via multipart/form-data and queue it for processing. Max size 100 MB; formats mp4, mov, webm, avi, flv. Videos are deduplicated by content: uploading identical bytes returns the existing video. The response carries the video ID — poll it with get_video until the status is READY, then attach the video to a variant through `media` in create_variant / update_variant (at most one video per variant, and the same `media` list must also carry at least one image). Provide exactly one source: file_path or content_base64.

输入参数filenamefile_pathcontent_base64

upload_video_from_url

Upload video from URL

Upload a product video by public link and queue it for processing — use it instead of upload_video when the file lives on the web rather than on this machine. Accepts a public Yandex.Disk link to a video file, a direct link to a video file, or a link to the Yandex KIT player (which returns the already uploaded video). The link must be reachable without authentication, otherwise the API answers 400. Same limits as upload_video: max 100 MB, formats mp4, mov, webm, avi, flv, deduplicated by content. The response carries the video ID — poll it with get_video until the status is READY, then attach the video to a variant through `media` in create_variant / update_variant (at most one video per variant, and the same `media` list must also carry at least one image).

输入参数url必填

list_alerts

List alerts

List system alerts of the store (paginated), CRITICAL ones first and newest first within the same severity. The API requires a status filter; defaults to ACTIVE when not provided. The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

输入参数allpagefieldsformatstatusper_page

resolve_alert

Resolve alert

Mark an alert as resolved. Only WARNING alerts can be closed by hand: an active CRITICAL alert is rejected with 400 and clears itself once the underlying problem is fixed. No request body is required.

输入参数alert_id必填

list_blogs

List news articles

List store news articles (paginated). The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

输入参数allpagefieldsformatper_page

get_blog

Get news article

Get one store news article by ID.

输入参数id必填

create_blog

Create news article

Create a store news article. Call get_operation_schema("CreateBlog") for the exact request shape.

输入参数blog必填

update_blog

Update news article

Update a store news article. Call get_operation_schema("UpdateBlog") for the exact request shape.

输入参数id必填blog必填

版本历史

7
  1. v1.13.0最新Nov 1, 2026
  2. v1.11.0Oct 29, 2026
  3. v1.10.0Oct 10, 2026
  4. v1.9.0Oct 9, 2026
  5. v1.8.0Oct 3, 2026
  6. v1.7.0Sep 17, 2026
  7. v1.6.0Sep 16, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分