MODÜL HAKKINDA

Çağrı Detaylarını Listeleme

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

APİ

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

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

EKRAN ÇIKTISI

[
   {
      "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
         },
         {
            "id": "68871",
            "calldate": "03.09.2019 11:31:54",
            "calltype": "outcoming",
            "src": "100",
            "dst": "9050XXXXXXXX",
            "duration": "4,39364",
            "disposition": "BUSY",
            "queue": "",
            "record": true
         },
         {
            "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
         }
      ]
   }
]

TANIMLAR

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

DELPHİ 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=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 SCRİPT KODU

function cagridetlis(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("id: "+ rjson.data[i].id);
            console.log("calldate: "+ rjson.data[i].calldate);
            console.log("calltype: "+ rjson.data[i].calltype);
            console.log("src: "+ rjson.data[i].src);
            console.log("dst: "+ rjson.data[i].dst);
            console.log("duration: "+ rjson.data[i].duration);
            console.log("disposition: "+ rjson.data[i].disposition);
            console.log("queue: "+ rjson.data[i].queue);
            console.log("record: "+ rjson.data[i].record);
        }
        else 
        {
            console.log('hata');
        }
                
                }

C# KODU

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

void jsonparse(string json)
        {
            int count = 0;
            string id, calldate, calltype, src, dst, duration, disposition, queue, record, 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());
                        id = dataparse.SelectToken("id").Value<string>();
                        calldate = dataparse.SelectToken("calldate").Value<string>();
                        calltype = dataparse.SelectToken("calltype").Value<string>();
                        src = dataparse.SelectToken("src").Value<string>();
                        dst = dataparse.SelectToken("dst").Value<string>();
                        duration = dataparse.SelectToken("duration").Value<string>();
                        disposition = dataparse.SelectToken("disposition").Value<string>();
                        queue = dataparse.SelectToken("queue").Value<string>();
                        record = dataparse.SelectToken("record").Value<string>();

                    }
                }
            }
        }