MACRO

Распределение заявок из API 2.0 по настройкам сайта

Заявка, созданная через API 2.0 методом estateBuy/create с параметром domain, распределяется на ответственного по настройкам этого сайта — так же, как заявка с формы на самом сайте. Это работает и для заявок от агентов, агентств недвижимости и агрегаторов.

Статья пригодится:

  • администраторам MACRO — чтобы настроить, кому уходят заявки из внешних систем;
  • разработчикам интеграций — чтобы понимать, какие поля передавать;
  • сотрудникам поддержки — чтобы разобраться, почему заявка не распределилась.

#1. Где настраивается распределение

#Настройки сайта

Перейдите в Компания → Интеграции, у нужного сайта нажмите Настройки и выберите Сценарий распределения заявок с сайта:

СценарийКак распределяются заявки
Как в настройках компанииСайт своих правил не задаёт, действуют общие настройки компании.
Единый ответственныйВсе заявки сайта сразу уходят выбранному сотруднику.
Веерное распределениеЗаявки по очереди раздаются выбранным сотрудникам. Здесь же включаются опции Распределять только на менеджеров on-line, Распределять только в рабочее время сотрудников и Перераспределять по очереди при отсутствии активности — для веера сайта действуют именно они.

Подробно о каждой настройке — в статье Веерное распределение заявок.

#Настройки компании

  • Использовать веерное распределение заявок с внешних сайтов — общий выключатель веера. Если он выключен, не работает никакой веер, в том числе веер сайта.
  • Пользователи, включенные в веерное распределение заявок — общий веер компании. Работает, когда у сайта сценарий Как в настройках компании или список сотрудников веера сайта пуст.
  • Отключать веерное распределение в следующие дни — действует и на веер сайта.
  • Использовать единый контакт для приема заявок с внешних сайтов — общий ответственный компании, когда веер не применяется (см. раздел 3).

#2. Какие поля запроса влияют на ответственного

Запрос отправляется методом POST на адрес https://api.macroserver.ru/v2/estateBuy/create (на примере macroserver.ru; если система MACRO располагается на другом сервере — подставьте адрес своего сервера). Полное описание метода — в документации API 2.0Переход на внешний сайтhttps://api.macroserver.ru/docs/api/v2/#tag/EstateBuy/operation/estateBuy/create.

ПараметрОбязательныйПримерОписание
domainНет"вашсайт.рф"Сайт, настройки которого применить к заявке. Принимается в любом виде: вашсайт.рф, www.вашсайт.рф, ссылка на страницу https://www.вашсайт.рф/kvartiry/?utm_source=x. Сайт должен быть добавлен в Компания → Интеграции. Поддомен, которого там нет, к основному сайту не сводится.
manager_idНет104Назначить конкретного сотрудника. Главнее любых настроек сайта и компании.
contacts_mediator_idНет3001ID агента — контакта-физлица с ролью «Агент».
contacts_agency_idНет3002ID агентства — контакта-юрлица с ролью «Агентство недвижимости».
contacts_aggregator_idНет3003ID агрегатора — контакта-юрлица с ролью «Агрегатор».
utm.channel_typeНет"www"Тип канала: www, messenger, calls и др. Если не передан — заявка считается заявкой с сайта (www). Если передан агент, агентство или агрегатор, тип источника заявки всегда «Агенты» (agent).
estate_sell_idНет1234Объект. Если передан, ответственным может стать менеджер объекта (см. раздел 3).

Ответ содержит ID ответственного:

{
  "estate": { "id": 5002 },
  "contact": { "id": 7002 },
  "manager": { "id": 102 },
  "contact_created": true,
  "estate_created": true
}

"manager": { "id": null } означает, что ответственный не определился и заявка находится в Неразобранном.

#3. Порядок выбора ответственного

Система проверяет варианты сверху вниз, побеждает первый найденный:

  1. Сотрудник из manager_id.
  2. Менеджер бронирований из настроек сайта — только при action=reserve.
  3. Сотрудник сценария Единый ответственный сайта.
  4. Общий ответственный компании — если сценарий сайта не Веерное распределение или веер сейчас запустить нельзя (выключен в компании, день отключения веера).
  5. Менеджер объекта — если передан estate_sell_id.
  6. Веер: веер сайта при сценарии Веерное распределение, иначе общий веер компании.
  7. Если клиент обратился повторно и у него есть активная заявка, новая заявка не создаётся: обращение добавляется в существующую, ответственный остаётся прежним. Создать новую заявку принудительно можно параметром force_new: true.

Если никто не найден, заявка попадает в Неразобранное.

#4. Агентские заявки и тип источника

Агентская заявка (передан contacts_mediator_id, contacts_agency_id или contacts_aggregator_id) распределяется по настройкам сайта так же, как заявка с формы. Тип источника заявки при этом остаётся «Агенты» — аналитика по источникам и посредникам не меняется.

