Loading...
Page tree
Skip to end of metadata
Go to start of metadata


(warning)Перед интеграцией необходимо установить счетчик Roistat!

Шаг 1. Создание дополнительного поля "roistat"     

После установки счетчика необходимо создать дополнительное поле “roistat.

(warning) Дополнительное поле обязательно должно иметь название roistat, иначе интеграция работать не будет.

Через поле “roistat” промокод передается в CRM-систему из источника заявки, а затем выгружается вместе со сделкой в аналитику. 
Без корректного значения в поле "roistat" пользователи CRM не смогут отслеживать источники загруженных заявок и анализировать эффективность маркетинга. 
Поле roistat может быть создано в процессе настройки интеграции пользователем  (вручную) или CRM-системой (автоматически).
Основные требования к полю: 

  •  Должно быть видимым для пользователя и редактируемым. 
  •  Значением поля может быть как число, так и строка.


(отметить) Если по каким-либо причинам вы создаете сделку вручную (например, для оффлайн-источников), вы можете заполнить поле roistat данными об источнике сделки. Тогда информация об источнике сделки будет отображена в Аналитике.

Чтобы отнести сделку к определенному рекламному каналу, вводите в поле roistat следующие маркеры:

  • yamarket{ID}, если хотите отнести сделку к каналу Яндекс.Маркет. Здесь и далее ID - идентификатор рекламного канала. Например, yamarket1.
  • direct{ID}, если хотите отнести сделку к каналу Яндекс.Директ. Например, direct2.
  • google{ID}, если хотите отнести сделку к каналу Google Adwords. Например, google3.
  • merchant{ID}, если хотите отнести сделку к каналу Google Merchant Center. Например, merchant4.
  • vk{ID}, если хотите отнести сделку к каналу ВКонтакте. Например, vk5.
  • facebook{ID}, если хотите отнести сделку к каналу Facebook. Например, facebook6.
  • mytarget{ID}, если хотите отнести сделку к каналу myTarget.
  • seo_yandex, если хотите отнести сделку к каналу SEO - Яндекс.
  • seo_google, если хотите отнести сделку к каналу SEO - Google.

После установки счетчика на сайт и создания дополнительного поля roistat можно приступать к настройке интеграции.

Шаг 2. Настройка выгрузки данных из CRM-системы 


Чтобы Roistat получал информацию по сделкам, необходимо настроить выгрузку информации о статусах, дополнительных полях, менеджерах и клиентах из CRM-системы.


Выгрузка информации о статусах, дополнительных полях и менеджерах CRM-системы  


Этот запрос нужно настроить до этапа “Отправка данных в CRM-систему”, так как он необходим для корректной работы всей интеграции. 

Пример GET-запроса: 

 http://mycrm.com/new/php?user=test_user&token=1234567890&action=import_scheme

где: 

  • action=import_scheme - выгрузка основных справочников из CRM;

  • user - имя пользователя в CRM;

  • token - имя пользователя и пароль в CRM, сгенерированные в md5 в формате $username . $password. 

 В ответ на запрос Roistat должен получить следующий формат данных:
{
 "statuses": [
        {"id": "1", "name": "Новый"},
        {"id": "2", "name": "В работе"}
    ],
"fields": [
        {"id": "1", "name": "Способ доставки"},
        {"id": "2", "name": "Менеджер"}
    ],
 "managers": [
        {
            "id": "1", 
            "name": "Менеджер 1", 
            "phone":"79012223355", 
            "email": "test1@mail.com"
            },
        {
            "id": "2", 
            "name": "Менеджер 2", 
            "phone":"79022223355", 
            "email": "test2@mail.com"
            }
    ]
}


Описание массивов:

В массиве statuses отображаются статусы сделок. Массив состоит из следующих элементов: 
ЭлементОписание Обязательный 
idУникальный идентификатор статуса. Используется в массиве ordersДа 
name Название статуса. Используется в интерфейсе Roistat Да 
В массиве fields отображаются дополнительные поля сделок.  Массив состоит из следующих элементов: 
ЭлементОписание Обязательный 
idУникальный идентификатор дополнительного поля. Используется в массиве orders Да 
name Название дополнительного поля. Используется в интерфейсе Roistat Да 
В массиве managers отображаются ответственные за сделки менеджеры компании. Массив состоит из следующих элементов: 
ЭлементОписание Обязательный 
idУникальный идентификатор менеджера. Используется в массиве orders Да 
name Имя менеджера. Используется в интерфейсе Roistat Да 
phone Телефон менеджера Да 
email Электронная почта менеджера Да 

