Веб-хуки — это «пользовательские обратные вызовы по HTTP». Обычно они запускаются каким-либо событием, например, переводом звонка на другого внутреннего абонента или входящим звонком на виртуальную АТС. Когда происходит это событие, исходный сайт отправляет HTTP-запрос на URL-адрес, указанный для веб-хука. Пользователи могут настроить их так, чтобы события на одном сайте вызывали действия на другом.
Чтобы создать Веб-хук на сайте MCN Telecom, нужно перейти во вкладку «Интеграции» -> «Веб-хуки».
Обратите внимание, что при POST запросе в теле нужно передавать параметры в формате JSON: {параметр1: ${{параметр1}}, параметр2: ${{параметр2}}}
Переменные следует писать через знак доллара и фигурные скобки ${{}}.
На нашем сайте Веб-хуки можно разбить по подгруппам.
Переадресация звонка на внешний номер: начало, ответ и конец
FwCallStart
CallerID: ${ARG1},
InternalNumber: ${ARG2},
AccountId: ${ARG3},
VpbxId: ${ARG4},
CallId: ${call_id},
Did: ${ARG6},
Dest: ${dest},
TimeStamp: ${EPOCH}
FwCallAnswer
CallerID: ${ARG1},
InternalNumber: ${ARG2},
AccountId: ${ARG3},
VpbxId: ${ARG4},
CallId: ${call_id},
Did: ${ARG6},
Dest: ${dest},
Record: ${ARG8},
TimeStamp: ${EPOCH})
FwCallEnd
CallerID: ${ARG1},
InternalNumber: ${ARG2},
AccountId: ${ARG3},
VpbxId: ${ARG4},
CallId: ${ARG5},
Answered: ${answered},
Did: ${ARG6},
Dest: ${ARG7},
Record: ${record},
Billsec: ${billsec},
File: ${ARG9},
TimeStamp: ${EPOCH}
Переадресация звонка в телефонии
DIDFwCallStart
CallerID: ${ARG1},
AccountId: ${ARG2},
CallId: ${ARG3},
Did: ${ARG4},
Dest: ${dest},
TimeStamp: ${EPOCH}
DIDFwCallEnd
CallerID: ${ARG1},
AccountId: ${ARG2},
CallId: ${ARG3},
Answered: ${answered},
Did: ${ARG4},
Dest: ${ARG5},
TimeStamp: ${EPOCH}
Входящий звонок VPBX начало и конец
VpbxInboundCallStart
CallerID: ${ARG1},
Did: ${ARG2},
AccountId: ${ARG3},
VpbxId: ${ARG4},
CallId: ${ARG5},${call_type_params},
TimeStamp: ${EPOCH}
VpbxInboundCallEnd
CallerID: ${ARG1},
Did: ${ARG2},
AccountId: ${ARG3},
VpbxId: ${ARG4},
CallId: ${ARG5},
Answered: ${answered},
Billsec: ${billsec},
File: ${rec_filename},${call_type_params},
TimeStamp: ${EPOCH}
Звонок НА внутренний номер VPBX — начало, ответ и конец
PhoneCallStart
CallerID: ${ARG1},
InternalNumber: ${ARG2},
AccountId: ${ARG3},
VpbxId: ${ARG4},
CallId: ${call_id},
Did: ${ARG6},
TimeStamp: ${EPOCH}
PhoneCallAnswer
CallerID: ${ARG1},
InternalNumber: ${ARG2},
AccountId: ${ARG3},
VpbxId: ${ARG4},
CallId: ${call_id},
Did: ${ARG6},
Record: ${ARG7},
TimeStamp: ${EPOCH}
PhoneCallEnd
CallerID: ${ARG1},
InternalNumber: ${ARG2},
AccountId: ${ARG3},
VpbxId: ${ARG4},
CallId: ${ARG5},
Answered: ${answered},
Did: ${ARG6},
Record: ${record},
Duration: ${duration},
Billsec: ${billsec},
File: ${ARG8},
TimeStamp: ${EPOCH}
Перевод звонка с внутреннего номера
PhoneTransferStart
CallerID: ${CALLERID(num)},
TransfereeCallerID: ${TransfereeCallerId},
Dest: ${BNumber},
AccountId: ${AccountID},
VpbxId: ${VpbxID},
CallId: ${UniqueIdOrigin},
TimeStamp: ${EPOCH}
Ответ в очереди и завершение
QueueCallAnswer
CallerID: ${q_calleridnum},
InternalNumber: ${MEMBERNAME},
AccountId: ${AccountID},
VpbxId: ${VpbxID},
CallId: ${call_id},
Did: ${CalledNum},
Queue: ${q_queue_number},
TimeStamp: ${EPOCH}
QueueCallEnd
CallerID: ${ARG1},
InternalNumber: ${ARG2},
AccountId: ${ARG3},
VpbxId: ${ARG4},
CallId: ${ARG5},
Did: ${ARG6},
Answered: 1,
Record: ${ARG7},
Billsec: ${billsec},
File: ${ARG8},
TimeStamp: ${EPOCH}
Результата распознавания речи
SpeechResult
CallerID: ${src_num},
AccountId: ${AccountID},
VpbxId: ${VpbxID},
CallId: ${UNIQUEID},
Did: ${dst_num},
Rsid: ${FAXOPT(remotestationid)},
Pages: ${FAXOPT(pages)},
Speed: ${FAXOPT(rate)},
Ecm: ${FAXOPT(ecm)},
Result: ${FAXOPT(status)},
TimeStamp: ${EPOCH}
Исходящие звонки с VPBX
VpbxOutgoingStart
InternalNumber: ${int_number},
CalledNumber: ${ARG2},
AccountId: ${ARG3},
VpbxId: ${ARG4},
CallId: ${call_id},
Did: ${ARG6},
IsRedirect: ${is_redirect},
CallBack: ${is_webcall},
OriginateData: ${ARG11},
${robocall_params},
${call_type_params},
TimeStamp: ${EPOCH}
VpbxOutgoingAnswer
InternalNumber: ${int_number},
CalledNumber: ${ARG2},
AccountId: ${ARG3},
VpbxId: ${ARG4},
CallId: ${call_id},
Did: ${ARG6},
Record: ${record},
IsRedirect: ${is_redirect},
CallBack: ${is_webcall},${robocall_params},${call_type_params},
TimeStamp: ${EPOCH}
VpbxOutgoingEnd
InternalNumber: ${ARG1},
CalledNumber: ${ARG2},
AccountId: ${ARG3},
VpbxId: ${ARG4},
CallId: ${ARG5},
Did: ${ARG6},
Answered: ${answered},
Record: ${record},
Duration: ${duration},
Billsec: ${billsec},
IsRedirect: ${ARG8},
CallBack: ${ARG9},
File: ${ARG10},
HangupCauseCode: ${HANGUPCAUSE},${robocall_params},${call_type_params},
TimeStamp: ${EPOCH}
Исходящие звонки с телефонии
OutgoingStart
CalledNumber: ${ARG2},
AccountId: ${ARG3},
CallId: ${ARG5},
Did: ${ARG6},
TimeStamp: ${EPOCH}
OutgoingAnswer
CalledNumber: ${ARG2},
AccountId: ${ARG3},
CallId: ${ARG5},
Did: ${ARG6},
Record: ${record},
TimeStamp: ${EPOCH}
OutgoingEnd
CalledNumber: ${ARG2},
AccountId: ${ARG3},
CallId: ${ARG5},
Did: ${ARG6},
Answered: ${answered},
Record: ${record},
HangupCauseCode: ${HANGUPCAUSE},
TimeStamp: ${EPOCH}
Входящий звонок в телефонии — начало и конец
InboundCallStart
AccountId: ${AccountID},
ObjectType: ${ARG2},
ObjectId: ${ARG1},
Did: ${CalledNum},
CallerID: ${CallingNum},
CallId: ${CHANNEL(uniqueid)},
TimeStamp: ${EPOCH}
InboundCallEnd
AccountId: ${AccountID},
ObjectType: ${ARG2},
ObjectId: ${ARG1},
Did: ${CalledNum},
CallerID: ${CallingNum},
CallId: ${CHANNEL(uniqueid)},
TimeStamp: ${EPOCH}
Сообщение в чате
ChatMessage
ChatUID:${EXTEN},
Base64Body:${BASE64_ENCODE(${MESSAGE(body)})}
Переадресация настроенная на внутреннем номере
PhoneFwStart
CallerID: ${ARG1},
InternalNumber: ${ARG2},
AccountId: ${ARG3},
VpbxId: ${ARG4},
CallId: ${ARG5},
Did: ${ARG6},
ForwardedBy: ${ARG9},
TimeStamp: ${EPOCH}
PhoneFwAnswer
CallerID: ${ARG1},
InternalNumber: ${ARG2},
AccountId: ${ARG3},
VpbxId: ${ARG4},
CallId: ${call_id},
Did: ${ARG6},
Record: ${ARG7},
ForwardedBy: ${ARG9},
TimeStamp: ${EPOCH}
PhoneFwEnd
CallerID: ${ARG1},
InternalNumber: ${ARG2},
AccountId: ${ARG3},
VpbxId: ${ARG4},
CallId: ${ARG5},
Answered: ${answered},
Did: ${ARG6},
Record: ${record},
Duration: ${duration},
Billsec: ${billsec},
File: ${ARG8},
ForwardedBy: ${ARG9},
TimeStamp: ${EPOCH}
Robocall
VpbxRobocallObject
CalledNumber: ${client_number},
AccountId: ${AccountID},
VpbxId: ${VpbxID},
CallId: ${orig_uniqueid},
ObjectType: ${object_type},
ObjectId: ${object_id},
OriginateData: ${OriginateData},
RobocallId: ${RobocallId},
TaskId: ${TaskId},
TaskContactsId: ${task_contacts_id},
TimeStamp: ${EPOCH}
VpbxRobocallClient
CalledNumber: ${client_number},
AccountId: ${AccountID},
VpbxId: ${VpbxID},
CallId: ${UNIQUEID},
DidId: ${from_did_id},
OriginateData: ${OriginateData},
TimeStamp: ${EPOCH}