Перейти к содержанию

Коллтрекинг

Данная группа методов используется для экспорта и импорта данных о звонках, номерах и сценариях Коллтрекинга.

Обратите внимание на то, что в Roistat подмена номеров работает по сценариям: задаются активные сценарии, и на страницу выводятся соответствующие номера телефонов.

Сценарий в Коллтрекинге Roistat – это набор правил и настроек, по которым будут подменяться номера на вашем сайте. Также сценарии могут применяться и для отслеживания эффективности оффлайн-рекламы (статический коллтрекинг).

Подробнее о сценариях Коллтрекинга в Roistat можно прочитать в нашей документации.

Создать и настроить сценарий для подмены номеров

POST /project/calltracking/script/create

С помощью данного метода вы можете создать и настроить сценарий для подмены номеров.

Подробнее о сценариях и их настройке в интерфейсе Roistat читайте в нашей документации.

curl 'https://cloud.roistat.com/api/v1/project/calltracking/script/create?project=12345' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}' \ 
    --data Тело запроса - см. ниже

Тело запроса:

{
    "name": "Базовый сценарий",
    "is_enabled": 1,
    "creation_date": "2016-10-11T21:00:00.000Z",
    "options": {
        "calltracking_type": "dynamic",
        "segments": [
            [
                "source",
                "like%",
                "organic"
            ]
        ],
        "phone_format": "8 (XXX) XXX-XX-XX",
        "css_selector": [
            "test"
        ],
        "redirect": {
            "type": "phone",
            "value": "74951234567"
        },
        "replaceable_numbers": [
            "89451111111",
            "89452222222"
        ]
    },
    "integration": {
        "crm": {
            "custom_fields": [
                {
                    "id": "UF_CRM_1474452137",
                    "type": "text",
                    "value": "eee"
                }
            ],
            "is_enabled": 1
        },
        "webhook": {
            "url": "ne.buildie.ru/testhandler.php"
        },
        "webhook_start": {
            "url": "ne.buildie.ru/testhandler2.php"
        },
        "google_analytics": {
            "tracking_id": "UA-123123-123",
            "action": "call",
            "category": "phone",
            "label": "roistat"
        },
        "is_lead_auto_create": 1
    }
}
{
    "data": {
        "id": 1,
        "name": "Базовый сценарий",
        "creation_date": "2016-10-12T08:19:23+0000",
        "is_enabled": 1,
        "call_count": 0,
        "accuracy": null,
        "options": {
            "calltracking_type": "dynamic",
            "static_source": null,
            "css_selector": [
                "test"
            ],
            "phone_format": "8 (XXX) XXX-XX-XX",
            "redirect": {
                "type": "phone",
                "value": "74951234567"
            },
            "segments": [
                [
                    "source",
                    "like%",
                    "organic"
                ]
            ],
            "target_call_time": 0
        },
        "integration": {
            "is_lead_auto_create": 1,
            "crm": {
                "enabled": 1,
                "custom_fields": [
                    {
                        "id": "UF_CRM_1474452137",
                        "type": "text",
                        "value": "eee"
                    }
                ]
            },
            "webhook": {
                "url": "ne.buildie.ru/testhandler.php"
            },
            "webhook_start": {
                "url": null
            },
            "google_analytics": {
                "tracking_id": "UA-123123-123",
                "action": "call",
                "category": "phone",
                "label": "roistat"
            }
        },
        "needed_phone_count": null
    },
    "total": 1,
    "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Параметр Тип Описание Обязательный
name string Человекочитаемое название сценария да
is_enabled integer Параметр, связанный с активацией сценария: 1 - создать и активировать, 0 - только создать да
creation_date string Дата создания сценария да
options object нет
calltracking_type string Тип коллтрекинга: dynamic - динамический, static - статический нет
segments oneOf рекламный источник, за которым закрепляются номера сценария нет
phone_format string Формат, в котором номера для подмены будут отображаться на сайте:
код страны указывается цифрой или цифрой с символом, а остальные цифры заменяются на Х
нет
css_selector array[string] Сss-класс/классы или id элементов с подменяемым номером на сайте. Перед id указывается символ # без пробелов да
redirect object Настройки переадресации да
>> type string Тип номера для переадресации: * phone - телефонный номер; * sip - сторонняя учетная запись SIP; * sip_trunk - SIP пользователя Roistat да
>> value string Значение параметра зависит от указанного типа переадресации: номер телефона, сторонняя учетная запись SIP или пароль для SIP-учетки от Roistat да
replaceable_numbers array[string] Номера для подмены да
integration object Настройки интеграции нет
crm object Настройки интеграции с CRM нет
>> custom_fields array[object] Дополнительные поля заявки нет
>>> id string ID поля из CRM нет
>>> type string Тип поля нет
>>> value string Значение, которое будет указываться в дополнительном поле нет
>> is_enabled integer Параметр, определяющий, отправлять ли какие-либо данные в дополнительные поля сделки в CRM да
webhook object Настройки отправки данных после звонка с помощью Webhook нет
>> url string Адрес URL стороннего приложения, на который должны приходить данные о звонках нет
google_analytics object Настройки для отправки в Google Analytics цели по звонку нет
>> tracking_id string Идентификатор отслеживания (UA-XXX-Y) нет
>> action string Действие события (всегда call) нет
>> category string Категория события (всегда phone) нет
>> label string Ярлык события (всегда roistat) нет
is_lead_auto_create integer параметр, который определяет, создавать ли в CRM заявки для звонков в дополнение к сделкам: 1 - создавать, 0 - не создавать нет
webhook_start object Настройки отправки данных в момент звонка с помощью Webhook нет
>> url string Адрес URL стороннего приложения, на который должны приходить данные о звонках нет
Параметр Тип Описание
data object
id integer ID сценария
name string Человекочитаемое название сценария
creation_date string Дата и время создания сценария
is_enabled integer Параметр, связанный с тем, активирован ли сценарий или нет: 1 - активирован, 0 - не активирован
call_count integer Количество звонков на номера сценария
accuracy null или integer Точность отслеживания звонков
options object
>> calltracking_type string Тип коллтрекинга: dynamic - динамический, static - статический
>> static_source null или string null для динамического коллтрекинга либо системное название рекламного источника для статического коллтрекинга
>> css_selector array[string] CSS-класс/классы или ID элемента с подменяемым номером на сайте
>> phone_format string Формат, в котором номера для подмены будут отображаться на сайте: код страны указывается цифрой или цифрой с символом, а остальные цифры заменяются на Х
>> redirect object Настройки переадресации
>>> type string Тип номера для переадресации: phone - телефонный номер; sip - сторонняя учетная запись SIP; sip_trunk - SIP пользователя Roistat
>>> value string Значение параметра зависит от указанного типа переадресации: номер телефона, сторонняя учетная запись SIP или пароль для SIP-учетки от Roistat
>>> sip_trunk_postfix null или string Постфикс в имени пользователя для учетных записей SIP от Roistat. Например, если имя SIP пользователя - roistat123_5, то 5 - это и есть постфикс
>> segments anyOf Параметры для указания рекламного канала. Формат: список списков или объект со списками списков, где ключами служат логические операторы AND или OR
>> target_call_time integer Целевое время звонка. В настоящее время пока не используется в Roistat
integration object Настройки интеграции
>> is_lead_auto_create integer Параметр, который определяет, создавать ли в CRM заявки для звонков в дополнение к сделкам: 1 - создавать, 0 - не создавать
>> crm object Настройки интеграции с CRM
>>> is_enabled integer Параметр, определяющий, отправлять ли какие-либо данные в дополнительные поля сделки в CRM
>>> custom_fields array[object] Дополнительные поля заявки
>>>> id string ID поля из CRM
>>>> type string Тип поля
>>>> value string Значение, которое указывается в дополнительном поле
>> webhook null или object Настройки отправки данных после звонка с помощью Webhook
>>> url null или string Адрес URL стороннего приложения, на который должны приходить данные о звонках
>> google_analytics null или object Настройки для отправки в Google analytics цели по звонку
>>> tracking_id null или string Идентификатор ресурса (UA-XXX-Y)
>>> action string Действие события (всегда call)
>>> category string Категория события (всегда phone)
>>> label string Ярлык события (всегда roistat)
>> webhook_start null или object Настройки отправки данных в момент звонка с помощью Webhook
>>> url null или string Адрес URL стороннего приложения, на который должны приходить данные о звонках
needed_phone_count null Количество номеров, которое необходимо для 100% точности отслеживания звонков
total integer
status string

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

POST /project/calltracking/script/list

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

Кроме того, доступна выборка по существующим и удаленным сценариям. Для этого в теле запроса укажите параметр "is_deleted" со значением 0 или 1: сценарий существует в проекте или удален соответственно.

Можно отправлять запрос в формате как GET, так и POST.

curl 'https://cloud.roistat.com/api/v1/project/calltracking/script/list?project=12345' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}' 
{
    "data": [
        {
            "id": 1,
            "name": "Базовый сценарий",
            "creation_date": "2016-10-12T08:19:23+0000",
            "is_enabled": 1,
            "call_count": 0,
            "accuracy": null,
            "options": {
                "calltracking_type": "dynamic",
                "static_source": null,
                "css_selector": [
                    "test"
                ],
                "phone_format": "8 (XXX) XXX-XX-XX",
                "redirect": {
                    "type": "phone",
                    "value": "74951234567"
                },
                "segments": [
                    [
                        "source",
                        "like%",
                        "organic"
                    ]
                ],
                "target_call_time": 0
            },
            "integration": {
                "is_lead_auto_create": "1",
                "crm": {
                    "enabled": 1,
                    "custom_fields": [
                        {
                            "id": "UF_CRM_12345",
                            "type": "text",
                            "value": "eee"
                        }
                    ]
                },
                "webhook": {
                    "url": "site.ru/webhook.php"
                },
                "webhook_start": {
                    "url": null
                },
                "google_analytics": {
                    "tracking_id": "UA-123123-123",
                    "action": "call",
                    "category": "phone",
                    "label": "roistat"
                }
            },
            "needed_phone_count": null
        }
    ],
    "total": 1,
    "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Без параметров.

Параметр Тип Описание
data array[object]
id integer ID сценария
name string Человекочитаемое название сценария
creation_date string Дата и время создания сценария
is_enabled integer Параметр, связанный с тем, активирован ли сценарий или нет: 1 - активирован. 0 - не активирован
call_count integer Количество звонков на номера сценария
accuracy null или integer Точность отслеживания звонков
options object
>> calltracking_type string Тип коллтрекинга: dynamic - динамический, static - статический
>> static_source null или string null для динамического коллтрекинга либо системное название рекламного источника для статического коллтрекинга
>> css_selector array[string] Css-класс или id элемента с подменяемым номером на сайте
>> phone_format string Формат, в котором номера для подмены будут отображаться на сайте:
код страны указывается цифрой или цифрой с символом, а остальные цифры заменяются на Х
>> redirect object Настройки переадресации
>>> type string Тип номера для переадресации: phone - телефонный номер; sip - сторонняя учетная запись SIP; sip_trunk - SIP пользователя Roistat
>>> value string Значение параметра зависит от указанного типа переадресации: номер телефона, сторонняя учетная запись SIP или пароль для SIP-учетки от Roistat
>>> sip_trunk_postfix null или string Постфикс в имени пользователя для учетных записей SIP от Roistat. Например, если имя SIP пользователя - roistat123_5, то 5 - это и есть постфикс
>> segments anyOf Параметры для указания рекламного канала. Формат: список списков или объект со списками списков, где ключами служат логические операторы AND или OR
>> target_call_time integer Целевое время звонка. В настоящее время пока не используется в Roistat
integration object Настройки интеграции
>> is_lead_auto_create string Параметр, который определяет, создавать ли в CRM заявки для звонков в дополнение к сделкам: 1 - создавать, 0 - не создавать
>> crm object Настройки интеграции с CRM
>>> enabled integer Параметр, определяющий, отправлять ли какие-либо данные в дополнительные поля сделки в CRM
>>> custom_fields array[object] Дополнительные поля заявки
>>>> id string ID поля из CRM
>>>> type string Тип поля
>>>> value string Значение, которое указывается в дополнительном поле
>> webhook null или object Настройки отправки данных после звонка с помощью Webhook
>>> url null или string Адрес URL стороннего приложения, на который должны приходить данные о звонках
>> google_analytics null или object Настройки для отправки в Google Analytics цели по звонку
>>> tracking_id null или string Идентификатор ресурса (UA-XXX-Y)
>>> action string Действие события (всегда call)
>>> category string Категория события (всегда phone)
>>> label string Ярлык события (всегда roistat)
>> webhook_start null или object Настройки отправки данных в момент звонка с помощью Webhook
>>> url null или string Адрес URL стороннего приложения, на который должны приходить данные о звонках
needed_phone_count null Количество номеров, которое необходимо для 100% точности отслеживания звонков
total integer
status string

Удалить сценарий Коллтрекинга

POST /project/calltracking/script/delete

Используется для полного удаления сценария коллтрекинга.

curl 'https://cloud.roistat.com/api/v1/project/calltracking/script/delete?project=12345' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}' \ 
    --data Тело запроса - см. ниже

