Yandex Commerce Protocol
Yandex Commerce Protocol: продажи из Поиска и Алисы AI
Yandex Commerce Protocol (YCP) — стандарт интеграции интернет-магазинов с коммерческими сценариями Яндекса. Он связывает каталог, остатки, доставку, оплату и оформление заказа с Поиском, Алисой AI и рекомендательной лентой Яндекс Ритма.
21 августа 2026 года Яндекс отдельно расширил сценарий для продавцов без собственного интернет-магазина: ассортимент можно загрузить через Яндекс Товары, а оформление заказа проходит через универсальный чекаут Яндекса.
Важно не смешивать YCP с обычным SEO. Протокол не заменяет индексацию сайта, техническую оптимизацию, товарный фид и семантическую разметку. Это отдельный коммерческий слой, который сокращает путь от найденного товара до заказа.
Короткий вывод
YCP стоит рассматривать, если:
- есть интернет-магазин и хочется уменьшить число шагов до покупки;
- товары уже передаются в Яндекс Товары или Яндекс Маркет;
- магазин работает на 1С-Битрикс или готов подключаться по API;
- важны продажи из Алисы AI и товарных сценариев Поиска;
- продавец пока не имеет собственного магазина, но хочет принимать заказы из экосистемы Яндекса.
Перед подключением нужно проверить не только API, но и качество каталога: идентификаторы товаров, цены, остатки, склады, изображения, доставка и синхронизация статусов заказа.
Где работает YCP
По официальной странице YCP универсальный чекаут используется в нескольких точках:
- чат с Алисой AI;
- Поиск Яндекса;
- рекомендательная лента Яндекс Ритма.
Пользователь может перейти к оформлению заказа по кнопке «Купить в 1 клик» и продолжить покупку через единый checkout-flow.
Варианты подключения
На август 2026 года Яндекс описывает несколько путей интеграции.
Яндекс KIT
Для магазинов на платформе Яндекс KIT основная инфраструктура уже интегрирована с экосистемой Яндекса.
Яндекс Маркет
Если продавец уже работает на Маркете и имеет сайт, часть подключения активируется через Яндекс Товары.
1С-Битрикс
Для 1С-Битрикс Яндекс предлагает готовое интеграционное решение.
Другие CMS и самописные сайты
Для остальных движков и собственных backend-систем доступна API-интеграция в рамках beta.
Именно этот вариант наиболее интересен для Laravel, Symfony, WordPress/WooCommerce и других нестандартных магазинов: каталог и checkout остаются в собственной архитектуре, а YCP становится дополнительным каналом продаж.
Продавец без сайта
С 21 августа 2026 года beta-сценарий YCP доступен и продавцам, у которых нет собственного интернет-магазина.
Общий flow выглядит так:
продавец
↓
Яндекс Товары
↓
ассортимент + цены
↓
Яндекс KIT
↓
оплата + доставка + checkout
↓
Поиск / Алиса AI
↓
«Купить в 1 клик»
По сообщению Яндекса, продавец подает заявку на подключение чекаута в Яндекс Товарах, затем загружает ассортимент и настраивает параметры оплаты и доставки.
Подключение на момент анонса было бесплатным; отдельно могут оплачиваться подключенные услуги — например, доставка или обработка платежей.
YCP и обычная товарная выдача — не одно и то же
У магазина может быть несколько независимых каналов передачи данных в Яндекс:
- обычный поисковый обход страниц;
- Schema.org-разметка товара;
- YML/feed для товарных сценариев;
- данные Яндекс Маркета или других сервисов;
- YCP для checkout и коммерческого взаимодействия.
Не стоит считать YCP заменой Product / Offer или фида.
Schema.org
Яндекс поддерживает для товарных страниц, среди прочего:
Product;Offer;AggregateOffer;OfferCatalog.
Разметка помогает поисковому роботу структурированно получить цену, валюту, наличие, название и другие свойства товара.
Пример минимального JSON-LD:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Пример товара",
"image": ["https://example.ru/images/product.jpg"],
"offers": {
"@type": "Offer",
"url": "https://example.ru/product/1",
"priceCurrency": "RUB",
"price": "4990.00",
"availability": "https://schema.org/InStock"
}
}
</script>
Данные в разметке должны совпадать с тем, что реально видит пользователь на странице.
YML
Для товарных сценариев Яндекса полезен структурированный feed. Он особенно важен там, где цена и наличие меняются чаще, чем поисковый робот переобходит HTML.
Минимальная идея:
<offer id="sku-123" available="true">
<url>https://example.ru/product/123</url>
<price>4990</price>
<currencyId>RUR</currencyId>
<categoryId>10</categoryId>
<name>Пример товара</name>
</offer>
Перед публикацией нужно сверять актуальную спецификацию Яндекс Товаров: состав обязательных полей зависит от типа feed и товарной категории.
Главная архитектурная задача — единый источник данных
Плохой вариант:
CMS price = 4990
YML price = 5290
Schema.org price = 4990
YCP price = 5190
При такой схеме пользователь и разные сервисы получают противоречивые данные.
Лучше использовать единую предметную модель:
Product / Offer DB
↓
┌─────┼──────────┬───────────┐
↓ ↓ ↓ ↓
HTML JSON-LD YML/feed YCP API
Цены, остатки, SKU и доступность должны формироваться из одного источника истины.
Что проверить в модели товара
Для каждого SKU желательно иметь стабильные поля:
external_id / sku
name
url
price
old_price
currency
availability
stock
warehouse
image
brand
category
weight / dimensions
vat / tax model — если требуется интеграцией
Главное правило — идентификатор товара не должен случайно меняться между выгрузками.
Остатки
Checkout бесполезен, если пользователь может заказать уже закончившийся товар.
Нужно определить:
- где находится основной stock ledger;
- насколько быстро изменения попадают в YCP;
- учитываются ли резервы;
- что происходит при последней единице товара;
- как обрабатывается отмена заказа;
- когда резерв освобождается после неоплаты.
Типичный flow:
stock = 2
↓
checkout started
↓
reserve = 1
↓
stock available = 1
↓
payment success
↓
reserve → sold
Без механизма резервирования возможен overselling.
Доставка
В анонсе сценария для продавцов без сайта Яндекс указывает несколько вариантов:
- собственная логистика;
- логистика маркетплейсов, если она доступна продавцу;
- Яндекс Доставка;
- внешние службы, например CDEK, ПЭК или Dalli.
Для собственного API важно проверить:
- список регионов;
- стоимость;
- срок;
- pickup / courier;
- ограничения по весу и габаритам;
- недоступные товары;
- повторный расчет после изменения корзины.
Оплата
Не следует считать успешным заказом сам факт открытия checkout.
Минимальная state machine:
created
↓
awaiting_payment
↓
paid
↓
confirmed
↓
shipped
↓
delivered
Отдельные переходы:
awaiting_payment → expired
paid → refunded
confirmed → cancelled
Интеграция должна быть идемпотентной: повтор webhook не должен создавать второй заказ или повторно списывать остаток.
Идемпотентность
Для внешнего checkout/API это обязательная практика.
Например:
Idempotency-Key: ycp-order-01J...
На backend:
$order = Order::firstOrCreate(
['external_id' => $externalId],
$payload,
);
Реальная реализация зависит от контракта API YCP, но принцип должен сохраняться для создания заказа, платежных событий и изменения статуса.
Защита webhook
Если YCP или связанный платежный сервис вызывает endpoint магазина:
POST /api/yandex-commerce/events
нужно проверить:
- подпись или иной официальный механизм авторизации;
- replay protection;
- idempotency;
- schema validation;
- rate limit;
- журнал событий;
- безопасное хранение исходного payload для расследований без лишних персональных данных.
Не придумывайте собственный способ подписи вместо предусмотренного официальным API.
Laravel: пример структуры интеграции
Условная архитектура:
app/
Domain/Commerce/
ProductFeed.php
Checkout.php
Inventory.php
Integrations/Yandex/
YcpClient.php
YcpMapper.php
YcpWebhookController.php
YmlFeedBuilder.php
Контроллер не должен содержать всю бизнес-логику:
final class YcpWebhookController
{
public function __invoke(YcpWebhookRequest $request): Response
{
$event = $request->validated();
// verify event using the official authentication/signature mechanism
// dispatch idempotent domain command
return response()->noContent();
}
}
WordPress / WooCommerce
Перед собственной разработкой стоит проверить наличие официального или поддерживаемого Яндексом модуля для конкретной CMS.
Если интеграция пишется самостоятельно, источником данных лучше делать WooCommerce API / модели товара, а не HTML scraping.
Необходимо проверить:
- variable products;
- variation SKU;
- sale price;
- stock management;
- backorders;
- tax display;
- shipping classes;
- coupons;
- статус возврата.
SEO-чек-лист товарной страницы
Наличие YCP не отменяет обычную поисковую оптимизацию.
Проверьте:
200 OKдля доступного товара;- корректный canonical;
- отсутствие случайного
noindex; - уникальный URL;
- понятный title;
- описание товара на странице;
- актуальную цену;
- наличие;
- Product/Offer markup;
- изображения нормального качества;
- внутренние ссылки из категории;
- XML sitemap;
- отсутствие бесконечного числа URL фильтрации.
Что измерять
После подключения нельзя смотреть только на число заказов.
Полезная воронка:
показ товара в Яндексе
↓
checkout start
↓
shipping calculated
↓
payment started
↓
paid
↓
delivered
Метрики:
- conversion to checkout;
- checkout → payment;
- payment success rate;
- cancel rate;
- out-of-stock rejection rate;
- average order value;
- delivery failure rate;
- расхождение цены/остатка между каналами.
Что не стоит делать
Не создавать отдельную цену «для AI» без синхронизации
Цена должна быть согласована с условиями продажи и другими каналами.
Не использовать YCP как замену сайта
Для продавца без сайта такой режим действительно существует, но собственный сайт остаётся полезным каналом бренда, SEO, аналитики и прямых продаж.
Не считать YCP гарантией показа
Подключение интеграции не означает гарантированной позиции или показа по любому запросу.
Не смешивать YCP с рекламой
Коммерческий checkout и рекламная кампания — разные механизмы. Яндекс Директ может использовать связанные товарные данные, но это не делает органический товарный сценарий рекламным автоматически.
План внедрения
Шаг 1. Инвентаризация
Проверить:
- CMS;
- каталог;
- SKU;
- feed;
- микроразметку;
- остатки;
- payment provider;
- доставку;
- webhooks.
Шаг 2. Выбрать способ подключения
KIT → готовый сценарий
Market → через Яндекс Товары
1С-Битрикс → готовый модуль
другая CMS / custom → API beta
нет сайта → Яндекс Товары + KIT
Шаг 3. Проверить данные
Сравнить случайные 20–50 товаров во всех каналах.
Шаг 4. Подключить sandbox/test flow
Если официальный API предоставляет тестовый контур, сначала использовать его. Если нет — ограничить rollout небольшим набором SKU.
Шаг 5. Проверить полный заказ
Не только создать заказ, но пройти:
order → payment → fulfillment → delivery → cancellation/refund
Шаг 6. Настроить мониторинг
Алерты нужны минимум на:
- ошибки API;
- очередь необработанных событий;
- устаревший feed;
- расхождение остатков;
- высокий процент отмен.
Что перепроверять со временем
YCP и API-интеграция в 2026 году развиваются, а часть функций находится в beta. Периодически нужно перепроверять:
- доступность API для конкретной CMS;
- обязательные поля;
- условия подключения;
- комиссии;
- платежные сценарии;
- поддерживаемые категории;
- требования к доставке;
- API versioning;
- ограничения и rate limits.
Источники
- Yandex Commerce Protocol
- Яндекс: продавцы без сайтов теперь могут получать заказы из Поиска и Алисы AI — 21 августа 2026
- Яндекс Вебмастер: информация о товарах и поддерживаемая разметка
- Яндекс Вебмастер: строгая микроразметка товаров
- Яндекс Вебмастер: поиск по товарам и YML
- Валидатор микроразметки Яндекс Вебмастера
