Calltouch
Calltouch, сервис коллтрекинга, связывает входящие звонки и заявки с рекламной сессией, из которой пришёл посетитель. Его API отдаёт два набора данных.
- Журнал звонков хранит по строке на каждый отслеженный звонок: результат (длительность, статус, признаки целевого и уникального звонка), номера и атрибуцию сессии вплоть до ключевого слова и UTM-меток.
- Журнал заявок хранит по строке на каждый лид, будь то форма на сайте или виджет обратного звонка, с той же атрибуцией и вложенными данными заказа и клиента.
Renta выгружает эти данные в ваше хранилище как два типа отчётов: Call report и Lead report.
Аутентификация
Renta аутентифицируется по трём значениям из вашего аккаунта Calltouch: Site ID, Counter ID и API key. Calltouch показывает все три на одном экране: откройте проект и перейдите в раздел Интеграции > API и Webhooks.
При сохранении подключения Renta проверяет реквизиты тестовым запросом к Calltouch API, поэтому опечатка в Site ID или API key сразу вернёт ошибку на шаге Save, а не сломает первый запуск пайплайна.
Подключение источника Calltouch
- Перейдите в раздел Connections > Catalog в левом меню.
- Откройте категорию Call Tracking и нажмите карточку Calltouch.

Заполните три поля значениями со вкладки API и Webhooks вашего проекта Calltouch.
- Site ID.
Идентификатор личного кабинета Calltouch. - Counter ID.
Идентификатор счётчика Calltouch, установленного на сайте. - API key.
Токен для Calltouch API.

В поле Source name укажите название источника данных. Оно используется только в интерфейсе Renta.
Нажмите Save. Перед созданием подключения Renta проверит реквизиты запросом к Calltouch API.

Новый источник появится в списке Sources со статусом Active. Теперь его можно использовать в пайплайнах.

Создание пайплайна Calltouch
После подключения источника свяжите его с назначением и настройте пайплайн.
В левом меню нажмите New pipeline. На шаге Source выберите Calltouch в списке Already connected и нажмите Next step.

Выберите созданное ранее подключение Calltouch и нажмите Next step. На карточке показан Site ID подключённого аккаунта.

На шаге Destination выберите назначение (например, Google BigQuery) и нажмите Next step.

Выберите подключение назначения, в которое нужно загружать данные, и нажмите Next step.

Настройка пайплайна
На последнем шаге выберите отчёт, его поля и настройте загрузку.
Тип отчёта
Выберите, какой набор данных Calltouch выгружает пайплайн. Один пайплайн загружает один тип отчёта.

| Тип отчёта | Описание |
|---|---|
| Call report | Журнал звонков. По строке на каждый отслеженный звонок: результат, номера, статусы и атрибуция сессии (источник, ключевое слово, UTM-метки). |
| Lead report | Журнал заявок. По строке на каждый лид: атрибуты заявки, атрибуция трафика и вложенные данные заказа и клиента. |
Параметры
Выберите поля Calltouch, которые попадут в таблицу назначения.

