Интеграция онлайн-записи через API Яндекса занимает в среднем один месяц. Матчинг карточки с фидом длится от 2 до 7 дней. Владельцы сетей теряют клиентов из-за простых ошибок: статус cancelled с одной буквой «l» вместо двух ломает передачу бронирований. Система жестко регламентирует форматы ответов сервера, требуя полного соответствия данным в Яндекс Бизнесе.

Почему не проходит матчинг организаций

Отправка данных на сервер не гарантирует появление кнопки записи. Алгоритм Яндекса сопоставляет информацию из фида с профилями компаний. Сбой происходит при расхождении параметров.

База Яндекс Карт требует совпадения названия бренда. Если в фиде указано юрлицо, а на картах — маркетинговое наименование, система отклоняет заявку. Пустое поле rubrics или использование категорий вне официального списка дают тот же результат.

Проверяйте поля перед отправкой через

Проверить свою карточку можно за две минуты через Localis — Оценка карточки за 120 сек: сервис оценит заполнение, найдёт слабые места и подскажет что править в первую очередь.

. Инструмент подсвечивает расхождения между состоянием карточки и требованиями API.

Ошибка возникает при отсутствии часов работы. Координаты и адрес копируйте из интерфейса карт с сохранением пунктуации. Подключить онлайн-запись в Яндекс Бизнесе можно только для профилей, опубликованных более семи дней назад.

ПроблемаПричинаРешение
Неактуальный профильНет часов работы или координатЗаполнить карточку в Яндекс Бизнесе
Несовпадение названийВ фиде юрлицо, в Картах брендИспользовать маркетинговое название
Срок публикацииПрошло менее 7 днейДождаться завершения модерации

Проблемы с часовыми поясами и форматами времени

Сервис требует передачу времени в формате ISO 8601 с указанием часового пояса организации. Разработчики часто отправляют данные в UTC или по московскому времени для всех филиалов.

Это приводит к смещению слотов. Клиент из Владивостока видит доступное время ночью, а утренние часы пропадают из виджета.

Параметр datetime должен содержать часовой пояс конкретной организации. Верный формат: 2023-10-15T11:48:00+03:00.

Пустой список слотов передавайте как {"availableTimeSlots": []}. Значение null или пустое тело запроса вызывает ошибку парсинга на стороне Яндекса.

Бонус 10 000 ₽ на рекламу
Первую рекламную кампанию в Яндекс Директе или Яндекс Бизнесе можно запустить с бонусом 10 000 ₽. Промокод PERK-6A16-4E35-977A активируется по реферальной ссылке при пополнении бюджета от 10 000 ₽ (только для новых клиентов). Перейти в Яндекс Бизнес

Нарушение спецификации ответов сервера

Протокол обмена данными не допускает отклонений. Сервер партнера обязан принимать заголовок Accept: application/json. Отсутствие поддержки этого MIME-типа генерирует ошибку 406 Not Acceptable.

Частая проблема — двойная JSON-сериализация. Сервер преобразует объект в строку, а затем оборачивает строку в JSON. Яндекс получает статус 200, но данные нечитаемы. Возвращайте объект напрямую.

Ошибки аутентификации возникают при неверной настройке JWT. Токен генерируется в режиме --no-iat без временной метки. Пустое поле sub приводит к статусу 400 Bad Request.

HTTP КодОписание проблемыКак исправить
400 Bad RequestПустое поле sub в JWTУказать имя партнера в payload
406 Not AcceptableСервер не поддерживает JSONЯвно разрешить MIME-тип в конфигурации
200 OKДвойная сериализация JSONВозвращать объект напрямую

Ограничения для нестандартных рубрик

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

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

Онлайн-запись в Яндекс Картах для парикмахерских запускается без согласований. Выбирайте значения из официального списка категорий.

Сегмент бизнесаСтатус по умолчаниюОсобенности интеграции
КрасотаОткрытСтандартная спецификация
Медицина и АвтоЗаблокированТребует согласования
РестораныПо заявкеФиксированная сетка, нет duration

Рассинхронизация статусов бронирования

Актуальность расписания поддерживается через вебхуки. Изменение статуса в CRM должно отражаться на платформе Яндекса. Отсутствие уведомлений ведет к двойному бронированию.

Сервер отправляет PUT-запрос при переносе или отмене. Ответы на GET и PUT запросы содержат поля status и comment. Статус отмены — cancelled. Вариант с одной буквой вызывает отказ в обновлении.

Для аналитики в Яндекс Бизнесе передавайте статусы visited или not_visited после завершения визита.

Localis · Бесплатно
Оценка карточки Яндекс Бизнеса за 120 секунд
Покажет что не так в карточке и как это исправить. Оценка бесплатная, без регистрации, результат через 2 минуты.
Проверить свою карточку

Ошибки при выборе способа подключения

Прямая интеграция по API предназначена для разработчиков CRM-систем, которые уже подключили более 300 компаний, или для крупных сетей. Малый бизнес тратит ресурсы на разработку, хотя такой способ не является целевым для одиночных точек.

Прямая интеграция API онлайн-записи в Яндекс Бизнесе требует прохождения E2E-теста. Одиночной компании проще использовать готовое решение.

Пример: Автосервис на одну точку

  1. Менеджер Яндекса отклоняет заявку из-за размера сети.
  2. Владелец регистрируется в партнерской CRM.
  3. Переносит расписание в интерфейс партнера.
  4. Включает модуль онлайн-записи в кабинете.
  5. Проходит автоматическую модерацию.

Кнопка «Записаться онлайн» появится в профиле в течение 10 дней.

Чек-лист перед запуском

Переход в боевую среду возможен только после успешного E2E-теста. Проверка этих пунктов сокращает время ожидания:

  1. Поле rubrics заполнено у каждой организации.
  2. Адреса скопированы из Яндекс Карт.
  3. Сервер принимает заголовок Accept: application/json.
  4. Ответы возвращают Content-Type: application/json без редиректов.
  5. Идентификаторы id передаются как строки.
  6. Параметр datetime содержит часовой пояс.
  7. Пустой список слотов возвращает {"availableTimeSlots»: []}.
  8. Статус отмены — cancelled.
  9. Необязательные пустые поля исключены из ответа.
  10. Вебхук срабатывает при изменении статуса в CRM.
  11. Тестовый хост содержит от 10 организаций.
Бонус 10 000 ₽ на первую рекламную кампанию
Промокод PERK-6A16-4E35-977A добавит 10 000 ₽ к бюджету рекламной кампании в Яндекс Директе или Яндекс Бизнесе. Условия: минимальное пополнение от 10 000 ₽, действует только для новых клиентов (компания раньше не запускала рекламу или последняя кампания была больше года назад), не применяется при запуске через агентство. Активировать нужно по реферальной ссылке. Перейти в Яндекс Бизнес

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

Сколько времени занимает матчинг?

От 2 до 7 дней. Если организация не прошла матчинг, проверьте рубрики, часы работы и совпадение названия с Яндекс Картами.

Можно ли подключить несколько брендов к одному аккаунту?

Нет. Один аккаунт соответствует одному API-хосту. Разные бренды требуют отдельных заявок.

Что делать, если serviceIds[] некорректно парсятся?

Сервер должен обрабатывать URL-encoded массив. Настройте парсинг query-параметров вида serviceIds[]=svc1&serviceIds[]=svc2.

Как добавить кнопку действия при запущенной рекламе?

В настройках рекламной кампании выберите «Записаться онлайн» и вставьте ссылку на виджет партнера.

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