This page has been moved to MiiTel Developers. Please see "Outgoing Webhook (call history)" page.
Note that this page will not be updated in the future.
Outgoing Webhook mengirimkan permintaan HTTP ke URL yang dikonfigurasi (server tujuan dari Webhook) setelah berikut ini.
- Ketika analisis suara call history selesai.
- Ketika penelepon memasukkan nomor IVR yang diatur di MiiTel.
- Ketika ada panggilan tak terjawab.
- Ketika tidak ada yang menjawab panggilan keluar.
- Ketika tidak ada yang menjawab panggilan yang dibuat oleh dialer prediktif.
- Ketika tidak ada yang menjawab penerusan panggilan otomatis.
Engineers dapat menggunakan Webhook untuk mengintegrasikan detail call history ke eksternal sistem.
Contents
Cara mengintegrasikan
PENTING
Challenge-Response konfirmasi
- Saat Anda Save pengaturan, tambahkan {'challenge':'hex_token'} ke setting dan payload, dan kirimkan permintaan konfirmasi Challenge-Response ke server yang diatur dalam [URL] (fixed IP address).
- Server tujuan harus mengembalikan value 'hex_token' dengan respons 200 dengan header {'Content-Type':'text/plain'}.
- Log in ke MiiTel Admin.
- Klik Third Party Integration > Outgoing Webhook.
- Klik Add call history integration setting.
- Anda akan mengatur bagian-bagian berikut.
1Name: Masukkan nama dari setting (contoh: nama yang dapat mengenali integrasi ini)
2URL: Masukkan URL (server tujuan Webhook)
3Additional headers: Masukkan header yang ingin Anda tambahkan (JSON format)
Anda akan menambahkan Bearer token atau data autentikasi user untuk autentikasi BASIC.
Contoh: {”Authorization":"Bearer ACCESSTOKEN"}
IMPORTANT
- Anda tidak dapat mengubah 'User-Agent' dan 'Content-Type'. Mereka tidak akan ditampilkan dalam pengaturan ini bahkan jika Anda mengaturnya.
4Additional payload: Masukkan payload yang ingin Anda tambahkan (format JSON)
5Phrases of transcription: Ceklis di sini jika Anda tidak ingin menyertakan frasa hasil speech recognition dalam payload.
6Keywords of transcription: Ceklis di sini jika Anda tidak ingin menyertakan keywords dari hasil speech recognition di payload.
7Source IP address: Ceklis di sini jika Anda ingin source IP address diperbaiki
- MiiTel menggunakan alamat IP sumber berikut untuk mengirim request.
- 18.177.83.94/32
- 35.73.236.241/32
- Jika Anda mengaktifkan ini, request semua call history selama 10 menit terakhir dari call history akan dikirim pada menit ke-0, ke-10, ke-20, ke-30, ke-40, dan ke-50 setiap jam.
- Klik Save.
NOTE
-
Jika konfirmasi tidak dapat dilakukan dengan autentikasi challenge-response, Anda akan melihat pesan kesalahan berikut dan tidak dapat menyimpan pengaturan integrasi.
- Jika Anda tidak menerima challenge value yang benar dari server
- Jika Anda tidak menerima respons untuk jangka waktu tertentu
- Jika Anda tidak menerima challenge value yang benar dari server
Cara mengedit integrasi
- Log in ke MiiTel Admin.
- Klik Third Party Integration > Outgoing Webhook.
- Klik [ ] pada integration setting > Edit.
- Setelah Anda mengedit, klik Save.
Cara menghapus integrasi
- Log in ke MiiTel Admin.
- Klik Third Party Integration > Outgoing Webhook.
- Klik [ ] pada integration setting > Delete.
- Klik Delete.
Kapan Outgoing Webhook mengirimkan HTTP request
- Ketika analisis suara call history selesai.
- Ketika penelepon memasukkan nomor IVR yang diatur di MiiTel.
- Ketika ada panggilan tak terjawab.
- Ketika tidak ada yang menjawab panggilan keluar.
- Ketika tidak ada yang menjawab panggilan yang dibuat oleh dialer prediktif.
- Ketika tidak ada yang menjawab penerusan panggilan otomatis.
HTTP request
Version
- HTTP/1.1
Method
- POST
Header
Key | Description |
---|---|
content-type | application/json; charset=utf-8 |
user-agent | MiiTel-Webhook/v1 |
Payload
Key | Description | ||||
---|---|---|---|---|---|
call |
Call history | ||||
id |
ID of the call history The ID in the following URL (Call history in MiiTel Analytics) https://<Company ID>.miitel.jp/app/calls/<Sequence ID> |
||||
tenant_code |
Company ID | ||||
|
details |
Details of the call history | |||
id |
ID of the call history | ||||
dial_starts_at |
Dial begin time | ||||
dial_answered_at |
Call begin time | ||||
dial_ends_at |
Call end time | ||||
queueing_starts_at |
The time when the incoming call came into the queue. | ||||
queueing_answered_at |
The time the user answered the incoming call that came into the queue or the time when someone answered the call made by the predictive dialer. | ||||
queueing_ends_at |
The time when the incoming call that came into the queue ended or the time when the phone call ended. | ||||
call_type |
Call type |
||||
circuit_number |
Circuit number | ||||
circuit_name |
Circuit name | ||||
from_number |
Phone number of the caller Check "null" for the outgoing call and "circuit_number" for the start of the outgoing call |
||||
to_number |
Phone number of the called person | ||||
previous_id |
Sequence ID of the most recent action ("null" if there are no recent actions) | ||||
dtmf |
IVR push number | ||||
analysis |
Speech evaluation | ||||
score |
Overall score | ||||
tlr |
Talk : Listen ratio |
||||
rally_count |
Number of rallies | ||||
overlap_count |
Number of overlaps | ||||
silence_count |
Number of silences | ||||
participants |
Speaker | ||||
id |
ID of the speaker | ||||
from_to |
FROM: the person who made the call |
||||
name |
Speaker MiiTel username or the contact person name that is registered in Contacts ("null" if the person is not registered in Contacts) |
||||
company_name |
Account name | ||||
analysis |
Voice evaluation | ||||
f0 | Fundamental frequency | ||||
speechrate | Speech rate | ||||
variance | Intonation strength | ||||
filler_count | Number of fillers | ||||
positive_score |
Emotion recognition (positive score) Value: 0 - 1 (max: 1) |
||||
negative_score |
Emotion recognition (negative score) Value: 0 - 1 (max: 1) |
||||
tags |
Call memo | ||||
created_by |
MiiTel user who registered the call memo | ||||
creator_type |
TENANT_USER: Call memo SYSTEM: Automatic call memo |
||||
value |
Call memo fields (value of the registered call memo) | ||||
comments |
Comment | ||||
created_at |
Registration date of the comment | ||||
created_by |
User who registered the comment | ||||
value |
Details of the comment | ||||
keywords |
Keyword appearance | ||||
starts_at |
The time when the keyword appeared (amount of time (sec) after the start of the call) | ||||
participant_id |
ID of the speaker who spoke the keyword (participant > id) | ||||
value |
Value of the keyword | ||||
phrases |
Speech recognition (Without fillers) | ||||
participant_id |
ID of the speaker (participant > id) | ||||
raw |
Speech recognition results of the speaker (original text) | ||||
order | Order number of the speech (0 -) | ||||
phrase | Speech recognition results (summary) | ||||
phrase_nofiller |
Speech recognition results (without fillers) |
||||
start_at | Start time of the speech (amount of time (sec) after the start of the call) | ||||
end_at | End time of the speech (amount of time (sec) after the start of the call) | ||||
filler_num | Number of characters in the speech recognition results (without fillers) | ||||
summary | Speech recognition (summary) The key is the same as details > phrases > raw |
||||
speech_recognition |
Speech recognition | ||||
raw |
Speech recognition in order of the call history (original text) | ||||
summary |
Speech recognition in order of the call history (summary) |
Request sample
Request sample (Anda dapat mengklik tautan ini untuk mengunduh sampel request.)
{
"call": {
"id": "99e2fdb7-845a-46de-8d94-882add220551",
"tenant_code": "miitel-test",
"details": [
{
"id": "99e2fdb7-845a-46de-8d94-882add220551",
"dial_starts_at": "2022-12-21T22:31:56+00:00",
"dial_answered_at": "2022-12-21T22:32:29+00:00",
"dial_ends_at": "2022-12-21T22:33:22+00:00",
"queueing_starts_at": null,
"queueing_answered_at": null,
"queueing_ends_at": null,
"call_type": "OUTGOING_CALL",
"circuit_number": "8330000000",
"circuit_name": "8330000000",
"from_number": null,
"to_number": "4800000000",
"previous_id": null,
"dtmf": "0",
"analysis": {
"score": 29.67924528301887,
"tlr": 0.5575,
"rally_count": 5,
"overlap_count": 0,
"silence_count": 1,
"silence_positions": [[9.43,13.38]],
"overlap_positions": []
},
"participants": [
{
"id": "018536d0-9363-8e82-fcce-bc2a7098f830",
"from_to": "FROM",
"name": "Edgardo",
"company_name": null,
"analysis": {
"f0": 103.9616,
"speechrate": 11.0932,
"variance": 14.5887,
"filler_count": 0,
"positive_score": 0,
"negative_score": 0
}
},
{
"id": "018536d0-9363-768c-2a6b-e145d790bdb6",
"from_to": "TO",
"name": null,
"company_name": null,
"analysis": {
"f0": 182.7321,
"speechrate": 14.249,
"variance": 17.7925,
"filler_count": 0,
"positive_score": 0,
"negative_score": 0
}
}
],
"tags": [
{
"created_by": "Edgardo",
"creator_type": "TENANT_USER",
"value": "Left Message"
}
],
"comments": [],
"keywords": [
{
"starts_at": 1,
"participant_id": "018536d0-9363-768c-2a6b-e145d790bdb6",
"value": "call"
},
{
"starts_at": 29,
"participant_id": "018536d0-9363-8e82-fcce-bc2a7098f830",
"value": "call"
}
],
"phrases": [
{
"participant_id": "018536d0-9363-8e82-fcce-bc2a7098f830",
"raw": [
{
"order": 2,
"phrase": "Hello. My name is Eddie and I'm calling you from Midtown and this message is for Mark.",
"phrase_nofiller": "Hello. My name is Eddie and I'm calling you from Midtown and this mess",
"start_at": 18,
"end_at": 23.235,
"filler_num": 0
},
{
"order": 3,
"phrase": "I'm just calling in to follow up on an email that I sent to you earlier.",
"phrase_nofiller": "I'm just calling in to follow up on an email that I sent ",
"start_at": 23.695,
"end_at": 28.615,
"filler_num": 0
},
{
"order": 4,
"phrase": "And if you can, please call me at 8:33.",
"phrase_nofiller": "And if you can, please call me ",
"start_at": 29.275,
"end_at": 32.32,
"filler_num": 0
},
{
"order": 5,
"phrase": "000.",
"phrase_nofiller": "000.",
"start_at": 32.775,
"end_at": 34.06,
"filler_num": 0
},
{
"order": 6,
"phrase": "0000.",
"phrase_nofiller": "0000.",
"start_at": 34.39,
"end_at": 36.075,
"filler_num": 0
},
{
"order": 7,
"phrase": "That is 8334 m.",
"phrase_nofiller": "That is 8334",
"start_at": 36.62,
"end_at": 39.16,
"filler_num": 0
},
{
"order": 8,
"phrase": "Thanks. And I'm looking forward to speaking with you soon.",
"phrase_nofiller": "Thanks. And I'm looking forward to speaking with ",
"start_at": 39.535,
"end_at": 42.455,
"filler_num": 0
}
],
"summary": [
{
"order": 2,
"phrase": "Hello. My name is Eddie and I'm calling you from Midtown and this message is for Mark.",
"phrase_nofiller": "Hello. My name is Eddie and I'm calling you from Midtown and this mess",
"start_at": 18,
"end_at": 23.235,
"filler_num": null
},
{
"order": 3,
"phrase": "I'm just calling in to follow up on an email that I sent to you earlier.",
"phrase_nofiller": "I'm just calling in to follow up on an email that I sent ",
"start_at": 23.695,
"end_at": 28.615,
"filler_num": null
}
]
},
{
"participant_id": "018536d0-9363-768c-2a6b-e145d790bdb6",
"raw": [
{
"order": 0,
"phrase": "Hello, you've reached Arizona. Backyard custom, please leave a message. We will call you back as soon as possible. Thank you.",
"phrase_nofiller": "Hello, you've reached Arizona. Backyard custom, please leave a message. We will call you back as soon as p",
"start_at": 1.05,
"end_at": 8.14,
"filler_num": 0
},
{
"order": 1,
"phrase": "At the tone, please record your message. When you have finished recording, you may hang up or press one for more options.",
"phrase_nofiller": "At the tone, please record your message. When you have finished recording, you may hang up or press o",
"start_at": 10.7,
"end_at": 17.225,
"filler_num": 0
}
],
"summary": [
{
"order": 0,
"phrase": "Hello, you've reached Arizona. Backyard custom, please leave a message. We will call you back as soon as possible. Thank you.",
"phrase_nofiller": "Hello, you've reached Arizona. Backyard custom, please leave a message. We will call you back as soon as p",
"start_at": 1.05,
"end_at": 8.14,
"filler_num": null
},
{
"order": 1,
"phrase": "At the tone, please record your message. When you have finished recording, you may hang up or press one for more options.",
"phrase_nofiller": "At the tone, please record your message. When you have finished recording, you may hang up or press o",
"start_at": 10.7,
"end_at": 17.225,
"filler_num": null
}
]
}
],
"speech_recognition": {
"raw": "0:01 (Customer) Hello, you've reached Arizona. Backyard custom, please leave a message. We will call you back as soon as p\n0:10 (Customer) At the tone, please record your message. When you have finished recording, you may hang up or press o\n0:18 (Operator) Hello. My name is Eddie and I'm calling you from Midtown and this mess\n0:23 (Operator) I'm just calling in to follow up on an email that I sent \n0:29 (Operator) And if you can, please call me \n0:32 (Operator) 000.\n0:34 (Operator) 0000.\n0:36 (Operator) That is 8334\n0:39 (Operator) Thanks. And I'm looking forward to speaking with ",
"summary": "0:01 (Customer) Hello, you've reached Arizona. Backyard custom, please leave a message. We will call you back as soon as p\n0:10 (Customer) At the tone, please record your message. When you have finished recording, you may hang up or press o\n0:18 (Operator) Hello. My name is Eddie and I'm calling you from Midtown and this mess\n0:23 (Operator) I'm just calling in to follow up on an email that I sent "
}
}
]
},
"params_key": "z&aH+&Kz8saC"
}