API istifadə etməklə VirtualATS ilə inteqrasiya

VirtualATS-ə sorğular
Dövr üzrə zəng siyahısının tələb edilməsi

URL

https://web.vats.az/vats/api/callRecord/history

Metod

GET

Parametrlər

from (mütləq deyil) – "ddMMyyyyHHmmssZ" formatında intervalın başlanğıc tarixi
to (mütləq deyil) - "ddMMyyyyHHmmssZ" formatında intervalın bitmə tarixi
offset (mütləq deyil, qeyd edilmədikdə nəticə = 0) – təqdim edilməyəcək nəticədə sayı
limit (mütləq deyil, qeyd edilmədikdə nəticə = 50) – maksimal nəticə sayı. 1000-dən çox ola bilməz.
order (mütləq deyil,qeyd edilmədikdə = asc) – nəticələrin çeşidlənməsi
direction (mütləq deyil) – zəng istiqaməti
disposition (mütləq deyil) – zəng statusu

Neticə

Obyektlərin massiv görünüşü:
{
“callDate”: "1.01.2019 10:05:36+0300",
“callerId”: "Azerizone  <994124886606>",
“callId”: "3489655c982f4e46b9c9ca975b031781",
“source”: "994123102255",
“destination”: "994123102266",
“answeredNumber”: "100",
“duration”: "75",
“talkTime”: "50",
“direction”: "INBOUND",
“disposition”: "ANSWERED",
“recordConversation”: "https://web.vats.az/vats/api/storageFile/download/12345"
}
izahı:
● callDate – "d.MM.yyyy HH:mm:ssZ" formatında zəngin tarixi və vaxtı
● callerId - zəng edənin Caller ID-si
● callId – zəngin ID-si, zəngin unikal identifikasiya kodu
● source – zəng edən nömrə
● destination – zəng daxil olan nömrə
● answeredNumber – zəngə cavab verən daxili nömrə
● duration – saniyələrlə zəng müddəti
● talkTime – saniyələrlə danışıq müddəti
● direction – zəngin istiqaməti
 ○ Gələn zənglər = INBOUND
 ○ çıxan zənglər  = OUTBOUND
● disposition – zəng statusları
○ zəng edilir = RING
○ cavablandırılmış zəng= ANSWERED
○ zəngə cavab verilmədi = NO_ANSWERED
○ xəta baş verdi = FAILED
○ məşğul = BUSY
● recordConversation – danışıq səs faylını  yükləmək üçün URL

Nəticə siyahısı cavabdakı icazə başlıqındakı imzanı hesablamaq üçün istifadə olunur.

Misal

2019-cu ilin yanvar ayı üçün məlumatların əldə edilməsi (tarixə görə ən kiçikdən böyüyə qədər sıralanan ilk 100 qeyd)
https://web.vats.az/vats/api/callRecord/history?from=01012019000000%2B0300&to=31012019235
959%2B0300&offset=0&limit=100&order=asc

2019-cu ilin 10 Fevral - 15 Mart tarixləri üçün məlumatların əldə edilməsi (ilk 100 qeydi buraxmaqla 200 yazı və tarixə görə əvvəldən axıradək sıralanmışdır):
https://web.vats.az/vats/api/callRecord/history?from=10022019000000%2B0300&to=15032019235
959%2B0300&offset=100&limit=200&order=desc

Daxili nomrələri və onların statusunu tələb etmək:

URL

https://web.vats.az/vats/api/account/list

Metod

GET

Nəticə

Obyektlərin massiv görünüşü:
{
“number”: "100”,
“callerId”: "Mamed <100>”,
“status”: "ONLINE”
}
İzahı:
● number – daxili nömrə
● callerId – istifadəçi nömrəsinin Caller ID-si
● status – istifadəçinin daxili nömrənin statusu:
○  aktiv = ONLINE
○  aktiv deyil = OFFLINE
○  qoşulmayıb = DISCONNECTED
○  izlənilmir= UNMONITORED

 

