Начало
API сайта аренды — это способ, которым сайт с квартирами посуточно берёт данные из Type CRM и отправляет туда заявки. Сайт обращается к CRM со своего сервера: читает объекты, занятость и цены, считает стоимость проживания и создаёт заявку на бронь. CRM, в свою очередь, сообщает сайту вебхуком, что данные изменились и кэш пора сбросить.
Что умеет API
- Каталог: объекты с текстами на нужном языке, фото, удобствами и ценой ночи; районы (группы) для фильтра.
- Занятость: занятые интервалы по объектам — для календаря на странице объекта.
- Расчёт: цена каждой ночи, скидки и итог за выбранные даты — тот же расчёт, что в CRM.
- Цены на даты: стоимость и доступность всех объектов сразу — для фильтра каталога.
- Заявка на бронь: форма сайта создаёт в CRM сделку на этапе «Заявка».
- Старые адреса: таблица переадресаций со старых страниц (WooCommerce, прежние адреса объектов).
- Вебхук: CRM сообщает сайту, что изменились объекты, цены или занятость.
Все маршруты — в справочнике, готовый клиент для Node.js — пакет @type/site-client.
Как устроен доступ
Сайт обращается к CRM с ключом API в заголовке:
Authorization: Bearer tk_<key_id>_<secret>- Ключ передаётся только с сервера сайта и только по HTTPS. CRM не отвечает браузеру (нет CORS), а ключ в адресе, cookie или теле запроса отклоняет с ошибкой
400 api_key_misplaced. - Ключу нужно право «Аренда: сайт» (
rental:site). Других прав сайту не нужно. - Право действует, пока у компании включён модуль аренды. Если модуль выключен, ответ —
403 scope_unavailable.
Подробнее — в разделе «Безопасность».
Ключ «Аренда: сайт»
Ключ создаёт владелец или администратор компании в CRM: Настройки → Интеграции → API.
- Нажмите «Создать ключ», задайте название (например, «Сайт»).
- Отметьте одно право — «Аренда: сайт».
- Задайте срок действия (рекомендуем год) и, если у сервера сайта постоянный IP, список разрешённых IP.
- Скопируйте ключ: CRM показывает его один раз. Сохраните его в переменных окружения сервера сайта.
В списке ключей видно, когда ключ использовался последний раз.
Перевыпуск и отзыв
- «Перевыпустить» выдаёт новый секрет того же ключа, права и настройки сохраняются. Старый секрет работает ещё 24 часа, чтобы вы успели обновить сайт, или перестаёт работать сразу — это выбирается при перевыпуске.
- «Отозвать» отключает ключ немедленно (в течение нескольких секунд). Сайт начнёт получать
401 api_key_invalid. - Отозванный или истёкший ключ можно «Удалить» из списка.
Вебхук
Адрес вебхука и его секрет настраиваются в Настройки → Аренда → Сайт. Там же кнопка «Проверить» — она отправляет тестовый вызов. Формат и проверка подписи — в разделе «Вебхуки».
Что дальше
- Установите пакет и сделайте первый запрос.
- Посмотрите, как считаются цены и скидки.
- Настройте переадресации со старых адресов и вебхук.