Справка по разделу
Яндекс Еда
Канал агрегатора: меню и остатки отдаются из вашей базы, заказы приходят как заявки покупателя и могут сразу попасть на KDS. Id блюда в YE = id товара у вас.
Как это устроено
Яндекс Еда сама ходит к вам на partner API Меркурий-ИИ: забирает меню и остатки, присылает заказ, спрашивает статус. Вы не «выгружаете файл» вручную.
Чтобы YE попала в вашу базу, ей нужны ключи доступа. Часть ключей создаёт Меркурий (вы отдаёте их менеджеру YE при подключении). Часть — даёт YE (id ресторана и, если нужно, адрес для push статусов).
- Форма: Интеграции → Яндекс Еда.
- Каждый склад в списке = place (ресторан/точка) в YE.
- Меню строится из товаров с «Показывать в интернете» и расходной ценой — как у витрины.
Поля формы: что это и откуда
Включить интеграцию
Главный рубильник. Пока галочка снята, YE не должна получать меню и заказы по этой базе (канал выключен в реестре).
OAuth client_id и OAuth client_secret
Не из кабинета Яндекс Еды. Это логин и пароль приложения, которые создаёт Меркурий.
- Зачем: YE один раз вызывает ваш адрес
public/yandex-eda/oauth/token, передаёт client_id + client_secret и получает partner token. - Откуда взять: оставьте поля пустыми и нажмите Сохранить — программа сама сгенерирует значения. Или впишите свои (латиница/цифры), если так договорились с YE.
- Кому отдать: менеджеру / техподдержке YE при онбординге вместе с URL из блока «URL для Яндекс Еды» на этой же форме (кнопка «Копировать»).
Про «свой URL у каждой базы»: адрес на сервере один (…/api/public/yandex-eda/…). Базу YE узнаёт по client_id / client_secret этой фирмы. У другой открытой базы будут другие ключи — отдавайте YE пару «URL + ключи именно этой базы».
Partner token (Bearer после OAuth)
Тоже ключ Меркурия, не «пароль из Яндекса».
- Зачем: после OAuth все запросы YE (меню, остатки, заказ, статус) идут с заголовком
Authorization: Bearer …— этим токеном. - Откуда: появляется при сохранении (или кнопка Новый token). Уже заполненное значение можно оставить.
- Менять token нужно редко (утечка, смена партнёра). После смены сообщите YE новый token / попросите заново пройти OAuth.
Push статусов — base URL и Push token (оба опциональны)
Это уже данные со стороны Яндекс Еды (если в вашем договоре/интеграции предусмотрен push статусов).
- Зачем: когда у вас в Меркурии меняется статус заявки (принято → готовится → готово → выдан / отмена), программа может сама дернуть URL YE и сообщить новый статус. Без этих полей YE узнаёт статус только когда сама спрашивает его у вас (GET).
- Откуда взять: из документации партнёрского API / письма онбординга YE — «webhook / callback URL» и токен для авторизации push. Если менеджер YE сказал «push не нужен» — оставьте пустыми.
- В URL обычно что-то вроде
https://…(точный путь даёт YE). Token — строка, которую YE просит передавать в заголовке при push.
Склады (places) и restaurant_id YE
- Склад — ваш склад в Меркурии (откуда цены и остатки).
- restaurant_id — id точки/ресторана в кабинете партнёра Яндекс Еды (place id). Его даёт YE или вы копируете из их кабинета для этой точки.
- Без верного restaurant_id YE не сопоставит запросы меню/заказов с вашим складом.
Режим выгрузки и кол-во по умолчанию
Это ваши настройки ассортимента, не ключи YE. См. Режим выгрузки.
Пошаговое включение
- Обновите БД (см. миграции).
- Откройте Интеграции → Яндекс Еда, включите интеграцию.
- Если client_id / secret / partner token пустые — просто Сохранить (сгенерируются). Скопируйте из формы URL OAuth, client_id и client_secret для YE.
- Добавьте склад +
restaurant_idиз кабинета YE, оставьте «вкл.». - Выберите режим выгрузки; при «весь ассортимент» при необходимости укажите кол-во по умолчанию (например 999).
- Push URL/token заполняйте только если YE их выдала.
- Отметьте товары «Показывать в интернете», задайте расходные цены на складе place.
- Передайте YE: адрес API, client_id, client_secret (и при необходимости дождитесь их тестового OAuth).
Режим выгрузки
| Режим | Меню | Остатки (stocks) |
|---|---|---|
| Весь ассортимент | Все товары витрины с ценой на складе place | Реальный остаток; если остатка нет или он 0 — отдаётся количество по умолчанию (например 999) |
| Только товары с остатком | Только позиции с остатком > 0 | Реальный остаток |
Поле «кол-во по умолчанию» видно только в режиме «весь ассортимент».
Заказы и статусы
- Заказ YE создаёт заявку покупателя (клиент, телефон, адрес), склад = place.
- Повтор с тем же id заказа YE не создаёт второй документ.
- YE может читать статус через API. Если заполнены push URL и token — при смене статуса у вас Меркурий сам уведомляет YE.
Связь с KDS
Если включён KDS и у блюд отмечены станции, заявка из YE сразу в очереди кухни. На выдаче — состав и адрес (если заполнены).
Миграции БД
Скрипты фирмы 00143, 00144, 00146 и mercury 00022. Обновление: Настройка → Состояние скриптов БД.
Ограничения V1
- Зоны доставки не синхронизируются.
- Отзывы не принимаются.
- Нет карты «товар YE ↔ товар ERP» — только id товара.