Misal

https://web.vats.az/vats/api/account/list

Nəticə:
[
{
“number”: "100”,
“callerId”: "Mamed <100>”,
“status”: "ONLINE”
},
{
“number”: "101”,
“callerId”: "Əli  <101>”,
“status”: "OFFLINE”
}
]

Qeydə alınmış danışıqların səs fayllarının əldə edilməsi


URL

https://web.vats.az/vats/api/storageFile/download/{id
və yaxud
https://web.vats.az/vats/api/storageFile/download/{id}?vats-authentication={authentication }
URL, zəng tarixçəsi və ya zəng bildiriş obyektindəki recordConversation sahəsi tərəfindən təyin edilir.
İcazə parametri başlıqda və ya tələb parametrində ötürülə bilər. Birincisi
başlıq yoxlanılır və əgər olmadıqda sorğu parametri yoxlanılır.

Metod

GET

Parametrlər

{id} – Danışıq səsləri üçün İD fayl
Bu parametr, sorğuda icazə başlığındakı imzanı hesablamaq üçün istifadə olunur.
{authentication} - строка авторизации

Nəticə

Audio fayllar yığımı

Misal

https://web.vats.az/vats/api/storageFile/download/12345
https://web.vats.az/vats/api/storageFile/download/12345?vats-authentication=1234567%3A348965
5c982f4e46b9c9ca975b031781

 

VirtualATS komandaları
Asinxron rejimdə zəng etmək.
Bu sorğu zəng sorğusunu yaratdıqdan dərhal sonra            zəngin İD-sini yaradaraq geri qaytarır.


URL

https://web.vats.az/vats/api/call/originate

Metod

GET

Parametrler

to – zəngin ediləcəyi nömrə
number – zəng edən daxili nömrə
defaultNumber – number parametrində yanlış göstərildiyi təqdirdə istifadə olunan daxili nömrə

Nəticə

Obyektin görünüşü:
{
“value”: “3489655c982f4e46b9c9ca975b031781”
}
harda:
● value - zəngin ID-si

Misal

https://web.vats.az/vats/api/call/originate?to=0124886606&number=102&defaultNumber=100

Sinxron rejimdə gedən zənglər
Bu sorğu zəng etdikdən sonra zəng nömrəsini qaytarır.


URL

https://web.vats.az/vats/api/call/create

Metod

GET

Parametrlər

to – zəngin ediləcəyi nömrə
number – zəng üçün daxili nömrə
defaultNumber - parametr nömrəsi yalnış göstərildiyi təqdirdə istifadə olunan daxili nömrə

Nəticə

Obyektin görünüşü:
{
“value”: “3489655c982f4e46b9c9ca975b031781”
}
harada:
● value - ID zəng

Misal

https://web.vats.az/vats/api/call/create?to=994557967473&number=102&defaultNumber=100

Zəngi bitirmək


URL

https://web.vats.az/vats/api/call/hangup/{callId}

Metod

GET

Parametrlər

{callId} – zəngin ID-si
Bu parametr, sorğuda icazə başlığındakı imzanı hesablamaq üçün istifadə olunur.

Misal

https://web.vats.az/vats/api/call/hangup/3489655c982f4e46b9c9ca975b031781

 

VirtualATS hadisələri
Zənglərin CRM sistemə inteqrasiyası


URL

CRM tərəfindən göstərilmiş URL

Metod

POST

Parametrlər