Тело запроса:

{
    "id": 1
}
{
    "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Параметр Тип Описание Обязательный
id integer ID сценария да
Параметр Тип Описание
status string

Редактировать настройки существующего сценария Коллтрекинга или деактивировать его

POST /project/calltracking/script/update

Используется для редактирования настроек существующего сценария коллтрекинга, а также его деактивации (не удаления!).

curl 'https://cloud.roistat.com/api/v1/project/calltracking/script/update?project=12345' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}' \ 
    --data Тело запроса - см. ниже

Тело запроса:

{
    "id": 1,
    "name": "Новый скрипт",
    "is_enabled": 1,
    "options": {
        "calltracking_type": "dynamic",
        "segments": [
            [
                "source",
                "like%",
                "organic"
            ]
        ],
        "phone_format": "8 (XXX) XXX-XX-XX",
        "css_selector": [
            "test"
        ],
        "redirect": {
            "type": "phone",
            "value": "74951234567"
        }
    },
    "integration": {
        "crm": {
            "custom_fields": [
                {
                    "id": "UF_CRM_1474452137",
                    "type": "text",
                    "value": "eee"
                }
            ],
            "is_enabled": 1
        },
        "webhook": {
            "url": "ne.buildie.ru/testhandler.php"
        },
        "webhook_start": {
            "url": "ne.buildie.ru/testhandler2.php"
        },
        "google_analytics": {
            "tracking_id": "UA-123123-123",
            "action": "call",
            "category": "phone",
            "label": "roistat"
        },
        "is_lead_auto_create": 1
    }
}
{
    "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Параметр Тип Описание Обязательный
id integer ID сценария да
name string Человекочитаемое название сценария нет
is_enabled integer Параметр, связанный с тем, активирован ли сценарий или нет: 1 - активирован, 0 - не активирован нет
options object нет
calltracking_type string Тип коллтрекинга: dynamic - динамический, static - статический нет
segments anyOf Параметры для указания рекламного канала. Формат: список списков или объект со списками списков, где ключами служат логические операторы AND или OR нет
phone_format string Формат, в котором номера для подмены будут отображаться на сайте: код страны указывается цифрой или цифрой с символом, а остальные цифры заменяются на Х нет
css_selector array[string] Css-класс/классы или id элемента с подменяемым номером на сайте. Перед id указывается символ # без пробелов нет
redirect object Настройки переадресации нет
>> type string Тип номера для переадресации: * phone - телефонный номер; * sip - сторонняя учетная запись SIP; * sip_trunk - SIP пользователя Roistat нет
>> value string Значение параметра зависит от указанного типа переадресации: номер телефона, сторонняя учетная запись SIP или пароль для SIP-учетки от Roistat нет
integration object Настройки интеграции нет
crm object Настройки интеграции с CRM нет
>> custom_fields array[object] Дополнительные поля заявки нет
>>> id string ID поля из CRM да
>>> type string Тип поля нет
>>> value string Значение, которое будет указываться в дополнительном поле нет
>> is_enabled integer Параметр, определяющий, отправлять ли какие-либо данные в дополнительные поля сделки в CRM нет
webhook object Настройки отправки данных после звонка с помощью Webhook нет
>> url string Адрес URL стороннего приложения, на который должны приходить данные о звонках нет
google_analytics object Настройки для отправки в Google analytics цели по звонку нет
>> tracking_id string Идентификатор ресурса (UA-XXX-Y) нет
>> action string Действие события (всегда call) нет
>> category string Категория события (всегда phone) нет
>> label string Ярлык события (всегда roistat) нет
is_lead_auto_create integer параметр, который определяет, создавать ли в CRM заявки для звонков в дополнение к сделкам: 1 - создавать, 0 - не создавать нет
webhook_start null или object Настройки отправки данных в момент звонка с помощью Webhook нет
>> url null или string Адрес URL стороннего приложения, на который должны приходить данные о звонках нет
Параметр Тип Описание
status string

Выгрузить аналитические данные по звонкам за указанный период

POST /project/calltracking/data

С помощью данного метода можно выгружать аналитические данные по звонкам за указанный период. В интерфейсе Roistat этот метод используется для Дашборда Коллтрекинга.

Подробнее можно прочитать в статье Дашборд в Коллтрекинге Roistat.

Можно отправлять запрос в форматах как GET, так и POST.

curl 'https://cloud.roistat.com/api/v1/project/calltracking/data?project=12345' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}' \ 
    --data Тело запроса - см. ниже

