netsantral-js
Netgsm'in bir ürünü olan gelişmiş bulut santral hizmeti sunan Netsantral için geliştirilmiş npm paketi.
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: '*********',
});
Çağrı Başlat
Santraliniz üzerinden bir dış arama başlatmanızı sağlar.
await call.start({
customer_num: '5XXXXXXXXX',
internal_num: '104',
trunk: '850XXXXXXX',
});
Çağrı Sonlandır
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});
Çağrıyı Sessize Al
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' });
Çağrıyı Sessizden Çıkar
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' });
Çağrıyı Transfer Et
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' });
Kuyruk Yönetimi
Kuyruk süreçlerini yönetmek için bir Queue instance oluşturun.
const queue = new netsantral.Queue({
username: '850XXXXXXX',
password: '*********',
});
Kuyruk İstatistiklerini Al
Belirli bir kuyruk istatiğini al
await queue.stats({queue: '{{queueName}}'}),
Kuyruğa Dahili Ekle
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,
});
Dahiliyi Molaya Al
Dahili için bir mola başlat
await queue.startInternalBreak({
queue: '{{queueName}}',
exten: '{{internal}}',
reason: '{{reason}}',
});
Dahiliyi Moladan Çıkar
Dahili için aktif molayı sonlandır
await queue.stopInternalBreak({
queue: '{{queueName}}',
exten: '{{internal}}',
reason: '{{reason}}',
});
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!