| Название | Имя в API | Описание |
|---|---|---|
Call ID int | callId | Unique identifier of the call in Calltouch |
Call Phase text | callphase | Call phase at the time of API request: callconnected - call is currently in progress, calldisconnected - call ended |
Attribution int | attribution | Call attribution model. Possible values: 0 - last interaction; 1 - last non-direct (default) |
Caller Number text | callerNumber | Caller number |
Redirect Number text | redirectNumber | Redirect number. If there are multiple redirect numbers or if the redirect is international, the value will be "undefined" |
Date date | date | Call date |
Manager text | manager | Name of the manager assigned to this call via API method for assigning managers to leads |
Waiting Connect int | waitingConnect | Waiting time for the answer |
Duration int | duration | Duration of the conversation |
Phone Number text | phoneNumber | Number that was called |
Subpool Name text | subPoolName | Name of the subpool associated with the advertising number. If the call is not associated with a subpool, the value will be null |
Successful bool | successful | Call status. Possible values: true (successful call); false (unsuccessful call) |
Status Details text | statusDetails | Call status details |
Unique Call bool | uniqueCall | Unique call. Possible values: true (unique call); false (repeat call) |
Target Call bool | targetCall | Target call. Possible values: true (target call); false (non-target call) |
Unique Target Call bool | uniqTargetCall | Unique target call. Possible values: true (unique target call); false (not unique target call) |
Callback Call bool | callbackCall | Callback call. Possible values: true (callback from widget or custom form); false (direct call to tracked number) |
City text | city | City where the client who made the call is located, determined by the client's IP address |
Source text | source | Source |
Medium text | medium | Type of traffic |
Keyword text | keyword | Keyword |
URL text | url | URL where the visitor landed on the site |
Call URL text | callUrl | URL of the page where the visitor was when the call was made |
Referrer text | ref | Referrer URL |
Hostname text | hostname | Tracked domain or subdomain of the resource |
UTM Source text | utmSource | UTM tag value utm_source |
UTM Medium text | utmMedium | UTM tag value utm_medium |
UTM Campaign text | utmCampaign | UTM tag value utm_campaign |
UTM Content text | utmContent | UTM tag value utm_content |
UTM Term text | utmTerm | UTM tag value utm_term |
Session ID int | sessionId | Unique session identifier in Calltouch |
CT Caller ID text | ctCallerId | Unique client identifier in Calltouch, determined by the client's phone number |
Client ID text | clientId | Unique Google Analytics 4 client identifier |
Yandex Client ID text | yaClientId | Unique Yandex.Metrica client identifier |
SIP Call ID text | sipCallId | Unique session identifier with Calltouch PBX, can be useful for integration with your PBX |
User Agent text | userAgent | Device information from which the site was accessed |
IP Address text | ip | Visitor's IP address |
Site ID int | siteId | Site ID |
Orders text | orders | Orders array |
| Название | Имя в API | Описание |
|---|---|---|
dateLeadCreated date | dateLeadCreated | Date and time of request creation in Unix Timestamp format in milliseconds. |
DateUnix int | dateUnix | Date and time of request creation in Unix Timestamp format in milliseconds. |
Request Type text | requestType | Type of request |
Date String text | dateStr | Date and time of request creation in dd/mm/yyyy hh:mm:ss format. |
Manager text | manager | Full name of the manager assigned to the request using the API method for assigning managers to leads. If the request has no manager, the value is null. |
Subject text | subject | Name of the form on your website that you sent in the request. |
Unique Target Request bool | uniqTargetRequest | Unique target request. Can take the following values: true (unique target request); false (non-unique target request). |
Unique Request bool | uniqueRequest | Unique request. Can take the following values: true (unique request); false (repeat request). |
Yandex Direct text | yandexDirect | Information about the Yandex.Direct advertising campaign if the source of the call or request is a Yandex.Direct advertising campaign. |
Google AdWords text | googleAdWords | Information about the Google AdWords advertising campaign if the source of the call or request is a Google AdWords advertising campaign. |
Request Number text | requestNumber | Unique identifier of the request on your website that you sent in the request. If you did not send this parameter, the response will contain the unique identifier of the request in Calltouch. |
Request ID int | requestId | Unique identifier of the request in Calltouch. |
Session ID text | sessionId | Unique identifier of the session in Calltouch. |
Keywords text | keywords | Keywords associated with the session. |
City text | city | City of the visitor (determined by IP address). |
IP Address text | ip | IP address of the visitor. |
Source text | source | Source of the traffic. |
Medium text | medium | Medium of the traffic. |
Referrer text | ref | Referrer URL from which the visitor came to your site. |
Entry URL text | url | Entry URL on the site (may differ from the page where the call was made). |
UTM Source text | utmSource | UTM source value. |
UTM Medium text | utmMedium | UTM medium value. |
UTM Term text | utmTerm | UTM term value. |
UTM Content text | utmContent | UTM content value. |
UTM Campaign text | utmCampaign | UTM campaign value. |
GUA Client ID text | guaClientId | Google Client ID (present if integration with Google Analytics is set up). |
Attribution int | attribution | Current attribution model according to which the source of the request is determined. |
Yandex Client ID text | yaClientId | Yandex Client ID (present if integration with Yandex.Metrica is set up). |
CT Global ID text | ctGlobalId | Global identifier of the Calltouch visitor, common for sites where the Calltouch script is installed. |
Device text | device | Type of device used by the visitor. |
Operating System text | os | Operating system of the visitor's device. |
Browser Name text | browserName | Name of the browser used by the visitor. |
Browser User Agent text | browser | User agent string of the browser. |
Site ID int | siteId | Site ID. |
Target Request bool | targetRequest | Target request. Can take the following values: true (target request); false (non-target request). |
Status text | status | Deal status. |
Request URL text | requestUrl | URL of the page from which the request was sent. |
CT Client ID int | ctClientId | Calltouch visitor identifier. It represents the value of our _ct cookie. If the value is absent in the call (e.g., the lead has no session, such as a call to a static number), the value will be null. |
DCM text | dcm | Data on sending the request with DoubleClick Campaign Manager. |
CT Global ID text | ctGlobalId | Global identifier of the Calltouch visitor, common for sites where the Calltouch script is installed. |
Widget Info text | widgetInfo | Data on custom fields of the request from the widget. Exported only for requests through widgets if the input parameter withWidgetInfo=true was passed. |
Order [Object] structure | order | Array of orders with additional information. |
Client [Object] structure | client | Array of clients with additional information. |
Отметьте нужные поля или заберите весь список кнопкой Select All.
Order [Object] и Client [Object] загружаются как вложенные записи: суммы и статусы заказа, а также имя клиента и до десяти телефонов и контактов.
Включите параметр Date в отчёте Call report. С ним каждая строка содержит дату звонка, таблица назначения партиционируется по колонке date, и Renta загружает данные инкрементально. Без него Renta перезагружает весь диапазон дат при каждом запуске.
Имя таблицы
Назовите пайплайн и таблицу назначения.

