Окрім ряду переваг роботи з Форекс-брокером ІнстаФорекс, тепер кожному клієнту компанії доступна нова послуга - API Клієнтського Кабінету.

API — це потужна бібліотека функцій, доступна кожному клієнту брокера ІнстаФорекс. Використання функцій API Клієнтського Кабінету відкриє кожному клієнту доступ до розміщення основного функціоналу кабінету на будь-якому веб-ресурсі.

Завдяки використанню сервісу 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.com/'.$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.com/'.$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.com/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.com/partner/GetCommissionRecords/{0}", login)).Result.Content.ReadAsAsync>().Result;
return result;
}
public class AccessTokenRequest{
public int Login { get; set; }
public string Password { get; set; }
}
}
}
Зараз не можете говорити по телефону?
Задайте Ваше питання у чаті.