Как создать контакт и настроить воронку сделок при получении заказа из интернет-магазина Битрикс24?

На коробочном решении Б24 установлен дополнительный сайт АСПРО МАКС, к которому подключен CRM-каталог вместо стандартного каталога Б24. При поступлении заказа создается сделка в воронке с ID 0 и названием, например, "Заказ интернет-магазина №27". Товары добавляются корректно, однако контакт не создается, вместо него формируется пользователь, который доступен только через админку или в меню Б24 "Сайты и Магазины" -> "Настройки" -> "Покупатели". Это неудобно, так как в меню Б24 отсутствует связь между покупателем и сделкой.

<b>Поддержка Б24 на вопрос о настройке воронки ответила следующее:</b>
<blockquote>На данный момент возможность задавать, в какой воронке создавать сделку из интернет-магазина, не реализована. Вы можете настроить робота, который будет перемещать сделки, созданные из магазина, в нужное направление и стадию.<br/>
</blockquote>
Несмотря на то, что такая настройка была произведена, это выглядит как временное решение. Есть ли у кого-то опыт более эффективного решения этой проблемы с использованием методов D7 или других настроек платформы?

<b>Что касается создания контакта:</b>
<blockquote>На данный момент возможность создавать контакт в сделке из интернет-магазина, не реализована. Вы можете обратиться к нашим партнёрам для разработки данного функционала для вашего портала.<br/>
</blockquote>
В данной ситуации у меня есть единственный вариант: обратиться к базе данных и в таблице <code>b_sales_order</code> (используя номер заказа из названия сделки) получить информацию о пользователе для создания контакта, который затем прикрепить к сделке.

Собственно, интересует, как другие пользователи решали эти вопросы?
  • 12 декабря 2024 г. 11:43
Ответы на вопрос 1
Ваша ситуация действительно знакома многим пользователям Битрикс24, и данный вопрос можно решить различными способами. Вот несколько подходов, которые могут помочь создать контакт и настроить воронку сделок более эффективно:

### 1. Использование вебхуков

Для автоматизации процесса создания контактов и связи их со сделками, вы можете использовать вебхуки. На основе заказа из интернет-магазина вы можете отправлять данные в CRM при помощи вебхуков, вызывая необходимые методы API Битрикс24 для создания контакта и сделки.

Примерный алгоритм:
- **Получать уведомления о новых заказах**.
- **Создавать контакт** с помощью метода `crm.contact.add`.
- **Создавать сделку** с помощью метода `crm.deal.add`, связывая созданный контакт с этой сделкой.
- **Настраивать воронку** в зависимости от статуса заказа.

### 2. Использование бизнес-процессов

Если ваш вариант поддерживает бизнес-процессы, можно настроить бизнес-процесс, который будет запускаться при создании сделки, проверять, есть ли связь с контактом, и при ее отсутствии создавать новый контакт.

Шаги:
- Запускать процесс, когда создается новая сделка.
- Проверять, существует ли контакт (например, по email или телефону).
- Если контакт не найден, создавать его и связывать с сделкой.

### 3. Использование методов D7

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

Пример использования методов D7:
```php
use Bitrix\Crm\ContactTable;
use Bitrix\Crm\DealTable;

// Получение информации о заказе
$orderInfo = ...; // ваш код для получения информации о заказе

// Проверка существования контакта
$contact = ContactTable::getList([
    'filter' => ['EMAIL' => $orderInfo['EMAIL']]
])->fetch();

if (!$contact) {
    // Создание нового контакта
    $contactId = ContactTable::add([
        'NAME' => $orderInfo['NAME'],
        'LAST_NAME' => $orderInfo['LAST_NAME'],
        'EMAIL' => [['VALUE' => $orderInfo['EMAIL'], 'VALUE_TYPE' => 'WORK']]
    ])->getId();

    // Создание сделки и связывание с контактом
    DealTable::add([
        'TITLE' => 'Заказ интернет-магазина №' . $orderInfo['ORDER_ID'],
        'CONTACT_ID' => $contactId,
        'STAGE_ID' => 'NEW' // или другую стадию воронки
    ]);
}
```

### 4. Настройка роботов в CRM

Как упоминалось в вашем вопросе, вы можете настроить роботов для перемещения сделок в определенную стадию. Если это вам уже сделали, убедитесь, что настройки робота корректны и он перемещает сделки в нужную воронку.

### 5. Обращение к партнерам

Если вы не хотите заниматься программированием или ваш проект требует более сложного решения, хорошей идеей будет обратиться к партнерам Битрикс24, которые могут разработать для вас необходимый функционал.

Каждый из вышеперечисленных методов имеет свои плюсы и минусы, и выбор подхода зависит от ваших нужд и ресурсов, которые вы готовы инвестировать.
Похожие вопросы