К содержимому
Type — API сайта
Разделы

Начало

API сайта аренды — это способ, которым сайт с квартирами посуточно берёт данные из Type CRM и отправляет туда заявки. Сайт обращается к CRM со своего сервера: читает объекты, занятость и цены, считает стоимость проживания и создаёт заявку на бронь. CRM, в свою очередь, сообщает сайту вебхуком, что данные изменились и кэш пора сбросить.

Что умеет API

  • Каталог: объекты с текстами на нужном языке, фото, удобствами и ценой ночи; районы (группы) для фильтра.
  • Занятость: занятые интервалы по объектам — для календаря на странице объекта.
  • Расчёт: цена каждой ночи, скидки и итог за выбранные даты — тот же расчёт, что в CRM.
  • Цены на даты: стоимость и доступность всех объектов сразу — для фильтра каталога.
  • Заявка на бронь: форма сайта создаёт в CRM сделку на этапе «Заявка».
  • Старые адреса: таблица переадресаций со старых страниц (WooCommerce, прежние адреса объектов).
  • Вебхук: CRM сообщает сайту, что изменились объекты, цены или занятость.

Все маршруты — в справочнике, готовый клиент для Node.js — пакет @type/site-client.

Как устроен доступ

Сайт обращается к CRM с ключом API в заголовке:

http
Authorization: Bearer tk_<key_id>_<secret>
  • Ключ передаётся только с сервера сайта и только по HTTPS. CRM не отвечает браузеру (нет CORS), а ключ в адресе, cookie или теле запроса отклоняет с ошибкой 400 api_key_misplaced.
  • Ключу нужно право «Аренда: сайт» (rental:site). Других прав сайту не нужно.
  • Право действует, пока у компании включён модуль аренды. Если модуль выключен, ответ — 403 scope_unavailable.

Подробнее — в разделе «Безопасность».

Ключ «Аренда: сайт»

Ключ создаёт владелец или администратор компании в CRM: Настройки → Интеграции → API.

  1. Нажмите «Создать ключ», задайте название (например, «Сайт»).
  2. Отметьте одно право — «Аренда: сайт».
  3. Задайте срок действия (рекомендуем год) и, если у сервера сайта постоянный IP, список разрешённых IP.
  4. Скопируйте ключ: CRM показывает его один раз. Сохраните его в переменных окружения сервера сайта.

В списке ключей видно, когда ключ использовался последний раз.

Перевыпуск и отзыв

  • «Перевыпустить» выдаёт новый секрет того же ключа, права и настройки сохраняются. Старый секрет работает ещё 24 часа, чтобы вы успели обновить сайт, или перестаёт работать сразу — это выбирается при перевыпуске.
  • «Отозвать» отключает ключ немедленно (в течение нескольких секунд). Сайт начнёт получать 401 api_key_invalid.
  • Отозванный или истёкший ключ можно «Удалить» из списка.

Вебхук

Адрес вебхука и его секрет настраиваются в Настройки → Аренда → Сайт. Там же кнопка «Проверить» — она отправляет тестовый вызов. Формат и проверка подписи — в разделе «Вебхуки».

Что дальше

  1. Установите пакет и сделайте первый запрос.
  2. Посмотрите, как считаются цены и скидки.
  3. Настройте переадресации со старых адресов и вебхук.