Arama İşlemleri
Pi v2'de telefon aramalarını yönetmek için kullanılan fonksiyonlar.
answer()
Gelen aramayı yanıtlar.
Sözdizimi:
await answer()
Dönüş Değeri:
Promise<any>- İşlem sonucu
Örnek:
try {
await answer();
await addLog("Arama yanıtlandı");
} catch (error) {
await addLog("Arama yanıtlama hatası:", error);
}
startCall(phoneNumber, applicationId?, applicationParameters?, header?, type?, bridge?)
Yeni bir arama başlatır.
Parametreler:
- phoneNumber (string) - Aranacak telefon numarası
- applicationId (string, opsiyonel) - Uygulama ID
- applicationParameters (object, opsiyonel) - Uygulama parametreleri
- header (object, opsiyonel) - Başlık bilgileri
- type (string, opsiyonel) - Çağrı başlatma şekli. forkCDR derseniz başlatılan çağrı için yeni bir CDR kaydı oluşturur.
- bridge (boolean, opsiyonel) - Varsayılan: true. false verilirse başlatılan çağrı mevcut çağrıya köprülenmez.
Dönüş Değeri:
Promise<string>- Arama sonucu
Örnek:
try {
const result = await startCall("+905551234567");
await addLog("Arama başlatıldı:", result);
} catch (error) {
await addLog("Arama başlatılamadı:", error);
}
// Parametreli arama
const params = { customParam: "değer" };
const headers = { "X-Custom-Header": "değer" };
const result = await startCall("+905551234567", "app123", params, headers);
closeCall()
Mevcut aramayı sonlandırır.
Sözdizimi:
await closeCall()
Dönüş Değeri:
Promise<any>- İşlem sonucu
Örnek:
try {
await closeCall();
await addLog("Arama sonlandırıldı");
} catch (error) {
await addLog("Arama sonlandırma hatası:", error);
}
redirectToIVR(ivrId)
Aramayı belirtilen IVR'a yönlendirir.
Parametreler:
- ivrId (string) - IVR sistem ID'si
Dönüş Değeri:
Promise<any>- Yönlendirme sonucu
Örnek:
try {
await redirectToIVR("ivr_main_menu");
await addLog("IVR'a yönlendirildi");
} catch (error) {
await addLog("IVR yönlendirme hatası:", error);
}
redirectToQueue(queueId)
Aramayı belirtilen kuyruğa yönlendirir.
Parametreler:
- queueId (string) - Kuyruk ID'si
Dönüş Değeri:
Promise<any>- Yönlendirme sonucu
Örnek:
try {
await redirectToQueue("queue_support");
await addLog("Kuyruğa yönlendirildi");
} catch (error) {
await addLog("Kuyruk yönlendirme hatası:", error);
}
redirectToDID(didNo)
Aramayı belirtilen DID numarasına yönlendirir.
Parametreler:
- didNo (string) - Yönlendirilecek DID numarası
Dönüş Değeri:
Promise<any>- Yönlendirme sonucu
Örnek:
try {
await redirectToDID("902121234567");
await addLog("DID numarasına yönlendirildi");
} catch (error) {
await addLog("DID yönlendirme hatası:", error);
}
redirectToExtension(extension)
Aramayı belirtilen dahili numaraya yönlendirir.
Parametreler:
- extension (string) - Dahili numara
Dönüş Değeri:
Promise<any>- Yönlendirme sonucu
Örnek:
try {
await redirectToExtension("101");
await addLog("Dahiliye yönlendirildi");
} catch (error) {
await addLog("Dahili yönlendirme hatası:", error);
}
callPiApp(appId, parameters)
Başka bir Pi uygulamasını çağırır.
Parametreler:
- appId (string) - Çağrılacak uygulama ID'si
- parameters (object) - Uygulamaya gönderilecek parametreler
Dönüş Değeri:
Promise<any>- Uygulama dönüş değeri
Örnek:
const params = {
userId: "12345",
action: "process"
};
try {
const result = await callPiApp("sub_app_id", params);
await addLog("Alt uygulama sonucu:", result);
} catch (error) {
await addLog("Alt uygulama hatası:", error);
}
joinConference(roomId, profile?)
Çağrıyı bir konferans odasına aktarır.
Parametreler:
- roomId (string) - Konferans odasının bilgisi.
- profile (string, opsiyonel) - Kullanılacak konferans profili
Dönüş Değeri:
Promise<any>- Uygulama dönüş değeri
ringing()
Çağrının çalıyor durumunu uzatır. Bu şekilde arkada yapılan işlemlerde cevap vermeden önce çalma sesinin devam etmesini sağlayabilirsiniz.
Dönüş Değeri:
Promise<any>- Uygulama dönüş değeri
sleepForChannel(seconds)
Çağrı kanalı üzerinde belirtilen süre kadar bekler.
Parametreler:
- seconds (number) - Bekleme süresi (saniye)
Dönüş Değeri:
Promise<any>- İşlem sonucu
Örnek:
await tts("Lütfen bekleyiniz");
await sleepForChannel(2);
await tts("Beklediğiniz için teşekkürler");
forkCDR(param)
Mevcut çağrı için yeni bir CDR (çağrı detay kaydı) oluşturur.
Parametreler:
- param (string) - ForkCDR seçenekleri
Dönüş Değeri:
Promise<any>- İşlem sonucu
Örnek:
await forkCDR("v");
startAssistant(agentId?, companyId?)
Çağrıyı sesli yapay zeka asistanına aktarır. Asistan oturumu sona erdiğinde uygulama kaldığı yerden devam eder.
Parametreler:
- agentId (string, opsiyonel) - Kullanılacak asistan ID'si
- companyId (string, opsiyonel) - Şirket ID'si
Dönüş Değeri:
Promise<any>- İşlem sonucu
Örnek:
await answer();
await startAssistant();
// Asistan oturumu bittikten sonra akış buradan devam eder
await tts("Görüşme sona erdi, iyi günler dileriz");
await closeCall();