Тело запроса:

{
    "period": {
        "from": "2016-07-01T00:00:00+0300",
        "to": "2016-10-31T23:59:59+0300"
    }
}
{
    "data": {
        "period": {
            "startDate": "2016-06-30T21:00:00+0000",
            "endDate": "2016-10-31T20:59:59+0000"
        },
        "hourlyWeeklyQuantity": {
            "byHours": [
                {
                    "success": 0,
                    "missed": 0,
                    "hour": "01"
                },
                {
                    "success": 0,
                    "missed": 0,
                    "hour": "02"
                }
            ],
            "byWeekdays": [
                {
                    "success": 0,
                    "missed": 0,
                    "date": "2016-10-30T00:00:00+0000"
                },
                {
                    "success": 0,
                    "missed": 0,
                    "date": "2016-10-31T00:00:00+0000"
                }
            ],
            "total": 39
        },
        "dailyDuration": {
            "values": [
                {
                    "value": 0,
                    "date": "2016-10-30T00:00:00+0000"
                },
                {
                    "value": 0,
                    "date": "2016-10-31T00:00:00+0000"
                }
            ],
            "average": 0.23418803418803
        },
        "dailyQuantity": {
            "values": [
                {
                    "value": 0,
                    "date": "2016-10-30T00:00:00+0000"
                },
                {
                    "value": 0,
                    "date": "2016-10-31T00:00:00+0000"
                }
            ],
            "average": 0.31451612903226001
        },
        "markerQuantity": [
            {
                "displayName": "Прямые визиты",
                "value": 17,
                "systemName": ""
            },
            {
                "displayName": "Визиты с сайтов",
                "value": 3,
                "systemName": "site"
            },
            {
                "displayName": "yandex",
                "value": 2,
                "systemName": "yandex"
            },
            {
                "displayName": "Остальные",
                "value": 17,
                "systemName": "Others"
            }
        ],
        "markerDuration": [
            {
                "displayName": "yandex",
                "iconUrl": "",
                "value": 7.5,
                "systemName": "yandex"
            },
            {
                "displayName": "Прямые визиты",
                "iconUrl": "https://cloud.roistat.com/img/arrow-right.png",
                "value": 10.235294117646999,
                "systemName": ""
            },
            {
                "displayName": "Визиты с сайтов",
                "iconUrl": "https://cloud.roistat.com/img/globe.png",
                "value": 24,
                "systemName": "site"
            }
        ],
        "regionQuantity": [
            {
                "value": 21,
                "displayName": "Москва"
            },
            {
                "value": 1,
                "displayName": "Санкт-Петербург"
            },
            {
                "value": 17,
                "displayName": "Остальные"
            }
        ],
        "callCost": {
            "values": [
                {
                    "value": 0,
                    "date": "2016-10-30T00:00:00+0000"
                },
                {
                    "value": 0,
                    "date": "2016-10-31T00:00:00+0000"
                }
            ],
            "average": 80.725774193548006
        }
    },
    "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Параметр Тип Описание Обязательный
period object Временной период да
from string Начальная дата вида 2016-07-01T00:00:00+0300 да
to string Конечная дата вида 2016-07-31T00:00:00+0300 да
Параметр Тип Описание
data object
period object Период выборки статистики
>> startDate string
>> endDate string
hourlyWeeklyQuantity object Статистика принятых и пропущенных звонков за период (виджет Количество звонков)
>> byHours array[object] Статистика звонков по часам. Всего 24 объекта для каждого часа
>>> success integer Количество принятых звонков
>>> missed integer Количество пропущенных звонков
>>> hour string 01 - период с 00:00 до 01:00 и т.д.
>> byWeekdays array[object] Статистика звонков по дням недели с Пн по Вс. Всего 7 объектов для каждого дня недели
>>> success integer Количество отвеченных звонков
>>> missed integer Количество пропущенных звонков
>>> date string
>> total integer Всего звонков за период
dailyDuration object Статистика по расходам за каждый день периода (виджет Минуты разговора)
>> values array[object] Расходы на звонки за каждый день периода. Массив содержит столько объектов, сколько дней в периоде
>>> value integer Расходы на звонки за день периода
>>> date string дата, по которой отображается статистика
>> average number Расходы в среднем за день
dailyQuantity object Статистика по количеству звонков за период (виджет Общая динамика звонков)
>> values array[object] Cтатистика по количеству звонков за каждый день периода. Массив содержит столько объектов, сколько дней в периоде
>>> value integer Количество звонков за день
>>> date string Дата показа статистики
>> average number Среднее количество звонков в день за период
markerQuantity array[object] Статистика по количеству звонков по 5 самым популярным каналам (виджет Распределение звонков по РК)
>> displayName string Человекочитаемое название канала
>> value integer Количество звонков по каналу за период
>> systemName string Системное название канала
markerDuration array[object] Средняя длительность звонков по каждому подключенному рекламному каналу (виджет Средняя продолжительность звонка по РК)
>> displayName string Человекочитаемое название канала
>> iconUrl string Ссылка на иконку канала
>> value integer или number Средняя продолжительность звонка по каналу (в секундах)
>> systemName string Системное название канала
regionQuantity array[object] Статистика по количеству звонков по 5 самым популярным регионам (виджет Звонки по регионам)
>> value integer Количество звонков по региону за период
>> displayName string Человекочитаемое название региона
callCost object Статистика по стоимости привлеченных звонков (виджет Стоимость привлеченного звонка)
>> values array[object] Стоимость привлеченных звонков за каждый из дней периода. Массив содержит столько объектов, сколько дней в периоде
>>> value integer Стоимость привлеченных звонков за день
>>> date string Дата статистики
>> average number Средняя стоимость привлеченного звонка
status string

Экспортировать историю звонков за указанный период в файл в формате .xls

POST /project/calltracking/call/xls/export

Данный метод используется для экспорта истории звонков за указанный период в файл формата Лист Microsoft Office Excel 97-2003 (.xls).

В таком файле будет содержаться таблица, в которой данные по звонкам за выбранный период будут указаны в следующих колонках:

Дата, Номер клиента, Набранный номер, Статус, Продолжительность, Запись звонка, Номер сделки, Комментарий, Номер визита, Источник, Город, Страна, Домен, Реферер, Посадочная страница, UTM_Source, UTM_Medium, UTM_Campaign, UTM_Term, UTM_Content, Openstat, Google Client ID.

Можно отправлять запрос как в формате GET, так и POST.

curl 'https://cloud.roistat.com/api/v1/project/calltracking/call/xls/export?project=12345' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}' \ 
    --data Тело запроса - см. ниже

