Технические условия использования API

Для начала работы с АПИ в системе КЦ, необходимо получить логин и пароль для осуществления авторизации при запросах.
Применяется HTTP Basic Access Authentication
Запросы следует передавать с обязательным HEADER: Content-Type: application/json




Подготовка карточки клиента для работы с API

При настройке карточки клиента следует предусмотреть названия полей, которые будут использоваться в АПИ запросах при работе с клиентом. В колонке "Синхронизация" для каждого отдельного поля карточки клиента, следует завести названия, которые будут фигурировать в запросах касающихся действий над клиентом в КЦ.

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




Настройка идентификаторов для клиента

Важным шагом является также выбор поля (или набора нескольких полей) карточки клиента, которое будет определять общий идентификатор синхронизации обоих систем. Выбрана галочка в колонке "Идентификатор синхронизации" указывает на то, что это поле используется в качестве идентификации уникального клиента для внешней системы. Идентификаторами клиента может выступать как одно поле, так и набор двух или более полей.

По умолчанию внешним уникальным идентификатором клиента служит внутреннее поле id клиента, которое генерирует сама система КЦ.

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

При таких условиях возможны два принципа организации идентификации уникальности клиента:

  • использование внутреннего id клиента КЦ в качестве идентификатора
  • использование набора значений, передаваемых сторонней системой



Как узнать значение {clientRoleId}

Значение этого параметра является статическим, и предоставляется единоразово администратором системы после запуска среды КЦ, вместе с логином и паролем пользователя к API.




Как формировать перечень полей в массиве "fields"

Название полей в масиве определяется названием, сконфигурированным в карточке клиента в колонке "Синхронизация".

В качестве примера, для настройки карточки клиента ниже, массив будет иметь вид


  "fields": {
    "offerDomain": "TEST",
    "offerId": 10,
    "fullUrl": "Full URL Data",
    "fullName": "Some data",
    "city": "Some city data"
}




Как формируются параметры массива идентификаторов клиента {syncIdentifiers}

Массив syncIdentifiers формируется из названий полей в колонке "Синхронизация" карточки клиента, и которые определены как идентификаторы сихронизации.

В качестве примера, для настройки карточки клиента ниже, массив будет иметь вид


  "syncIdentifiers": {
                 "offerDomain": "TEST",
                 "offerId": 10
         }




Как формируются параметры массива полей карточки клиента {fieldsToUpdate}

В массиве могут быть названия полей обозначенных в колонке "Синхронизация".

В качестве примера, для настройки карточки клиента ниже, массив будет иметь вид


  "fieldsToUpdate": {
                "fullUrl": "http://test.com",
                "fullName": "FullName data",
                "city": “City Info”,
        }




Как формируются параметры массива идентификаторов клиента {clientSyncIdentifiers}

Массив clientSyncIdentifiers формируется из названий полей в колонке "Синхронизация" карточки клиента, и которые определены как идентификаторы сихронизации.

В качестве примера, для настройки карточки клиента ниже, массив будет иметь вид


  "clientSyncIdentifiers": {
                "offerDomain": "TEST",
                "offerId": 10
        }




Как узнать внутренний идентификатор клиента {clientId}

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

  {
   "createResult": [
      {
         "uuid": "000000000",
         "result": "Success",
         "createdClientId": 1529670
      }
   ]
}

б) Воспользоваться API запросом “Получение данных карточки клиента ClientDTO”, который вернет развертку всех полей клиента в том числе и его внутренний идентификатор "id"

в) через Web интерфейс, воспользовавшись соответствующими фильтрами




Как узнать значение {roleId}

Значение roleId определяет к какой роли будет относится пользователь (какой доступ будет иметь пользователь) в системе. Эти роли настраиваются на уровне администратора при старте проекта и они преимущественно являются статическими. Значение можно узнать в административной консоли при их настройке.




Как узнать значение {internalPhoneId}

ID внутреннего номера телефона, к которому должен быть привязан пользователь в системе. InternalPhoneId выдается администратором после настройки внутренних номеров телефонов для операторов. Эта ID является составной названия SIP пользователя для авторизации телефона (IDinternal).




Как узнать значение {userId}

Id пользователя в системе. Список пользователей в системе, можно узнать:
- через веб интерфейс менеджера в разделе настройки групп


- через API запрос “Получение списка пользователей в системе”




Как узнать значение {groupId}