Выгрузка информации о сделках из CRM-системы 

Информация о сделках загружается в систему аналитики и отображается в пользовательских отчетах. 

Пример GET-запроса: 

http://mycrm.com/new/php?date=1546300800&user=test_user&token=abc1234567890&action=export&offset=0&limit=1000  

где:

  • action=export - выгрузка данных по сделкам;

  • date - дата в формате UNIX-time, после которой были изменения в сделках;

  • user - имя пользователя в CRM

  • token - имя пользователя и пароль в CRM, сгенерированные в md5 в формате $username . $password

  • limit - количество выгружаемых сделок, которое Roistat ожидает получить от CRM-системы; 

  • offset - количество заявок от начала выборки, которые нужно пропустить.

 В ответ Roistat ожидает JSON-формат данных :
{
    "fields": [
        {
            "id": "1", 
            "name": "Способ доставки"
            },
        {
            "id": "2", 
            "name": "Филиал"}
    ],
    "pagination": {
        "total_count": 1344,
        "limit": 200
    },
    "statuses": [
        {
            "id": "1", 
            "name": "Новый"
            },
        {
            "id": "2", 
            "name": "В работе"
            }
    ],
    "managers": [
        {
            "id": "1", 
            "name": "Менеджер 1", 
            "phone":"79012223355", 
            "email": "test1@mail.com"
            },
        {
            "id": "2", 
            "name": "Менеджер 2", 
            "phone":"79022223355", 
            "email": "test2@mail.com"
            }
    ],
    "orders": [
        {
            "id": "123",
            "name": "Новая сделка",
            "date_create": "1393673200",
            "status": "0",
            "price": "2331",
            "cost": "1220",
            "roistat": "3121512",
            "client_id": "1",
            "manager_id": "1",
            "fields": {
                "1": "Курьер",
                "2": "Филиал 1"
            }
        },
        {
            "id": "124",
            "date_create": "1393673220",
            "status": "1",
            "price": "4123",
            "cost": "2220",
            "roistat": "3121514",
            "client_id": "2",
            "manager_id": "2",
            "fields": {
                "1": "Самовывоз",
                "2": "Филиал 2"
            }
        }
    ]
}

Тип полей в массивах statuses и orders принципиально не важен, как правило, это string или int. Типом поля для суммы сделки или себестоимости может быть float.  

ID в массиве fields должны быть типом string. 


Подробное описание массивов страницы выгрузки:

В массиве fields отображаются дополнительные поля сделок. Элементы массива fields
Элемент Описание Обязательный 
id Уникальный идентификатор дополнительного поля. Используется в массиве ordersДа 
name Название дополнительного поля. Используется в интерфейсе Roistat Да 

Массив fields является необязательным, если уже используется обработка запроса action=import_scheme.  

Для корректной работы интеграции лучше вынести обработку массива fields в action=import_scheme. 

В массиве statuses отображаются статусы сделок. Массив состоит из следующих элементов: 
Элемент Описание Обязательный 
id Уникальный идентификатор статуса. Используется в массиве orders Да 
name Название статуса. Используется в интерфейсе RoistatДа 

Массив statuses является необязательным, если используется обработка запроса action=import_scheme. 

Для корректной работы интеграции лучше вынести обработку массива statuses в action=import_scheme. 

Массив managers состоит из следующих элементов:
Элемент Описание Обязательный 
id Уникальный идентификатор менеджера. Используется в массиве orders Да 
name Имя менеджера. Используется в интерфейсе Roistat Да 
phone Телефон менеджераДа
email Электронная почта менеджера Да

Массив managers является необязательным, если используется обработка запроса action=import_scheme.  

Для корректной работы интеграции лучше вынести обработку массива managers в action=import_scheme. 

Массив pagination устанавливает лимит выгрузки заявок за один запрос. 
Элемент Описание Обязательный 
total_count Количество заявок, которые были изменены после заданной даты  Да 
limit Количествово заявок, которое будет выгружаться за один запросДа 

В зависимости от параметров total_count и limit, Roistat будет совершать дополнительные запросы к странице выгрузки. Затем, при обновлении запросов limit и offset, Roistat выгрузит все измененные сделки за выбранный запросом offset период. Параметр total_count должен быть неизменным для всех страниц.