- Integration name.
Название пайплайна. Оно используется только в интерфейсе Renta. - Table name.
Имя таблицы назначения. Можно оставить автоматически сгенерированное имя или ввести своё.
Диапазон дат
Задайте исторический период загрузки.

- Date start.
Первая дата периода выгрузки. - Date end.
Последняя дата периода выгрузки. Оставьте Today, чтобы собирать новые данные при каждом запуске.
Calltouch выделяет дневную квоту API, которая зависит от тарифа. Renta запрашивает отчёт по одному дню за раз, поэтому первая загрузка длинной истории идёт дольше и расходует больше квоты, чем регулярные запуски по расписанию.
Период перезаписи
Период перезаписи определяет, сколько последних дней Renta перезагружает при каждом запуске.

При каждом запуске Renta заново запрашивает отчёт начиная с даты последнего успешного запуска минус период перезаписи. Затронутые дни удаляются из таблицы назначения и вставляются заново, более старые данные не меняются. По умолчанию выбран период Last 3 days.
Записи Calltouch продолжают меняться после дня создания: звонку назначается менеджер, обновляются детали заказа и статусы сделок. Окно перезаписи как раз и доносит эти изменения до таблицы назначения.
Настройка Overwrite Period появляется только у отчёта Call report с выбранным параметром Date.
Расписание
Выберите, как часто запускается пайплайн.

| Тип расписания | Описание |
|---|---|
| Manual | Пайплайн запускается только вручную через интерфейс или по API. |
| Daily | Пайплайн запускается раз в день в указанное время обновления. |
| Interval | Пайплайн запускается через заданные интервалы времени. |
| Cron Expression | Пайплайн запускается по расписанию, заданному cron-выражением. |
Для расписания Daily задайте Update time (точное время запуска) и нажмите Create pipeline.

Renta также поддерживает запуск по API и интеграцию с внешними оркестраторами, такими как Apache Airflow, Dagster и Prefect. Подробнее в документации по расписаниям.
Новый пайплайн появится в разделе Pipelines на вкладке ETL, где можно отслеживать запуски, прогресс и имя таблицы назначения.

Стратегия синхронизации
Стратегия синхронизации зависит от типа отчёта и от того, выбран ли параметр Date.
| Стратегия | Поддерживаемые типы отчётов | Описание |
|---|---|---|
| Инкрементальное обновление | Call report (с выбранным параметром Date) | Каждая строка содержит дату звонка, таблица назначения партиционируется по колонке date. При каждом запуске Renta перезагружает окно от последнего успешного запу ска минус период перезаписи до конца диапазона дат: эти дневные партиции удаляются и вставляются заново, более старые партиции не меняются. |
| Полная перезагрузка | Call report (без параметра Date), Lead report | В таблице назначения нет колонки с датой для партиционирования, поэтому Renta запрашивает весь настроенный диапазон дат и заменяет данные при каждом запуске. |
Изменение выбранных параметров обновляет схему таблицы, поэтому следующий запуск после изменения перезагрузит весь диапазон дат.
Ready to get started?
Build your data pipeline today or get a personalized demo. Start free!
Need help?
Get expert support to ensure your project succeeds. We're here to help!
Feature requests?
Help shape our product! Share your ideas for new features and integrations.