Нажмите «ОК», если вы соглашаетесь с условиями обработки cookie и ваших данных о поведении на сайте, необходимых для аналитики. Запретить обработку cookie можете через браузер.
ОК
Подключаем вашу форму на иной CMS в booking

Подключаем вашу форму на иной CMS в booking

Если ваш сайт самописный, а форма резерва свёрстана в уникальном дизайне, от которого вы не готовы отказаться — есть решение.

01 Особенности подключения

➕ Интеграция booking с вашей формой позволит получать заявки на резервы в раздел «Неразобранное».
➖ Заблокировать форму на дату и время — нужно привлекать верстальщика. Заблокировать форму при полной посадке — недоступно.

02 Настройка подключения

Сгенерировать Webhook URL в личном кабинете booking:
  1. Перейти в «Настройки» — «Настройки форм и телефонии»
  2. Сделать активным тогл «Webhook URL».
  3. Нажать на «Сгенерировать ссылку».
  4. Копировать ссылку — понадобится при переходе в кабинет Tilda.
Настройка интеграции с формами на вашем сайте:
1. Соглашения:

  • Запрос создания заявки в API выполняется с помощью метода POST
  • Данные ожидаются в JSON формате согласно спецификации RFC 7159
  • Заголовок Accept игнорируется
  • Кодировка данных UTF-8
  • Заголовок Content-Type должен быть "application/json; charset=UTF-8"
  • Заголовок Content-Length должен содержать корректную длину сообщения, следуя спецификации HTTP/1.1
2. Доступ:

Базовый URL для доступа к API соответствует следующему шаблону:
~protocol :// url~protocol - https;URL booking.keep-calm.ru/api/v1/:API_KEY/reservation/ — значение берётся из поля «Ссылка Webhook» в разделе «Настройки организации»
Ожидаемый объект JSON с данными:
{
Date: string,
Time: string,
persons: string,
Restaurant: string,
Name: string,
Phone: string,
Textarea: string,
}
В форме резерва присвоить каждому полю значения «Имя переменной» в соответствии с ТЗ в таблице: ссылка.
Если не можете изменить имена переменных у полей формы (например, есть другая интеграция, требующая свои названия полей) — напишите нам, решим.
  • Поля Дата визита/Время визита/Телефон/Имя/Ресторан/Количество гостей являются обязательными и должны быть заполнены.
  • Название ресторана в поле Restaurant должно совпадать с названием ресторана в booking.
Пример

{
"Дата": "10-04-2024",
"Время": "18:30",
"Количество_персон": "На 4 человек",
"name": "Мария Титова",
"phone": "79629112217",
"Пожелания": "Просьба забронировать столик в зале где по-тише.\nТак как будет деловая встреча.",
"restaurant": "Синий лев"
}
Пример запроса через http

curl -H 'Content-Type: application/json ; charset=UTF-8'
-d '{"Date": "05-04-2024","Time": "20:00","persons": "на 4 персоны","Restaurant":"Синий лев","Name":"Диана Курт", "Phone":"79263224451","Textarea":"В центре зала, столик на двоих"}'
-X POST
https://booking.keep-calm.ru/api/v1/ dd9a0c14a134ae09 d0d25ce5f004907f/reservation
Возвращается ответ с HTTP кодом 201 в виде JSON объект

{
"status": "ok",
"message": "success"
}
Ошибки

Отсутствует API_KEY в системе KC Booking:
{
"statusCode": 404,
"message": "Организация c API KEY fw4amifqzhohefdfbktf4y5y 8880ffh5gn62355x отсутствует.",
"error": "Not Found"
}

В передаваем объекте отсутствует поле:
Restaurant
{
"statusCode": 400,
"message": "Отсутствуют поле Restaurant",
"error": "Bad Request"
}
Если есть вопросы, задайте их нашей команде