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>(); } } } }