Тело запроса:

{
    "period": {
        "from": "2016-07-01T00:00:00+0300",
        "to": "2016-10-31T23:59:59+0300"
    }
}

Без параметров.

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Параметр Тип Описание Обязательный
period object Временной период да
from string Начальная дата вида 2016-07-01T00:00:00+0300 да
to string Конечная дата вида 2016-07-31T00:00:00+0300 да

Без параметров.

Скачать аудиозапись разговора в формате MP3 для указанного звонка

POST /project/calltracking/call/{callId}/file

С помощью данного метода можно скачать аудиозапись разговора в формате MP3 для указанного звонка.

Можно использовать как GET-, так и POST-формат запроса.

curl 'https://cloud.roistat.com/api/v1/project/calltracking/call/1234/file?project=12345' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}'

Без параметров.

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Без параметров.

Без параметров.

Обновить данные о конкретном звонке

POST /project/calltracking/call/update

Используется для обновления данных о конкретном звонке: ID заказа, статуса, длительности, ссылки и внутреннего комментария в Roistat.

curl 'https://cloud.roistat.com/api/v1/project/calltracking/call/update?project=12345' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}' \ 
    --data Тело запроса - см. ниже

Тело запроса:

{
    "id": 123,
    "comment": "Тестовый комментарий",
    "status": "CHANUNAVAIL",
    "duration": "55",
    "link": "https://site.ru/calltracking/call/23/file/123456qwerty"
}
{
    "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Параметр Тип Описание Обязательный
id integer ID звонка в Roistat да
comment string Текст комментария нет
status string Статус звонка: * ANSWER – звонок был принят и обработан сотрудником; * BUSY – входящий звонок был, но линия была занята; * NOANSWER – входящий вызов состоялся, но в течение времени ожидания ответа не был принят сотрудником; * CANCEL – входящий вызов состоялся, но был завершен до того, как сотрудник ответил; * CONGESTION – вызов не состоялся из-за технических проблем; * CHANUNAVAIL – вызываемый номер был недоступен; * DONTCALL – входящий вызов был отменен; * TORTURE – входящий вызов был перенаправлен на автоответчик. нет
duration string Продолжительность звонка (в секундах) нет
link string Ссылка на аудиозапись разговора в другом сервисе коллтрекинга нет
order_id string Номер заказа из CRM нет
Параметр Тип Описание
status string

Арендовать номер Roistat

POST /project/calltracking/phone/buy

С помощью этого метода можно арендовать номер Roistat.

Для этого достаточно в запросе указать код города и количество номеров для подключения.

Арендовать номера может только владелец проекта или пользователь с правами Чтение/Запись.

curl 'https://cloud.roistat.com/api/v1/project/calltracking/phone/buy?project=12345' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}' \ 
    --data Тело запроса - см. ниже

