Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов

Если для поиска "синих воротничков" и сотрудников на вахту вы используете Авито, то наш кейс для вас. Узнайте, как выгружать результаты поиска кадров из нескольких учеток Авито в Битрикс24 плюс иметь возможность обмениваться сообщениями в обе стороны. Реализовать кейс поможет интеграция Авито и Битрикс24 по API. Давайте разберем подробную инструкцию на примере кейса нашего заказчика.

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов

1. Зачем интегрировать Авито и портал Битрикс24 (если у вас много кабинетов?) Боль и бизнес-польза

Рассмотрим ситуацию на примере нашего заказчика (управляющее кадровое агентство, специализирующееся на подборе сотрудников на вахту). Работа в агентстве ведется по множеству городов. Поиск и подбор вахтовиков идет на площадке Авито, где у каждого сотрудника заведен отдельный кабинет.

Об интеграции нескольких учеток Авито Работа и нескольких порталов amoCRM читайте здесь.

Заказчику нужна единая база кадров для резерва, плюс упрощение контроля за рабочим процессом. Без автоматизации руководителю приходится либо авторизоваться в Авито под учеткой нужного менеджера, либо брать обратную связь напрямую у сотрудника, чтобы отследить стадию той или иной вакансии.

Интеграция Авито с amoCRM и отправка в Telegram сообщений о несозданных сделках описана в статье.

Вся коммуникация с соискателем ведется на стороне Авито, что тоже неудобно для руководителя, поэтому переписку нужно дублировать в Битрикс24. А чтобы избежать ситуаций, когда сотрудник заболел и не может ответить кандидату на должность, переписку нужно вести из Битрикс24. Это позволит передать соискателя свободному менеджеру без предоставления чужих доступов в Авито.

О двустороннем импорте чатов из нескольких аккаунтов Авито Работа в один портал Битрикс24 для кадрового агентства читайте тут.

Перечисленные проблемы решаются следующей автоматизацией:

1.1. Каждый отклик в каждом кабинете Авито создает в Битрикс24 сделку плюс контакт.

1.2. Дубликаты контролируются по номеру телефона соискателя.

1.3. Если соискатель пишет сообщение на стороне Авито, сообщение отправляется в чат соответствующей сделки Битрикс24.

1.4. Ответ на сообщение из Авито отправляется напрямую из чата сделки и оттуда уходит в Авито. В чате сделки сохраняется вся цепочка коммуникации.

Используем искусственный интеллект YandexGPT 2 для разбора писем, сообщений в Wazzup, Авито для интеграции c Битрикс24: читайте в статье.

Далее расскажем, как настроили это техническое решение с помощью Пинкит.

2. Интеграции Авито и Битрикс24 с выгрузкой откликов и переписки

2.1. Создаем сделку Битрикс24 из отклика Авито

2.1.1. Шаг 1: Откуда

В момент получения отклика мы забираем данные из кабинета Авито, к которому подключили доступ в Пинкит:

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов

2.1.2. Шаг 2: Инструменты

  • Получить информацию по отклику

Настраиваем API-запрос методом POST с указанием URL: /job/v1/applications/get_by_ids

Указываем тело запроса:

{ "ids": [ "{{source.applyId}}" ] }

Заголовки запроса: Content-Type: application/json.

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов
  • Проверка, resume_id указано?

Используем проверку "Если-Иначе" по полю step1.applies.0.applicant.resume_id, Условие - "Существует", Результат при успешной проверке - 1, при неуспешной - 0.

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов
  • Получить информацию о Резюме

Настраиваем API-запрос методом GET с указанием URL /job/v2/resumes/{{step1.applies.0.applicant.resume_id}}

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов
  • Получить информацию о вакансии

Настраиваем API-запрос методом GET с указанием URL /job/v2/vacancies/{{step1.applies.0.vacancy_id}}

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов
  • Получить доступ к контактным данным соискателя

Настраиваем API-запрос методом GET с указанием URL /job/v1/resumes/{{step1.applies.0.applicant.resume_id|default()}}/contacts/

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов
  • Поиск Телефона. Взять телефон из контактных данных