Пример:

Страница выгрузки отдает следующий ответ: 

 "pagination": { 
     "total_count": 2590, 
     "limit": 1000 
 } 
Roistat отправит 3 последовательных запроса на выгрузку данных с  
  • limit=1000&offset=0 

  • limit=1000&offset=1000 

  • limit=1000&offset=2000 

По данному запросу выгружается 2590 сделок, измененных с момента указанной в ссылке даты. Лимит выгрузки - 1000 сделок, соответственно после первого дополнительного запроса выгружаются сделки с 1 по 1000, после второго запроса - сделки с 1000 по 2000, а после третьего - сделки с 2000 по 2590. 

Описание элементов массива orders

Элемент 

Описание 

Обязательный 

id 

Уникальный идентификатор сделки 

Да 

name 

Название сделки. Используется в интерфейсе Roistat 

Нет 

date_create 

Дата создания сделки в формате UNIX-time или YYYY-MM-DD HH:MM. Данные необходимо передавать в часовом поясе UTC+0

Да 

status 

Уникальный идентификатор статуса из массива statuses 

Да 

price 

Сумма сделки. Используется в показателе «Выручка» в Roistat. Дробное значение необходимо передать как float (123.123) 

Нет 

cost 

Cебестоимость сделки. Используется в показателе «Себестоимость» в Roistat. Дробное значение необходимо передать как float (123.123)  

Нет 

roistat 

Номер визита, сохраненный у сделки. Значение cookie roistat_visit. Используется для определения источника сделки 

Нет 

client_id 

Идентификатор клиента 

Нет 

manager_id 

Идентификатор менеджера массива managers 

Нет 

fields 

Массив дополнительных полей сделки. Элементы массива имеют следующую структуру: 

{field_id}": "{field_value}", 

Уникальный идентификатор должен совпадать со значением массива fields. 

Нет 

Если CRM-система поддерживает несколько конвертирующихся друг в друга сущностей в рамках одной заявки, например, Лиды+Сделки, необходимо одновременно выгружать либо Лид, либо сконвертированную из него Сделку. Причем дата создания такой Сделки должна соответствовать дате создания Лида, из которого она была сконвертирована. 

Это вызвано тем, что с точки зрения Roistat нет деления на Лиды и Сделки, и всё объединяется в единую Заявку клиента, которая может быть представлена в СRM-системе в различных сущностях. 

 Пример PHP кода для страницы выгрузки:
<?php
  
// Если вы хотите закрыть доступ к этой странице по прямой ссылке, то можно указать логин и пароль
$user     = 'login';
$password = 'password';
$token = isset($_GET['token']) ? $_GET['token'] : null;
if ($token !== md5($user.$password)) {
    exit('Invalid token');
}
 
//Параметр date передает сервер ROIstat'а, чтобы отфильтровать заказы по дате обновления
$editDate = isset($_GET['date']) ? (int)$_GET['date'] : time() - 31*24*60*60;
 
// Параметр offset указывает сколько заказов от начала выборки нужно пропустить
$offset = isset($_GET['offset']) ? (int)$_GET['offset'] : 0;
 
// Количество записей выгружаемых за один запрос
$limit = 1000;
 
$query = "SELECT COUNT(`id`) FROM `orders` WHERE `edit_date` > {$editDate};";
$dbResult = $db->query($query);
$totalCount = $dbResult['0'];
 
$response = array(
    'orders' => array(), 
    'statuses' => array(),
    'fields' => array(),
    'managers' => array(),
    'pagination' => array(
        'limit' => $limit, 
        'total_count' => $totalCount,
    ),
);
  
$query = "SELECT * FROM `orders` WHERE `edit_date` > {$editDate} LIMIT {$offset}, {$limit};";
$dbResult = $db->query($query);
foreach ($dbResult as $row) {
    $response['orders'][] = array(
        'id'            => $row['id'],      //уникальный идентификатор сделки
        'name'          => $row['order_name'], // Человекочитаемое название сделки. Используется в интерфейсе Roistat
        'date_create'   => $row['date_create'], //дата создания сделки
        'status'        => $row['status'],  //ID статуса заказа
        'price'         => $row['price'],   //стоимость заказа
        'cost'          => $row['cost'],    //необязательное поле, себестоимость заказа, для точного расчета ROI
        'roistat'       => $row['roistat'], //идентификатор пользователя на сервере roistat, этот параметр дописывается к сделке при создании, из cookie 
roistat_visit
        'client_id'     => $row['client_id'], // идентификатор пользователя сделавшего заказ (Контакта)
        'manager_id'    => $row['manager_id'], // идентификатор менеджера, ответтсвенного за заказ
    );
}
  