- Id группы можно узнать через веб интерфейс менеджера в разделе настройки групп:


- через API запрос “Получить список всех доступных групп”




Как узнать значение {taskId}

ID задачи, которая добавлена в группу, и для которой поставить приоритет пользователю
- можно узнать через веб интерфейс менеджера в настройке нужной группы, на вкладке Управление приоритетом:


- через API запрос “Возврат значения taskId по id телемаркетинга”




Как узнать значение {smsProviderId}

Уникальный идентификатор SMS провайдера, который настроен в системе. Так как это поле статично, предоставляется администратором системы.




Как узнать значение {ivrScenarioId}

Уникальный идентификатор ИВР. ID ИВР сценария можно увидеть в менеджерской панели в разделе настроек ИВР сценариев. (каждый настроенный ИВР имеет свое уникальное id)




Как узнать значение {callingSearchSpaceId}

Уникальный идентификатор направления маршрутизации звонков.
Список доступных идентификаторов параметра предоставляется администратором системы.




Как узнать значение {callStatusRuleProcessorId}

Уникальный идентификатор процессора обработки по неуспешным попыткам.
Список доступных идентификаторов параметра предоставляется администратором системы.




Как узнать значение {recallId}

Уникальный идентификатор еккаунта веб рекола, можна увидеть в менеджерськой панели, в насстройках Задач по Web Callback.




Список таймзон

