Skip to content

Netgsm'in bir ürünü olan gelişmiş bulut santral hizmeti sunan Netsantral için bir npm paketi.

License

Notifications You must be signed in to change notification settings

bahri-hirfanoglu/netsantral-js

Repository files navigation

Netsantral Logo

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: '*********',
});
Ç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' });
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 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}}',
  });
Kuyruğa Dış Numara Ekle

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ö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!

About

Netgsm'in bir ürünü olan gelişmiş bulut santral hizmeti sunan Netsantral için bir npm paketi.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published