Используем "Фильтр элементов массива" по полю step1.applies.0.contacts.phones. Название поля внутри элемента массива value, Условие - Не пустое значение.

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов
  • Поиск Телефона.Телефон в фильтре найден?

Используем проверку "Если-Иначе" по полю step10, Условие - Не пустое значение, Результат при успешной проверке - 1, при неуспешной - 0.

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов
  • Отформатировать номер телефона на 8

Используем форматирование номера телефона, Условие выполнения - step12, Название поля - step10.0.value, Формат - +ххххх, Код страны - 8.

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов
  • Поиск Телефона. Поиск контакта по номеру телефона

Настраиваем API-запрос методом GET с указанием URL /crm.contact.list?filter[PHONE]={{step16}}. Условие выполнения - step12, доступ даем уже к Битрикс24.

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов
  • Поиск Телефона. Если по номеру телефон не найден

Используем проверку "Если-Иначе" по полю step6.result, Условие - "Пустое значение", Результат при успешной проверке - 1, при неуспешной - 0.

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов
  • Поиск Email. Взять e-mail из контактных данных

Используем Фильтр элементов массива. Условие выполнения - step2. Название поля из контекста, которое содержит входящие данные - step5.contacts. Название поля внутри элемента массива - type. Условие: (Текст) Содержит, Сравниваемое значение - e-mail.

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов
  • Поиск Email. Email в фильтре найден?

Используем проверку "Если-Иначе" по полю step11, Условие - "Не пустое значение", Результат при успешной проверке - 1, при неуспешной - 0.

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов
  • Поиск Email. Поиск контакта по Email

Настраиваем API-запрос методом GET с указанием URL /crm.contact.list?filter[EMAIL]={{step11.0.value}}. Условие выполнения - step8&&step13.

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов
  • Поиск Email. Если по email не найден

Используем проверку "Если-Иначе" по полю step7.result, Условие - "Пустое значение", Результат при успешной проверке - 1, при неуспешной - 0.

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов
  • Создать контакт

Настраиваем API-запрос методом POST с указанием URL /crm.contact.add, Условие выполнения - step8&&step9, Заголовки: Content-Type: application/json, Тело запроса:

{ "fields": { "NAME": "{{step1.applies.0.applicant.data.name|default()}}", "LAST_NAME": "{{step5.full_name.last_name|default()}}", "OPENED": "Y", "ASSIGNED_BY_ID": 5801, "PHONE": [ { "VALUE": "{{step16|default()}}", "VALUE_TYPE": "WORK" } ], "EMAIL": [ { "VALUE": "{{step11.0.value|default()}}", "VALUE_TYPE": "WORK" } ] }, "params": { "REGISTER_SONET_EVENT": "Y" } }
  • Взять из запроса или создать новый

Используем проверку "Если-Иначе" по полю step14, Условие - (Логическое)Истина, Результат при успешной проверке - {{step14.result}}1, при неуспешной - {{step6.result.0.ID}}.

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов

2.1.3. Шаг 3: Куда

Создаем сделку в Битрикс24 в нужном направлении:

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов

2.1.4. Шаг 4: Сопоставление данных

