• Telefon : 0 850 259 90 29
  • Gsm : 0 850 259 90 29
  • Email : info@turknetmail.com

Aktif aramaları listeleme

Aşağıdaki api üzerinden aktif aramaları çekebilirsiniz. Bu sayede web panelinizde müşteri bilgilerini getirebilirsiniz.

http://{site adı}/?username={kullanıcı adı}&password={api şifresi}&action=activecalls

Ekran çıktısı

[
   {
      "success": true,
      "count": 1,
      "data": [
         {
            "channel": "SIP/trunk-sip-Trunk110-36a9b",
            "duration": "00:01:14",
            "calltype": "Kuyruk(630)",
            "callinfo": "Konuşuyor",
            "src": "9053xxxxxxxxx",
            "dst": "110"
         }
      ]
   }
]

Test bilgileri

myTelefon indir

myTelefon uygulamasını yukarıdaki linkten indirin ve kurun.

mytelefon

Hesap sekmesine giriş sağlayın.

Dahili kurma bilgileri:

Sunucu : 85.111.24.38

Kullanıcı adı : 341100

Şifre : TelsamTest1*

Yukarıdaki bilgiler ile aşağıdaki alanları eksiksiz bir şekilde doldurun.

MyTelefon2

Kaydet tuşuna basarak dahilinin register olmasını sağlayabilirsiniz.

90850 259 10 93 numarasını arayarak çağrının kurmuş olduğunuz my Telefon uygulamasına düşmesini sağlayabilirsiniz. Aktif çağrılara aşağıdaki linke tıklayarak ulaşabilirsiniz.

http://{site adı}/?username={kullanıcı adı}&password={api şifresi}&action=activecalls

Test numarası : 908502591093

Api kullanıcı adı : telsamwebsitesi

Api şifre : Telsam112*

Tanımlar

channel= Çağrının ayırt edici alanıdır, ses kayıtları indirmede vs. kullanılır.
duration= Çağrı süresi
calltype= Çağrı tipi
callinfo= Çağrı bilgisi
src= Arayan
dst= Aranan

Delphi kodu

