netsantral-js
v1.0.4
Published
NetGSM NetSantral API Wrapper for Node.js (TypeScript)
Downloads
292
Maintainers
Readme
netsantral-js
Netgsm'in bir ürünü olan gelişmiş bulut santral hizmeti sunan Netsantral için bir npm paketi.
Paketi kullanmaya başlamadan önce resmi dökümanı incelemeniz faydalı olacaktır. https://www.netgsm.com.tr/netsantraldokuman
Kurulum
netsantral-js
paketini npm kullanarak kurabilirsiniz:
npm i netsantral-js
netsantral-js paketini projenize dahil edin.
import * as netsantral from 'netsantral-js';
Not: Netgsm hesap ayarları bölümünden Alt Kullanıcı Hesabı oluşturarak username ve password değerlerini elde edebilirsiniz.
Santral Yönetimi
Çağrı süreçlerini yönetmek için bir Call instance oluşturun.
const call = new netsantral.Call({
username: '850XXXXXXX',
password: '*********',
});
Santraliniz üzerinden bir dış arama başlatmanızı sağlar.
await call.start({
customer_num: '5XXXXXXXXX',
internal_num: '104',
trunk: '850XXXXXXX',
});
Son başlatılan çağrıyı sonlandırır.
await call.end();
Spesifik bir çağrıyı sonlandırır. unique_id ve crm_id verileri bir çağrı başlattığınızda dönen response içerisinde bulunmaktadır.
await call.end({ unique_id: 'sip-xxxx-xxxx-xxxx' crm_id: 1});
Gelen ve giden sesleri kapat.
await call.mute({ direction: 'all' });
Sadece gelen sesleri kapat.
await call.mute({ direction: 'in' });
Sadece giden sesleri kaapt
await call.mute({ direction: 'out' });
Gelen ve giden tüm sesleri sessizden çıkar.
await call.unMute({ direction: 'all' });
Sadece gelen sesi sesizden çıkar.
await call.unMute({ direction: 'in' });
Sadece giden sesi sessizden çıkar.
await call.unMute({ direction: 'out' });
Kör transfer (xfer - Blind Transfer)
xfer çağrı transferinde, arayan kişi başka bir kişiye yönlendirildiğinde, çağrıyı transfer eden kişi görüşmeden tamamen ayrılır. Çağrıyı transfer eden kişi, çağrının yeni hedefe ulaşacağını kontrol etmez ya da arayanla hedef kişi arasında başka bir işlem yapmaz.
await call.transfer({ exten: '104', type: 'xfer'});
Katılımlı transfer (atxfer - Attended Transfer)
atxfer transferde, çağrıyı transfer eden kişi önce çağrıyı hedefe aktaracağı kişiyle (yeni alıcı) konuşur ve ardından transferi gerçekleştirir. Transfer işlemi sırasında çağrıyı transfer eden kişi, görüşme başlatmadan önce durumu açıklama fırsatına sahiptir.
await call.transfer({ exten: '104', type: 'atxfer' });
Bir dış arama başlatarak bu aramayı dinamik olarak kuyruğa, anonsa veya ivr yönlendirebilirsiniz.
await call.dynamicRedirect({
called: "5XXXXXXXXX",
redirect_menu: "ivrtest",
redirect_type: "ivr",
trunk: "850XXXXXXX",
});
Kuyruk Yönetimi
Kuyruk süreçlerini yönetmek için bir Queue instance oluşturun.
const queue = new netsantral.Queue({
username: '850XXXXXXX',
password: '*********',
});
Belirli bir kuyruk istatiğini al
await queue.stats({queue: '{{queueName}}'}),
Dahiliyi belirli bir kuyruğa ekleyebilirsin
"paused: 1" Kuyruğa aktarılan dahili molada olarak aktarılır.
"paused: 0" Kuyruğa aktarılan dahili müsait olarak aktarılır.
await queue.addInternal({
queue: '{{queueName}}',
exten: '{{internal}}',
paused: 1,
});
Dahili için bir mola başlat
await queue.startInternalBreak({
queue: '{{queueName}}',
exten: '{{internal}}',
reason?: '{{reason}}',
});
Dahili için aktif molayı sonlandır
await queue.stopInternalBreak({
queue: '{{queueName}}',
exten: '{{internal}}',
reason?: '{{reason}}',
});
Eklediğiniz dış numara gelen çağrıları karşılayabilir
await queue.addExternalNumber({
tenant: '850XXXXXXX',
queue: '{{queueName}}',
no: '5XXXXXXXXX',
});
Gelecek Hedefler
Aşağıda, gelecek sürümler için planlanan özellikler ve iyileştirmeler bulunmaktadır:
- 🟢 ~~Kuyruğa Dış Numara Ekleme: Kuyruk yönetimi içerisine kuyruğa dış numara ekleme işlemi.~~
- 🟢 ~~Dinamik Yönlendirme: Santral yönetimi içerisine dinaimik çağrı yönlendireme özelliği ekleme.~~
- 🟠 Otomatik Arama: Otomatik arama modülünün entegrasyonu.
- 🟠 Webhook Santral Dinleme: Webhook özelliği entegrasyonu.
- 🟠 Rapor: CDR ve Gelene Çağrı istatistik mödülleri entegrasyonu.
Fikirlerinizi veya iyileştirme önerilerinizi belirtmek için bir issue açmaktan veya doğrudan katkıda bulunmaktan çekinmeyin!