//добавляем описание статусов для выгрузки заказов
$query = "SELECT * FROM `statuses`";
$dbResult = $db->query($query);
foreach ($dbResult as $row) {
    $response['statuses'][] = array(
        'id'    => $row['id'],
        'name'  => $row['name'],
    );
}
  
echo json_encode($response);
К оглавлению 

 

Выгрузка информации о клиентах из CRM-системы 

Чтобы пользователи могли отслеживать аналитические данные по клиентам (контактные данные, LTV, касания клиента и т.д.), необходимо обеспечить выгрузку информации по клиентам из СRM-системы. 

Для выгрузки клиентов Roistat отправляет следующий запрос: 

  • action=export_clients - выгрузка клиентов;

  • date - дата в формате UNIX-time, после которой были изменения в клиентах;

  • user - пользователь CRM;

  • token - имя пользователя и пароль в CRM, сгенерированные в md5 в формате $username . $password;

  • limit - количество выгружаемых клиентов, которое Roistat ожидает получить от CRM-системы; 

  • offset - количество клиентов от начала выборки, которые нужно пропустить.

 В ответ Roistat ожидает следующий JSON-формат данных:
{
    "clients": [
        {
            "id": "1",
            "name": "Иван Иванович",
            "phone": "71111111111",
            "email": "ivan@client.com",
            "company": "ООО Компания",
            "birth_date": "1990-04-15",
        },
        {
            "id": "2",
            "name": "Жюль Верн",
            "phone": "3311111111, 3311111222",
            "email": "jv@books.com, inbox@books.com",
            "company": "",
            "birth_date": "1828-02-08",
        }
    ],
    "pagination": {
        "total_count": 2590,
        "limit": 1000
    }
}

Подробное описание элементов страницы выгрузки:

Описание элементов массива clients:
ЭлементОписаниеОбязательный
idУникальный идентификатор клиента. Используется в массиве ordersДа
nameНазвание клиента. Используется в интерфейсе RoistatДа
phoneТелефон клиентаДа
emailЭлектронный адрес клиентаДа
companyНазвание компанииНет
birth_dateДень рождения (В формате Y-m-d)Нет
Описание элементов массива pagination:
ЭлементОписаниеОбязательный
total_countКоличество заявок, которые были изменены после заданной датыДа
limitКоличество заявок, которое будет выгружаться за один запросДа

В зависимости от параметров total_count и limit, Roistat будет совершать дополнительные запросы к странице выгрузки. Затем, при обновлении запросов limit и offset, Roistat выгрузит все измененные сделки за выбранный запросом offset период. Параметр total_count должен быть неизменным для всех страниц.

Страница выгрузки отдает следующий ответ: 

    "pagination": {
        "total_count": 2590,
        "limit": 1000
    }
Roistat отправит 3 последовательных запроса на выгрузку данных с 
  • limit=1000&offset=0
  • limit=1000&offset=1000
  • limit=1000&offset=2000

По данному запросу выгружается 2590 сделок, измененных с момента указанной в ссылке даты. Лимит выгрузки - 1000 сделок, соответственно после первого дополнительного запроса выгружаются сделки с 1 по 1000, после второго запроса - сделки с 1000 по 2000, а после третьего - сделки с 2000 по 2590. 

Проверка работы выгрузки

Для проверки работы вашей интеграции воспользуйтесь сервисом проверки выгрузки своей CRM.

Для этого нужно:

  1. Перейти по адресу https://roistat.com/ru/integration/check
  2. Ввести адрес выгрузки, откуда Roistat будет брать данные.
  3. Ввести логин и пароль из настройки интеграции.
  4. Нажать кнопку Проверить:


К оглавлению 


Шаг 3. Отправка данных в CRM-систему

В случае выбора GET-запроса будет отправлен следующий запрос:

http://mycrm.com/new/php?action=lead&created_date=YYYY-MM-DD HH:MM:SS&data={"roistat":"12345","custom_field":"value"}&email=new@mail.com&name=Name&phone=79056660012&text=Новый заказ с сайта&title=Заказ с сайта&token=abc1234567890&user=test_user&visit=12345&manager_id=12345
В случае выбора POST-запроса будет отправлен следующий запрос:
Header:
http://mycrm.com/new/php?action=lead&token=abc1234567890&user=test_user

