Витрина на своём коде (headless)
Обычный путь — наша витрина или виджеты на вашем сайте. Но если сайт пишет ваш разработчик или агентство и вёрстка должна быть полностью своей, работает третий вариант: вы берёте у нас данные и приём заказов, а весь фронтенд делаете сами, на любом стеке.
Чтение данных не требует ключей и авторизации: всё, что публично на витрине, публично и в JSON.
Где включается и настраивается: Маркетинг → «Мой сайт» → карточка «Витрина на своём коде». Там же — адрес манифеста вашей локации и техническая документация.
Манифест storefront.json
Единственный адрес, который нужно знать разработчику:
https://cdn.masamenu.tr/{ДОМЕН}/storefront.json
В манифесте — всё остальное:
| Блок | Что внутри |
|---|---|
location |
Идентификатор, слаг, вертикаль (ресторан, магазин, отель, салон) |
languages |
Язык по умолчанию и список включённых языков |
currency |
Код и символ валюты |
cdnBase + data |
Пути к меню, профилю, страницам, коллекциям, отзывам |
catalog |
Режим каталога: всё в файлах либо пофайловые карточки и каталожный API |
images |
База изображений, шаблон пути и доступные размеры |
api |
Адреса гостевого API, спецификации OpenAPI и MCP-эндпоинта |
publishId, publishedAt |
Идентификатор публикации: меняется при каждой перегенерации данных |
digests |
Дайджесты файлов — можно инвалидировать кэш точечно |
Контракт версионируется (contractVersion), а рядом лежат JSON-схемы — по ним удобно валидировать данные и генерировать типы. Неизвестные поля нужно игнорировать: контракт расширяется без слома совместимости.
Данные и изображения
Всё, что показывает витрина, доступно файлами: меню и каталог по языкам, профиль локации (название, адрес, часы работы, контакты, настройки), страницы и статьи, коллекции, отзывы.
Для больших каталогов манифест переключается в режим api: в файле меню лежит облегчённая выборка, полные карточки берутся пофайлово или через каталожный API с фильтрами и подкатегориями.
Изображения — с нашего CDN, в нескольких размерах по шаблону из манифеста; при обновлении фото путь версионируется, поэтому кэш можно держать «навсегда».
Заказы и гостевой API
Приём заказов, статус заказа, поиск и брони — через гостевой API: без авторизации, адрес берётся из манифеста, спецификация — OpenAPI 3.1. Отдельно есть коммерческий контур: купоны, расчёт доставки, формы, подписки. Подробнее — Guest API для AI-агентов, тот же интерфейс.
Заказ, созданный вашим сайтом, попадает в общий раздел «Заказы» и живёт по обычным правилам: статусы, кухня, курьеры, чеки, уведомления.
Вебхуки об изменениях
Чтобы не опрашивать CDN, подпишитесь на события:
menu.updated— меню или каталог перегенерированы;profile.updated— изменился профиль локации.
В теле события приходит publishId — по нему удобно пересобирать статические страницы или сбрасывать ISR-кэш. Каждый запрос подписан HMAC-SHA256 вашим секретом: проверьте подпись, прежде чем что-то пересобирать. До пяти адресов на локацию, повторная попытка при сбое.
Вебхуки настраиваются в карточке «Витрина на своём коде» и доступны на платных тарифах; чтение данных доступно всегда.
С чего начать
- Откройте Маркетинг → «Мой сайт» → «Витрина на своём коде» и скопируйте адрес манифеста.
- Загрузите манифест и от него — данные меню и профиля. Никаких ключей на этом шаге не нужно.
- Соберите страницы своим фреймворком; для заказов используйте гостевой API.
- Добавьте вебхук, чтобы пересобирать сайт по факту изменений.
Полное техническое описание — по ссылке «Документация» в той же карточке; там же живёт пример готовой витрины и llms.txt для ИИ-ассистентов разработчика.
Связанные разделы
- Мой сайт — виджеты, если переписывать сайт целиком не нужно
- Guest API для AI-агентов — тот же гостевой API
- MCP API — доступ ИИ-агентов к кабинету
- Интернет-магазин — что именно приезжает в данных каталога
Частые вопросы
Нужно ли платить за чтение данных? Нет. Публичные JSON доступны на любом тарифе — это те же файлы, которыми пользуется наша витрина. Платными являются вебхуки.
Что с SEO? Он полностью на вашей стороне: вы собираете страницы сами и сами управляете разметкой. Данные для микроразметки (JSON-LD) в контракте есть.
Можно ли совмещать со своей витриной? Да. Наша витрина, виджеты и ваш собственный сайт работают с одними и теми же данными и одной корзиной заказов.