Obyekt
{
“apiKey”: “1234567890abcdef”
“callDate”: "1.01.2019 10:05:36+0300",
“callerId”: "Hüseyn  <994557967473>",
“callId”: "3489655c982f4e46b9c9ca975b031781",
“source”: "994557967473",
“destination”: "994124886606",
“answeredNumber”: "100",
“duration”: "75",
“talkTime”: "50",
“direction”: "INBOUND",
“disposition”: "ANSWERED",
“recordConversation”: " https://web.vats.az/vats/api/storageFile/download/12345 ",
“state”: “HANGUP”
}
harada:
● apiKey – CRM systemin API açarı
● callDate -  "d.MM.yyyy HH:mm:ssZ" formatında zəngin tarixi və vaxtı
● callerId - zəng edənin Caller ID-si
● callId – zəngin ID-si, zəngin unikal identifikatoru
● source – zəng edən nömrə
● destination – zəng daxil olan nömrə
● answeredNumber – zəngə cavab verən daxili nömrə
● duration – saniyələrlə zəng müddəti
● talkTime – saniyələrlə danışıq müddəti
● direction – zəngin istiqaməti, məğzi:
○ gələn zəng= INBOUND
○ çıxan zəng = OUTBOUND
● disposition - zəngin statusu, yani:
○ zəng daxil olur= RING
○ qəbul edilən zəng= ANSWERED
○ cavabsız zəng = NO_ANSWERED
○ xəta = FAILED
○ məşğul = BUSY
● recordConversation – danışıqların səs fayllarını yükləmək üçün URL
● state – zəng statusu
○ NEW – yeni zəng
○ UPDATE – qoşulma, zəngin statusunu yeniləmə
○ HANGUP – zəngi bitirmək

Nəticə

Obyekt görünüşü
{
“result”: “”
“errors”: []
}
harada:

● result -CRM sistemi ilə verilənlərin nəticəsi, məğzi:
○ success - uğurlu
○ error - yanlış
● errors – səhvin izahı ilə sətrlər massivi

Aşağıdaki hadisələr zamanı məlumat CRM sisteminə ötürülür:
● Zəng başladıqda
● Zəng qəbul edildikdə
● Zəng bitdikdə

 

Avtorizasiya
Təsvir
Avtorizasiya sorğuya bir başlıq əlavə etməklə həyata keçirilir: vats-authentication. Bu başlıq üç hissədən ibarətdir:
publicKey:token:sign
Harda:

  • publicKey - VirtualATS-in açıq açarıdır;
  • token – Unix vaxtı (1970-ci il yanvarın 1-dən etibarən millisekundların sayını təmsil edən sətirdir);
  • sign - məlumat imzası;

Alqoritm
İmzanın hesablanması üçün istifadə olunan funksiyalar:  HmacUtils.hmacSha1Hex(secretKey, body) (HmacSHA1 MAC for the given key and value as hex string)
Java ​kitabxanası: ​https://commons.apache.org/proper/commons-codec/
Harda:

    • secretKey – müştərinin VirtualATS-də məxfi açarı
    • body – bu token+sorğu/cavabdan ibarətdir
  • 3 istifadəçi bunu faydalı hesab edir
Bu cavab sizə kömək etdi?

Uyğun məqalələr

GEN CRM ilə VirtualATS-in inteqrasiya təlimatı

1. Quraşdırma üçün ilk öncə GEN CRM hesabınızda məlumatları tapaq. 1.1. Bunun üçün hesabınızdakı...

AmoCRM ilə VirtualATS-in inteqrasiya təlimatı

1. Tətbiqi AmoCRM hesabınıza quraşdırın 1.1. Bunun üçün şəxsi hesabınızdakı "Profil...

RetailCRM ilə VirtualATS-in inteqrasiya təlimatı

1. Tətbiqi retailCRM hesabınıza quraşdırın 1.1. Bunu etmək üçün sistemdə şəxsi hesabınızdakı...

Envybox ilə VirtualATS-in inteqrasiya təlimatı

1.Tətbiqi Envybox hesabınıza quraşdırın 1.1. Bunu etmək üçün sistemdə şəxsi hesabındakı...

Bitrix 24 ilə VirtualATS-in inteqrasiya təlimatı

1.Tətbiqi Bitrix24 hesabınıza quraşdırın 1.1. Bunu etmək üçün sistemdə şəxsi hesabındakı...