Body:

created_date=YYYY-MM-DD HH:MM:SS&data={"roistat":"12345","custom_field":"value"}&email=new@mail.com&name=Name&phone=79056660012&text=Новый заказ с сайта&title=Заказ с сайта&visit=12345

Подробное описание параметров запроса:

  • action=lead. Параметр action отвечает за определения типа запроса, отправляемого Roistat. action=lead означает создание новой заявки.
  • user - пользователь, который был введен на шаге авторизации.
  • token. Формируется из имени пользователя и пароля, которые были настроены на шаге Авторизация.
  • title. Заголовок новой заявки.
  • data. В данном параметре передается JSON дополнительных полей заявки. В том числе поля roistat, где содержится номер визита. Данные содержатся в формате: "custom_field":"value".
  • manager_id. Ответственный менеджер, который указан на этапе “отправка данных в CRM”.
  • email. Email адрес клиента, оставившего заявку.
  • name. Имя клиента, оставившего заявку
  • phone. Номер телефона клиента, оставившего заявку
  • text. Комментарий заявки, содержащий дополнительную информацию.

В ответ на запрос о создании новой сделки ожидается ответ следующего вида:

{
"status" : "ok",
"order_id" : "{ID_сделки}"
}

order_id - ID сделки, которая была создана в CRM-системе. ID должен соответствовать идентификатору сделки в массиве orders на странице выгрузки информации о сделках.

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

К оглавлению

Обработка информации о новой заявке.


В зависимости от того, какие сущности поддерживаются CRM-системой, необходимо создать сущность, которая позволит пользователям CRM системы обработать новую заявку (заказ, сделка, лид и т.д.). Если система поддерживает сущность Контакт (клиент), то контактные данные заявки необходимо записать туда.

  • title. Из этого параметра необходимо сформировать заголовок новой заявки. Если заголовок заявки не поддерживается, то желательно зафиксировать данные из Title в комментариях.

  • data. Необходимо записать данные из JSON в дополнительные поля заявки по ID полей, которые указаны в массиве. Значение из параметра “roistat” необходимо записать в соответствующее поле CRM.
  • text. Необходимо записать значение этого параметра в комментарий заявки.
  • manager_id. Необходимо установить ответственным за заявку менеджера, который указан в этом параметре.
  • name, email, phone. Необходимо осуществить проверку на наличие текущего контакта с указанными контактными данными. Если был найден существующий контакт, то к нему необходимо привязать новую заявку. Если нет - создать новый и записать контактные данные в него.
  • Если система не поддерживает создание контактов (например, все новые заявки приходят как лид), то необходимо записать контактные данные в сущность Лида.
Ответом на запрос необходимо прислать статус создания новой заявки в CRM системе. В случае успеха Roistat ожидает следующий ответ:
{
"status" : "ok",
"order_id" : "{ID_сделки}"
}

Если не передать этот ответ, информация о заявке будет отправляться на эту страницу раз в несколько часов.

Проверка передачи заявок

Для проверки работы вашей интеграции воспользуйтесь сервисом проверки выгрузки своей CRM.

Для этого нужно:

  1. Перейти по адресу https://roistat.com/ru/integration/check.
  2. Заполнить адрес выгрузки.
  3. Ввести адрес обработчика заявок.
  4. Выбрать способ отправки запроса.
  5. Нажать кнопку Проверить:



К оглавлению
 

Шаг 4. Обновление данных в CRM-системе


В настройках интеграции на вкладке
Отправка данных в СRM необходимо указать Адрес для получения доп. информации по сделке. На этот адрес будет отправляться дополнительная информация по текущим сделкам в зависимости от работы различных механизмов внутри Roistat.
(warning) Если домен защищен SSL сертификатом, необходимо указать ссылку с протоколом: https://domain.com


К оглавлению
 

Добавление комментария к текущей сделке


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

    В случае выбора в настройках GET-запроса, Roistat отправляет:
http://mycrm.com/new/php?action=message&leadId=12345&title=Заголовок сообщения&message=Текст сообщения&token=abc1234567890&user=test_user

В случае выбора POST-запроса, Roistat отправляет:

