Набор методов для интеграций с агрегаторами и партнёрскими системами. Они могут не только отправить заявку покупателя, но и передать в MACRO полную структуру партнёрского канала.
Такая схема уменьшает ручной разбор заявок. Вашим сотрудникам проще увидеть источник партнёрского обращения, администраторам системы — выдать доступ только к нужным действиям API, а разработчикам агрегаторов — построить единый сценарий интеграции для разных застройщиков.
#Кому будут полезны API-методы?
#Сотрудники застройщика, ответственные за посредников
Заявки от агрегаторов можно учитывать через связи с контактами агрегатора, агентства и агента, а не только через рекламные метки или текст в комментарии. Это помогает контролировать партнёрский канал, разбирать спорные обращения и готовить актуальную аналитику по посредникам.
#Администраторы MACRO
Для каждого агрегатора можно создать отдельное API-приложение, выдать ему только нужные права и при необходимости быстро отключить доступ. В правах приложения предусмотрены действия для создания контактов, создания заявок, поиска агента и управления аккредитацией агента или агентства.
#Разработчики сайта застройщика и внутренних интеграций
API позволяет принимать партнёрские заявки напрямую: найти или создать контакт агента/агентства, проверить его роль, затем создать заявку с корректными связями в системе MACRO.
#Разработчики ПО агрегаторов
Агрегатор может хранить для каждого застройщика отдельные реквизиты API-приложения, команды API в зависимости от сервера MACRO и свой ID (contacts_aggregator_id) в базе этого застройщика. Один и тот же внешний сервис сможет работать по общей логике, но с раздельными доступами и идентификаторами для каждой компании.
#Как выглядит процесс интеграции
- Вы запрашиваете в поддержке MACRO API-ключ для агрегатора.
- Вы сообщаете агрегатору реквизиты подключения (адрес API системы MACRO и API-ключ) и его
contacts_aggregator_id— ID контакта юридического лица с ролью «Агрегатор» - Перед отправкой агентской заявки агрегатор проверяет API-запросом
/contacts/findAgent, есть ли в MACRO нужный агент или агентство недвижимости, за которым он хочет зафиксировать заявку:- Если контакта нет, агрегатор создаёт его через API с помощью
/contacts/createи указывает подходящую роль (агент или агентство недвижимости) - При необходимости отдельным запросом
/contacts/accreditateAgentможно установить аккредитацию агента или агентства, чтобы в будущем они самостоятельно могли зайти в личный кабинет агента
- Если контакта нет, агрегатор создаёт его через API с помощью
- При создании заявки с помощью метода API
estateBuy/createагрегатор указывает свой IDcontacts_aggregator_id, ID агентства недвижимостиcontacts_agency_id(опционально) и агентаcontacts_mediator_id - Заявка создаётся в системе MACRO уже с проставленной связью с агрегатором, агентством и агентом
В результате в систему MACRO попадает не просто обращение с внешнего источника, а заявка с понятной структурой партнёрского участия.
#Технические уточнения по методам API
При отправке заявки агрегатор должен использовать нижеперечисленные методы API, чтобы получить исчерпывающую информацию об агенте и агентстве недвижимости и верно учесть её в заявке. Ссылки приведены на примере macroserver.ru. Если Ваша система располагается на другом сервере, то или подставьте адрес своего сервера, или запросите ссылку MACRO API в поддержке.
#contacts/findAgent
Метод поиска агентов и агентств недвижимостиПереход на внешний сайтhttps://api.macroserver.ru/docs/api/v2/#tag/Contacts/operation/contacts/findAgent поможет агрегатору проверить контакт до создания заявки.
В запросе обязательно передаётся roles — строка с одним из допустимых значений:
agent— для поиск агентаagent_org— для поиска агентства недвижимости
Дополнительно можно передать поисковые параметры:
phone— телефон, который будет нормализован перед поиском. Обязателен, если не переданcommInncommInn— ИНН для поиска юридического лица. Обязателен, если не переданphone.
#contacts/create
Метод создания контактаПереход на внешний сайтhttps://api.macroserver.ru/docs/api/v2/#tag/Contacts/operation/contacts/create расширен для сценариев, когда агрегатору нужно завести агента, агентство или другой связанный контакт перед созданием заявки. Используйте его, если в методе /contacts/findAgent не был найден контакт агента или агентства недвижимости.
В запрос /contacts/create можно передать roles — непустой массив ролей. Допустимые значения:
agent— агентagent_org— агентство недвижимостиbuyer— покупательpartnyor— партнёрuchastnik_tenderov— участник тендеров
Для юридических лиц добавлены поля:
comm_full_title— полное или официальное названиеcomm_inn— ИННcomm_ogrn— ОГРНcomm_kpp— КППcomm_address— юридический адрес
Метод ищет или создаёт контакт в пределах доступных компаний застройщика и его партнёров. Если переданы роли, API валидирует их и записывает в контакт только разрешённые значения.
#estateBuy/create
При создании заявки укажите в её методеПереход на внешний сайтhttps://api.macroserver.ru/docs/api/v2/#tag/EstateBuy/operation/estateBuy/create поля:
contacts_aggregator_id— ID контакта юридического лица с ролью «Агрегатор», который инициирует создание заявкиcontacts_agency_id— ID контакта юридического лица с ролью «Агентство недвижимости»contacts_mediator_id— ID контакта физического лица с ролью «Агент»
Если одно из этих полей передано, система MACRO проверяет, что контакт существует в компании застройщика, не удалён, имеет подходящий тип и нужную роль. Так агент не попадёт в поле агентства, агентство — в поле агрегатора, а неверный или удалённый контакт не создаст некорректную связь в заявке.
#contacts/accreditateAgent
Метод для управления аккредитацией агента или агентства. Используйте опционально, если
В запрос передаются:
id— ID контакта с рольюagentилиagent_orgaccreditation—true, чтобы аккредитовать контакт, илиfalse, чтобы снять аккредитацию
Контакт должен быть найден в компании застройщика или среди связанных партнёрских компаний и должен иметь агентскую роль. Если контакт не найден или не подходит по роли, API вернёт ошибку.