Тело запроса:

{
    "prefix": "7499",
    "count": 1
}
{
    "data": [
        {
            "id": 5,
            "phone": "74991234567",
            "prefix": "7499",
            "script_id": null,
            "is_external": 0,
            "last_use_date": null,
            "call_count": 0,
            "creation_date": "2016-10-12T08:19:23+0000",
            "script": null
        }
    ],
    "total": 1,
    "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Параметр Тип Описание Обязательный
prefix string Код страны и код города да
count integer Количество номеров, которое хотите подключить да
Параметр Тип Описание
data array[object]
id integer ID номера в Roistat
phone string Номер телефона
prefix string код страны и код города
script_id null
is_external integer Значение 0, т.е. номер Roistat
last_use_date null
call_count integer Значение 0, т.к. номер был куплен только что
creation_date string Дата подключения номера к коллтрекингу проекта в Roistat
script null
total integer
status string

Добавить номер к сценарию

POST /project/calltracking/phone/update

С помощью этого метода можно добавлять номер к сценарию.

curl 'https://cloud.roistat.com/api/v1/project/calltracking/phone/update?project=12345' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}' \ 
    --data Тело запроса - см. ниже

Тело запроса:

{
    "id": 6,
    "script_id": 11,
    "last_use_date": "2016-10-11T21:00:00.000Z"
}
{
    "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Параметр Тип Описание Обязательный
id integer ID номера в Roistat да
script_id integer ID сценария да
last_use_date string Дата и время последнего звонка на номер (вида 2016-10-11T21:00:00.000Z) нет
Параметр Тип Описание
status string

Добавить номера, купленные у других операторов

POST /project/calltracking/phone/create

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

Обратите внимание, что вы просто подключаете номер к Коллтрекингу Roistat, но не включаете его в какой-либо скрипт.

curl 'https://cloud.roistat.com/api/v1/project/calltracking/phone/create?project=12345' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}' \ 
    --data Тело запроса - см. ниже