Header:
http://mycrm.com/new/php?action=lead&token=abc1234567890&user=test_user
Body:
leadId=12345&title=Заголовок сообщения&message=Текст сообщения

Подробные параметры запроса:

  • action=message - добавление сообщения к сделке;
  • user - пользователь CRM;
  • token - имя пользователя и пароль в CRM, сгенерированные в md5 в формате $username . $password; 
  • leadId. ID сделки или иной сущности, в которую необходимо добавить сообщение;
  • title - заголовок сообщения;
  • message - текст сообщения.
Обработка запроса на добавление комментария: 
Необходимо осуществить поиск и добавить комментарий в сделку (по параметру leadId).

К оглавлению
 

Добавление задачи к текущей сделке


Задача к уже созданной сделке может быть добавлена в следующих случаях:
  • Часть функциональности автоматизация маркетинга”.
  • Передача информации о дублирующей заявке (если пользователь включил настройку).

В случае выбора GET-запроса в настройках Roistat отправляет:
http://mycrm.com/new/php?action=task&element_id=12345&deadline=2019-01-01T11:11:11&text=Текст задачи&token=abc1234567890&user=test_user

В случае выбора POST-запроса Roistat отправляет:

Header:
http://mycrm.com/new/php?action=lead&token=abc1234567890&user=test_user
Body:
element_id=12345&deadline=2019-01-01T11:11:11&text=Текст задачи

Разберем параметры запроса подробнее:

  • action=message - добавление задачи к текущей сделке;
  • user - пользователь CRM;
  • token - имя пользователя и пароль в CRM, сгенерированные в md5 в формате $username . $password; 
  • element_id - ID сделки или иной сущности, в которую необходимо добавить задачу;
  • deadline - крайний срок задачи (UTC+0);
  • text - текст задачи.
Обработка запроса на добавление задачи: 
Необходимо осуществить поиск и добавить задачу в сделку (по параметру element_id) на ответственного за неё менеджера
Как ответ на запрос Roistat ожидает:


{"status":"ok","task_id":"{task_id}"}
К оглавлению 

Добавление звонка к текущей сделке

Звонки необходимо добавить к текущей сделке, если пользователю необходимо прослушивать запись звонка из CRM-системы по сделкам, созданным по звонкам, которые прошли через Roistat.
Так как сделка по звонкам создается в моменте начала разговора, запись звонка необходимо прикрепить к уже созданной сделке.
В случае выбора GET-запроса в настройках Roistat отправляет:
http://mycrm.com/new/php?action=call&id=12&callee=79012223344&caller=78002225566&visit=12345&marker=vk_new_post&status=answered&duration=50&file_url=&order_id=12345&date=2019-01-01T11:11:11&user=test_user&token=abc1234567890

В случае выбора POST-запроса Roistat отправляет:

Header:
http://mycrm.com/new/php?action=lead&token=abc1234567890&user=test_user

Body:

id=12&callee=79012223344&caller=78002225566&visit=12345&marker=vk_new_post&status=answered&duration=50&file_url=&order_id=12345&date=2019-01-01T11:11:11

Разберем параметры запроса подробнее:

  • action=call - добавление звонка;
  • user - пользователь CRM;
  • token имя пользователя и пароль в CRM, сгенерированные в md5 в формате $username . $password;
  • id - ID звонка в системе Roistat;
  • callee - кому был совершен вызов;
  • caller - кто совершил вызов;
  • date - дата звонка (UTC+0); 
  • visit - номер визита (подробнее про номер визита можно прочитать в начале статьи);
  • marker - маркер, рекламный источник визита;
  • status - статус звонка. Возможные статусы звонка:
    • ANSWER – звонок был принят и обработан сотрудником; 
    • BUSY – входящий звонок был, но линия была занята; 
    • NOANSWER – входящий вызов состоялся, но в течение времени ожидания ответа не был принят сотрудником; 
    • CANCEL – входящий вызов состоялся, но был завершен до того, как сотрудник ответил; 
    • CONGESTION – вызов не состоялся из-за технических проблем; 
    • CHANUNAVAIL – вызываемый номер был недоступен; 
    • DONTCALL – входящий вызов был отменен; 
    • TORTURE – входящий вызов был перенаправлен на автоответчик
  • order_id - номер сделки, которая была создана по звонку;
  • duration длительность вызова;
  • file_url - запись разговора.
