Освен другите предимства от работата с ИнстаФорекс, всеки клиент на компанията може да се възползва от новата услуга Клиентски Кабинет API.
API е голяма функционална библиотека за всеки клиент на ИнстаФорекс. С новата услуга ще можете да се възползвате от основните функционалности на Клиентския Кабинет на всеки уеб ресурс.
Сега всеки клиент на ИнстаФорекс може да се възползва от следния набор от инструменти на Клиентския Кабинет: запитвания за отворени и затворени сделки, баланс на сметка, затворени лотове за определен период от време, бонус статистика, логин история и обобщена сметка.
Нива на достъп
Има две нива на достъп до функциите на Клиентски Кабинет API.
Свободният достъп не изисква въвеждане на допълнителна информация.
В зависимост от настройките, с лимитиран достъп можете да разглеждате данни, само след като сте въвели парола или IP парола IP маска.
Клиентски Кабинет API позволява на всеки клиент на ИнстаФорекс да държи търговската си сметка под контрол, без да има нужда да се логва в Клиентския Кабинет през официалния уебсайт.
Пример 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;
Пример 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; }
}
}
}