Entegrasyon
Metod
https://[DOMAIN]/?token=[TOKEN]&code=[API_CODE]
Core.token_login
Core.login
ile önceden aldığınız
token
değerinin geçerli olup olmadığını kontrol ederek tekrar login almanızı sağlar.
Opsiyonel olarak
code_
alanında API_CODE gelirse, TOKEN değerinin içindeki şifrelenmiş username ile şifresiz login alınması sağlanır. Bu sayede kendi yazılımlarınızdan
kullanıcınızı FaxMAX web uygulmasına şifresiz giriş yaptırabilirsiniz.
Öncelikle bağlanacağınız domain içinde API_CODE ve API Şifresi tanımlı olmalıdır. Bu tanımlardan sonra size verilen şifre ile şu veriyi içeren bir JSON hazırlayıp encrypt etmeniz ve bunu TOKEN olarak göndermeniz gerekmektedir:
{
"username": "KULLANICIKODU",
"exp": "Unix Time(int) olarak son geçerlilik zamanı",
"remote_ip":"Login olacak istemci IP'si"
}
Güvenlik için:
1 - remote_ip
alanı içinde istemcinin FaxMAX Api'sine geleceği kaynak IP adresini giriniz.
2 - exp
alanı için en fazla 3 saniyelik ilerisine ait unix time değeri kullanınız. Unix time'ı şu şekilde üretebilirsiniz:
import time
exp = int(time.time()) + 3
long timestamp = 3 + System.currentTimeMillis()/1000
import "time"
timestamp := 3 + time.Now().Unix()
Buradan elde edilen token ile domain kullanıcınızın sizin yazılımız üzerinden yönlendirilip otomatik olarak FaxMAX web ekranına girmesi için şu şekilde bir URL'e yönlendirin:
https://[DOMAIN]/?token=[TOKEN]&code=[API_CODE]Eğer kullanıcının belli bir sayfaya yönlendirilmesini istiyorsanız, sayfa adını da girebilirsiniz. Örneğin gelen otomatik loginden sonra fakslar sayfasının açılması için:
https://[DOMAIN]/#inboxes?token=[TOKEN]&code=[API_CODE]
URL'deki alanların açıklaması:
Alan | Açıklama | Örnek |
---|---|---|
DOMAN | Kendi FaxMAX domain'iniz | firma.faxmax.net |
TOKEN | Domaininizde tanımlı API şifreniz ile encrypt edilmiş JSON verisi | şifelenmiş json verisi |
API_CODE | Domaininizde tanımlı API Kodu | tanımlı API kodunuz |
Ayrıca, kendi API'niz ile FaxMAX üzerindeki domain'inizde bir kullanıcı ile login almış gibi işlem yapmak için de Core.login_token
apisini kullanabilirsiniz. Bunun için yukarıda bahsi geçen şifrelenmiş JSON verisi ve API KODU aynı şekilde üretilip bu apiye göderilir ve sonrasında
gelen mesaj içerisindeki token
değeri bundan sonra yapılacak JSON RPC api çağrılarında kullanılır.
Şifrelenmiş JSON hazırlanırken "remote_ip" kısmına sizin API'nin FaxMAX'a erişirken kullanacağı çıkış IP adresi kullanılabilir.
Örnek:
{
"jsonrpc":"2.0",
"id":"fe012e8c-2d2f-47da-b7bb-9d90ee611eb4",
"method":"Core.token_login",
"params":{
"token_": "TOKEN",
"code_": "Şifrelenmiş JSON verisi"
}
}
Aslında yukarıda bahsedilen şifresiz giriş içinde FaxMAX web arayüzü arka planda bu API metodunu çağırmaktadır.