Var
JSONObject, Veriler: TJsonObject;
VeriArray: TJSONArray;
don:Integer;
Begin
JSONObject         := TJsonObject.Create;
    try
     JSONObject.Parse(TEncoding.UTF8.GetBytes(NetHTTPCagriDetaylari.Get(' http://xxx.telsam.com.tr/?username=ApiKullanıcıAdı&password=ApiŞifre&action=activecalls’).ContentAsString), 1);
     if StrToInt(JSONObject.GetValue('count').Value)<>0 then
     Begin
       VeriArray := JSONObject.GetValue('data') as TJSONArray;

         for don := 0 to VeriArray.Count-1 do
         begin
                Veriler := TJsonObject.Create;
                try
                  Veriler.Parse(TEncoding.UTF8.GetBytes(VeriArray.Items[don].ToString), 0);
                      UniMemo1.Lines.Add(Veriler.GetValue('channel').Value);
                      UniMemo1.Lines.Add(Veriler.GetValue('duration').Value);
                      UniMemo1.Lines.Add(Veriler.GetValue('calltype').Value);
                      UniMemo1.Lines.Add(Veriler.GetValue('callinfo').Value);
                      UniMemo1.Lines.Add(Veriler.GetValue('src').Value);
                      UniMemo1.Lines.Add(Veriler.GetValue('dst').Value);
                  finally
                      Veriler.Free;
                 end;
         end;
     End;
      finally
          JSONObject.Free;
     end;
end;

Java script kodu

function aktifaramalar(j){
        var rjson=JSON.parse(j);
        if (rjson.success==true){
            for (var i = 0; i < rjson.count; i++) {
            var counter = rjson.data[i];
            console.log("data: "+ (i+1));
            console.log("channel: "+ rjson.data[i].channel);
            console.log("duration: "+ rjson.data[i].duration);
            console.log("calltype: "+ rjson.data[i].calltype);
            console.log("callinfo: "+ rjson.data[i].callinfo);
            console.log("src: "+ rjson.data[i].src);
            console.log("dst: "+ rjson.data[i].dst);
        }
        else
        {
            console.log('hata');
        }

                }

C# kodu

using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

void jsonparse(string json)
        {
            int count = 0;
            string channel, duration, calltype, callinfo, src, dst, success;
            var myJObject = JObject.Parse(json);
            success = myJObject.SelectToken("success").Value<string>();
            if (success == "True")
            {
                count = myJObject.SelectToken("count").Value<int>();
                if (count > 0)
               {
                    JToken[] data = myJObject["data"].ToArray();
                    for (int i = 0; i < count; i++)
                    {
                        var dataparse = JObject.Parse(data[i].ToString());
                        channel = dataparse.SelectToken("channel").Value<string>();
                        duration = dataparse.SelectToken("duration").Value<string>();
                        calltype = dataparse.SelectToken("calltype").Value<string>();
                        callinfo = dataparse.SelectToken("callinfo").Value<string>();
                        src = dataparse.SelectToken("src").Value<string>();
                        dst = dataparse.SelectToken("dst").Value<string>();
                    }
                }
            }
        }
 

Çağrı sonlandırma

Aşağıdaki api üzerinden varolan bir çağrı sonlandırılabilir.

http://{site adı}/?username={kullanıcı adı}&password={api şifresi}&action=hangupcall& channel={kanal adı}
 

Çağrı detayları listeleme

Aşağıdaki api üzerinden çağrı detayları görüntülenebilir.

http://{site adı}/?username={kullanıcı adı}&password={api şifresi}&action=cdr&date1={ ddMMyyyyhhmm)&date2={ ddMMyyyyhhmm}&number=&uf=yes

http://pbx2.telsam.com.tr/?username=Kullanıcı&password=Şifre&action=cdr&date1=030920190100&date2=030920191500&number=90507XXXXXXX&uf=yes

Ekran çıktısı

[
   {
      "success": true,
      "count": 3,
      "data": [
         {
            "id": "28699",
            "calldate": "03.09.2019 12:30:38",
            "calltype": "incoming",
            "src": "90507XXXXXXX",
            "dst": "101",
            "duration": "85,6972",
            "disposition": "ANSWERED",
            "queue": "",
            "record": true,
            "userfield": "Gelen bilgi"
         },
         {
            "id": "68871",
            "calldate": "03.09.2019 11:31:54",
            "calltype": "outcoming",
            "src": "100",
            "dst": "9050XXXXXXXX",
            "duration": "4,39364",
            "disposition": "BUSY",
            "queue": "",
            "record": true,
            "userfield": "Test bilgisi"
         },
         {
            "id": "28674",
            "calldate": "03.09.2019 10:13:11",
            "calltype": "incoming",
            "src": "905XXXXXXXX",
            "dst": "100",
            "duration": "28,382",
            "disposition": "NO ANSWER",
            "queue": "630",
            "record": false,
            "userfield": "Gelen bilgi"
         }
      ]
   }
]

Tanımlar

id=Ses kayıtları indirmede vs. kullanılır.

calldate= Tarih ve saat bilgisi

calltype= Çağrı tipi

src= Arayan

dst= Aranan

duration= Çağrı süresi

disposition= Çağrı sonucu

queue= Kuyruk no

record= Ses kaydı olup olmadığı verisi

uf= Ivr araması ve iki numara görüştürme apilerinden gönderilen verileri listelemek için yes değeri verilmelidir.

Var
JSONObject, Veriler: TJsonObject;
VeriArray: TJSONArray;
don:Integer;
Begin
JSONObject         := TJsonObject.Create;
    try
     JSONObject.Parse(TEncoding.UTF8.GetBytes(NetHTTPCagriDetaylari.Get(' http://xxx.telsam.com.tr/?username=ApiKullanıcıAdı&password=ApiŞifre&action=cdr&date1=030920190100&date2=030920191500&number=’).ContentAsString), 1);
     if StrToInt(JSONObject.GetValue('count').Value)<>0 then
     Begin
       VeriArray := JSONObject.GetValue('data') as TJSONArray;

         for don := 0 to VeriArray.Count-1 do
         begin
                Veriler := TJsonObject.Create;
                try
                  Veriler.Parse(TEncoding.UTF8.GetBytes(VeriArray.Items[don].ToString), 0);
                      UniMemo1.Lines.Add(Veriler.GetValue(id).Value);
                      UniMemo1.Lines.Add(Veriler.GetValue('calldate').Value);
                      UniMemo1.Lines.Add(Veriler.GetValue('calltype').Value);
                      UniMemo1.Lines.Add(Veriler.GetValue(src).Value);
                      UniMemo1.Lines.Add(Veriler.GetValue('dst').Value);
                      UniMemo1.Lines.Add(Veriler.GetValue('duration').Value);
                      UniMemo1.Lines.Add(Veriler.GetValue('disposition').Value);
                      UniMemo1.Lines.Add(Veriler.GetValue('queue').Value);
                      UniMemo1.Lines.Add(Veriler.GetValue('record').Value);
                  finally
                      Veriler.Free;
                 end;
         end;
     End;
      finally
          JSONObject.Free;
     end;
end;

Java script kodu