Тело запроса:

{
    "phones": [
        "74997654321"
    ]
}
{
    "data": [
        {
            "id": 5,
            "phone": "74951234567",
            "prefix": null,
            "script_id": null,
            "is_external": 1,
            "last_use_date": null,
            "call_count": 0,
            "creation_date": "2016-10-12T08:19:23+0000",
            "script": null
        }
    ],
    "total": 1,
    "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Параметр Тип Описание Обязательный
phones array[string] Внешние номера, которые хотите подключить, в формате 7ХХХХХХХХХХ, где Х - цифры кода города и самого номера телефона да
Параметр Тип Описание
data array[object]
id integer ID прикрепленного внешнего номера
phone string Внешний номер
prefix null
script_id null
is_external integer Значение 1, т.к. номер является внешним
last_use_date null
call_count integer Значение 0, т.к. звонков на номер после прикрепления к Roistat еще не было
creation_date string Дата и время прикрепления номера к коллтрекингу проекта в Roistat
script null
total integer
status string

Отключить номера от Коллтрекинга в проекте

POST /project/calltracking/phone/delete

С помощью этого метода вы можете навсегда отключить номера от Коллтрекинга вашего проекта в Roistat.

curl 'https://cloud.roistat.com/api/v1/project/calltracking/phone/delete?project=12345' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}' \ 
    --data Тело запроса - см. ниже

Тело запроса:

{
    "phones": [
        4,
        5
    ]
}
{
    "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Параметр Тип Описание Обязательный
phones array[integer] ID номеров, которые вы хотите отключить да
Параметр Тип Описание
status string

Получить доступные для подключения коды городов и стоимость их использования

POST /project/calltracking/phone/prefix/list

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

curl 'https://cloud.roistat.com/api/v1/project/calltracking/phone/prefix/list?project=12345' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}' 
{
    "data": [
        {
            "system_name": "78362",
            "display_name": "7 8362",
            "city": "Йошкар-Ола",
            "month_price": 750,
            "minute_price": 1.3999999999999999
        },
        {
            "system_name": "78422",
            "display_name": "7 8422",
            "city": "Ульяновск",
            "month_price": 750,
            "minute_price": 1.3999999999999999
        }
    ],
    "total": 2,
    "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Без параметров.

Параметр Тип Описание
data array[object]
system_name string Системное название префикса в Roistat
display_name string Код страны и код города
city string Название города
month_price integer Стоимость аренды за месяц (в рублях)
minute_price number Тарификация за минуту разговора (в рублях)
total integer
status string

Выгрузить данные о номерах, подключенных к вашему проекту в Roistat

POST /project/calltracking/phone/list

Метод выгружает данные о номерах, подключенных к вашему проекту в Roistat.

Можно отправлять запрос как в формате GET, так и POST.

Получить номера может только владелец проекта или пользователь с правами Чтение/Запись.

curl 'https://cloud.roistat.com/api/v1/project/calltracking/phone/list?project=12345' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}'
{
    "data": [
        {
            "id": 5,
            "phone": "74991234567",
            "prefix": null,
            "script_id": null,
            "is_external": 1,
            "last_use_date": null,
            "call_count": 0,
            "creation_date": "2016-10-12T08:19:23+0000",
            "script": null
        },
        {
            "id": 4,
            "phone": "74951234567",
            "prefix": "7499",
            "script_id": null,
            "is_external": 0,
            "last_use_date": null,
            "call_count": 0,
            "creation_date": "2016-10-10T08:50:44+0000",
            "script": {
                "id": 10,
                "name": "Оффлайн реклама",
                "creation_date": "2016-08-23T10:23:37+0000",
                "is_enabled": 0,
                "call_count": 0,
                "accuracy": 100,
                "options": {
                    "calltracking_type": "static",
                    "static_source": "оффлайн",
                    "css_selector": [
                        "#track"
                    ],
                    "phone_format": "8 (XXX) XXX-XX-XX",
                    "redirect": {
                        "type": "sip",
                        "value": "example@domain.ru",
                        "sip_trunk_postfix": null
                    },
                    "segments": null,
                    "target_call_time": 0
                },
                "integration": {
                    "is_lead_auto_create": "1",
                    "crm": {
                        "enabled": 0,
                        "custom_fields": []
                    },
                    "webhook": {
                        "url": ""
                    },
                    "google_analytics": {
                        "tracking_id": "",
                        "action": "call",
                        "category": "phone",
                        "label": "roistat"
                    }
                },
                "needed_phone_count": null
            }
        }
    ],
    "total": 2,
    "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Без параметров.

Параметр Тип Описание
data array[object]
id integer ID номера в Roistat
phone string Номер телефона
prefix null или string null для внешних номеров; код страны и префикс номера для номеров Roistat
script_id null или string ID скрипта, к которому прикреплен номер
is_external integer Параметр указывает, арендован ли номер в Roistat или куплен в стороннем сервисе: 1 - внешний номер, 0 - номер Roistat
last_use_date null или string Дата и время последнего звонка на номер
call_count integer Общее количество звонков на номер
creation_date string Дата подключения номера к коллтрекингу проекта в Roistat
script null или object Данные о скрипте, к которому прикреплен номер. Подробное описание полей можно посмотреть, например, в теле ответа в методе project/calltracking/script/list
>> id integer
>> name string
>> creation_date string
>> is_enabled integer
>> call_count integer
>> accuracy integer
>> options object
>>> calltracking_type string
>>> static_source null или string
>>> css_selector array
>>> phone_format string
>>> redirect object
>>>> type string
>>>> value string
>>>> sip_trunk_postfix null или string
>>> segments anyOf
>>> target_call_time integer
>> integration object
>>> is_lead_auto_create string
>>> crm object
>>>> enabled integer
>>>> custom_fields array[object]
>>>>> id string
>>>>> type string
>>>>> value string
>>> webhook object
>>>> url string
>>> google_analytics object
>>>> tracking_id string
>>>> action string
>>>> category string
>>>> label string
needed_phone_count null Количество номеров, которое необходимо для 100% точности отслеживания звонков
total integer
status string

Выгрузить все записи из истории звонков в проекте Roistat

POST /project/calltracking/call/list

С помощью данного метода можно выгрузить все записи из истории звонков в проекте Roistat.

Если вместе со звонком вам нужна подробная информация по соответствующему визиту и заказу, то в теле запроса укажите "extend": ["visit", "order"] .

curl 'https://cloud.roistat.com/api/v1/project/calltracking/call/list?project=12345' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}' \ 
    --data Тело запроса - см. ниже

