M masamenu.tr
🧩 Виджеты для вашего сайта

🧑‍💻 Витрина на своём коде

Манифест данных, публичные JSON, гостевой API и вебхуки для собственного фронтенда

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

Витрина на своём коде (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 вашим секретом: проверьте подпись, прежде чем что-то пересобирать. До пяти адресов на локацию, повторная попытка при сбое.

Вебхуки настраиваются в карточке «Витрина на своём коде» и доступны на платных тарифах; чтение данных доступно всегда.


С чего начать

  1. Откройте Маркетинг → «Мой сайт» → «Витрина на своём коде» и скопируйте адрес манифеста.
  2. Загрузите манифест и от него — данные меню и профиля. Никаких ключей на этом шаге не нужно.
  3. Соберите страницы своим фреймворком; для заказов используйте гостевой API.
  4. Добавьте вебхук, чтобы пересобирать сайт по факту изменений.

Полное техническое описание — по ссылке «Документация» в той же карточке; там же живёт пример готовой витрины и llms.txt для ИИ-ассистентов разработчика.


Связанные разделы


Частые вопросы

Нужно ли платить за чтение данных? Нет. Публичные JSON доступны на любом тарифе — это те же файлы, которыми пользуется наша витрина. Платными являются вебхуки.

Что с SEO? Он полностью на вашей стороне: вы собираете страницы сами и сами управляете разметкой. Данные для микроразметки (JSON-LD) в контракте есть.

Можно ли совмещать со своей витриной? Да. Наша витрина, виджеты и ваш собственный сайт работают с одними и теми же данными и одной корзиной заказов.