Обработка запроса на добавление звонка: 
Необходимо осуществить поиск и добавить звонок в сделку (по параметру order_id). Добавленная сущность звонка должна решить задачу клиента - дать возможность прослушать звонок непосредственно в CRM.
Также можно осуществить дополнительные действия со сделкой в результате статуса звонка. Добавить статус как комментарий, тег и т.д.
Как ответ на запрос Roistat ожидает:


{"status":"ok","call_id":"{call_id}"}
К оглавлению 

Шаг 5. Авторизация 

После создания дополнительного поля Roistat, в модуле интеграции “Своя CRM необходимо ввести авторизационные данные, которые будут использоваться в запросах к CRM: 

  • URL страницы, которая будет передавать информацию модулю интеграции. Страница должна поддерживать выгрузку сделок, клиентов, статусов и дополнительных полей в зависимости от вида запроса модуля. 
    (warning) Если домен защищен SSL сертификатом, необходимо указать ссылку с протоколом: https://domain.com

  • Имя пользователя и Пароль, из которых формируется md5 token для авторизации запросов. Имя пользователя и пароль нужно вводить в формате $username . $password. 

  • Ссылка на сделку в CRM. Чтобы пользователи могли быстро переходить из Roistat в конкретную сделку в CRM, необходимо добавить маску ссылки на сделку. Пример: http://mycrm.com/orders/{order_id}/viewгде {order_idбудет заменен на ID сделки. 

  • Ссылка на контакт в CRM. Чтобы пользователи могли быстро переходить из Roistat в конкретный контакт в CRM, необходимо добавить маску ссылки на контакт. Пример: http://mycrm.com/orders/{contact_id}/viewгде {contact_idбудет заменен на ID контакта. 

Шаг 6. Назначение ответственных за заявки 

В данной настройке пользователь выбирает менеджеров, которые будут отправлены как ответственные за заявку по очереди.
Отправку менеджеров вместе с заявкой описана в пункте Отправка данных в CRM-систему”.

Шаг 7. Распределение статусов


Для учета сделок пользователь распределяет их по группам:
  • В работе
  • Оплаченные
  • Отмененные
Статусы загружаются со страницы выгрузки в результате ответов на запросы action=import_scheme или action=export

К оглавлению
 

Шаг 8. Расширенные настройки


В расширенных настройках пользователь указывает:

После того, как интеграция завершена, рекомендуем настроить процесс передачи сделок в CRM через Roistat. В ходе этого процесса сделки сначала передаются в Roistat, затем отправляются в CRM. Подробнее о преимуществах этого процесса читайте в статье Передача заявок в CRM через Roistat.

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

Пример кода, с помощью которого можно получить значение этой куки:

$roistatVisitId array_key_exists('roistat_visit'$_COOKIE) ? $_COOKIE['roistat_visit'] : "неизвестно";

Переход со старой интеграции "Своя CRM" на новую версию


Новая версия интеграции поддерживает обработчики запросов, которые были подготовлены для старой версии. Вы можете просто перенести настройки в новую интеграцию.

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

  1. Доработать страницу выгрузки (action=export или action=import_scheme) на передачу массива managers (описано в пункте выгрузка сделок из CRM-системы). Данные из этого массива будут использоваться в отчете по менеджерам и в дальнейшем для расширенной настройки ответственных в CRM-системе. Например, назначение ответственного за сделку менеджера, который завершил телефонный разговор с клиентом.

  2. Доработать Адрес для получения доп. информации по сделке на добавление в CRM задач, комментариев, звонков (action=task, action=message, action=call). Примеры использования дополнительной информации описаны в пункте Обновление данных в CRM-системе.

Передача даты оплаты сделки из CRM в Roistat

  • ЧТобы передавать дату оплаты сделки в Roistat, в раскрывающемся списке Поле с датой оплаты выберите один из вариантов:
    • Не используется. Если выбран этот вариант, то при передаче сделки из вашей CRM в Roistat дата оплаты сделки будет определяться как дата перевода сделки в один из статусов группы статусов Оплачено.
    • Параметр paid_date. Если выбран этот вариант, настроена передача сделки из вашей CRM в Roistat с помощью API-метода и в массиве дополнительных полей fields передается значение поля paid_date, то дата оплаты по сделке определяется передаваемым значением поля paid_date.

После настройки интеграции рекомендуем воспользоваться следующими вспомогательными инструментами:

К оглавлению 

  • No labels