Добро пожаловать, мы подготовили для вас набор необходимых инструментов и базовых правил для работы с нашим API.
Создать интеграцию с помощью веб хуков
Структура Базовых событий:
ВАТС : начало входящего звонка
Тип события:
ВАТС: Начало входящего звонка
Время события:
01.01.2026, 00:00:00
Данные события:
ivrSchemaId: 0000
userEventType: "VpbxInboundCallStart"
channel: "SIP"
privilege: "user,all"
exten: "s"
channelState: 4
callerIdNum: 40000000000
systemName: 123
dateReceived: "Yan 01, 2026, 0:00:00 PM"
context: "signal-vpbx-inbound-call"
callerID: 40000000000
event: "VpbxInboundCallStart"
timestamp: 1765978000
callId: "000-0000000000.00000000"
linkedId: "000-0000000000.00000000"
callerNumber: 40000000000
dateReceivedAtUTC: "2026-01-01 00:00:00.721211"
eventType: "VpbxInboundCallStart"
priority: 3
accountId: 000000
channelStateDesc: "Ring"
callerIdName: 431200000000
did: 70000000000
uniqueId: "000-0000000000.00000000"
vpbxId: 0000ВАТС : начало исходящего звонка
Тип события:
ВАТС: Начало исходящего звонка
Время события:
01.01.2026, 00:00:00
Данные события:
originateData: ""
connectedLineNum: 40000000000
userEventType: "VpbxOutgoingStart"
channel: "SIP"
privilege: "user,all"
exten: "s"
channelState: 0
isRedirect: 1
callerIdNum: "s"
systemName: 123
dateReceived: "Yan 01, 2026, 0:00:00 PM"
context: "signal-outgoing-call"
event: "VpbxOutgoingStart"
calledNumber: 40000000000
timestamp: 1765970000
callId: "000-0000000000.00000000"
linkedId: "000-0000000000.00000000"
connectedLineName: 40000000000
dateReceivedAtUTC: "2026-01-01 00:00:00.048139"
eventType: "VpbxOutgoingStart"
internalNumber: 000
priority: 11
accountId: 000000
callback: 0
channelStateDesc: "Down"
did: 40000000000
uniqueId: "000-0000000000.00000000"
vpbxId: 0000ВАТС : завершение входящего звонка
Тип события:
ВАТС: Завершение входящего звонка
Время события:
01.01.2026, 00:00:00
Данные события:
ivrSchemaId: 00000
userEventType: "VpbxInboundCallEnd"
channel: "SIP"
privilege: "user,all"
transcribationLanguage: ""
exten: "s"
channelState: 6
duration: 2
callerIdNum: 40000000000
file: ""
systemName: 123
dateReceived: "Yan 01, 2026, 0:00:00 PM"
record: 0
InternalNumber: ""
transcribationProvider: ""
transcribation: ""
context: "signal-vpbx-inbound-call-end"
schemaBillsec: 0
callerID: 40000000000
event: "VpbxInboundCallEnd"
billsec: 0
timestamp: 1765970000
callId: "000-0000000000.00000000"
linkedId: "000-0000000000.00000000"
answered: 0
callerNumber: 40000000000
dateReceivedAtUTC: "2026-01-01 00:00:00.520961"
eventType: "VpbxInboundCallEnd"
priority: 40
firstAnswer: false
accountId: 00000
durationWaiting: 2
queueName: ""
time: "00:00:00"
coreUserId: ""
channelStateDesc: "Up"
callerIdName: 40000000000
did: 40000000000
uniqueId: "000-0000000000.00000000"
queue: ""
vpbxId: 00000ВАТС : завершение исходящего звонка
Тип события:
ВАТС: Завершение исходящего звонка
Время события:
01.01.2026, 00:00:00
Данные события:
connectedLineNum: 40000000000
userEventType: "VpbxOutgoingEnd"
callBack: 0
channel: "SIP"
privilege: "user,all"
transcribationLanguage: ""
exten: "s"
channelState: 5
answerList:{0000: true
},duration: 8
isRedirect: 1
hangupCauseCode: 16
callerIdNum: 40000000000
file: "20260101-00000-0000-70000000000-000000000000000000000"
systemName: 123
dateReceived: "Yan 01, 2026, 0:00:00 PM"
record: 1
transcribationProvider: ""
transcribation: ""
context: "signal-outgoing-hangup-handler"
event: "VpbxOutgoingEnd"
calledNumber: 40000000000
billsec: 0
timestamp: 1765900000
callId: "000-0000000000.00000000"
linkedId: "000-0000000000.00000000"
answered: 0
connectedLineName: 40000000000
dateReceivedAtUTC: "2026-01-01 00:00:00.432797"
eventType: "VpbxOutgoingEnd"
internalNumber: 0000
priority: 16
firstAnswer: false
accountId: 0000
durationWaiting: 8
coreUserId: ""
channelStateDesc: "Ringing"
did: 40000000000
uniqueId: "000-0000000000.00000000"
vpbxId: 00000
Структура событий очереди:
Начало звонка в очереди
Тип события:
Начало звонка в очереди
Время события:
01.01.2026, 00:00:00
Данные события:
linkedid: "000-0000000000.00000000"
cid_num: 40000000000
eventtime: 1765975061680000
peeraccount: ""
eventType: "QUEUE_LINK_START"
exten: "s"
accountId: 000000
userdeftype: "QUEUE_LINK_START"
appname: "CELGenUserEvent"
userfield: 00000
cid_rdnis: ""
peer: ""
cid_dnid: 40000000000
extra:
{callid: "000-0000000000.00000000"
queue_name: "Название Вашей очереди"
queue: 000
queue_id: 000000
scenario_id: 00000
},
cid_ani: 40000000000
context: "queue"
cid_name: 40000000000
channame: "SIP"
eventtype: "QUEUE_LINK_START"
id: 939970000
amaflags: 36
accountcode: 000000
uniqueid: "000-0000000000.00000000"
Завершение звонка в очереди
Тип события:
Завершение звонка в очереди
Время события:
01.01.2026, 00:00:00
Данные события:
linkedid: "000-0000000000.00000000"
cid_num: 40000000000
eventtime: 1765886885800000
peeraccount: ""
eventType: "QUEUE_LINK_END"
exten: "h"
accountId: 000000
userdeftype: "QUEUE_LINK_END"
appname: "CELGenUserEvent"
userfield: 00000
cid_rdnis: ""
peer: ""
cid_dnid: 40000000000
extra:
{callid: "000-0000000000.00000000"
queue_name: "Название Вашей очереди"
queue: 000
queue_id: 000000
scenario_id: 000000
status: "LOST"
},
cid_ani: 40000000000
context: "queue"
cid_name: 40000000000
channame: "SIP"
eventtype: "QUEUE_LINK_END"
id: 9378000000
amaflags: 35
accountcode: 000000
uniqueid: "000-0000000000.00000000"Начало звонка на абонента в очереди
Тип события:
Начало звонка на абонента в очереди
Время события:
01.01.2026, 00:00:00
Данные события:
callId: "000-0000000000.00000000"
queueId: null
answered: 0
callerNumber: 40000000000
dateReceivedAtUTC: "2026-01-01 00:00:00.434168"
eventType: "QueueCallEnd"
startGeneralTime: 1765900000
internalNumber: 000
duration: 45
accountId: 000000
durationWaiting: 45
file: 0
queueName: "Название Вашей очереди"
record: 0
billsec: 0
did: 40000000000
uniqueID: "000-0000000000.00000000"
queue: 000
whoAnswered: false
timestamp: 17659000000
vpbxId: 00000Завершение звонка на абонента в очереди
Тип события:
Завершение звонка на абонента в очереди
Время события:
01.01.2026, 00:00:00
Данные события:
callId: "000-0000000000.00000000"
queueId: null
answered: 0
callerNumber: 40000000000
dateReceivedAtUTC: "2026-01-01 00:00:00.434168"
eventType: "QueueCallEnd"
startGeneralTime: 1765970000
internalNumber: 000
duration: 45
accountId: 00000
durationWaiting: 45
file: 0
queueName: "Название Вашей очереди"
record: 0
billsec: 0
did: 40000000000
uniqueID: "000-0000000000.00000000"
queue: 000
whoAnswered: false
timestamp: 1765970000
vpbxId: 00000
Структура других событий:
Готовность файла записи звонка
Тип события:
Готовность файла записи разговора
Время события:
01.01.2026, 00:00:00
Данные события:
callId: "000-0000000000.00000000"
accountId: 000000
fileName: "20260101-160000-40000000000-40000000000-000000000000000000000"
data:
{callId: "000-0000000000.00000000"
fileName: "20260101-160000-40000000000-40000000000-000000000000000000000"
eventVersion: 2
numA: 40000000000
type: "call"
transcribationLanguage: ""
eventTs: 17659782000000
numB: 40000000000
objectType: ""
accountId: 000000
objectNum: ""
transcribationProvider: ""
transcribation: 0
eventName: "record_upload_done"
vpbxId: 00000
},
eventType: "record_upload_done"
id: "590bff05-0f9b-4205-8312-1d431d8000000"
type: "external_event"
vpbxId: 00000ВАТС: Реплика элемента: 'Вопрос-Ответ'
Тип события:
ВАТС: Реплика элемента: 'Вопрос-Ответ'
Время события:
01.01.2026, 00:00:00
Данные события:
linkedid: "000-0000000000.00000000"
link_uniqueid_term: "000-0000000000.00000000-1765970000-3"
speechkit_id: 0000
speechkit_dialog_id: 0000000
eventType: "SpeechKitDialog"
dialog_value: ""
server_id: 32
accountId: 000000
vpbx_id: 00000
number: 40000000000
account_id: 000000
dialog_type: "answer"
uniqueid: "000-0000000000.00000000"
event_time: "2026-01-01T00:00:00.918152Z"
did: 740000000000
vpbxId: 00000
Как создать веб хук по API
- В верхнем меню перейдите в раздел 'Интеграции' → вкладка 'Методы API';
- В меню слева выберите 'Интеграции';
Находим Webhooks methods : /webhook/get
/webhook/create
{
"name":"New webhook",
"url":"<https://example.ru>",
"method":"get",
"headers": {},
"body":null,
"query": {
"from":"John",
"to":"To ${{contact_name}}"
},
"logic": {},
"event_id":1,(Обязательный параметр) Все методы можнопосмотреть здесь/event/get
"is_retriable":false,
"bodyDataType":"json",
"filter_id":1,
"allVariables":true,
"ignore_response":false
}
/webhook/update /webhook/duplicate Так же для создания веб хуков по API вам понадобится API токен, он находится в разделе 'Интеграции и API v2.0' → вкладка 'Токены'.
- В меню слева выберите 'Интеграции';
Частые вопрос про токены (Api ключ)
API-токен (или API key) — это уникальный идентификатор, который используется для аутентификации и авторизации при доступе к API (Application Programming Interface — программный интерфейс приложения).
Токен может видеть сотрудник в роли Администратора или Владельца аккаунта
Токен привязан к сотруднику и договору (если у пользователя много договоров можно сделать нужный договор по умолчанию (нажмите на звездочку перед договором) и тогда в нем появится токен.
Как вызвать токен с ЛС не по умолчанию
key - x-account-id — Название переменной; value — Номер аккаунта в котором должна пройти авторизация. Если в хедере передать номер аккаунта то авторизация произойдёт в нём , если хедер пустой авторизация будет в аккаунте по-умолчанию (где звездочка)
Пример curl:
curl --location 'https://integration.kompaas.tech/api/protected/api/integration/config/get?config_id=####' \ --header 'accept: application/json' \ --header 'Content-Type: application/json' \ --header 'Sec-Fetch-Mode: cors' \ --header 'x-account-id: ######' \ --header 'Authorization: Bearer ' \ --data ''
Общие вопросы и полезные ссылки
Если у Вас остались вопросы связанные с интеграцией или возникли проблемы при создании интеграции можете обратиться по номеру +43 1 412 00 99 или на почту support@kompaas.tech.
Статья помогла?
Отлично!
Спасибо за ваш отзыв
Извините, что не удалось помочь!
Спасибо за ваш отзыв
Комментарий отправлен
Мы ценим вашу помощь и постараемся исправить статью