Название: Пилот. Pinkit_{{step1.applies.0.applicant.data.name}}_Должность: {{step3.description|default(Не указана}} ID Стадии сделки: C2:NEW ID контакта: {{step17}}

Пользовательское сопоставление:

Вакансия Тип: Тело Название параметра: fields.UF_CRM_************** Значение параметра: {{step4.title}}
Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов

2.1.5. Запускаем интеграцию.

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов

2.2. Создание чата + добавление ответственного менеджера в чат

2.2.1. Проверяем интеграцию 2.1 на успех:

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов

2.2.2. Шаг 2: Инструменты

  • Проверить связку чата Авито и Битрикс24

Используем Поиск ID соответствующий сущности по полю source.int6796.step1.applies.0.contacts.chat.value. Указываем сущность "Чат в обоих сервисах".

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов
  • Проверка

Используем проверку "Если-Иначе" по полю step1, Условие - (Логическое)Истина, Результат при успешной проверке - 0, при неуспешной - 1.

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов
  • Добавить чат, если его ранее не было

Настраиваем API-запрос методом GET с указанием URL /im.chat.add?ENTITY_TYPE=CRM&ENTITY_ID=DEAL|{{source.int6796.result.result}}&USERS[0]=5801&USERS[1]=5981&TITLE=Авито чат с {{source.int6796.step1.applies.0.applicant.data.name}} {{source.int6796.step16|default()}}. Условие выполнения - step4.

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов
  • Сохранить сопоставление чатов

Используем инструмент "Сохранить сопоставление сущностей". Условие выполнения - step4, ID сущности-источника - {{source.int6796.step1.applies.0.contacts.chat.value}}, ID сущности-цели - {{step2.result}}. Указываем сущность "Чат в обоих сервисах".

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов
  • Останавливать интеграцию каждый раз после создания чата

Используем проверку по полю step1, условие - ТекстСодержит, Сравниваемое значение - Прервать, Действие - Продолжить, если проверка пройдена.

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов

2.2.3. Шаг 3: Куда

Отправляем сообщение в Битрикс24:

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов

2.2.4. Шаг 4: Сопоставление данных

ID чата или ID пользователя - {{step2.result}} ​ Текст сообщения - Создан новый чат!
Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов

2.2.5. Запускаем интеграцию.

2.3. Выгружаем сообщение из Авито в чат сделки Битрикс24

2.3.1. Шаг 1: Откуда

Забираем данные из Авито в момент получения нового сообщения:

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов

2.3.2. Шаг 2: Инструменты

  • Проверить связку чата Авито и Битрикс24

Используем Поиск ID соответствующий сущности по полю source.payload.value.chat_id. Указываем сущность "Чат".

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов
  • Убрать автора

Используем проверку по полю source.payload.value.author_id. Условие "ЧислоРавно", Сравниваемое значение - ID пользователя, Действие - "Прервать, если проверка пройдена".

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов

2.3.3. Шаг 3: Куда

Отправляем сообщение в Битрикс24:

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов

2.3.4. Шаг 4: Сопоставление данных

ID чата или ID пользователя - chat{{step1}} ​ Текст сообщения - Сообщение из Авито: {{source.payload.value.content.text}}
Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов

2.3.5. Запускаем интеграцию.

2.4. Отправляем сообщение из чата сделки Битрикс24 в Авито

2.4.1. Шаг 1 - Откуда

Настраиваем вебхук с пользовательским фильтром:

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов
Тип: Ответ Название: event Условие: (Текст) Содержит Значение: ONIMBOTMESSAGEADD
Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов

2.4.2. Шаг 2: Инструменты

  • Найти ID чата из Авито

Используем Поиск ID соответствующий сущности по полю source.data.PARAMS.CHAT_ID. Указываем сущность "Чат".

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов
  • Если это не Бот

Используем проверку по полю source.data.USER.ID. Условие - "ЧислоРавно", Сравниваемое значение - ID пользователя, Действие - "Продолжить, если проверка пройдена".

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов

2.4.3. Шаг 3: Куда

Отправляем сообщение в Авито:

Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов

2.4.5. Запускаем интеграцию.

3. Итог

Таким образом, с помощью интеграций Пинкит можно автоматизировать поиск персонала и коммуникацию с соискателями в нескольких кабинетах Авито через выгрузку откликов в сделки Битрикс24 и двусторонний обмен сообщениями в чате сделки.

Это поможет снизить ручной труд ваших сотрудников и избавит от необходимости переключаться между учетками Авито, чтобы отследить процесс закрытия вакансии.

Регистрируйтесь по ссылке в личном кабинете Пинкит: https://lk.pinkit.io/register и протестируйте интеграции Битрикс24 с Авито по нашей инструкции.

Алексей Окара, основатель Пинол и продакт-менеджер Пинкит
Интеграция двух и более кабинетов Avito и одного портала Битрикс24 для выгрузки откликов и сообщений в обе стороны с контролем дубликатов
Начать дискуссию