Pe lângă o serie de avantaje de lucru cu Forex broker InstaSpot, fiecare client al companiei are acum acum acces la un nou serviciu - API Cabinetul clientului.
API - este o bibliotecă puternică de funcţii disponibile pentru fiecare broker InstaSpot client. Utilizarea Cabinetul clientului API fiecare client are acces la plasarea biroului său funcţional primar pe orice resursă web.
Prin utilizarea serviciului API biroul clientului, fiecare client broker al companiei are posibilitatea să utilizeze un set de opţiuni la cabinetul clientului, precum demersurile privind tranzacâiile deschise ş închise, soldul contului, tranzacţii închise pentru un anumit interval de timp, statistici privind bonusurile primite, istoria autorizărilor şi extras al contului.
Nivelurile de acces
Accesul la funcţiile API are loc la două niveluri, care au diferite grade de securitate.
Primul nivel - deschis, adică nu este necesar să se introducă parametri suplimentari.
Al doilea nivel - închis. La nivel de acces închis, în funcţie de parametrii specificaţi, accesul API este posibil doar prin introducerea parolei sau IP masca şi IP.
Astfel, fiecare client folosind API Cabinetul clientului, are posibilitatea de a monitoriza starea contului său, fără a fi nevoie să viziteze site-ul de Cabinetul clientului InstaSpot broker.
Exemplul PHP
$Login = 0; #Must be Changed
$apiPassword = "password"; #Must be Changed
$data = array("Login" => $Login, "Password" => $apiPassword);
$data_string = json_encode($data);
$apiAuthenticationMethod = ''; #Must be Changed
$ch = curl_init('https://client-api.instaforex.org/'.$apiAuthenticationMethod);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Content-Length: ' . strlen($data_string)));
$token = curl_exec($ch);
curl_close($ch);
$apiMethodUrl = ''; #Must be Changed
$ch = curl_init('https://client-api.instaforex.org/'.$apiMethodUrl.$Login); #possibly Must be Changed part with [$Login]. Depends on the method param
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_HTTPHEADER, array('passkey: '.$token));
$result = curl_exec($ch);
echo $result;
Exemplul C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Net.Http.Formatting;
using System.Text;
namespace ClientPartnerApiDemoProject{
class PartnerApiSample{
public void TestMethod(){
const int login = 000000;
const string pass = "your pass";
var token = GetToken(login, pass);
var result = GetCommissionRecords(login, token);
foreach (var trade in result){
Console.WriteLine("{0} {1}",trade.Partner, trade.BalanceRecords.Count);
}
}
public string GetToken(int login, string password){
var client = new HttpClient();
HttpContent tokenContent = new ObjectContent(typeof(AccessTokenRequest), new AccessTokenRequest { Login = login, Password = password }, new JsonMediaTypeFormatter());
var token = client.PostAsync("https://client-api.instaforex.org/api/Authentication/RequestPartnerApiToken", tokenContent).Result.Content.ReadAsStringAsync().Result;
return token;
}
public List
GetCommissionRecords(int login, string token){
var client = new HttpClient();
client.DefaultRequestHeaders.Add("passkey", token);
var result = client.GetAsync(string.Format("https://client-api.instaforex.org/partner/GetCommissionRecords/{0}", login)).Result.Content.ReadAsAsync>().Result;
return result;
}
public class AccessTokenRequest{
public int Login { get; set; }
public string Password { get; set; }
}
}
}