Општи CTI
Увод
Ова страница описује опсег и функционалности API-ја за општи CTI.
WARNING
- Аутентификација на овом ендпоинту ради фундаментално другачије у поређењу са осталим деловима API-ја.
- API клијенти не раде са CTI ендпоинтима осим ако експлицитно није наведено од стране произвођача клијента!
- CTI ендпоинти су релевантни само за PBX системе.
Функције
Ево кратког и сажетог списка могућности које овај CTI API пружа.
Долазнo
- Функције дневника позивача за ваше оператере.
- Блокирање бројева позивача током сигнализације.
Одлазнo
- Функције дневника позивача за ваше оператере.
- Подешавање одлазних бројева позивача у зависности од циља броја позивача.
Путања
Крајња тачка се може пронаћи у интеграцији за општи CTI и садржи јединствени токен који служи за аутентификацију. Побрините се да је ова URL адреса крајње тачке безбедна.
INFO
Конфигурација за општи CTI и исправан ендпоинт могу се пронаћи у вашем Zammad-у у администраторском интерфејсу под Систем > Интеграције > CTI (опште).
Такође, имајте на уму наведене захтеве и ограничења. Све опције које захтевају одговоре (нпр. блокирање, манипулисање одлазним бројевима позивача) ослањају се на конфигурације у оквиру Zammad CTI интеграције странице.
TIP
Постоје две опције како послати релевантне податке на Zammad путем POST методе:
- JSON (препоручено)
- Form-дата
Догађаји
Постоји више догађаја везаних за током позива. Ове акције увек потичу из вашег PBX система и могу бити:
- "newCall" догађај (иницијализација позива)
- "хангуп" догађај (завршетак позива)
- "answer" догађај (такође познат као подизање слушалке)
У неким ситуацијама Zammad може послати одговор на ваше PBX позиве (нпр. одбијање) ако сте блокирали одређеног позивача. Zammad никада неће иницирати специфичне акције са вашим PBX-om. Zammad је пасивни компонент у свим описаним случајевима.
Коришћени примери
Пример: У наставку су послати позиви са следећом конфигурацијом. Ово је важно за вас да бисте разумели одговоре које приказујемо овде.
Одлазни:
- Циљани број позивача
4989*подешава одлазни број позивача498999998145са напоменом "Сви из Минхена" - Циљани број позивача
4930*подешава одлазни број позивача493023125877"Сви из Berlin-а"
Остала подешавања:
- Подразумевани број позивача за одлазне позиве
496990009111
Догађај Новог Позива
Уопштено
Доступни атрибути и примери:
eventnewCall- Обавестите Zammad да постоји нови позив.
from4930555716000- Број који је иницирао позив. Може бити и
anoniman. to4930555716000- Број који се зове.
directionin- Смер позива. Ако ваш оператер иницира позив, ово ће бити
out. Позиви са спољне стране ка вама суin. callId53ba82e2bd6d12d9fb2d3838f0cfb070- ID који је јединствен за позив. Zammad ће користити овај ID да идентификује постојећи позив уз следеће акције (нпр. као одговор или прекид).
userJohn Doe- Стварно име учесника. Можда ћете морати да доставите параметре у облику низа (
[]) у зависности од методе позива коју одаберете. Ако је смерout, ово је име особе/особа које звони. Ако је смерin, ово је име особе/особа која се зове. queuesupport- Опционо име реда чекања, ова опција је релевантна за филтер дневника позивача. Ова вредност је опциона.
Одлазнo
Details
Послат POST захтев: https://{FQDN-Zammad}/api/v1/cti/{instance specific token}
Payload:
json
{
"event": "newCall",
"from": "493023125741",
"to": "492214710334",
"direction": "out",
"callId": "f4ebd2be-7b9a-4d58-94c2-eb06a3c2ce76",
"user": "Lauren Brooks"
}Одговор:
json
{
"action": "dial",
"caller_id": "496990009111",
"number": "492214710334"
}Пример цурл команде:
sh
curl --request POST 'https://{FQDN-Zammad}/api/v1/cti/{instance specific token}' \
--header 'Content-Type: application/json' \
--data-raw '{
"event": "newCall",
"from": "493023125741",
"to": "492214710334",
"direction": "out",
"callId": "f4ebd2be-7b9a-4d58-94c2-eb06a3c2ce76",
"user": "Lauren Brooks"
}'Долазнo
Details
Payload:
json
{
"event": "newCall",
"from": "493023125741",
"to": "492214710334",
"direction": "in",
"callId": "307fa962-de8d-4ffc-817b-7f6993204159",
"user": [
"Lauren Brooks",
"Ethan Kwan"
]
}Одговор:
json
{}Пример цурл команде:
sh
curl --request POST 'https://{FQDN-Zammad}/api/v1/cti/{instance specific token}' \
--header 'Content-Type: application/json' \
--data-raw '{
"event": "newCall",
"from": "493023125741",
"to": "492214710334",
"direction": "in",
"callId": "307fa962-de8d-4ffc-817b-7f6993204159",
"user": ["Lauren Brooks", "Ethan Kwan"]
}'Одговори Специфични за Ситуацију
У зависности од одабраног смера позива, Zammad ће вратити или (опционо) конфигурисан ID позива или (опционо) блокирати позивача. Ако ваш Zammad није конфигурисао једну или обе опције, одговор ће бити празан.
INFO
Ово мора да буде подржано од стране вашег PBX-a како би функционисало.
Одбијање блокираних бројева позивача
Ако долазећи нови позив одговара броју за блокирање, Zammad ће вратити следеће.
json
{
"action": "reject",
"reason": "busy"
}Ако се не поклопи ниједан број за блокирање, Zammad ће вратити следеће.
json
{}WARNING
Ваш PBX и даље мора да заврши позив (догађај хангуп). У супротном позив неће само се појавити у Zammad дневнику позивача, већ ће се појавити као позив у звону.
Подешавање специфичног одлазног броја позивача
У случају да ваша инстанца има конфигурисан одговарајући пребрисани број позивача, Zammad ће вратити следећи payload.
json
{
"action": "dial",
"callerId": "493055571642",
"number": "491711234567890"
}Ако се не пронађе подударност за пребрисивање или ништа нисте конфигурисали, Zammad ће вратити следеће.
json
{}Догађај Одговарања на Позив
Уопштено
Доступни атрибути и примери:
eventanswer:- Обавестите Zammad да је неко одговорио на позив.
- Први термин tag1
- Ово је дефиниција првог термина.
to493055571600:- Број који се бира.
directionin:- Смер позива - ако ваш оператер иницира позив, ово ће бити
out. callId53ba82e2bd6d12d9fb2d3838f0cfb070:- ID који је јединствен за позив. Zammad ће користити овај ID за идентификацију постојећег позива при даљим акцијама (нпр. одговарање или прекид).
answeringNumber493055571600:- Zammad ће потражити корисника са датом вредношћу, следећи атрибути се процењују редом: -
user.phone-user.login-user.ifОва вредност је опционална. userJohn Doe:- Право име (имена) укљученог корисника. Можда ћете морати да наведете параметре у облику низа (
[]) у зависности од изабране методе позива. Ако је смерout, ово је име позивајуће особе/особа. Ако је смерin, ово је име биране особе/особа. Ова вредност је опционална.
Постоје две могућности за слање одговарајућих података на Zammad путем POST методе.
Одлазнo
Details
Послат POST-захтев: https://{FQDN-Zammad}/api/v1/cti/{instance specific token}
Подаци:
json
{
"event": "answer",
"from": "493023125741",
"to": "492214710334",
"direction": "out",
"callId": "9f1840cb-8be9-4d3a-8200-3da2937085f0",
"caller": "Lauren Brooks"
}Одговор:
json
{}Пример цУРЛ команде:
sh
curl --request POST 'https://{FQDN-Zammad}/api/v1/cti/{instance specific token}' \
--header 'Content-Type: application/json' \
--data-raw '{
"event": "answer",
"from": "493023125741",
"to": "492214710334",
"direction": "out",
"callId": "9f1840cb-8be9-4d3a-8200-3da2937085f0",
"caller": "Lauren Brooks"
}'Долазнo
Details
Подаци:
json
{
"event": "answer",
"from": "493023125741",
"to": "492214710334",
"direction": "in",
"callId": "307fa962-de8d-4ffc-817b-7f6993204159",
"answeringNumber": "emily@fastlane.inc",
"caller": [
"Lauren Brooks",
"Emily Tran"
]
}Одговор:
json
{}Пример цУРЛ команде:
sh
curl --request POST 'https://{FQDN-Zammad}/api/v1/cti/{instance specific token}' \
--header 'Content-Type: application/json' \
--data-raw '{
"event": "answer",
"from": "493023125741",
"to": "492214710334",
"direction": "in",
"callId": "307fa962-de8d-4ffc-817b-7f6993204159",
"answeringNumber": "emily@fastlane.inc",
"caller": ["Lauren Brooks", "Emily Tran"]
}'Прекид позива
Уопштено
eventhangup:- Обавестите Zammad да је позив прекинут.
- Први термин tag1
- Ово је дефиниција првог термина.
to493055571600:- Број који се бира.
directionin:- Смер позива - ако ваш оператер иницира позив, ово ће бити
out. callId53ba82e2bd6d12d9fb2d3838f0cfb070:- ID који је јединствен за позив. Zammad ће користити овај ID за идентификацију постојећег позива при даљим акцијама (нпр. одговарање или прекид).
causeОво дефинише разлог прекида позива. Zammad процењује узрок и приказује нпр. пропуштене позиве у дневнику позиваца. Могуће вредности су:
normalClearing(једна од страна је прекинула везу након успостављања позива)busy(бирена страна је била заузета)cancel(позивач је прекинуо везу пре него што је бирена страна одговорила)noAnswer(бирена страна је одбила позив, нпр. путем DND подешавања)congestion(бирена страна није могла бити достигнута)notFound(бирени број не постоји или бирена страна је ван мреже)forwarded(позив је преусмерен на другу страну)
answeringNumber493055571600:Zammad ће потражити корисника са датом вредношћу, следећи атрибути се процењују редом:
user.phoneuser.loginuser.ifОва вредност је опционална.
Одлазнo
Details
Послат POST-захтев: https://{FQDN-Zammad}/api/v1/cti/{instance specific token}
Подаци:
json
{
"event": "hangup",
"from": "493023125741",
"to": "492214710334",
"direction": "out",
"callId": "f4ebd2be-7b9a-4d58-94c2-eb06a3c2ce76",
"cause": "cancel"
}Одговор:
json
{}Пример цУРЛ команде:
sh
curl --request POST 'https://{FQDN-Zammad}/api/v1/cti/{instance specific token}' \
--header 'Content-Type: application/json' \
--data-raw '{
"event": "hangup",
"from": "493023125741",
"to": "492214710334",
"direction": "out",
"callId": "f4ebd2be-7b9a-4d58-94c2-eb06a3c2ce76",
"cause": "cancel"
}'Долазнo
Details
Подаци:
json
{
"event": "hangup",
"from": "493023125741",
"to": "492214710334",
"direction": "in",
"callId": "2d77882f-68df-40f0-8c62-b642589c00bc",
"answeringNumber": "emily@fastlane.inc",
"cause": "normalClearing"
}Одговор:
json
{}Пример цУРЛ команде:
sh
curl --request POST 'https://{FQDN-Zammad}/api/v1/cti/{instance specific token}' \
--header 'Content-Type: application/json' \
--data-raw '{
"event": "hangup",
"from": "493023125741",
"to": "492214710334",
"direction": "in",
"callId": "307fa962-de8d-4ffc-817b-7f6993204159",
"answeringNumber": "emily@fastlane.inc",
"cause": "normalClearing"
}'