* Amaç:
Bağlantı raporlarına kendi sunucu yazılımlarınız üzerinden direk erişim yapabilmenizi sağlamak. Bilgiler JSON formatında gönderilip alınır.
* İzlenecek Adımlar:
1. Adım:
https://www.alpemix.com/webapi/login.htm adresinden ana kullanıcı adınızla giriş yapıp size ait olan "Gizli Anahtar(secretkey)" bilgisini öğrenin.
2. Adım:
Sunucu tarafında çalışan uygulamanızdan "Gizli Anahtar(secretkey)" ve ana kullanıcı adınızı sunucularımıza göndererek "Erişim Jetonu(accesstoken)" bilgisini alın. "Erişim Jetonu(accesstoken)" 1 gün süre ile geçerlidir. Ve isteğin gönderildiği IP adresi değiştiğinde geçsiz olur.
3. Adım:
"Erişim Jetonu(accesstoken)" ve ilgili parametreleri sunucularımıza göndererek bağlantı raporlarına ulaşabilirsiniz.
* Gönderim Yapılacak Adres:
https://www.alpemix.com:5900/api
* Erişim Jetonunun(accesstoken) Öğrenilmesi:
Gönderilen: Aşağıdaki şekilde bilgiler size uygun şekilde doldurup sunucularımıza gönderilir.
{
"stepnumber": 1,
"secretkey": "alpemix.com/webapi/login.htm adresinden öğrendiğiniz Gizli Anahtar",
"mainusername": "Ana kullanıcı adınız"
}
Alınan: Bilgiler doğru ise ve herhangi bir hata alınmadı ise aşağıdaki gibi cevap döner:
{
"errornumber": 0,
"accesstoken": "...."
}
Gelen accesstoken, IP adresiniz değişmediği sürece 1 gün süre ile kullanılabilir. Diğer durumlarda tekrar alınmalı.
* Bağlantı Raporunun Alınması:
Gönderilen: Dün yapılan bağlantıların tamamını almak için aşağıdaki gibi doldurup sunucularımıza gönderilir.
{
"stepnumber": 2,
"accesstoken": "Bir önceki adımda öğrenilen",
"requestnumber": 2
}
Gönderilen: Bugün yapılan bağlantıların tamamını almak için aşağıdaki gibi doldurup sunucularımıza gönderilir.
{
"stepnumber": 2,
"accesstoken": "Bir önceki adımda öğrenilen",
"requestnumber": 1,
"lastxconnection": 0
}
Gönderilen: Bugün yapılan son 10 bağlantıyı almak için aşağıdaki gibi doldurup sunucularımıza gönderilir.
{
"stepnumber": 2,
"accesstoken": "Bir önceki adımda öğrenilen",
"requestnumber": 1,
"lastxconnection": 10
}
Alınan: Bilgiler doğru ise ve herhangi bir hata alınmadı ise aşağıdaki gibi cevap döner:
{
"errornumber": 0,
"results":[ { "uid":"..", "dt":"..", "dur:":30, "dir":0, "exp":"...", "supnum":"..", "uname":"..", "ip":"..", "lip":"..", "unum":"..", "aid":"..", "tuname":"..", "tip":"..", "tlip":"..", "tunum":"..", "taid":".." },
{ "uid":"..", "dt":"..", "dur:":123, "dir":0, "exp":"...", "supnum":"..", "uname":"..", "ip":"..", "lip":"..", "unum":"..", "aid":"..", "tuname":"..", "tip":"..", "tlip":"..", "tunum":"..", "taid":".." },
.....
.....
]
}
Dönen cevaptaki results anahtarı array yapısındadır ve her bir elemanı bir bağlantının bilgilerini içerir. Tarih saat olarak büyükten küçüğe doğru sıralı olarak gelir.
Anahtarların Açıklaması:
uid: String türünde. Bağlantıya ait tekil numarayı içerir.
dt: String türünde. Bağlantının başladığı tarih saati gösterir. "saat:dakika:saniye gün\ay\yıl" formatındadır. Örnek: "23:38:18 22\08\2024"
dur: integer türünde. Saniye olarak bağlantının ne kadar sürdüğünü gösterir.
dir: integer türünde. 0 ise destek için bağlanılmış. 1 ise sunum izleme modunda bağlanılmış.
exp: String türünde. Destek veren kişinin bağlantı raporuna yazdığı açıklama.
supnum: String türünde. Destek veren kişinin bağlantı raporuna yazdığı destek numarası bilgisi.
uname: String türünde. Destek veren kişinin kullanıcı adı.
ip: String türünde. Destek veren kişinin cihazının internet ip adresi.
lip: String türünde. Destek veren kişinin cihazının local ip adresi.
unum: String türünde. Destek veren kişinin cihazına ait tekil numara.
aid: String türünde. Destek veren kişinin alpemix id si.
tuname: String türünde. Bağlanılan hedef cihazın kullanıcı adı.
tip: String türünde. Bağlanılan hedef cihazın internet ip adresi.
tlip: String türünde. Bağlanılan hedef cihazın local ip adresi.
tunum: String türünde. Bağlanılan hedef cihaza ait tekil numara.
taid: String türünde. Bağlanılan hedef cihazın alpemix id si.
* Sunucularımıza Gönderilecek İstek Limitleri:
Erişim Jetonunu(accesstoken) öğrenmek için 1 dakika içerisinde en fazla 5 istek gönderilebilir. Bu limit aşıldığında isteğin gönderildiği IP adresi belli süreliğine bloklanır.
Bağlantı raporu almak için 1 dakika içerisinde en fazla 3 istek gönderilebilir.
* Sunucudan Gelen Hata Kodlarının Açıklamaları:
Herhangi bir aşamada hata oluşmuşsa errornumber değeri sıfırdan farklı bir değer olur.
Örnek JSON: { "errornumber": 100 }
Hata kodları ve açıklamaları şu şekildedir:
200: mainusername veya secretkey ile uyuşan bir kayıt bulunamadı.
201: accesstoken farklı bir IP adresinden gönderildiği için geçerliliği kalmamış. Tekrar baştan alınmalı.
202: accesstoken geçerlilik süresi dolmuş. Tekrar baştan alınmalı.
203: accesstoken geçerli değil.
204: accesstoken öğrenilmesi için 1 dakika içerisinde gönderilebilecek istek limiti aşılmış. Ve IP adresi bloklanmış.
205: Rapor almak için 1 dakika içerisinde gönderilebilecek istek limiti aşılmış.
100: stepnumber değeri gönderilmemiş.
101: stepnumber değeri hatalı girilmiş.
102: secretkey veya mainusername değerleri hatalı
103: Sunucu tarafında beklenmedik hata oluştu
104: secretkey veya mainusername güvenli formatta değil
105: accesstoken oluşturulurken beklenmedik hata oluştu
106: accesstoken veya requestnumber değerleri hatalı girilmiş
107: requestnumber değeri tanımsız
108: Sunucu tarafında Db bağlantısı ile ilgili bir hata oluştu
* Örnek PHP Uygulaması:
Örnek Php uygulaması için tıklayınız