Sem ostalih pogodnosti u radu sa InstaForex-om, svaki korisnik kompanije ima mogućnost korišćenja nove usluge - API Kabineta za klijente.

API — moćna biblioteka funkcija, dostupna svakom klientu brokera InstaForex. Pomoću API funkcije Kabineta za klijente sve glavne funkcije Kabineta za klijente biće Vam dostupne na svim web izvorima.

Dakle, sada svaki korisnik InstaForex-a može koristiti sledeću grupu opcija Kabineta za klijente: upite o otvorenim i zatvorenim kupovinama, bilans računa, lotove zatvorene tokom određenom vremenskog perioda, statistike bonusa, istoriju logovanja i kratak pregled računa.

Nivoi pristupa

Postoje dva nivoa pristupa API funkcijama Kabineta za klijente.

Slobodni pristup ne zahteva unos dodatnih informacija.

U zavisnosti od setovanja, ograničen pristup omogućava pregled podataka tek nakon unošenja lozinke ili IP lozinke i IP maske.

API Kabineta za klijente omogućava svakom InstaForex korisniku da održava i proverava svoj trgovački račun bez logovanja u svoj Kabinet za klijente na zvaničnom sajtu kompanije.

PHP primer

$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# primer

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; }
}
}
}
Ne možete da razgovarate sada?
Postavite pitanje kroz ćaskanje.