En plus d'un certain nombre des avantages de travailler avec le courtier InstaTrade, chaque client de la société a désormais accès à un nouveau service: l'API de l'Espace Client.
L'API de l'Espace Client est une puissante bibliothèque de fonctions disponibles pour chaque client de la société. L'utilisation des fonctions de l'API de l'Espace Client permettra à chaque client d'accéder à l'emplacement des principales fonctionnalités de son espace personnel sur n'importe quelle ressource Web.
Grâce à l'API de l'Espace Client, le trader peut toujours surveiller son compte: les transactions ouvertes et fermées, le nombre de lots négociés pour une période donnée, le solde du compte, la statistique des bonus reçus, l'historique des autorisations et toutes les informations récapitulatives sur le compte sont disponibles sur demande dans l'API de l'Espace Client.
Niveaux d'accès
Il existe deux niveaux d'accès aux fonctions de l'API qui diffèrent par les niveaux de sécurité.
Le premier niveau est ouvert, c'est-à-dire qu'il n'implique pas la fourniture de données supplémentaires.
Le deuxième niveau est fermé. Au niveau d'accès fermé, en fonction des paramètres que vous spécifiez, l'accès à l'API n'est possible qu'avec un mot de passe ou un mot de passe IP et une masque IP.
Ainsi, chaque client utilisant le service API de l'Espace Client a la possibilité de suivre l'état de son compte de trading sans avoir à se connecter à son Espace Client sur le site officiel du courtier InstaTrade.
Exemple en 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;
Exemple en 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; }
}
}
}