Сценарий сайта из domainЗаявка с сайтаАгентская заявка
Веерное распределениесотрудник из веера сайтасотрудник из веера сайта
Единый ответственныйвыбранный сотрудник сайтавыбранный сотрудник сайта
Как в настройках компаниисотрудник из общего веера компанииНеразобранное
domain не передан или сайта нет в Интеграцияхсотрудник из общего веера компанииНеразобранное

Какие типы источника распределяются веером:

Тип источникаВеер сайтаОбщий веер компании
www (по умолчанию)дада
messengerдада
agent (Агенты)данет
calls и прочиенетнет

#5. Примеры

#Агентская заявка на сайт с веером

В настройках сайта вашсайт.рф выбрано Веерное распределение на сотрудников 101 и 102.

POST https://api.macroserver.ru/v2/estateBuy/create
Authorization: Bearer <токен API-ключа>
AppID: <ID приложения>
Content-Type: application/json

{
  "name": "Борис Агентов",
  "phones": ["+79990000202"],
  "action": "buy",
  "domain": "вашсайт.рф",
  "contacts_mediator_id": 3001
}
{ "estate": { "id": 5002 }, "contact": { "id": 7002 }, "manager": { "id": 102 }, "contact_created": true, "estate_created": true }

Следующая заявка уйдёт сотруднику 101: очередь у сайта общая для заявок с формы и агентских. С contacts_agency_id или contacts_aggregator_id вместо агента результат тот же.

#Свой дежурный менеджер по каждому ЖК

Для каждого ЖК добавьте в Компания → Интеграции отдельный сайт (например, agent-jk1.вашсайт.рф, agent-jk2.вашсайт.рф), выберите сценарий Единый ответственный и дежурного сотрудника. Интеграция передаёт сайт нужного ЖК:

{
  "name": "Игорь Одинагентов",
  "phones": ["+79990000302"],
  "action": "buy",
  "domain": "agent-jk1.вашсайт.рф",
  "contacts_mediator_id": 3001
}
{ "estate": { "id": 5009 }, "contact": { "id": 7009 }, "manager": { "id": 103 }, "contact_created": true, "estate_created": true }

Заявка сразу уходит выбранному сотруднику — без условий веера: on-line статус, рабочее время и общий выключатель веера не важны. Чтобы сменить дежурного, достаточно поменять сотрудника в настройках сайта, интеграцию менять не нужно.

Если дежурных несколько и заявки должны распределяться между ними по очереди — выберите Веерное распределение и укажите всех дежурных.

#Сайт передан ссылкой на страницу

{
  "name": "Вера Ссылкина",
  "phones": ["+79990000203"],
  "action": "buy",
  "domain": "https://www.вашсайт.рф/kvartiry/?utm_source=partner",
  "contacts_mediator_id": 3001
}
{ "estate": { "id": 5003 }, "contact": { "id": 7003 }, "manager": { "id": 101 }, "contact_created": true, "estate_created": true }

Протокол, www, путь и параметры отбрасываются — применяются настройки вашсайт.рф.

#Назначить конкретного менеджера

{
  "name": "Егор Назначенный",
  "phones": ["+79990000206"],
  "action": "buy",
  "domain": "вашсайт.рф",
  "contacts_mediator_id": 3001,
  "manager_id": 104
}
{ "estate": { "id": 5006 }, "contact": { "id": 7006 }, "manager": { "id": 104 }, "contact_created": true, "estate_created": true }

#Повторное обращение клиента

Повторная заявка того же клиента не создаёт новую — возвращается существующая с прежним ответственным, веер заново не запускается (если не передан force_new и в компании не включено создание новой заявки на каждое обращение):

{ "estate": { "id": 5002 }, "contact": { "id": 7002 }, "manager": { "id": 102 }, "contact_created": false, "estate_created": false }

#6. Заявка попала в «Неразобранное» — что проверить

  1. Передан ли в запросе domain и добавлен ли этот сайт в Компания → Интеграции. Для поддомена нужен отдельный сайт.
  2. Какой Сценарий распределения заявок с сайта выбран. При Как в настройках компании агентская заявка не распределяется.
  3. Для веера — включена ли в настройках компании Использовать веерное распределение заявок с внешних сайтов и не является ли сегодняшний день днём отключения веера.
  4. Для веера — включены ли на сайте Распределять только на менеджеров on-line или Распределять только в рабочее время сотрудников. Если подходящих сотрудников нет (все офлайн или вне графика), заявка остаётся без ответственного.
  5. Не передан ли utm.channel_type с типом, который веер не распределяет (например, calls).
  6. Не передан ли estate_sell_id: если у объекта есть свой менеджер, заявка уходит ему.

#7. Частые ошибки

Ответ APIПричина
Контакт contacts_mediator_id должен быть типа «Физическое лицо»В contacts_mediator_id передано юрлицо. Агентство передаётся в contacts_agency_id.
Указан менеджер из другой компанииВ manager_id сотрудник не из этой компании.
Duplicate requestПовтор по тому же клиенту в течение 60 секунд.