Аутентификация и доступ
Аутентификация
API использует ключ в заголовке X-API-Key:
X-API-Key: <api-key>
Ключ привязан к тенанту и определяет область видимости данных. Публичные эндпоинты MLS-каталога доступны без ключа.
Уровни доступа к объектам
| Уровень | Кто | Что видит | Что может делать |
|---|---|---|---|
| Публичный | Любой без ключа | MLS-каталог: тип, цена, площадь, район, фото | Только просмотр |
| Авторизованный тенант | Любой с API-ключом | Расширенные поля объектов MLS, без контактов собственника | Просмотр, запрос контакта |
| Листинг-агент | Тенант, создавший объект | Все поля | Подача, управление публикацией, управление изображениями |
Изоляция тенантов
- Каждый тенант работает только со своими данными
- MLS-каталог — общий, read-only
- Попытка изменить чужой объект →
403 Forbiddenили404 Not Found
Логирование доступа к контактам
Каждый запрос контактных данных собственника записывается и публикуется как событие contact_request.received.
Это позволяет собственнику и системе отслеживать, какие агентства запрашивали контакт.