Además de una serie de ventajas que el cliente cuenta al operar en Forex con InstaSpot, ahora tiene a disposición un nuevo servicio: Área Personal API.
API es una potente biblioteca de funciones ahora disponible para todos los clientes de InstaSpot. Gracias a este nuevo servicio, usted podrá acceder a las principales funciones del Área Personal en cualquier página web.
De esa manera, ahora cada cliente de InstaSpot puede hacer uso de una serie de opciones del Área Personal: órdenes de apertura o cierre de posiciones, balance de la cuenta, lotes cerrados para un determinado periodo de tiempo, estadísticas de los bonos recibidos, historial de accesos a la cuenta, así como información de resumen de la cuenta.
Niveles de acceso
Existen dos niveles de acceso a las funciones del Área Personal API. Para acceder libremente, no se necesita ingresar ninguna información adicional. Si tiene un acceso limitado, sólo podrá ver los datos tras indicar la contraseña o la contraseña IP y máscara IP.
El primer nivel es un nivel abierto; es decir, no hay necesidad de ingresar parámetros adicionales.
El segundo es un nivel cerrado. En el nivel cerrado de acceso, según los parámetros dados, el acceso al API será posible solo mediante una contraseña, contraseña IP y una máscara IP.
De esta manera, cada cliente que utiliza el servicio API del Área Personal tiene la posibilidad de controlar el estado de su cuenta real sin necesidad de ingresar a su Área Personal.
Ejemplo 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;
Ejemplo 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; }
}
}
}