Метод API startCall
Запрос с минимальным набором параметров
const data = {
apiak: 'CD96pEBTmk3r8sNd',
whash: '1f416dd5f788f724fa7c2757f5f29f2f',
client: '79998887766',
};
let request = [];
for (let item in data) {
request.push(item + '=' + data[item]);
};
fetch('https://api.callkeeper.ru/startCall?' + request.join('&'))
.then(response => console.log(response.status));
Запрос с максимальным набором параметров
const data = {
apiak: 'CD96pEBTmk3r8sNd',
whash: '1f416dd5f788f724fa7c2757f5f29f2f',
unique: 'company1',
client: '79998887766',
manager: '79997778855',
office: '0',
store_date: '2021-03-09 06:25:50',
referrer: 'callkeeper.ru',
history_length: '7',
country: 'RU',
city: 'Москва',
region: 'МО',
call_from_image: '1',
external_session: '1269569228',
chime_interval: '10',
user_mail: 'user@mail.ru',
visit_session_hash: '147863647182651453',
smartis_session: '1012081459',
client_session_user_id: '38d3ba73afac822bf8ec0eca230a68b6',
ct_session_id: 'h81pgaz0ksf1bazh38kqc4',
comagic_session_id: '3123127898975611',
fbclid: 'IwAR1ttAWqIGgaunTv4XLb4JJHu',
ga_count_id: ["UA-56548709-1"],
gclid: 'Cj0KCQiAs5eCBhCBARIsAEhk4r49nE4nL5q_NjKbrnoI-GJVlmP3MUBBlFUBAwhGlBLYi-ILZbIqz-QaApxqEALw_wcB',
rb_clickid: '30644461-1525484797-1139838737',
yclid: '5536176824629815635',
ym_count_id: ["68106067","71351851"],
unique_user_session_id: '847572752',
visit_hash: '317373679280938160',
ct_server_hash: 'MvaYHMhX',
time_to_call: '1630162800',
utm_type: 'utm',
utm_source: 'yandex',
utm_medium: 'cpc',
utm_campaign: 'new_campaign',
utm_content: '10443458223',
utm_term: 'новый авто',
entry_point: 'page',
current_page: 'page',
user_agent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36',
ip_client: '123.456.7.8',
site: 'sales.ru',
info_to_manager: 'клиент ищет спорткар',
notification: 'mail@mysite.ru',
ya_client_id: '161674871095158365',
ga_client_id: '277674871095158471',
calltouch_session_id: '3123125421412',
roistat_id: '312312332111',
roistat_visit: '5546489954',
opening_hours: '09001800',
text_to_manager: 'Клиент заполнил форму на сайте',
tool_name: 'name',
office_name: 'главный',
record_to_manager: 'https://site.ru/record/voice',
record_to_await: 'https://site.ru/record/await',
utc: 'UTC+03:00'
};
let request = [];
for (let item in data) {
request.push(item + '=' + data[item]);
};
fetch('https://api.callkeeper.ru/startCall?' + request.join('&'))
.then(response => console.log(response.status));
Параметры запроса
- apiak — уникальный ключ, сгенерированный в ЛК во вкладке Профиль
- whash — hash виджета, из которого будут взяты необходимые параметры для звонка, можно получить на странице
редактирования виджета в ЛК
- client — номер телефона клиента, на который поступит звонок
Дополнительные параметры запроса
Параметры рекламных метрик
- utm_type — тип перехода. Допустимые значения: utm, typein, referral, organic. В зависимости от переданного значения, следует передать соответствующий utm_source.
- Если utm_type=utm, то utm_source должен содержать соответствующую метку
- Если utm_type=typein, то в utm_source нужно передать значение (direct)
- Если utm_type=referral, то в utm_source нужно передать реферальный источник вида callkeeper.ru или https://callkeeper.ru/
- Если utm_type=organic, то в utm_source нужно передать имя источника, например google
Иначе, если в utm_source не будет передано значение, будет определен только тип источника.
- utm_source — источник перехода пользователя
- utm_medium — тип рекламы
- utm_campaign — название рекламной кампании
- utm_content — метка, содержащая дополнительную информацию
- utm_term — ключевая фраза в кампании (произвольное значение)
- referrer — адрес страницы, откуда пришёл посетитель. Обратите внимание, что при переходах между страницами с разными протоколами, параметр referrer не определяется (например, с http на https и обратно)
- entry_point — адрес перехода пользователя
- current_page — страница, с которой был заказан звонок
Параметры, содержащие данные сторонних сервисов
- ga_count_id — массив ID счетчиков Google Analytics, переданный в формате JSON
- gclid — id клика Google Analytics
- ga_client_id — id, который Google Analytics присваивает каждому уникальному посетителю сайта
- yclid — id клика Яндекс.Метрики
- ya_client_id — id, который Яндекс.Метрика присваивает каждому уникальному посетителю сайта
- ym_count_id — массив ID счетчиков Яндекс.Метрики в формате JSON
- calltouch_session_id — идентификатор сессии Calltouch. С помощью него Calltouch присвоит переданной заявке источник перехода на сайт посетителя, отправившего ее
- comagic_session_id — id сессии Comagic
- roistat_id — уникальный номер посещения Roistat (в обьекте roistat_visit)
- roistat_visit — id сессии Roistat
- rb_clickid — id клика myTarget
- fbclid — параметр, добавляемый Facebook'ом к URL при клике по ссылке в социальной сети
- smartis_session — id сессии Smartis
- external_service_identifier — идентификатор внешнего сервиса
Параметры, относящиеся к системе CallKeeper
- ct_session_id — id сессии Calltracking
- visit_session_hash — уникальный ID сессии аналитики CallKeeper
- unique_user_session_id — уникальный ID пользователя (генерируется для сессии)
- client_session_user_id — уникальный ID клиента аналитики CallKeeper
- visit_hash — генерирующийся при каждой перезагрузке уникальный хеш, использующийся в аналитике CallKeeper
- external_session — id сессии CallKeeper, который генерируется при открытии виджета
- ct_server_hash — хеш скрипта Calltracking
Параметры звонка
- manager — номер телефона менеджера
- text_to_manager — произвольный текст, который будет проговариваться в начале каждого звонка
- info_to_manager — дополнительный текст, который будет проговариваться только при нажатии кнопки на телефоне (указана в настройках виджета)
- opening_hours — время работы компании (время когда можно принимать звонки от клиентов)
- record_to_manager — заранее записанное сообщение, которое проговорится менеджеру
- record_to_await — заранее записанное сообщение, которое проговорится менеджеру после инициации вызова в сторону клиента
- time_to_call — заказ отложенного звонка, передается желаемое время звонка в формате Timestamp
- chime_interval — интервал между попытками перезвона. Если звонков несколько, можно передать несколько интервалов через запятую
- site — название сайта, которое будет отображено в информации о звонке
- notification — email для уведомлений о статусе звонка
- tool_name — название инструмента
- office_name — название офиса
- office — id офиса (начинается с 0)
- country — код страны посетителя в формате ISO (для России следует указать RU)
- city — город посетителя (указывается кириллицей)
- region — регион посетителя (указывается кириллицей)
- user_mail — почта посетителя
- user_agent — строка, содержащая данные о браузере и операционной системе пользователя
- ip_client — id адрес клиента
- utc — временная зона в формате IANA Time Zone Database (можно получить с помощью метода validTimeZones)
- store_date — дата и время сохранения полученных данных
- history_length — количество элементов в истории сессии (из свойства length объекта history)
Формат ответа startCall
[{"id":"123456","manager":"79999999999^_","client":"799999999998","status":"success"}]
- Id — уникальный идентификатор звонка в системе CallKeeper
- manager — номер телефона менеджера
- client — номер телефона клиента
- status — статус заказа звонка
Методы
getDoc
Страница документации API CallKeeper
https://api.callkeeper.ru/getDoc
validTimeZones
Метод, возвращающий информацию по соответствию значений timezone с utc
https://api.callkeeper.ru/validTimeZones
startCall
Метод заказа звонков
https://api.callkeeper.ru/startCall?apiak=CD96pEBTmk3r8sNd&whash=1f416dd5f788f724fa7c2757f5f29f2f&unique=company1&client=79998887766
getUserInfo
Для получения информации по вашему пользователю, достаточно передать параметр api_key:
Пример запроса данных пользователя:
https://api.callkeeper.ru/getUserInfo?api_key=8abee9a093a4c8344ccfd761e1aba739
getCallsInfo
Для получения статистики по звонкам достаточно передать в запросе следующие параметры:
- api_key — ключ, сгенерированный в ЛК во вкладке Профиль
- date — массив с временными рамками выгрузки
- from — начальная дата. Можно также указать и время в Формате W3C, например 2005-08-15T23:59:59
- to — конечная дата. Можно также указать и время в Формате W3C, например 2005-08-16T24:00:00
- time_zone — возможность указать временную зону в формате IANA Time Zone Database(Europe/Moscow)
Пример запроса c указанными временными рамками:
https://api.callkeeper.ru/getCallsInfo?api_key=8abee9a093a4c8344ccfd761e1aba739&date[from]=2021-03-01&date[to]=2022-06-01
getCallInfo
Метод, возвращающий информацию по конкретному звонку. Принимает следующие параметры:
- api_key — ключ, сгенерированный в ЛК во вкладке Профиль
- id_call — уникальный идентификатор звонка
Пример запроса по звонку с id 35027315:
https://api.callkeeper.ru/getCallInfo?api_key=47132722b98eed83&id_call=35027315
getCallsCompleted
Пример с выгрузкой только завершенных звонков:
https://api.callkeeper.ru/getCallsCompleted?api_key=8abee9a093a4c8344ccfd761e1aba739&date
getT2C
Для получения звонков, инициированных с помощью tap2call, следует передать в запросе параметр apiak и параметры date[from] и date[to]
https://api.callkeeper.ru/getT2C?apiak=k4pgaZDiRJIHM9VE&date[from]=2019-01-29&date[to]=2021-03-29
Форматы ошибок
- Не передан параметр unique.
{"status":"fail", "reason":"Key 'unique' is not defined!"}
- Не передан параметр apiak.
{"status":"fail", "reason":"Key 'apiak' is not defined!"}
- Не передан параметр whash.
{"status":"fail", "reason":"Key 'whash' is not defined!"}
- Неавторизированный хост.
{"status":"fail", "reason":"Unauthorized host!"}
- Передан некорректный ключ api.
{"status":"fail", "reason":"Not the correct key api"}
- Некорректный запрос.
{"status":"fail", "reason":"Mismatched request!"}
- Неверно указан метод запроса.
{"status":"fail", "reason":"Unknown request method!"}
- Допущена ошибка в типе передаваемых в запросе данных.
{"status":"fail", "reason":"Wrong data type!"}
- В запросе не переданы все необходимые параметры.
{"status":"fail", "reason":"Not enough values"}
- В запросе передан некорректный номер телефона.
{"status":"fail", "reason":"Phone not provided or invalid"}
- Неизвестный пользователь.
{"status":"fail", "reason":"Unknown user"}
- Значения apiak или hash короче или длинее чем необходимо, либо переданы в неверном формате.
{"status":"fail", "reason":"Apiak or Hash shorter or longer then was required or not hexadecimal"}
- Параметры whash и apiak не соответствуют друг другу.
{"status":"fail", "reason":"Wrong pair whash and apiak!"}
- Виджет отключен.
{"status":"fail", "reason":"The widget is disabled"}
Документация API CallTracking Calls
CallTracking API позволяет получать полную информацию по звонкам как из сервиса CallTracking, так и из сервиса CallKeeper. Запрос осуществляется методом GET.
Методы
Для использования методов следует передать имя выбранного метода в параметр method.
К API CallTracking с целью получения звонков следует обращаться с помощью одного из трех методов: get, getByRole, getWithRole.
Запросы к данным методам должны включать в себя следующие параметры, и быть перечислены в указанной последовательности:
?format/version/apikey/entity/method/pages/from/to&length=10
- get
Для получения принадлежащих пользователю звонков указывается метод get.
Пример получения звонков, принадлежащих пользователю без учета ролей, в формате JSON с 1 января по 20 марта 2021, страница с индексом 0:
https://ckct.ru/api/index.php?json/v3/51lVB9PiAoOC6j72/call/get/0/2021-01-01/2021-03-20
Пример получения звонков, принадлежащих пользователю без учета ролей, в формате JSON с 10 февраля по 20 марта 2021, страница с индексом 1:
https://ckct.ru/api/index.php?json/v3/51lVB9PiAoOC6j72/call/get/1/2021-02-10/2021-03-20
getByRole
Для получения звонков только по роли указывается метод getByRole (при использовании данного параметра, в ключе apikey следует передать ключ, выданный по роли, а не ключ пользователя).
Пример получения звонков, выданных пользователю по роли, в формате JSON с 1 января по 20 марта 2021, страница с индексом 0:
https://ckct.ru/api/index.php?json/v3/dc97970ec0d3aa6b/call/getByRole/0/2021-01-01/2021-03-20
Пример получения звонков, выданных пользователю по роли, в формате JSON с 1 мая 2020 по 20 марта 2021, страница с индексом 2:
https://ckct.ru/api/index.php?json/v3/dc97970ec0d3aa6b/call/getByRole/2/2020-05-01/2021-03-20
getWithRole
Для получения звонков пользователя вместе со звонками по роли следует указать метод getWithRole.
Пример получения всех звонков, как выданных пользователю по роли, так и принадлежащих непосредственно пользователю, в формате JSON с 1 января по 20 марта 2021, страница с индексом 0:
https://ckct.ru/api/index.php?json/v3/51lVB9PiAoOC6j72/call/getWithRole/0/2021-01-01/2021-03-20
Пример получения всех звонков, как выданных пользователю по роли, так и принадлежащих непосредственно пользователю, в формате JSON с 1 января по 20 марта 2021, страница с индексом 1:
https://ckct.ru/api/index.php?json/v3/51lVB9PiAoOC6j72/call/getWithRole/1/2020-01-01/2021-03-20
Параметры запроса
- format - формат данных в котором вы хотите получить информацию по звонкам. На данный момент доступен только формат json.
- version - версия API. Может иметь значения v1, v2 и v3. Актуальная версия в настоящее время - это v3, в запросах следует указывать именно ее.
- apikey - секретный ключ для доступа к API. Его можно получить у своего менеджера. Ключ представляет собой буквенно-числовую последовательность длинной 16 символов.
- entity - сущности, к которым запрашивается доступ. Для получения звонков пользователя указывается call.
- method - запрашиваемый метод. Для получения принадлежащих пользователю звонков указывается get. Для получения звонков только по роли указывается getByRole (при использовании данного параметра, в ключе apikey следует передать ключ, выданный по роли, а не ключ пользователя). Для получения звонков пользователя вместе со звонками по роли следует указать getWithRole.
- pages - если у пользователя много звонков, то выводить в ответе сразу все было бы не эффективно, по этому вывод сделан постранично. На одной странице содержится 1000 звонков. В данном параметре вы можете указать номер конкретной страницы, которую хотите получить, это десятичное число. Нумерация страниц начинается с 0.
- from - параметр устанавливает начальную дату выборки. Его можно передавать в двух форматах. В виде timestamp (например 1588854585), либо в формате "yyyy-mm-dd" (например 2020-05-07).
- to - параметр устанавливает дату конца выборки. Имеет тот же формат что и предыдущий параметр.
- length - параметр позволяет указать количество звонков в ответе. Минимум - 1, максимум - 10000, значение по-уполчанию - 1000
Формат ответа
Формат ответа представляет из себя массив звонков в формате JSON
[
{
"page": 1,
"universalId": "23423423434434234",
"serviceType": "calltracking",
"clientNumber": "7999999999",
"managerNumber": "7888888888",
"callerIdToManager": "79999999999",
"callerIdToClient": "79999999999",
"statusFirst": 200,
"statusSecond": 200,
"status": "success",
"callTime": "2020-04-05 13:23:32",
"localDate": "2020-04-05 15:23:32",
"timezoneOffset": "+0020",
"duration": 152,
"tariffTime": 3,
"site": "mysite.ru",
"recordUrl": "https://callkeeper.ru/record",
"unique": true,
"target": true,
"uniqueTarget": false,
"visitSite": "callkeeperr.ru",
"referrer": "search.ru",
"utm_source": "search",
"utm_medium": "cpc",
"utm_campaign": "advert",
"utm_content": "goods",
"utm_term": "some info",
"yaClid": "534543523543",
"gaClid": "345345353.234234234",
"roistatClid": "323423423",
"calltouchClid": "234234234",
"comagicClid": "34223234",
"city": "Москва",
"region": "Москва",
"country": "Россия",
"ipAddress": "127.0.0.1",
"pagesCount": 5,
"entryPoint": "https://callkeeper.ru/blog",
"entryPointQuery": "https://callkeeper.ru/call-tracking/",
"callPage": "https://callkeeper.ru/calls",
"counts": 12,
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)",
"device": "iphone 7",
"cbWidgetHash": "xxx99xx99xxxxx999xxxxxx9999xxx99",
"cbToolId": 1000,
"cbCallId": 10000000,
"cbUid": 1000,
"cbToolName": "Виджет обратного звонка",
"cbSmatrisSession": 62345,
"cbOfficeNumber": "0",
"cbOfficeName": "Moscow office",
"cbOrderDate": "2020-05-04 12:13:22",
"cbAttempt": 3,
"cbAttemptsQueue": [
10000000,
11111111
],
"cbConnectType": "smartcall",
"cbSmartCallCount": 5,
"cbIvrCount": 12,
"cbEventSource": "api",
"ctCallId": 100000,
"ctCampaignId": 1000,
"ctCampaignName": "sale",
"ctIsListened": "1",
"tags": [
"some tag",
"any tag"
],
}
]
Описание полей
Возвращаемые данным методом значения описаны в следующем порядке:
имя параметра - описание параметра (тип данных)
Если параметр может принимать одно из нескольких значений, то они будут перечислены через запятую.
Ни один из параметров не принимает значение NULL. В случае если параметр пустой, то вместо NULL у строковых значений будет пустая строка, у числовых значений - 0, у массивов - пустой массив.
В ответе есть параметры, специфичные для сервиса Callback, они обозначаются префиксом "cb" перед названием параметра.
Также есть параметры, специфичные для сервиса CallTracking, они обозначены префиксом "ct". Параметры без этих префиксов являются общими для обоих сервисов.
- page - номер текущей страницы (INT)
- universalId – универсальный id звонка в callback и calltracking (STRING)
- serviceType – текстовое название сервиса ("callback","calltracking","import")
- clientNumber – номер телефона клиента (STRING)
- managerNumber – реальный (не подстановочный) номер дилерского центра (STRING)
- callerIdToManager – номер который подставится в сторону менеджера (STRING)
- callerIdToClient – номер который подставится в сторону клиента (STRING)
- statusFirst – статус звонка оператору (для callback) или на подстановочный номер (для calltracking) (INT)
- statusSecond - статус звонка клиенту (для callback) или на номер переадресации (для calltracking) (INT)
- status - статус звонка, успешный или не успешный ("success", "fail")
- callTime – дата и время звонка (DATE)
- localDate - дата и время в часовом поясе клиента (DATE)
- timezoneOffset - смещение часового пояса (STRING)
- duration – время разговора в секундах (INT)
- tariffTime - таррифицируемое время разговора в минутах (INT)
- site – сайт из настроек виджета или из кампании (STRING)
- recordUrl – ссылка на запись разговора (STRING)
- unique – уникальный ли звонок (BOOL)
- target – целевой ли звонок (BOOL)
- uniqueTarget – уникально-целевой ли звонок (BOOL)
- siteVisit – сайт на который был визит с последующим звонком (STRING)
- referrer – сайт с которого был переход (STRING)
- utm_source – рекламная метка utm_source (STRING)
- utm_medium – рекламная метка utm_medium (STRING)
- utm_campaign – рекламная метка utm_campaign (STRING)
- utm_content – рекламная метка utm_content (STRING)
- utm_term - рекламная метка utm_term (STRING)
- yaClid – идентификатор клиента в сервисе Яндекс.Метрика (STRING)
- gaClid – идентификатор клиента в сервисе Google analytics (STRING)
- roistatClid – идентификатор клиента в сервисе Roistat (STRING)
- comagicClid – идентификатор клиента в сервисе Comagic (STRING)
- calltouchClid – идентификатор клиента в сервисе Calltouch (STRING)
- city – город нахождения посетителя (STRING)
- region – регион нахождения посетителя (STRING)
- country – cтрана нахождения посетителя (STRING)
- ipAddress - ip адрес посетителя (STRING)
- pagesCount – количество страниц на которые зашел пользователь за визит (INT)
- entryPoint – страница входа на сайт (STRING)
- entryPointQuery – страница входа вместе с гет параметрами (STRING)
- callPage – страница с которой был совершен или заказан звонок (STRING)
- counts – всего количество визитов этого пользователя на сайт (INT)
- userAgent – user agent строка идентифицирующая браузер посетителя (STRING)
- device – тип устройства (STRING)
- cbWidgetHash – уникальный хэш виджета (STRING)
- cbToolId – id виджета (INT)
- cbCallId – id звонка (INT)
- cbUid - id аккаунта (INT)
- cbToolName – название инструмента с которого был заказан звонок (INT)
- cbOfficeNumber – порядковый номер офиса (INT)
- cbOfficeName – название офиса (STRING)
- cbOrderDate – дата заказа звонка (DATE)
- cbAttempt – номер попытки дозвона (INT)
- cbAttemptsQueue – id звонков предыдущих попыток дозвона (ARRAY[INT])
- cbConnectType – тип соединения ("auto","smartcall","dtmf")
- cbSmartCallCount – количество попыток распознавания smartcall или dtmf (INT)
- cbSmatrisSession – уникальный номер сессии Smartis (INT)
- cbIvrCount – количество повторений ivr (INT)
- cbEventSource – инструмент, с которого был заказан звонок ("widget","mobile","api","lg","iform","form","ckapp","hand","fb","vk","ok")
- ctCallId – id звонка в коллтреккинге (INT)
- ctCampaignId – id кампании в коллтреккинге (INT)
- ctCampaignName – название кампании (STRING)
- ctIsListened – прослушана ли запись ("","0","1")
- tags – массив тэгов, присвоенных звонку (ARRAY[STRING])
Дополнительно
Все возможные статусы по звонкам доступны по ссылке.
Формат ошибок
В случае неуспешного запроса, вернется ответ следующего формата:
{
"inbound": {
"error": "No rows found"
},
"info": {
"entities": {
"call": ["get"],
"callrole": ["get"],
"phone": ["get"],
"user": ["get"],
"campaign": ["get"],
"tag": ["get"]
},
"types": ["json", "plain", "csv", "xml"],
"versions": ["v1"]
},
"payload": []
}
В данном ответе поле "info" носит информационный характер, и во всех неуспешных запросах оно будет одинаковое.
Поле "payload" также во всех неудачных запросах будет пустым, что означает, что данных в ответе нет.
Значимым для обработки неуспешного ответа является лишь поле "inbound".
В случае невалидного запроса оно будет содержать ключ "error", в котором будет находится текстовое описание ошибки.
Описание возможных ошибок при запросах к API
-
Не найдено звонков за выбранный период, или звонков у данного пользователя не существует
"error": "No rows found"
-
Параметр format в запросе отсутствует либо неверный
"error":"Type to return is not available"
-
Параметр version в запросе отсутствует либо неверный
"error":"Type to return is not available"
-
Параметр apikey в запросе отсутствует либо неверный
"error":"User is not recognized"
-
Параметр entity в запросе отсутствует либо неверный
"error":"Entity does not exist"
-
Параметр method в запросе отсутствует либо неверный
"error":"Method does not exist"
-
Параметр pages в запросе отсутствует, либо неверный, либо он превышает количество страниц в ответе
"error":"Incorrect page is set"
-
Параметр from в запросе отсутствует, либо неверный, либо он превышает количество страниц в ответе
"error":"Start date has wrong type. Possible format is 'Y-m-d' or timestamp"
Документация API CallTracking Tags
CallTracking API позволяет получать, добавлять и удалять теги для звонков. Для этого следует направить запрос с соответствующим методом.
Методы
Для получения и настройки тегов следует передать имя выбранного метода в параметр method.
К API CallTracking с целью получения и настройки тегов следует обращаться с помощью одного из трех методов: get, set, delete.
Запросы к методу get должны включать в себя следующие параметры, и быть перечислены в указанной последовательности:
?format/version/apikey/entity/method/callid
Запросы к методам set и delete должны включать в себя также параметр tagname, и быть перечислены в указанной последовательности:
?format/version/apikey/entity/method/callid/tagname
- get
Для получения присвоенных звонку тегов, указывается метод get.
Пример получения присвоенных звонку тегов, в формате JSON:
https://ckct.ru/api/index.php?json/v3/51lVB9PiAoOC6j72/tag/get/13438252
set
Для добавления нового тега указывается метод set.
Пример добавления тега звонку, в формате JSON:
https://ckct.ru/api/index.php?json/v3/51lVB9PiAoOC6j72/tag/set/13438252/mynewtag
delete
Для удаления тега указывается метод delete.
Пример удаления тега у звонка, в формате JSON:
https://ckct.ru/api/index.php?json/v3/51lVB9PiAoOC6j72/tag/delete/13438252/uselesstag
Параметры запроса
- format - формат данных в котором вы хотите получить информацию по тегам. На данный момент доступен только формат json.
- version - версия API. Может иметь значения v1, v2 и v3. Актуальная версия в настоящее время - это v3, в запросах следует указывать именно ее.
- apikey - секретный ключ для доступа к API. Его можно получить у своего менеджера. Ключ представляет собой буквенно-числовую последовательность длинной 16 символов.
- entity - сущности, к которым запрашивается доступ. Для получения тегов указывается tag.
- method - запрашиваемый метод. Для получения тега указывается get. Для добавления тега указывается set. Для удаления тега указывается delete.
- callid - уникальный идентификационный номер звонка.
- tag - имя тега, используемое в случае обращения к методам добавления и удаления. Для получения тегов с помощью метода get данный параметр передавать не нужно.
Формат ответа
Формат ответа представляет из себя массив объектов тегов в формате JSON
[{"id":10408,"name":"mynewtag"},{"id":3611,"name":"test2"}]
Описание полей
Методы получения и настройки тегов в ответе присылаюст массив объектов, в котором каждый объект содержит
значения по конкретному тегу
Возвращаемые значения описаны в следующем порядке:
имя параметра - описание параметра (тип данных)
- id - уникальный идентификационный номер тега
- name - название тега
Формат ошибок
В случае неуспешного запроса, вернется ответ следующего формата:
}
inbound: {
error: "No rows found",
},
info: {
entities: {
call: ["get"],
callrole: ["get"],
campaign: ["get"],
phone: ["get"],
tag: ["get"],
user: ["get"],
}
},
types: [
0: "json",
1: "plain",
2: "csv",
3: "xml",
],
versions: [
0: "v1"
],
payload: []
}
В данном ответе поле "info" носит информационный характер, и во всех неуспешных запросах оно будет одинаковое.
Поле "payload" также во всех неудачных запросах будет пустым, что означает, что данных в ответе нет.
Значимым для обработки неуспешного ответа является лишь поле "inbound".
В случае невалидного запроса оно будет содержать ключ "error", в котором будет находится текстовое описание ошибки.
Описание возможных ошибок при запросах к API
-
Теги не найдены
"error": "No rows found"
-
Параметр format в запросе отсутствует либо неверный
"error":"Type to return is not available"
-
Параметр version в запросе отсутствует либо неверный
"error":"Type to return is not available"
-
Параметр apikey в запросе отсутствует либо неверный
"error":"User is not recognized"
-
Параметр entity в запросе отсутствует либо неверный
"error":"Entity does not exist"
-
Параметр method в запросе отсутствует либо неверный
"error":"Method does not exist"
-
Параметр callid в запросе отсутствует либо неверный
"error":"Call with this id is not found"