Hierarchy
- VoipWebhookParseResult
Properties
Optional callRecord
Информация о записи звонка.
Если это поле заполнено, то система сохранит запись звонка в ленту связанного элемента приложения. Данные из этого поля используются системой для отображения виджета прослушивания записи звонка в ленте элемента.
async function VoipParseWebhookRequest(request: FetchRequest): Promise<VoipWebhookParseResult> {
const data = JSON.parse(request.body);
return {
callRecord: {
srcPhone: data.srcPhone,
dstPhone: data.dstPhone,
direction: VoipCallDirection.In,
duration: data.duration,
// Данные из этого поля будут доступны в функции VoipGetCallLink.
call: {
link: data.callLink,
},
disposition: VoipCallDisposition.Answered,
}
};
}
async function VoipGetCallLink(callData: any): Promise<string> {
return callData.callLink; // Получаем данные, которые были сохранены в VoipParseWebhookRequest.
}
Optional event
Событие телефонии. Если это поле заполнено, то система отобразит уведомления о звонке связанным пользователям.
async function VoipParseWebhookRequest(request: FetchRequest): Promise<VoipWebhookParseResult> {
const data = JSON.parse(request.body);
return {
event: {
event: VoipWebhookEvent.NotifyStart,
direction: VoipCallDirection.In,
dstPhone: data.dstPhone,
srcPhone: data.srcPhone,
disposition: VoipCallDisposition.Unknown,
};
};
}
Optional response
Если поле заполнено, то клиенту, который выполняет запрос на вебхук, отправляется HTTP-ответ.
async function VoipParseWebhookRequest(request: FetchRequest): Promise<VoipWebhookParseResult> {
return {
response: new HttpResponse()
.status(400)
.content('Hello, world!'),
};
}
Результат парсинга сообщения с вебхука
Данный интерфейс используется в качестве результата функции
VoipParseWebhookRequest
и определяет производимые системой действия по результатам запроса на вебхук модуля телефонии.