Маршруты и аутентификация


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


Тип данныхСпособ получения
URLВыдается по запросу, технической службой кол-трекинг


Для обеспечения аутентификации используется токен аутентификации и имя провайдера:


ПараметрСпособ получения
provider_auth_tokenВыдается по запросу, технической службой кол-трекинг
provider_nameВыдается по запросу, технической службой кол-трекинг


Структура запросов


В работе с трекерами в API используются запросы трёх типов:

  • tracker_create - для добавления новых хостов
  • tracker_update - для редактирования хостов у пользователей
  • tracker_delete - для удаления хостов
  • tracker_read - для получения данных о хосте

Данные передаются в формате JSON. Ниже представлено описание основных параметров, которые должны быть включены в запрос:


tracker_create
POST /api/v1/users/:user_uid/user_host/:user_host_id/trackers

 

Параметр

Тип данных

Описание

provider_auth_token

string

Токен аутентификации провайдера

provider_name

string

Имя провайдера

user_uid

string

Уникальный идентификатор пользователя

name

string

Имя трекера

conditionstringУсловие трекера
weightintegerЧем больше вес тем более приорететный трекер
activeboolean
session_expirationintegerВремя хранения сессии в секудндах
kindstring'static' | 'dynamic' | 'offline'
numbers_to_removearrayНомера для удаления на сайте
replacement_settingsarrayНастройки замены


Настройки замены

 

Параметр

Тип данных

Описание

user_phones

arrayНомера телефонов клиента
static_phone
stringСтатический номер
dynamic_phones
array
Динамические номера из пулла номеров



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

{
   "provider_name": "Provider",
   "provider_auth_token": "123dflmsdvpm123",
   "user_uid": "180d6265-f3f3-40d1-9de7-ddec10f2af9d",
   "user_host_id": 3
   "tracker": {
      "name": 'Google', 
      "condition": "qutm_source==/google/",
      "weight": 1, "active": true,
      "session_expiration": 300,
      "kind": "dynamic",
      "numbers_to_remove":  [],
      "replacement_settings": [
         {
            "user_phones": ["+375291232345"],
            "static_phone": "+375121211212"
            "dynamic_phones": ["+375121211213", "+375121211214", "+375121211215"]
          }
       ]

   }
}


Пример ответа: 

{
    "status_code": 201, 
    "status": "Created", 
    "tracker_id": 12,
} 



tracker_update
POST /api/v1/users/:user_uid/user_host/:user_host_id/trackers/:id

 

Параметр

Тип данных

Описание

provider_auth_token

string

Токен аутентификации провайдера

provider_name

string

Имя провайдера

user_uid

string

Уникальный идентификатор пользователя

name

string

Имя трекера

conditionstringУсловие трекера
weightintegerЧем больше вес тем более приорететный трекер
activeboolean
session_expirationintegerВремя хранения сессии в секудндах
kindstring'static' | 'dynamic' | 'offline'
numbers_to_removearrayНомера для удаления на сайте
replacement_settingsarrayНастройки замены


Настройки замены

 

Параметр

Тип данных

Описание

user_phones

arrayНомера телефонов клиента
static_phone
stringСтатический номер
dynamic_phones
array
Динамические номера из пулла номеров



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

{
   "provider_name": "Provider",
   "provider_auth_token": "123dflmsdvpm123",
   "user_uid": "180d6265-f3f3-40d1-9de7-ddec10f2af9d",
   "user_host_id": 3
   "tracker": {
      "name": 'Google', 
      "condition": "qutm_source==/google/",
      "weight": 1, "active": true,
      "session_expiration": 300,
      "kind": "dynamic",
      "numbers_to_remove":  [],
      "replacement_settings": [
         {
            "user_phones": ["+375291232345"],
            "static_phone": "+375121211212"
            "dynamic_phones": ["+375121211213", "+375121211214", "+375121211215"]
          }
       ]

   }
}


Пример ответа: 

{
    "status_code": 200, 
    "status": "Updated", 
    "tracker_id": 12,
} 

tracker_read
GET /api/v1/users/:user_uuid/user_hosts/:user_host_id/trackers/:id

Для получения всех трекеров нужно убрать :id.



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

api/v1/users/fe434415-0bf1-4d89-bb6e-91ffb5ec1098/user_hosts/3/trackers/12?provider_name=NAME&provider_auth_token=TOKEN


Пример ответа: 

{
    "status_code": 200,
    "status": "OK",
     "tracker_id": 12,
 "tracker": {
      "name": 'Google', 
      "condition": "qutm_source==/google/",
      "weight": 1, "active": true,
      "session_expiration": 300,
      "kind": "dynamic",
      "numbers_to_remove":  [],
      "replacement_settings": [
         {
            "user_phones": ["+375291232345"],
            "static_phone": "+375121211212"
            "dynamic_phones": ["+375121211213", "+375121211214", "+375121211215"]
          }
       ]

   }
}



tracker_delete

DELETE /api/v1/users/:user_uuid/user_hosts/:user_host_id/trackers/:id

 

Параметр

Тип данных

Описание

provider_name 

string

Имя провайдера

provider_ auth_token

string

Токен аутентификации провайдера

user_uid

string

Уникальный идентификатор пользователя в системе кол-трекинг.

user_host_idstringuser host id
idstringtracker id

*Все параметры являются обязательными.


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

api/v1/users/fe434415-0bf1-4d89-bb6e-91ffb5ec1098/user_hosts/3/trackers/12?provider_name=NAME&provider_auth_token=TOKEN

Пример ответа: 

{
    "status_code": 200,
    "status": "OK"
}