Управление звонкомCall management
ringReady
Ответ The 180 Ringing на входящий INVITE запросresponse to an incoming INVITE request
Code Block |
---|
{
"ringReady": ""
} |
preAnswer
Ответ The 183 Session Progress на входящий INVITE запросresponse to an incoming INVITE request
Code Block |
---|
{
"preAnswer": ""
} |
answer
Ответ 200 Ok на входящий INVITE запросThe 200 OK response to an incoming INVITE request
Code Block |
---|
{
"answer": ""
} |
sipRedirect
Ответ SIP 302 The SIP 302 Moved Temporarily на входящий INVITE запросresponse to an incoming INVITE request
Code Block |
---|
{
"sipRedirect": "sip:foo@end.com"
} |
ringback
Приложение позволяет задать тон КПВ либо медиафайлThe application allows setting the IVR tone or media file.
Code Block |
---|
{
"ringback": {
"all": true,
"call": {
"name": "%(1000,6000,425);loops=-1",
"type": "tone"
},
"hold": {
"id": 10
},
"transfer": {
"name": "%(1000,6000,425);loops=-1",
"type": "tone"
}
}
} |
updateCid
Приложение позволяет изменить значение номера и имени абонентаThe application allows changing the value of the subscriber's number and name.
Code Block |
---|
{
"updateCid": {
"name": "НовыйNew клиентclient",
"number": "8${effective_caller_id_number}"
}
} |
park
Удержание звонка на стороне сервераCall holding on the server side
Code Block |
---|
{
"park": {
"auto": "in",
"lot": "1000-2000",
"name": "myPark"
}
} |
conference
Вход в конференциюJoining a conference Code Block |
---|
{
"conference": {
"flags": [
"audio-always"
],
"name": "CR-$1",
"profile": "video-mcu-stereo"
}
} |
bridge
Инициация Б-канала с дальнейшим соединением с А-каналомInitiation of the B-channel with subsequent connection to the A-channel
Code Block |
---|
{
"bridge": {
"endpoints": [
{
"extension": "1008",
"idle": true,
"type": "user"
},
{
"dialString": "380732327758",
"name": "lifecell_out",
"type": "gateway",
"parameters": {
"origination_caller_id_number": "380732327757",
"sip_h_X-FWD-Original": "${caller_id_number}"
}
}
]
}
} |
hangup
Завершение звонка. В качестве параметра может быть указан код ответа из списка Call termination. The parameter may include a response code from the list Hangup cause
Code Block |
---|
{
"hangup": ""
} |
МедиавзаимодействиеinBandDTMF
Управление inControl of in-band DTMF
Code Block |
---|
{
"inBandDTMF": "start"
} |
flushDTMF
Очистка буфера ввода абонентомClearing the input buffer by the subscriber
Code Block |
---|
{
"flushDTMF": true
} |
playback
Воспроизведение медиафайла с возможностью сохранить ввод абонента в переменнуюPlayback of a media file with the ability to save subscriber input into a variable
Code Block |
---|
{
"playback": {
"files": [
{
"name": "its_${lang}.wav"
}
],
"getDigits": {
"flushDTMF": true,
"max": 4,
"min": 1,
"setVar": "getIVR",
"timeout": 3000,
"tries": 1
}
}
} |
recordFile
Записать медиа в файлRecord media to a file
Code Block |
---|
{
"recordFile": {
"maxSec": 30,
"name": "${uuid}",
"silenceHits": 5,
"terminators": "#",
"type": "mp3",
"voiceMail": true
}
} |
recordSession
Управление записью медиапотока в файлControl of media stream recording to a file
Code Block |
---|
{
"recordSession": {
"action": "start",
"bridged": false,
"followTransfer": true,
"minSec": 2,
"stereo": true,
"type": "mp3"
}
} |
generateLink
Приложение создает публичную ссылку на запись и сохраняет значение в переменнуюThe application generates a public link to the recording and saves the value into a variable.
Code Block |
---|
{
"generateLink": {
"expire": 604800,
"server": "https://dev.webitel.com",
"set": "record_link"
}
} |
Синтез и распознавание речиSpeech synthesis and recognition
tts
Генерация речиSpeech generation Code Block |
---|
{
"tts": {
"language": "rueng-RUENG",
"provider": "google",
"text": "<speak>Ваш<speak> Your номерcontract договораnumber ${usr_selected_prolongation}.</speak>",
"textType": "ssml"
}
} |
getSpeech
Асинхронное распознавание речи
Code Block |
---|
[
{
"set": {
"GOOGLE_DISABLE_BREAK": "true",
"GOOGLE_OFFSET": "14000",
"GOOGLE_SILENCE_THRESHOLD": "100",
"GOOGLE_SPEECH_ALTERNATIVE_LANG": "rueng-RUENG",
"GOOGLE_SPEECH_ENABLE_AUTOMATIC_PUNCTUATION": "true",
"GOOGLE_SPEECH_LANG": "uk-UA"
}
},
{
"playback": {
"files": [
{
"name": "media_file_menu.wav"
},
{
"name": 3500,
"type": "silence"
}
],
"getSpeech": {}
}
},
{
"set": {
"usr_text": "${google_transcript}"
}
}
] |
Работа с очередямиWorking with queues
joinQueue
Постановка абонента в очередьQueueing a subscriber Code Block |
---|
{
"joinQueue": {
"bucket_id": 1,
"priority": 100,
"agent": {
"extension": "1000"
},
"queue": {
"id": 1
},
"ringtone": {
"id": 126,
"type": "wav"
},
"timers": [
{
"actions": [
{
"playback": {
"files": [
{
"name": "hold_акцииpromotions.wav"
}
]
}
}
],
"interval": 1,
"tries": 20
}
],
"transferAfterBridge": {
"id": 2
}
}
} |
joinAgent
Постановка абонента в личную очередь оператораQueueing a subscriber in the operator's personal queue Code Block |
---|
{
"joinAgent": {
"agent": {
"extension": "1008"
},
"bridged": [
{
"log": "request 1C"
}
],
"cancel_distribute": true,
"processing": {
"enabled": true,
"renewal_sec": 5,
"sec": 30
},
"queue_name": "${cc_queue_name}"
}
} |
getQueueAgents
Получить информацию по количеству операторов в зависимости от статуса в очередиRetrieve information about the number of operators depending on their status in the queue.
Code Block |
---|
{
"getQueueAgents": {
"queue": {
"id": 2
} ,
"set": {
"res_count": "count",
"res_offline": "offline",
"res_online": "online",
"res_pause": "pause",
"res_waiting": "waiting"
}
}
} |
getQueueMetrics
Рассчитать показатели по очередиCalculate queue metrics
Code Block |
---|
{
"getQueueMetrics": {
"bucket": null,
"calls": "complete",
"field": "sl",
"lastMinutes": 3800,
"metric": "sl",
"queue": {
"id": 19
},
"set": "varResult",
"slSec": 20
}
} |
ccPosition
Текущая позиция абонента в очередиThe current position of the subscriber in the queue.
Code Block |
---|
{
"ccPosition": {
"set": "pos"
}
} |
ewt
Расчет среднего времени ожидания абонентом в очередиCalculation of the average waiting time for the subscriber in the queue.
Code Block |
---|
{
"ewt": {
"queue_ids": [
8
],
"setVar": "ewt",
"strategy": "puzzle"
}
} |
memberInfo
Найти информацию по абоненту дайлераFind information about the dialer's subscriber Code Block |
---|
{
"memberInfo": {
"bucket_id": 1,
"completed": false,
"destination": "${caller_id_number}",
"name": "Customer Name",
"queue_ids": [
8
],
"set": {
"member_var1": "sum",
"member_var2": "credit"
},
"today": true
}
} |
patchMembers
Изменить информацию по абоненту дайлераModify information about the dialer's subscriber
Code Block |
---|
{
"patchMembers": {
"bucket_id": 1,
"completed": false,
"destination": "${caller_id_number}",
"name": "Customer Name",
"queue_ids": [
8
],
"patch": {
"bucket_id": 2,
"name": "sum",
"priority": "credit",
"ready_at": 2147483647,
"stop_cause": "cancel",
"variables": {
"new_var": "var"
}
},
"today": true
}
} |
callbackQueue
Добавить абонента в оффлайн очередьAdd a subscriber to the offline queue
Code Block |
---|
{
"callbackQueue": {
"agent": {
"id": 67
},
"communication": {
"destination": "${user}",
"type_id": 1
},
"holdSec": 1,
"name": "${from}",
"queue_id": 427,
"variables": {
"DPD": "${user}"
}
}
}, |
confirm
Установка значений до набора абонента дайлеромSetting values before dialing a subscriber
Code Block |
---|
{
"confirm": {
"destination": "00${destination}",
"display": "${agent_extension}",
"export": [
"new_variable"
]
}
} |
cancel
Отмена текущей попытки набора абонента в дайлереCanceling the current attempt to dial a subscriber in the dialer
Code Block |
---|
{
"cancel": {
"description": "do not call",
"export": [
"new_var"
],
"nextDistributeSec": 0,
"stop": false
}
} |
abandoned
Позволяет задать через сколько секунд осуществить следующую попытку набора, а также, задать новое значение для максимального количества наборов абонентаAllows setting the interval in seconds before the next dialing attempt, as well as setting a new value for the maximum number of dialing attempts for the subscriber
Code Block |
---|
{
"abandoned": {
"export": [
"retry"
],
"maxAttempts": 100500,
"waitBetweenRetries": "120"
}
} |
attemptResult
Результат текущей попытки дозвона, после общения оператораThe result of the current dialing attempt after speaking with the operator Code Block |
---|
{
"attemptResult": {
"status": "abandoned",
"stickyDisplay": false,
"readyAt": "",
"description": "",
"waitBetweenRetries": 60
}
} |
retry
В рамках одной попытки совершать звонки из всех ресурсов по очереди, для After schema Предиктивного дайлера Within one attempt, make calls from all resources in sequence, for the After schema of the Predictive Dialer
Code Block |
---|
{
"retry": {
"nextResource": true,
"sleep": 3000
}
} |
lastBridged
Получить информацию по соединениям для липкости звонкаRetrieve information about call stickiness connections.
Code Block |
---|
{
"lastBridged": {
"calls": {
"inbound": "all",
"outbound": "all",
"queue_ids": [
1, 2
]
},
"hours": 24,
"number": "380932327757",
"set": {
"my_ag": "agent_id",
"my_ext": "extension",
"my_q": "queue_id"
}
}
} |
- false - Не учитывать данное направление звонкаDo not consider this call direction
- bridged - Попытки по которым было соединениеAttempts where there was a connection
- attempt - Попытки без соединенияAttempts without a connection
- all - Все попытки