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
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.
Ç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
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
await call.mute({ direction: 'all' });
await call.mute({ direction: 'in' });
await call.mute({ direction: 'out' });
Çağrıyı Sessizden Çıkar
await call.unMute({ direction: 'all' });
await call.unMute({ direction: 'in' });
await call.unMute({ direction: 'out' });
Çağrıyı Transfer Et
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'});
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' });
Dinamik Yönlendirme
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 süreçlerini yönetmek için bir Queue instance oluşturun.
const queue = new netsantral.Queue({
username: '850XXXXXXX',
password: '*********',
});
Kuyruk İstatistiklerini Al
await queue.stats({queue: '{{queueName}}'}),
Kuyruğa Dahili Ekle
"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
await queue.startInternalBreak({
queue: '{{queueName}}',
exten: '{{internal}}',
reason?: '{{reason}}',
});
Dahiliyi Moladan Çıkar
await queue.stopInternalBreak({
queue: '{{queueName}}',
exten: '{{internal}}',
reason?: '{{reason}}',
});
Kuyruğa Dış Numara Ekle
await queue.addExternalNumber({
tenant: '850XXXXXXX',
queue: '{{queueName}}',
no: '5XXXXXXXXX',
});
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önlendirme özelliği ekleme. - 🟠 Otomatik Arama: Otomatik arama modülünün entegrasyonu.
- 🟠 Webhook Santral Dinleme: Webhook özelliği entegrasyonu.
- 🟠 Rapor: CDR ve Gelen Ç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!