Тело запроса:

{
    "filters": {
        "and": [
            [
                "date",
                ">",
                "2016-05-21T21:00:00+0000"
            ],
            [
                "date",
                "<",
                "2016-05-22T21:00:00+0000"
            ]
        ]
    },
    "extend": [
        "visit"
    ],
    "sort": [
        "date",
        "desc"
    ],
    "limit": 100,
    "offset": 0
}
{
    "data": [
        {
            "id": "16769",
            "callee": "7495301234",
            "caller": "7495751234",
            "duration": 59,
            "waiting_time": 30,
            "answer_duration": 29,
            "status": "ANSWER",
            "date": "2016-06-19T09:31:01+0000",
            "link": "https://site.ru/calltracking/call/23/file/123456qwerty",
            "visit_id": null,
            "order_id": null,
            "static_source": {
                "system_name": "yamarket6",
                "display_name": "yamarket",
                "icon_url": "https://favicon.yandex.net/favicon/market.yandex.ru",
                "utm_source": null,
                "utm_medium": null,
                "utm_campaign": null,
                "utm_term": null,
                "utm_content": null,
                "openstat": null
            },
            "visit": {
                "id": 666,
                "first_id": 660,
                "date": "2016-05-25T19:31:58+0000",
                "referrer": "http://site.ru/contact.php",
                "host": "site.ru",
                "landing_page": "http://test.ru/lp",
                "agent": "Mozilla/5.0",
                "ip": "47.110.126.72",
                "google_client_id": "1818132860.1451606703",
                "source": {
                    "system_name": "direct_search_18000022_2014432344_что такое гугл адвордс",
                    "display_name": "Яндекс.Директ_Поиск_РК - adwords2 - поиск - Мир_Тратите деньги в Адвордс впустую?_что такое гугл адвордс",
                    "icon_url": "https://favicon.yandex.net/favicon/direct.yandex.ru",
                    "utm_source": "direct",
                    "utm_medium": "cpc",
                    "utm_campaign": "kampaniya",
                    "utm_term": "slovo",
                    "utm_content": "test-message",
                    "openstat": null,
                    "referrer": "http://site.ru/contact.php"
                }
            },
            "order": {
                "id": 777,
                "url": "http://site.ru/order/777",
                "source_type": "calltracking",
                "creation_date": "2016-05-22T19:32:22+0000",
                "update_date": "2016-05-22T19:32:22+0000",
                "revenue": 2000,
                "cost": 350,
                "client_id": 150,
                "visit_id": 666,
                "page": null,
                "status": {
                    "id": 31,
                    "type": "paid",
                    "name": "Оплачен"
                },
                "custom_fields": {
                    "Тип лида": "Телефон",
                    "Дизайнер": "Артем Лебедев"
                }
            }
        },
        {
            "id": "16768",
            "callee": "7495301234",
            "caller": "7495751234",
            "duration": 47,
            "waiting_time": 15,
            "answer_duration": 32,
            "status": "ANSWER",
            "date": "2016-06-18T09:58:54+0000",
            "link": "https://site.ru/calltracking/call/22/file/123456qwerty",
            "visit_id": "4017325",
            "order_id": null,
            "static_source": null,
            "visit": null,
            "order": null
        }
    ],
    "total": 2,
    "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Параметр Тип Описание Обязательный
filters object нет
and array нет
extend array[string] нет
sort array[string] нет
limit integer нет
offset integer нет
Параметр Тип Описание
data array[object]
id string ID звонка в Roistat
callee string Набранный номер
caller string Номер клиента
duration integer Продолжительность звонка (в секундах)
status string 1 из 9 статусов звонка: ANSWER – звонок был принят и обработан сотрудником; BUSY – входящий звонок был, но линия была занята; NOANSWER – входящий вызов состоялся, но в течение времени ожидания ответа не был принят сотрудником; CANCEL – входящий вызов состоялся, но был завершен до того, как сотрудник ответил; CONGESTION – вызов не состоялся из-за технических проблем; CHANUNAVAIL – вызываемый номер был недоступен; DONTCALL – входящий вызов был отменен; TORTURE – входящий вызов был перенаправлен на автоответчик.
date string Дата и время создания записи о звонке (в формате UTC0)
visit_id null или string Номер визита
order_id null или string Номер заказа из CRM
static_source null или object Подробные данные о рекламном канале для звонка. Будут отображены, если используется статический коллтрекинг. В обратном случае будет null.
>> system_name string Системное название канала в Roistat
>> display_name null или string Человекочитаемое название канала
>> icon_url null или string Ссылка на иконку канала
>> utm_source null или string Источник перехода (из метки UTM)
>> utm_medium null или string Тип трафика (из метки UTM)
>> utm_campaign null или string Название рекламной кампании (из метки UTM)
>> utm_term null или string Ключевая фраза (из метки UTM)
>> utm_content null или string Дополнительная информация по объявлению (из метки UTM)
>> openstat null или string Значение метки openstat
comment null или string Комментарий к звонку
visit null или object Подробные данные о визите звонка. Будут отображены, только если при запросе было указано \"extend\": [\"visit\"]. В противном случае будет null. Подробнее о данных визита читайте в методе /project/site/visit/list
order null или object подробные данные о соответствующем заказе. Будут отображены, только если при запросе было указано \"extend\": [\"order\"]. В противном случае будет null. Подробнее о данных заказа читайте в методе /project/integration/order/list
link string Ссылка на аудиозапись разговора в другом сервисе коллтрекинга
waiting_time integer Время ожидания (в секундах)
answer_duration integer Продолжительность разговора (в секундах)
tags null или object Теги, прикрепленные к звонку
total integer
status string

Создать запись в истории звонков в проекте Roistat

POST /project/phone-call

С помощью данного метода можно создать запись в истории звонков в проекте Roistat. Параметры marker и visit_id являются взаимоисключающими, т.е. необходимо указывать значение для marker, а visit_id оставлять null или наоборот. Если не передавать ни marker, ни visit_id, то visit_id будет подтягиваться автоматически.

curl 'https://cloud.roistat.com/api/v1/project/phone-call?project=12345' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}' \ 
    --data Тело запроса - см. ниже