Список доступных таймзон, определено методом getAvailableIDs () класса TimeZone в Java

  Africa/Abidjan
  Africa/Accra
  Africa/Addis_Ababa
  Africa/Algiers
  Africa/Asmara
  Africa/Asmera
  Africa/Bamako
  Africa/Bangui
  Africa/Banjul
  Africa/Bissau
  Africa/Blantyre
  Africa/Brazzaville
  Africa/Bujumbura
  Africa/Cairo
  Africa/Casablanca
  Africa/Ceuta
  Africa/Conakry
  Africa/Dakar
  Africa/Dar_es_Salaam
  Africa/Djibouti
  Africa/Douala
  Africa/El_Aaiun
  Africa/Freetown
  Africa/Gaborone
  Africa/Harare
  Africa/Johannesburg
  Africa/Juba
  Africa/Kampala
  Africa/Khartoum
  Africa/Kigali
  Africa/Kinshasa
  Africa/Lagos
  Africa/Libreville
  Africa/Lome
  Africa/Luanda
  Africa/Lubumbashi
  Africa/Lusaka
  Africa/Malabo
  Africa/Maputo
  Africa/Maseru
  Africa/Mbabane
  Africa/Mogadishu
  Africa/Monrovia
  Africa/Nairobi
  Africa/Ndjamena
  Africa/Niamey
  Africa/Nouakchott
  Africa/Ouagadougou
  Africa/Porto-Novo
  Africa/Sao_Tome
  Africa/Timbuktu
  Africa/Tripoli
  Africa/Tunis
  Africa/Windhoek
  America/Adak
  America/Anchorage
  America/Anguilla
  America/Antigua
  America/Araguaina
  America/Argentina/Buenos_Aires
  America/Argentina/Catamarca
  America/Argentina/ComodRivadavia
  America/Argentina/Cordoba
  America/Argentina/Jujuy
  America/Argentina/La_Rioja
  America/Argentina/Mendoza
  America/Argentina/Rio_Gallegos
  America/Argentina/Salta
  America/Argentina/San_Juan
  America/Argentina/San_Luis
  America/Argentina/Tucuman
  America/Argentina/Ushuaia
  America/Aruba
  America/Asuncion
  America/Atikokan
  America/Atka
  America/Bahia
  America/Bahia_Banderas
  America/Barbados
  America/Belem
  America/Belize
  America/Blanc-Sablon
  America/Boa_Vista
  America/Bogota
  America/Boise
  America/Buenos_Aires
  America/Cambridge_Bay
  America/Campo_Grande
  America/Cancun
  America/Caracas
  America/Catamarca
  America/Cayenne
  America/Cayman
  America/Chicago
  America/Chihuahua
  America/Coral_Harbour
  America/Cordoba
  America/Costa_Rica
  America/Creston
  America/Cuiaba
  America/Curacao
  America/Danmarkshavn
  America/Dawson
  America/Dawson_Creek
  America/Denver
  America/Detroit
  America/Dominica
  America/Edmonton
  America/Eirunepe
  America/El_Salvador
  America/Ensenada
  America/Fort_Nelson
  America/Fort_Wayne
  America/Fortaleza
  America/Glace_Bay
  America/Godthab
  America/Goose_Bay
  America/Grand_Turk
  America/Grenada
  America/Guadeloupe
  America/Guatemala
  America/Guayaquil
  America/Guyana
  America/Halifax
  America/Havana
  America/Hermosillo
  America/Indiana/Indianapolis
  America/Indiana/Knox
  America/Indiana/Marengo
  America/Indiana/Petersburg
  America/Indiana/Tell_City
  America/Indiana/Vevay
  America/Indiana/Vincennes
  America/Indiana/Winamac
  America/Indianapolis
  America/Inuvik
  America/Iqaluit
  America/Jamaica
  America/Jujuy
  America/Juneau
  America/Kentucky/Louisville
  America/Kentucky/Monticello
  America/Knox_IN
  America/Kralendijk
  America/La_Paz
  America/Lima
  America/Los_Angeles
  America/Louisville
  America/Lower_Princes
  America/Maceio
  America/Managua
  America/Manaus
  America/Marigot
  America/Martinique
  America/Matamoros
  America/Mazatlan
  America/Mendoza
  America/Menominee
  America/Merida
  America/Metlakatla
  America/Mexico_City
  America/Miquelon
  America/Moncton
  America/Monterrey
  America/Montevideo
  America/Montreal
  America/Montserrat
  America/Nassau
  America/New_York
  America/Nipigon
  America/Nome
  America/Noronha
  America/North_Dakota/Beulah
  America/North_Dakota/Center
  America/North_Dakota/New_Salem
  America/Ojinaga
  America/Panama
  America/Pangnirtung
  America/Paramaribo
  America/Phoenix
  America/Port-au-Prince
  America/Port_of_Spain
  America/Porto_Acre
  America/Porto_Velho
  America/Puerto_Rico
  America/Punta_Arenas
  America/Rainy_River
  America/Rankin_Inlet
  America/Recife
  America/Regina
  America/Resolute
  America/Rio_Branco
  America/Rosario
  America/Santa_Isabel
  America/Santarem
  America/Santiago
  America/Santo_Domingo
  America/Sao_Paulo
  America/Scoresbysund
  America/Shiprock
  America/Sitka
  America/St_Barthelemy
  America/St_Johns
  America/St_Kitts
  America/St_Lucia
  America/St_Thomas
  America/St_Vincent
  America/Swift_Current
  America/Tegucigalpa
  America/Thule
  America/Thunder_Bay
  America/Tijuana
  America/Toronto
  America/Tortola
  America/Vancouver
  America/Virgin
  America/Whitehorse
  America/Winnipeg
  America/Yakutat
  America/Yellowknife
  Antarctica/Casey
  Antarctica/Davis
  Antarctica/DumontDUrville
  Antarctica/Macquarie
  Antarctica/Mawson
  Antarctica/McMurdo
  Antarctica/Palmer
  Antarctica/Rothera
  Antarctica/South_Pole
  Antarctica/Syowa
  Antarctica/Troll
  Antarctica/Vostok
  Arctic/Longyearbyen
  Asia/Aden
  Asia/Almaty
  Asia/Amman
  Asia/Anadyr
  Asia/Aqtau
  Asia/Aqtobe
  Asia/Ashgabat
  Asia/Ashkhabad
  Asia/Atyrau
  Asia/Baghdad
  Asia/Bahrain
  Asia/Baku
  Asia/Bangkok
  Asia/Barnaul
  Asia/Beirut
  Asia/Bishkek
  Asia/Brunei
  Asia/Calcutta
  Asia/Chita
  Asia/Choibalsan
  Asia/Chongqing
  Asia/Chungking
  Asia/Colombo
  Asia/Dacca
  Asia/Damascus
  Asia/Dhaka
  Asia/Dili
  Asia/Dubai
  Asia/Dushanbe
  Asia/Famagusta
  Asia/Gaza
  Asia/Harbin
  Asia/Hebron
  Asia/Ho_Chi_Minh
  Asia/Hong_Kong
  Asia/Hovd
  Asia/Irkutsk
  Asia/Istanbul
  Asia/Jakarta
  Asia/Jayapura
  Asia/Jerusalem
  Asia/Kabul
  Asia/Kamchatka
  Asia/Karachi
  Asia/Kashgar
  Asia/Kathmandu
  Asia/Katmandu
  Asia/Khandyga
  Asia/Kolkata
  Asia/Krasnoyarsk
  Asia/Kuala_Lumpur
  Asia/Kuching
  Asia/Kuwait
  Asia/Macao
  Asia/Macau
  Asia/Magadan
  Asia/Makassar
  Asia/Manila
  Asia/Muscat
  Asia/Nicosia
  Asia/Novokuznetsk
  Asia/Novosibirsk
  Asia/Omsk
  Asia/Oral
  Asia/Phnom_Penh
  Asia/Pontianak
  Asia/Pyongyang
  Asia/Qatar
  Asia/Qyzylorda
  Asia/Rangoon
  Asia/Riyadh
  Asia/Saigon
  Asia/Sakhalin
  Asia/Samarkand
  Asia/Seoul
  Asia/Shanghai
  Asia/Singapore
  Asia/Srednekolymsk
  Asia/Taipei
  Asia/Tashkent
  Asia/Tbilisi
  Asia/Tehran
  Asia/Tel_Aviv
  Asia/Thimbu
  Asia/Thimphu
  Asia/Tokyo
  Asia/Tomsk
  Asia/Ujung_Pandang
  Asia/Ulaanbaatar
  Asia/Ulan_Bator
  Asia/Urumqi
  Asia/Ust-Nera
  Asia/Vientiane
  Asia/Vladivostok
  Asia/Yakutsk
  Asia/Yangon
  Asia/Yekaterinburg
  Asia/Yerevan
  Atlantic/Azores
  Atlantic/Bermuda
  Atlantic/Canary
  Atlantic/Cape_Verde
  Atlantic/Faeroe
  Atlantic/Faroe
  Atlantic/Jan_Mayen
  Atlantic/Madeira
  Atlantic/Reykjavik
  Atlantic/South_Georgia
  Atlantic/St_Helena
  Atlantic/Stanley
  Australia/ACT
  Australia/Adelaide
  Australia/Brisbane
  Australia/Broken_Hill
  Australia/Canberra
  Australia/Currie
  Australia/Darwin
  Australia/Eucla
  Australia/Hobart
  Australia/LHI
  Australia/Lindeman
  Australia/Lord_Howe
  Australia/Melbourne
  Australia/NSW
  Australia/North
  Australia/Perth
  Australia/Queensland
  Australia/South
  Australia/Sydney
  Australia/Tasmania
  Australia/Victoria
  Australia/West
  Australia/Yancowinna
  Brazil/Acre
  Brazil/DeNoronha
  Brazil/East
  Brazil/West
  CET
  CST6CDT
  Canada/Atlantic
  Canada/Central
  Canada/Eastern
  Canada/Mountain
  Canada/Newfoundland
  Canada/Pacific
  Canada/Saskatchewan
  Canada/Yukon
  Chile/Continental
  Chile/EasterIsland
  Cuba
  EET
  EST5EDT
  Egypt
  Eire
  Etc/GMT
  Etc/GMT+0
  Etc/GMT+1
  Etc/GMT+10
  Etc/GMT+11
  Etc/GMT+12
  Etc/GMT+2
  Etc/GMT+3
  Etc/GMT+4
  Etc/GMT+5
  Etc/GMT+6
  Etc/GMT+7
  Etc/GMT+8
  Etc/GMT+9
  Etc/GMT-0
  Etc/GMT-1
  Etc/GMT-10
  Etc/GMT-11
  Etc/GMT-12
  Etc/GMT-13
  Etc/GMT-14
  Etc/GMT-2
  Etc/GMT-3
  Etc/GMT-4
  Etc/GMT-5
  Etc/GMT-6
  Etc/GMT-7
  Etc/GMT-8
  Etc/GMT-9
  Etc/GMT0
  Etc/Greenwich
  Etc/UCT
  Etc/UTC
  Etc/Universal
  Etc/Zulu
  Europe/Amsterdam
  Europe/Andorra
  Europe/Astrakhan
  Europe/Athens
  Europe/Belfast
  Europe/Belgrade
  Europe/Berlin
  Europe/Bratislava
  Europe/Brussels
  Europe/Bucharest
  Europe/Budapest
  Europe/Busingen
  Europe/Chisinau
  Europe/Copenhagen
  Europe/Dublin
  Europe/Gibraltar
  Europe/Guernsey
  Europe/Helsinki
  Europe/Isle_of_Man
  Europe/Istanbul
  Europe/Jersey
  Europe/Kaliningrad
  Europe/Kiev
  Europe/Kirov
  Europe/Lisbon
  Europe/Ljubljana
  Europe/London
  Europe/Luxembourg
  Europe/Madrid
  Europe/Malta
  Europe/Mariehamn
  Europe/Minsk
  Europe/Monaco
  Europe/Moscow
  Europe/Nicosia
  Europe/Oslo
  Europe/Paris
  Europe/Podgorica
  Europe/Prague
  Europe/Riga
  Europe/Rome
  Europe/Samara
  Europe/San_Marino
  Europe/Sarajevo
  Europe/Saratov
  Europe/Simferopol
  Europe/Skopje
  Europe/Sofia
  Europe/Stockholm
  Europe/Tallinn
  Europe/Tirane
  Europe/Tiraspol
  Europe/Ulyanovsk
  Europe/Uzhgorod
  Europe/Vaduz
  Europe/Vatican
  Europe/Vienna
  Europe/Vilnius
  Europe/Volgograd
  Europe/Warsaw
  Europe/Zagreb
  Europe/Zaporozhye
  Europe/Zurich
  GB
  GB-Eire
  GMT
  GMT0
  Greenwich
  Hongkong
  Iceland
  Indian/Antananarivo
  Indian/Chagos
  Indian/Christmas
  Indian/Cocos
  Indian/Comoro
  Indian/Kerguelen
  Indian/Mahe
  Indian/Maldives
  Indian/Mauritius
  Indian/Mayotte
  Indian/Reunion
  Iran
  Israel
  Jamaica
  Japan
  Kwajalein
  Libya
  MET
  MST7MDT
  Mexico/BajaNorte
  Mexico/BajaSur
  Mexico/General
  NZ
  NZ-CHAT
  Navajo
  PRC
  PST8PDT
  Pacific/Apia
  Pacific/Auckland
  Pacific/Bougainville
  Pacific/Chatham
  Pacific/Chuuk
  Pacific/Easter
  Pacific/Efate
  Pacific/Enderbury
  Pacific/Fakaofo
  Pacific/Fiji
  Pacific/Funafuti
  Pacific/Galapagos
  Pacific/Gambier
  Pacific/Guadalcanal
  Pacific/Guam
  Pacific/Honolulu
  Pacific/Johnston
  Pacific/Kiritimati
  Pacific/Kosrae
  Pacific/Kwajalein
  Pacific/Majuro
  Pacific/Marquesas
  Pacific/Midway
  Pacific/Nauru
  Pacific/Niue
  Pacific/Norfolk
  Pacific/Noumea
  Pacific/Pago_Pago
  Pacific/Palau
  Pacific/Pitcairn
  Pacific/Pohnpei
  Pacific/Ponape
  Pacific/Port_Moresby
  Pacific/Rarotonga
  Pacific/Saipan
  Pacific/Samoa
  Pacific/Tahiti
  Pacific/Tarawa
  Pacific/Tongatapu
  Pacific/Truk
  Pacific/Wake
  Pacific/Wallis
  Pacific/Yap
  Poland
  Portugal
  ROK
  Singapore
  SystemV/AST4
  SystemV/AST4ADT
  SystemV/CST6
  SystemV/CST6CDT
  SystemV/EST5
  SystemV/EST5EDT
  SystemV/HST10
  SystemV/MST7
  SystemV/MST7MDT
  SystemV/PST8
  SystemV/PST8PDT
  SystemV/YST9
  SystemV/YST9YDT
  Turkey
  UCT
  US/Alaska
  US/Aleutian
  US/Arizona
  US/Central
  US/East-Indiana
  US/Eastern
  US/Hawaii
  US/Indiana-Starke
  US/Michigan
  US/Mountain
  US/Pacific
  US/Pacific-New
  US/Samoa
  UTC
  Universal
  W-SU
  WET
  Zulu
  EST
  HST
  MST
  ACT
  AET
  AGT
  ART
  AST
  BET
  BST
  CAT
  CNT
  CST
  CTT
  EAT
  ECT
  IET
  IST
  JST
  MIT
  NET
  NST
  PLT
  PNT
  PRT
  PST
  SST
  VST