Тело запроса:

{
    "callee": "79999999999",
    "caller": "78888888888",
    "date": "2016-07-26T11:03:57+0000",
    "duration": 20,
    "marker": "ym_1_2",
    "order_id": null,
    "save_to_crm": "0",
    "status": "ANSWER",
    "visit_id": "12345",
    "comment": "Перезвонить завтра",
    "answer_duration": 15
}
{
    "phoneCall": {
        "id": "5",
        "callee": "79999999999",
        "caller": "78888888888",
        "visit_id": "12345",
        "marker": "ym_1_2",
        "order_id": null,
        "duration": 20,
        "status": "ANSWER",
        "google_client_id": null,
        "date": "2016-07-26T11:03:57+0000",
        "comment": "Перезвонить завтра",
        "answer_duration": 15
    },
    "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Параметр Тип Описание Обязательный
name string Человекочитаемое название сценария да
callee string Набранный номер да
caller string Номер клиента да
date string Дата и время создания записи о звонке (в формате UTC0) да
duration number Продолжительность звонка (в секундах) нет
marker null или string Маркер рекламного канала нет
order_id null или string Номер заказа из CRM нет
save_to_crm string Сохранение лида в CRM: 0- не сохранять, 1 - сохранять. нет
status string 1 из 9 статусов звонка: ANSWER – звонок был принят и обработан сотрудником; BUSY – входящий звонок был, но линия была занята; NOANSWER – входящий вызов состоялся, но в течение времени ожидания ответа не был принят сотрудником; CANCEL – входящий вызов состоялся, но был завершен до того, как сотрудник ответил; CONGESTION – вызов не состоялся из-за технических проблем; CHANUNAVAIL – вызываемый номер был недоступен; DONTCALL – входящий вызов был отменен; TORTURE – входящий вызов был перенаправлен на автоответчик. нет
visit_id null или string Номер визита нет
comment string Текст комментария нет
answer_duration number Время разговора нет
Параметр Тип Описание
data array[object]
id string ID звонка в Roistat
callee string набранный номер
caller string номер клиента
duration integer продолжительность звонка (в секундах)
status string 1 из 9 статусов звонка: - ANSWER – звонок был принят и обработан сотрудником; - BUSY – входящий звонок был, но линия была занята; - NOANSWER – входящий вызов состоялся, но в течение времени ожидания ответа не был принят сотрудником; - CANCEL – входящий вызов состоялся, но был завершен до того, как сотрудник ответил; - CONGESTION – вызов не состоялся из-за технических проблем; - CHANUNAVAIL – вызываемый номер был недоступен; - DONTCALL – входящий вызов был отменен; - TORTURE – входящий вызов был перенаправлен на автоответчик.
date string дата и время создания записи о звонке (в формате UTC0)
visit_id null или string номер визита
order_id null или string номер заказа из CRM
static_source null или object подробные данные о рекламном канале для звонка. Будут отображены, если используется статический коллтрекинг. В обратном случае будет null.
>> system_name string системное название канала в Roistat
>> display_name null или string человекочитаемое название канала
>> icon_url null или string ссылка на иконку канала
>> utm_source null или string источник перехода (из метки utm)
>> utm_medium null или string тип трафика (из метки utm)
>> utm_campaign null или string название рекламной кампании (из метки utm)
>> utm_term null или string ключевая фраза (из метки utm)
>> utm_content null или string дополнительная информация по объявлению (из метки utm)
>> openstat null или string значение метки openstat
comment null или string комментарий к звонку
visit null или object подробные данные о визите звонка. Будут отображены, только если при запросе было указано "extend": ["visit"]. В противном случае будет null. Подробнее о данных визита читайте в методе /project/site/visit/list
order null или object подробные данные о соответствующем заказе. Будут отображены, только если при запросе было указано "extend": ["order"]. В противном случае будет null. Подробнее о данных заказа читайте в методе /project/integration/order/list
link string ссылка на аудиозапись разговора в другом сервисе коллтрекинга
waiting_time integer время ожидания (в секундах)
answer_duration integer продолжительность разговора (в секундах)
tags null или object Теги, прикрепленные к звонку.
total integer
status string