Вы находитесь на странице: 1из 51

V1.

17
Historia del documento

Fecha Versión Descripción Autor


03/11/2015 1.0  Versión Inicial Primary
 Se agregó una introducción sobre Primary
API.
10/11/2015 1.1  Se agregó una breve descripción de como Primary
conectarse al Web Service mediante un Login
web.
 Corrección y modificación gramatical.
 Incorporación de métodos:
o Lista de segmentos disponibles
16/11/2015 1.2 Primary
o Lista detallada de todos Instrumentos
o Lista detallada de un instrumento
o Lista de Instrumentos por CFICode
 Se agregó un anexo con información de
20/11/2015 1.3 Primary
Primary Risk API
 Se agregó información de nuevos métodos en
Primary Risk API:
o Consulta de posiciones para una
cuenta
o Consulta de posiciones abiertas para
14/12/2015 1.4 una cuenta Primary
o Consulta de reporte de cuenta
o Consulta de reportes de cuentas
o Consulta de detalle de posición
o Consulta de integridad de datos
o Consulta de importaciones realizadas
 Se agregó descripción y ejemplos de la API
Web Socket.
03/02/2016 1.5 Primary
 Tabla descriptiva de market data entries
disponibles para consultar.
 Se modificó la información disponible en Risk
API. Solamente se muestra información de
16/02/2016 1.6 Primary
los servicios accesibles a través de Primary
API.
 Nueva funcionalidad para soportar
profundidad en la market data tanto para la
API Rest y Web Socket.
23/02/2016 1.7  Se agregó el campo vencimiento al detalle de Primary
instrumentos.
 API para listar instrumentos por segmento.
 API para listar ordenes por id.

2
 API para listar ordenes activas.
 API para listar ordenes operadas.
 Descripción del campo “level” en mensaje de
suscripción a market data para Web Socket.
 Se agregó un parámetro más al método de
ingreso de ordenes para permitir indicar si se
20/04/2016 1.8 cancelan las ordenes previas o no. Primary
 Se actualizo la respuesta del Reporte de
Cuentas para dar soporte multimoneda.

 Se actualizo la respuesta del Reporte de


Cuentas para dar soporte al cambio en la
05/07/2016 1.9 estructura del JSON. Primary
 Se agregó los métodos para obtener la
cotización de las monedas disponibles.
 Se agregó el parámetro
“snapshotOnlyActive” para obtener los
16/02/2017 1.10 Execution Reports de las ordenes activas Primary
(NEW y PARTIALLY_FILLED) por
WebSocket.

 Se agregó el parámetro Iceberg y


displayQty para ordenes Iceberg. Se
22/02/2017 1.11 agregó el timeInForce = GTD (Good Till Primary
Date) y el parámetro expireDate para
ordenes GTD.

 Se agregaron los mensajes Web Socket


para el envío de ordenes Iceberg y GTD.
10/03/2017 1.12 Primary

 Se reemplazo el método de login de la


API.
14/03/2017 1.13 Primary

 Se agregó el método Replace por clOrdId


para reemplazar ordenes ingresadas al
17/03/2017 1.14 mercado. Primary

 Se agregó la forma autenticación por


14/06/2017 1.15 token. Primary

 Se agregó el método para consultar las


30/08/2017 1.16 ordenes por Execution ID Primary

3
 Se agrego link a la documentación
Swagger
18/09/2017 1.17  Se incluyen links a ejemplos de login Rest Primary
y Websocket en Python

4
Índice

Contenido
Historia del documento .................................................................................................................................. 2
Introducción ................................................................................................................................................ 7
Conectándose al Web Service por token ................................................................................................ 8
Consultas a la API REST ............................................................................................................................... 9
Funcionalidades .......................................................................................................................................... 9
Segmentos ................................................................................................................................................ 10
Lista de Segmentos disponibles ............................................................................................................ 10
Instrumentos (Securities) .......................................................................................................................... 11
Lista de Instrumentos disponibles ........................................................................................................ 11
Lista detallada de Instrumentos disponibles ........................................................................................ 11
Descripción detallada de un Instrumento ............................................................................................ 12
Lista de Instrumentos por Código CFI ................................................................................................... 13
Lista de Instrumentos por Segmento .................................................................................................... 13
Orden ........................................................................................................................................................ 18
Ingresar una orden ................................................................................................................................ 18
Reemplazar una Orden ......................................................................................................................... 20
Cancelar una Orden .............................................................................................................................. 21
Ver el estado de una orden................................................................................................................... 22
Market Data .............................................................................................................................................. 27
Errores ....................................................................................................................................................... 28
Consultas a la API Web Socket .................................................................................................................. 31
Funcionalidades ........................................................................................................................................ 31
Cliente Web Socket ................................................................................................................................... 32
Órdenes ..................................................................................................................................................... 33
Ingresar una Orden ............................................................................................................................... 33
Cancelar una Orden .............................................................................................................................. 34
Suscribirse a Execution Reports ............................................................................................................ 34
Mensaje de Execution Reports ............................................................................................................. 36

5
Market Data .............................................................................................................................................. 37
Suscribirse a MD en tiempo real ........................................................................................................... 37
Mensaje de Market Data ...................................................................................................................... 39
Errores ....................................................................................................................................................... 39
Descripción Market Data Entries .............................................................................................................. 40
Primary Risk API ............................................................................................................................................ 41
Consultar detalle de posiciones ............................................................................................................ 42
Consulta reporte de cuenta .................................................................................................................. 43
Cotización de Monedas ......................................................................................................................... 45

6
Documentación Primary API

Introducción
Primary API es una solución creada para facilitar la interoperabilidad de software de terceros con la
plataforma de negociación electrónica de ROFEX, Primary Trading Platform (PTP).

El valor agregado de esta solución consiste en simplificar la integración con PTP traduciendo las interfaces
basadas en el estándar FIX a un conjunto de Web Services simplificados; estándar tecnológico más adoptado
por el mercado y cuya implementación requiere un menor esfuerzo de desarrollo con la consiguiente ventaja
en la reducción del costo asociado.

Los Web Services tipo REST trabajan de forma sincrónica y fueron diseñados y optimizados para atender
consultas como por ejemplo: ingresar/cancelar una orden, ver Market Data histórica, etc.

Se encuentra disponible documentación formato swagger, con api de demo online para probar todos los
métodos detallados en esta documentación:

URL: http://api.primary.com.ar/api-quickstart.html

7
Esquema de la solución:

Conectándose al Web Service por token


A continuación se muestra un ejemplo de conexión al web service, la ejecución de la consulta y la impresión
del resultado.

Obtener Token:
Se debe hacer un POST a la siguiente URL:
http://demo-api.primary.com.ar/auth/getToken

Headers:
 X-Username
 X-Password
Retorna Header:
 X-Auth-Token

Una vez obtenido el token del header de la consulta, se deberá utilizar el mismo en los siguientes requests a la
API.

Eliminar Token:
Se debe hacer un GET a la siguiente URL:
http://demo-api.primary.com.ar/auth/removeToken

Especificando en el header “X-Auth-Token”, el token a eliminar.

Ejemplo del header del token obtenido con POSTMAN:

A continuación se especifica link con un ejemplo en Python para autenticarse a la API REST:

Link: api.primary.com.ar/docs/PrimaryAPI-AutenticaciónREST.py

8
Consultas a la API REST
El objetivo de esta sección es brindarle al desarrollador una descripción detallada de los métodos
disponibles en Primary API.

Se da una breve explicación de la información que devuelve cada método, los parámetros que acepta,
un ejemplo de cómo utilizarlo y la respuesta que devuelve la API. Por último se agregó una lista de
errores posibles que pueden ocurrir al utilizar la API.

Funcionalidades
Primary API permite realizar lo siguiente:

Segmentos1:

 Lista de segmentos disponibles

Instrumentos:

 Lista de Instrumentos disponibles


 Lista Detallada de Instrumentos disponibles
 Descripción detallada de un Instrumento
 Lista de Instrumentos por Código CFI

Órdenes:

 Ingresar una orden


 Cancelar una orden
 Ver estado de una orden
 Todos los estados
 El último estado
 Estado de todas las ordenes llenas
 Estado de todas las ordenes activas
 Todas las orden asociadas a una cuenta
Market Data:

 Datos en tiempo real


 Datos Históricos de negociaciones sobre un contrato:
 Buscar todos los instrumentos operados
 Para un día en particular
 Para un rango de días
 Para un rango horario
 Con info OHLC (Open-High-Low-Close)
1
Son los distintos ambientes o ruedas de negociación en las que está organizada la operatoria de ROFEX

9
Segmentos
Lista de Segmentos disponibles
Los segmentos son los distintos ambientes o ruedas de negociación en las que está organizada la
operatoria de ROFEX. Algunos de los segmentos que existen hoy en día son:

 DDF (Instrumentos de la División Derivados Financieros)


 DDA (Instrumentos de la División Derivados Agropecuarios)
 DUAL (Instrumentos listados en ambas divisiones)
 XVTEST (Instrumentos para realizar pruebas en producción)
 MERV (ruteo de ordenes a la rueda de concurrencia de ofertas del Mercado de Valores de Buen
os Aires S.A)

HTTP request
GET http://demo-api.primary.com.ar/rest/segment/all

Parameters
No recibe parámetros.

Ejemplo
Http Request http://demo-api.primary.com.ar/rest/segment/all
{
"status":"OK",
"segments":[
{
"marketSegmentId":"DDA",
"marketId":"ROFX"
},
Respuesta

{
"marketSegmentId":"DDF",
"marketId":"ROFX"
}
]
}

1
0
Instrumentos (Securities)
Instrumentos hace referencia a los distintos activos disponibles para negociarse en ROFEX. Pueden
agruparse por Tipos(los cuales se identifican con el estándar CFI Code) y, a su vez, cada uno tiene
características propias, las cuales se pueden consultar pidiendo el detalle (tickSize, maxSize, minSize,
etc.) del mismo.

Lista de Instrumentos disponibles


Este método nos devuelva una lista con todos los instrumentos disponibles para negociarse en ROFEX.
Por cada instrumento devuelve el símbolo, ID del mercado al que pertenece y el código CFI del
instrumento.

HTTP request
GET http://demo-api.primary.com.ar/rest/instruments/all

Parameters
No recibe parámetros.

Ejemplo
Http Request http://demo-api.primary.com.ar/rest/instruments/all
{
"status":"OK",
"instruments":[
{
"instrumentId":{
"marketId":"ROFX",
"symbol":"DODic16"
Respuesta
},
"cficode":"FXXXSX"
},

]
}

10
Lista detallada de Instrumentos disponibles
Al igual que el método anterior devuelve una lista con todos los instrumentos pero se agrega una
descripción detallada de cada uno de ellos. Por cada instrumento devuelve datos de segmento, precio
mínimo/máximo, vencimiento, etc.

HTTP request
GET http://demo-api.primary.com.ar/rest/instruments/details

Parameters
No recibe parámetros.

Ejemplo
Http Request http://demo-api.primary.com.ar/rest/instruments/details
{
"status":"OK",
"instruments":[
{
"segment":{
"marketSegmentId":"DDF",
"marketId":"ROFX"
},
"lowLimitPrice":16.905,
"highLimitPrice":19.835,
"minPriceIncrement":0.001000,
"minTradeVol":1.000000,
"maxTradeVol":5000.000000,
Respuesta
"tickSize":1.000000,
"maturityDate":20161230,
"contractMultiplier":1000.000000,
"instrumentId":{
"marketId":"ROFX",
"symbol":"DODic16"
},
"cficode":"FXXXSX"
},

]
}

11
Descripción detallada de un Instrumento
Este método nos devuelve una descripción detallada de un solo instrumento, el cual se especifica en los
parámetros.

HTTP Request
GET http://demo-api.primary.com.ar/rest/instruments/detail

Parameters
Parámetros URL

Parameter name Value Description


El id del Mercado en el que se va a cargar la orden. Valores
permitidos:
marketId String ● ROFX
Valido para órdenes nativas a ROFEX y ordenes a MERVAL
pasando por ROFEX.
El símbolo del instrumento. Ejemplo: DODic16 - para futuro de
Symbol String
dólar vencimiento Diciembre 2016.

Ejemplo
http://demo-
Http Request api.primary.com.ar/rest/instruments/detail?symbol=DODic16&marketId
=ROFX
{
"status":"OK",
"instrument":{
"segment":{
"marketSegmentId":"DDF",
"marketId":"ROFX"
},
"lowLimitPrice":16.905,
"highLimitPrice":19.835,
"minPriceIncrement":0.001000,
"minTradeVol":1.000000,
Respuesta
"maxTradeVol":5000.000000,
"tickSize":1.000000,
"maturityDate":20161230,
"contractMultiplier":1000.000000,
"instrumentId":{
"marketId":"ROFX",
"symbol":"DODic16"
},
"cficode":"FXXXSX"
}
}

12
Lista de Instrumentos por Código CFI
Este método permite listar todos los instrumentos que pertenezcan al mismo Tipo (como dijimos
anteriormente cada tipo se identifica por un código CFI).

HTTP request
GET http://demo-api.primary.com.ar/rest/instruments/byCFICode

Parameters
Parámetros URL

Parameter name Value Description


Código que identifica al Tipo de instrumento. Valores posibles:
● DBXXXX
CFICode String
● OCXXXS
● FXXXSX

Ejemplo
http://demo-
Http Request
api.primary.com.ar/rest/instruments/byCFICode?CFICode=FXXXSX
{
"status":"OK",
"instruments":[
{
"marketId":"ROFX",
"symbol":"DODic16"
},
Respuesta {
"marketId":"ROFX",
"symbol":"DOEne17"
},

]
}

Lista de Instrumentos por Segmento


Este método permite listar todos los instrumentos que pertenezcan al mismo Segmento de Mercado (los
segmentos habilitados en el mercado se encuentran disponibles en la API de segmentos http://demo-
api.primary.com.ar/rest/segment/all).

HTTP request
GET http://demo-api.primary.com.ar/rest/instruments/bySegment

13
Parameters
Parámetros URL

Parameter name Value Description


Código que identifica al Segmento. Alguno de los posibles valores:
● DDF
MarketSegmentID String
● DDA
● DUAL
ID del Mercado al que pertenece el segmento. Valores permitidos:
MarketID String
● ROFX

Ejemplo
http://demo- api.primary.com.ar/rest/instruments/bySegment?MarketSegmentID=
Http Request DDF&MarketID=ROFX

{
"status":"OK",
"instruments":[
{
"marketId":"ROFX",
"symbol":"DOOct16"
},
{
"marketId":"ROFX",
Respuesta "symbol":"DOEne17"
},

{
"marketId":"ROFX",
"symbol":"DOFeb17"
}
]
}

14
Orden
Ingresar una orden
Es la manera de enviar una orden al Mercado. Vale la pena aclarar que cuando se ingresa una orden hay
que verificar si realmente se cargó la orden y no fue rechazada. La secuencia debería ser:

1. Ingresar la orden a través de la API.


2. Si la respuesta que recibo es un "status":"OK", entonces debería pedirle a la API el estado de
la orden creada (utilizando el ID devuelto al ingresar la orden. Ej:
"clientId":"user14472764…"). En este momento la orden puede tener 2 estados:
2.1 "status":"NEW" = la orden se ingresó correctamente
2.2 "status":"REJECTED" = la orden fue rechazada. La razón se especifica en la
respuesta.

HTTP Request
GET http://demo-api.primary.com.ar/rest/order/newSingleOrder

Parameters
Parámetros URL
Parameter name Value Description

marketId String El id del Mercado en el que se va a cargar la orden. Valores


permitidos:
 ROFX
Valido para órdenes nativas a ROFEX y ordenes a MERVAL
pasando por ROFEX.
Symbol String El símbolo del instrumento. Ejemplo: DODic16 - para futuro de
dólar vencimiento Diciembre 2016.

Price Float Precio de la orden. Ejemplo: 12.01


orderQty Integer Tamaño de la Orden. Ejemplo: 2400
ordType String Tipo de Orden. Valores permitidos:
● Limit
● Market
side String Orden de compra o de venta. Valores permitidos:
● Sell
● Buy
timeInForce String Modificador de la orden que define el lapso de tiempo en
el que la orden estará activa, por defecto Day. Valores
permitidos:
● Day: Orden solo valida por el día. Al cerrar la rueda
se expira
● IOC: Immediate or Cancel
● FOK: Fill or Kill
● GTD: Good Till Date (Es necesario completar el campo
expireDate).
account Integer Número de cuenta. Ejemplo: 30

18
cancelPrevious Boolean Parámetro opcional que indica si se cancelan todas las ordenes
previas o no. Por defecto este valor es false. Solo disponible
para ofertas enviadas a productos ROFEX.
iceberg Boolean Parámetro opcional que indica el tipo de orden Iceberg. Por
defecto este valor es false.
expireDate Date Parámetro opcional que indica la fecha de Vencimiento para
ordenes GTD. Ejemplo: 20170720
displayQty Integer Parámetro opcional que indica la cantidad a divulgar para
ordenes Iceberg.
Ejemplo
http://demo-
api.primary.com.ar/rest/order/newSingleOrder?marketId=ROFX&sym
Http Request
bol=DODic16&price=12.01&orderQty=2400&ordType=Limit&side=Buy&timeInFor
ce=Day&account=30&cancelPrevious=true
{
"status":"OK",
"order":{
Respuesta "clientId":"user144727645060649",
"proprietary":"demo-api"
}
}

Ejemplo Iceberg
http://demo-
api.primary.com.ar/rest/order/newSingleOrder?marketId=ROFX&symbol=DOAgo1
Http Request
7&price=18.25&orderQty=1000&ordType=Limit&side=Buy&timeInForce=Day&acco
unt=10&iceberg=true&displayQty=100
{
"status":"OK",
"order":{
Respuesta "clientId":"user125469825632595",
"proprietary":"demo-api"
}
}

Ejemplo GTD
http://demo-
api.primary.com.ar/rest/order/newSingleOrder?marketId=ROFX&symbol=DOJul17
Http Request
&price=17.5&orderQty=100&ordType=Limit&side=Buy&timeInForce=GTD&accoun
t=10&expireDate=20170223
{
"status":"OK",
"order":{
Respuesta "clientId":"user156548752365489",
"proprietary":"demo-api"
}
}

19
Reemplazar una Orden
Permite reemplazar una orden ingresada al mercado.

HTTP Request
GET http://demo-api.primary.com.ar/rest/order/replaceById

Parameters
Parámetros URL
Parameter name Value Description

clOrdId String El ID del request que se hizo al Mercado, devuelto por la


API de Ingreso y Cancelación de Orden.
proprietary String ID que identifica al participante del mercado mediante el
cual se hace el request. Este parámetro es siempre fijo para
una cuenta.
orderQty Integer Tamaño a modificar de la Orden.
Price Float Precio a modificar de la orden.

Ejemplo
http://demo-
Http Request api.primary.com.ar/rest/order/replaceById?clOrdId=user144733478280357&proprie
tary=demo-api&price=17&orderQty=10
{
"status":"OK",
"order":{
Respuesta "clientId":"user14473450286174",
"proprietary":"demo-api"
}
}

20
Cancelar una Orden
Permite cancelar una orden ya ingresada al mercado.

HTTP Request
GET http://demo-api.primary.com.ar/rest/order/cancelById

Parameters
Parámetros URL
Parameter name Value Description
El ID del request que se hizo al Mercado, devuelto por la API
clOrdId String de Ingreso y Cancelación de Orden. Ejemplo:
user144720678549411
ID que identifica al participante del mercado mediante el cual
proprietary String se hace el request. Este parámetro es siempre fijo para una
cuenta. Valor: demo-api

Ejemplo
http://demo-
Http Request api.primary.com.ar/rest/order/cancelById?clOrdId=user14473347828035
7&proprietary=demo-api
{
"status":"OK",
"order":{
Respuesta "clientId":"user14473450286174Cnl5",
"proprietary":"demo-api"
}
}

21
Ver el estado de una orden
APIs para consultar en qué estado se encuentra una orden que se ingresó. Se brindan varias alternativas
para esto, se puede consultar por el Client Order ID (explicado más adelante), por ordenes activas u
operadas, etc.

Es importante dejar en claro algunos conceptos para poder entender correctamente tanto la consulta a
la API como los datos que nos devuelve. Dos términos que suelen confundirse pero que representan
cosas distintas son el Cliente Order ID y el Order ID:

 Cliente Order ID: hace referencia al ID del request que se hace al mercado. Para que quede
claro, un ejemplo sería: cuando se quiere mandar dar de alta una orden en el mercado se hace
un request de alta de orden que lleva asociado un Cliente Order ID específico, esto permite
diferenciar distintos request que se hagan. Para el mercado un request de alta de orden y un
request de cancelación de una orden son distintos aunque tengan asociada el mismo ID de
orden (ver siguiente), entonces tendríamos un client order ID al ingresar una orden y un client
order ID distinto al cancelar esa orden y ambos van a estar asociados al mismo Order ID.
 Order ID: identifica una orden en el mercado, tan simple como esto, como dijimos antes un
Order ID va a estar asociado a un request de alta de orden (client order ID). Si se manda otro
request para cancelar esa orden entonces también ese order ID va a estar asociado al request
de cancelación de orden (client order ID distinto al de alta de orden).

Si vemos lo que devuelve la API de ingreso de orden y la API de cancelación de orden encontramos un
campo de la respuesta llamado clOrdId (Cliente Order ID) con este dato es con el que vamos a poder
realizar varias de las consultas hechas a la API.

Consultar último estado por Client Order ID


Esta consulta permite ver el estado de ese request, este se identifica con un client order ID.

HTTP Request
GET http://demo-api.primary.com.ar/rest/order/id

Parameters
Parámetros URL
Parameter name Value Description

clOrdId String El ID del request que se hizo al Mercado, devuelto por la


API de Ingreso y Cancelación de Orden.
proprietary String ID que identifica al participante del mercado mediante el
cual se hace el request. Este parámetro es siempre fijo para
una cuenta.

22
Ejemplo
http://demo-
Http Request api.primary.com.ar/rest/order/id?clOrdId=user1144720678549411&p
roprietary=demo-api
{
"status":"OK",
"order":{
"orderId":"1130835",
"clOrdId":"user1145712381052053",
"proprietary":"demo-api",
"execId":"160229133429-fix1-493",
"accountId":{
"id":"10"
},
"instrumentId":{
"marketId":"ROFX",
"symbol":"DODic16"
},
Respuesta "price":18.000,
"orderQty":10,
"ordType":"LIMIT",
"side":"BUY",
"timeInForce":"DAY",
"transactTime":"20160304-17:37:35",
"avgPx":0,
"lastPx":0,
"lastQty":0,
"cumQty":0,
"leavesQty":10,
"status":"NEW",
"text":"Aceptada "
}
}

23
Consultar todos los estados por Client Order ID
Consulta que devuelve todos los estados por los que paso una orden que estén asociados a un request
hecho al mercado. En el caso de un request de alta de orden devolverá todos los estados de la orden
que se ingresó al mercado menos el del estado Cancelled ya este estado estará asociado a un request de
cancelación y no de alta de orden.

HTTP Request
GET http://demo-api.primary.com.ar/rest/order/allById

Parameters
Parámetros URL
Parameter name Value Description
El ID del request que se hizo al Mercado, devuelto por la API
clOrdId String de Ingreso y Cancelación de Orden. Ejemplo:
user144720678549411
ID que identifica al participante del mercado mediante el cual
proprietary String se hace el request. Este parámetro es siempre fijo para una
cuenta. Valor: demo-api

Ejemplo
http://demo-
Http Request api.primary.com.ar/rest/order/allById?clOrdId=user114472067854941
1&proprietary=demo-api
{
"status":"OK",
"orders":[
{
"orderId":null,
"clOrdId":"user1145712381052053",
"proprietary":"demo-api",
"accountId":{
"id":"10"
},
"instrumentId":{
Respuesta "marketId":"ROFX",
"symbol":"DODic16"
},
"price":18.540,
"orderQty":10,
"ordType":"LIMIT",
"side":"BUY",
"timeInForce":"DAY",
"transactTime":"20160304-17:36:50",
"status":"PENDING_NEW",
"text":"Enviada"
},

19
{
"orderId":"1130835",
"clOrdId":"user1145712381052053",
"proprietary":"demo-api",
"execId":"160229133429-fix1-493",
"accountId":{
"id":"10"
},
"instrumentId":{
"marketId":"ROFX",
"symbol":"DODic16"
},
"price":18.540,
"orderQty":10,
"ordType":"LIMIT",
"side":"BUY",
"timeInForce":"DAY",
"transactTime":"20160304-17:37:35",
"avgPx":0,
"lastPx":0,
"lastQty":0,
"cumQty":0,
"leavesQty":10,
"status":"NEW",
"text":"Aceptada "
}
]
}

20
Consultar Ordenes Activas
Consulta que devuelve las ordenes que están activas en el mercado.

HTTP Request
GET http://demo-api.primary.com.ar/rest/order/actives

Parameters
Parámetros URL
Parameter name Value Description
accountId Integer Número de cuenta. Ejemplo: 30

Ejemplo
Http Request http://demo-api.primary.com.ar/rest/order/actives?accountId=10
{
"status":"OK",
"orders":[
{
"orderId":"1130813",
"clOrdId":"user1145703678429722",
"proprietary":"demo-api",
"execId":"160229133429-fix1-414",
"accountId":{
"id":"10"
},
"instrumentId":{
"marketId":"ROFX",
"symbol":"DODic16"
},
"price":18.540,
Respuesta
"orderQty":1,
"ordType":"LIMIT",
"side":"BUY",
"timeInForce":"DAY",
"transactTime":"20160303-17:27:08",
"avgPx":0,
"lastPx":0,
"lastQty":0,
"cumQty":0,
"leavesQty":1,
"status":"NEW",
"text":"Aceptada "
},

]
}

21
Consultar Ordenes Operadas
Consulta que devuelve todas las ordenes que están total o parcialmente operadas.

HTTP Request
GET http://demo-api.primary.com.ar/rest/order/filleds

Parameters
Parámetros URL

Parameter name Value Description


accountId Integer Número de cuenta. Ejemplo: 30

Ejemplo
Http Request http://demo-api.primary.com.ar/rest/order/actives?accountId=10
{
"status":"OK",
"orders":[
{
"orderId":"1130813",
"clOrdId":"user1145703678429722",
"proprietary":"demo-api",
"execId":"T1169011",
"accountId":{
"id":"10"
},
"instrumentId":{
"marketId":"ROFX",
"symbol":"DODic16"
},
Respuesta "price":18.540,
"orderQty":1,
"ordType":"LIMIT",
"side":"BUY",
"timeInForce":"DAY",
"transactTime":"20160303-17:29:53",
"avgPx":18.540000,
"lastPx":18.500,
"lastQty":1,
"cumQty":1,
"leavesQty":0,
"status":"FILLED",
"text":"Operada "
}
]
}

22
Estado de orden por ID Cuenta
Consulta que devuelve el último estado de los request (client order ID) asociadas a una cuenta. Es decir,
de los si se hizo un request para dar de alta una orden, y luego se hizo otro para darlo de baja entonces
esta API devolverá 2 ordenes, una con el ultimo estado asociado al request de alta y otra con el ultimo
estado asociado al request de baja.

HTTP Request
GET http://demo-api.primary.com.ar/rest/order/all

Parameters
Parámetros URL
Parameter name Value Description
accountId Integer Número de cuenta. Ejemplo: 30

Ejemplo
Http Request http://demo-api.primary.com.ar/rest/order/all?accountId=30
{
"status":"OK",
"orders":[
{
"orderId":"1130835",
"clOrdId":"user1145712381052053",
"proprietary":"demo-api",
"execId":"160229133429-fix1-493",
"accountId":{
"id":"10"
},
"instrumentId":{
"marketId":"ROFX",
"symbol":"DODic16"
Respuesta },
"price":18.540,
"orderQty":10,
"ordType":"LIMIT",
"side":"BUY",
"timeInForce":"DAY",
"transactTime":"20160304-17:37:35",
"avgPx":0,
"lastPx":0,
"lastQty":0,
"cumQty":0,
"leavesQty":10,
"status":"NEW",
"text":"Aceptada "
},

23
{
"orderId":"1130835",
"clOrdId":"user1145712381052053Cnl54",
"proprietary":"demo-api",
"execId":"160229133429-fix1-494",
"accountId":{
"id":"10"
},
"instrumentId":{
"marketId":"ROFX",
"symbol":"DODic16"
},
"price":18.540,
"orderQty":10,
"ordType":"LIMIT",
"side":"BUY",
"timeInForce":"DAY",
"transactTime":"20160304-17:38:15",
"avgPx":0,
"lastPx":0,
"lastQty":0,
"cumQty":0,
"leavesQty":10,
"status":"CANCELLED",
"text":"Cancelada"
}
]
}

25
Estado de Orden por Execution ID
Consulta que devuelve el estado de la orden (por Execution ID). Es decir, esta consulta va a devolver la
orden asociada a un Execution ID pudiendo identificar que orden esta involucrada en la respectiva
operación.

HTTP Request
GET http://demo-api.primary.com.ar/rest/order/byExecId

Parameters
Parámetros URL
Parameter name Value Description
execId String Identificador de Ejecución, ejemplo: T3567006

Http Request http://demo-api.primary.com.ar/rest/order/byExecId?execId= T1234567


{
"status":"OK",
"orders":[
{
"orderId":"125366222",
"clOrdId":"699154",
"proprietary":"user1",
"execId":"T1234567",
"accountId":{
"id":"2345"
},
"instrumentId":{
"marketId":"ROFX",
"symbol":"DOAgo17"
Respuesta },
"price":17.4,
"orderQty":15,
"ordType":"LIMIT",
"side":"BUY",
"timeInForce":"DAY",
"transactTime":"20170830-14:23:35",
"avgPx":17.4,
"lastPx":17.4,
"lastQty":50,
"cumQty":50,
"leavesQty":0,
"status":"FILLED",
"text":"Operada "
}
]
}

26
Market Data
Estas API permiten acceder a datos Históricos y en Tiempo Real sobre cualquier instrumento negociado
en el mercado. También la API ofrece un método para buscar todos los instrumentos que se han
operado.

Market Data en Tiempo Real

HTTP Request
GET http://demo-api.primary.com.ar/rest/marketdata/get

Parameters
Parámetros URL

Parameter name Value Description


El id del Mercado al que pertenece el instrumento sobre el que
se pide info. Valores permitidos:
marketId String
● ROFX
Valido para MD de ROFEX y MERVAL.

El símbolo del instrumento. Ejemplo: DODic16 - para futuro de


symbol String
dólar vencimiento Diciembre 2016.

Es una lista separada por comas que indican la información


solicitada sobre ese contrato. Valores permitidos:
BI: Bid
OF: Offer
LA: Last, último precio operado
entries List
OP: Open, precio de apertura
CL: Close, precio de cierre
SE: Settlement
OI: Open Interest
Ejemplo: BI,OF,LA,OP,CL,SE,OI
Parámetro opcional que indica la profundidad del book que se
depth Integer
desea recibir en la market data. Por defecto es 1.

Ejemplo
http://demo-
Http Request api.primary.com.ar/rest/marketdata/get?marketId=ROFX&symbol=DODic
16&entries=BI,OF,LA,OP,CL,SE,OI&depth=2
{
"status":"OK",
"marketData":{
"LA":{ "price":18.010, "size":500 },
"SE":null,
"BI":[{"price":18.000, "size":25}], "OI":null,
Respuesta
"OF":[{"price":18.050, "size":50}, {"price":1.110,
"size":10}],
"OP":18.010,

27
"CL":null
},
"depth":2,
"aggregated":true
}

Market Data Histórica


La API para acceder a datos históricos del mercado permite buscar datos para una fecha en particular
y para un contrato especifico.

HTTP Request
https://demo-api.primary.com.ar/rest/data/getTrades?marketId=ROFX&symbol=DOEne18&date=YYYY-
MM-DD

Parameters
Parámetros URL
Parameter name Value Description

marketId String Identificador del Mercado a consultar, valores posibles:


ROFX = ROFEX
symbol String Simbolo del contrato a consultar.
date String Fecha a consultar, formato: YYYY-MM-DD.
Ejemplo: 2017-05-20

26
Ejemplo
Para obtener la Market Data Histórica para el contrato de Dólar Mayo 2017 para la fecha
17/05/2017:
Http Request https://demo-
api.primary.com.ar/rest/data/getTrades?marketId=ROFX&symbol=
DOMay17&date=2017-05-17
{
"status":"OK",
"symbol":"DOMay17",
"market":"ROFX",
"trades":[
{
"price":15.77,
"size":125,
"datetime":"2017-05-17 14:29:24.831",
"servertime":1495031364831,
"symbol":"DOMay17"
Respuesta },
{
"price":15.775,
"size":75,
"datetime":"2017-05-17 14:35:40.152",
"servertime":1495031740152,
"symbol":"DOMay17"
},
{
"price":15.76,
"size":325,
"datetime":"2017-05-17 14:46:43.038",
"servertime":1495032403038,
"symbol":"DOMay17"
},

{
"price":15.73,
"size":1000,
"datetime":"2017-05-17 15:54:15.700",
"servertime":1495036455700,
"symbol":"DOMay17"
}
]
}

27
Errores
Lista de errores
Tipo de Error Intentar cargar una orden con una cuenta a la que no se tiene acceso.
{
"status":"ERROR",
Respuesta "description":"No tiene acceso a la cuenta 30",
"message":null
}

Tipo de Error Intentar cancelar una orden que no existe.


{
"status":"ERROR",
Respuesta "description":"Order user1144733478:api doesn't exist",
"message":null
}

Tipo de Error Intentar utilizar un símbolo de instrumento que no exista.


{
"status":"ERROR",
Respuesta "description":"Product DOEne15:ROFX doesn't exist",
"message":null
}

Tipo de Error Error al intentar acceder a un método que no existe o al cual no se tiene acceso.
{
"status":"ERROR",
"message":"Access Denied"
}
O
Respuesta
{
"status":"ERROR",
"description":"Ruta invalida",
"message":""
}

30
Consultas a la API Web Socket
En esta sección se dará la información necesaria para utilizar la API Web Socket disponibles en Primary
API.

Se explica brevemente los mensajes que se pueden enviar y recibir a la API, el formato de dichos
mensajes y también se provee de ejemplos de los mensajes enviados y recibidos de la API.

Funcionalidades
Primary API con la tecnología Web Socket permite realizar lo siguiente:

Órdenes:

 Ingresar una orden


 Cancelar una orden
 Suscribirse al Execution Report de las ordenes
○ Una cuenta
○ Varias Cuentas
○ Todas las cuentas
Market Data:

 Suscribirse a Market Data en tiempo real

A continuación se especifica link con un ejemplo en Python para autenticarse a la API WebSocket:

Link: api.primary.com.ar/docs/PrimaryAPI-AutenticaciónWebSocket.py

31
Cliente Web Socket
Para facilitar el entendimiento de los mensajes enviados y recibidos por la API se desarrolló un cliente
Web que puede ser accedido una vez que nos autenticamos en Primary API.

URL cliente web socket: http://demo-api.primary.com.ar/marketdata.html

Para utilizarlo simplemente primero se abre una conexión web socket y luego se envían mensajes. Todos
los mensajes recibidos se muestran en un Log del cliente.

32
Órdenes
Ingresar una Orden
Con este mensaje se envía una orden al mercado. Para poder saber que ocurrió con la orden hay que
estar suscripto a los Execution Report para la cuenta con la que mandamos la orden, de lo contrario no
recibiremos ningún mensaje sobre el estado de la orden.

Mensaje Enviado:
{
"type":"no",
"product":{
"symbol":"DODic17",
"marketId":"ROFX"
Formato
},
Mensaje
"price":"18",
"quantity":"10",
"side":"BUY",
"account":"20"
}

Mensaje para el envío de una orden Iceberg:


{
"type":"no",
"product":{
"marketId":"ROFX",
"symbol":"DODic17"
Formato
},
Mensaje
"price":19,
"quantity":11,
"side":"BUY",
"account":"20",
"iceberg":true,
"displayQuantity":20
}

Mensaje para el envío de una orden GTD:


{
"type":"no",
"product":{
"marketId":"ROFX",
"symbol":"DODic17"
Formato
},
Mensaje
"price":19,
"quantity":11,
"side":"BUY",
"account":"20",
"timeInForce":"GTD",
"expireDate":"20171010"
}

33
Cancelar una Orden
Mensaje que permite cancelar una orden ingresada en el mercado.

Mensaje Enviado:
{
"type":"co",
Formato
"clientId":"user114121092035207",
Mensaje
"proprietary":"demo-api"
}

Suscribirse a Execution Reports


Los siguientes mensajes le permiten al usuario suscribirse para recibir mensajes de Execution Reports
sobre las órdenes asociadas a una cuenta determinada. Se permite suscribirse para ordenes asociadas a
una, varias o todas las cuentas del usuario.

Para una cuenta


Con este mensaje se podrá recibir los Execution Reports de todas las órdenes ingresadas con la
cuenta indicada en el mensaje.

Mensaje Enviado:
{
"type":"os",
Formato "account":{
Mensaje "id":"40"
}
}

Para varias cuentas


Con este mensaje se podrá recibir los Execution Reports de todas las órdenes ingresadas con las
cuentas indicadas en el mensaje.

Mensaje Enviado:
{
"type":"os",
"accounts":[
{
"id":"40"
Formato
},
Mensaje
{
"id":"4000"
}
]
}

34
Para todas las cuentas
Con este mensaje se podrá recibir los Execution Reports de todas las órdenes ingresadas con las
cuentas asociadas al usuario.

Mensaje Enviado:
{
Formato
"type":"os"
Mensaje
}

Se encuentra disponible el parámetro “snapshotOnlyActive” para recibir los Execution Reports de las
ordenes activas (en estado NEW o PARTIALLY_FILLED) para todas las cuentas, mas de una cuenta o para
una única cuenta.

Mensaje Enviado:
{
Formato
"type":"os" ,"snapshotOnlyActive":true
Mensaje
}

35
Mensaje de Execution Reports
Este es el mensaje que envía el servidor a todos los que estén suscriptos a los Execution Reports de
la orden indicada.

Mensaje Enviado:
{
"type":"or",
"orderReport":{
"orderId":"1128056",
"clOrdId":"user14545967430231",
"proprietary":"demo-api",
"execId":"160127155448-fix1-1368",
"accountId":{
"id":"30"
},
"instrumentId":{
"marketId":"ROFX",
"symbol":"DODic16"
},
Formato
"price":18.000,
Mensaje
"orderQty":10,
"ordType":"LIMIT",
"side":"BUY",
"timeInForce":"DAY",
"transactTime":"20160204-11:41:54",
"avgPx":0,
"lastPx":0,
"lastQty":0,
"cumQty":0,
"leavesQty":10,
"status":"CANCELLED",
"text":"Reemplazada"
}
}

36
Market Data
Utilizando el protocolo Web Socket es posible recibir Market Data de los instrumentos especificados de
manera asíncrona cuando esta cambie necesidad de hacer un request cada vez que necesitemos.

Para recibir este tipo de mensajes hay que suscribirse indicando los instrumentos de los cuales
queremos recibir MD. El servidor enviara un mensaje de MD por cada instrumento al que nos
suscribimos cada vez que este cambie.

Suscribirse a MD en tiempo real


Con este mensaje nos suscribimos para recibir MD de los instrumentos especificados, el servidor
solamente enviara los datos especificados en la lista “entries”. El parámetro “depth” indica la
profundidad del book que se desea recibir, por defecto se devuelve el top of book, es decir profundidad
1.

Mensaje Enviado:
{
"type":"smd",
"level":1,
"entries":["OF"],
"products":[
{
Formato Mensaje
"symbol":"DODic16",
"marketId":"ROFX"
}
],
"depth":2
}

37
Market Data Levels
El mensaje de Market Data incluye un parámetro “level” que indica el tiempo de actualización de los
mensajes de MD.

Actualmente contamos con 5 niveles de actualización y es el cliente quien decide a que niveles se
suscribe. Esto es importante para tener en cuenta ya que es posible estar suscripto a varios niveles al
mismo tiempo, y en consecuencia se devolverá de MD para ambos niveles y el cliente recibirá 2
mensajes de market data cada vez que cambie, uno con mayor frecuencia que el otro.

Niveles de market data soportados actualmente:

Nivel Tiempo de actualzación (ms)


1 100
2 500
3 1000
4 3000
5 6000

Para que quede claro con un ejemplo, supongamos que me suscribo para recibir market data de
DODic16 de nivel 1 y de nivel 5, el comportamiento sería el siguiente:

Cuando cambie la MD de ese instrumento (ej. se ingrese una nueva orden de compra) el cliente Web
Socket recibirá 2 mensajes de MD, el primero a los 100ms de cambiar la MD y el segundo a los 6s,
siempre considerando que no se ingresan nuevas ordenes. Ambos mensajes contendrán la misma
información.

38
Mensaje de Market Data
Este es el mensaje que envía el servidor a todos los que estén suscriptos a MD del instrumento indicado.
En este caso utilizamos el ejemplo de suscripción a market data con profundidad 2.

Mensaje Recibido:
{
"type":"Md",
"instrumentId":{
"marketId":"ROFX",
"symbol":"DODic16"
},
"marketData":{
"OF":[
{
Formato "price":18.000,
Mensaje "size":21
},

{
"price":18.100,
"size":21
}
]
}
}

Errores
Lista de errores
Tipo de Error Mensaje enviado con errores en la sintaxis.
{
Mensaje "status":"ERROR",
enviado por el "description":"Mensaje invalido",
Servidor "message":"{\"type\":\"smd\",\"level\":1,}"
}

39
Descripción Market Data Entries
A continuación se presentan los datos del mercado que son posibles consultar por medio de las API
tanto REST como Web Socket. Al momento de consultar market data es posible indicar que tipo de
market data se quiere recibir, esto normalmente es una lista separa por comas de los siguientes
símbolos:

Símbolo Significado Descripción


BI BIDS Mejor oferta de compra en el Book
OF OFFERS Mejor oferta de venta en el Book
LA LAST Último precio operado en el mercado
OP OPENING PRICE Precio de apertura
CL CLOSING PRICE Precio de cierre
SE SETTLEMENT PRICE Precio de ajuste (solo para futuros)
HI TRADING SESSION HIGH PRICE Precio máximo de la rueda
LO TRADING SESSION LOW PRICE Precio mínimo de la rueda
TV TRADE VOLUME Volumen operado en contratos/nominales para ese security
OI OPEN INTEREST Interés abierto (solo para futuros)
IV INDEX VALUE Valor del índice (solo para índices)
EV TRADE EFFECTIVE VOLUME Volumen efectivo de negociación para ese security

40
Primary Risk API
Primary Risk API es la interfaz que permite comunicarse con el sistema RIMA (Risk Manager).

La API actualmente soporta métodos para:

 Consultar las posiciones de una cuenta


 Consultar el detalle de las posiciones de una cuenta
 Consultar el reporte de cuenta

Consulta de posiciones

Consultar posiciones de una cuenta

HTTP Request
GET http://demo-api.primary.com.ar/rest/risk/position/getPositions/{accountName}

 {accountName} = cuenta a consultar.

Autenticación
HTTP Basic Authentication

Parameters
Parámetros URL
Parameter name Value Description
accountName String Nombre de la Cuenta. Ejemplo: 30

Ejemplo
Http Request http://demo-api.primary.com.ar/rest/risk/position/getPositions/10
{
"status":"OK",
"positions":[
{
"originalBuyPrice":13.0,
"originalSellPrice":0.0,
"symbol":"DODic16",
"instrument":{
"symbolReference":"DLR122016"
Respuesta },
"buyPrice":18.0,
"buySize":10.0,
"sellPrice":0.0,
"sellSize":0,
"totalDailyDiff":0.0,
"totalDiff":0.0
}
]
}

41
Consultar detalle de posiciones

HTTP Request
GET http://demo-api.primary.com.ar/rest/risk/detailedPosition/{accountName}

 {accountName} = cuenta a consultar.

Autenticación
HTTP Basic Authentication

Parameters
Parámetros URL
Parameter name Value Description
accountName String Nombre de la Cuenta. Ejemplo: 30

Ejemplo
Http Request http://demo-api.primary.com.ar/rest/risk/detailedPosition/10
{
"status":"OK",
"detailedPosition":{
"account":"10",
"totalDailyDiffPlain":-
29288.460000000000000000000000000000,
"totalMarketValue":null,
"report":{
"FUTURE":{
"DLR122016":{
"detailedPositions":[
{
"symbolReference":"DLR122016",
"settlType":null,
"contractType":"FUTURE",
Respuesta
"priceConversionFactor":1.000000,
"contractSize":1002.000000,
"marketPrice":18.077000000000,
"currency":"ARS",
"exchangeRate":1.000000,
"totalInitialSize":0,
"buyInitialSize":0,
"sellInitialSize":0,
"buyInitialPrice":0,
"sellInitialPrice":0,
"totalFilledSize":10.000000,
"buyFilledSize":10.000000,
"sellFilledSize":0,
"buyFilledPrice":18.000000,
"sellFilledPrice":0,

42
"totalCurrentSize":10.000000,
"buyCurrentSize":10.000000,
"sellCurrentSize":0,
"detailedDailyDiff":{
"buyPricePPPDiff":18.000000,
"sellPricePPPDiff":0,
"totalDailyDiff":-
29288.460000000000000000000000,
"buyDailyDiff":-
29288.460000000000000000000000,
"sellDailyDiff":0E-18,
"totalDailyDiffPlain":-
29288.460000000000000000000000000000,
"buyDailyDiffPlain":-
29288.460000000000000000000000000000,
"sellDailyDiffPlain":0E-24
},
"marketValue":null
}
],
"instrumentMarketValue":null,
"instrumentInitialSize":0,
"instrumentFilledSize":10.000000,
"instrumentCurrentSize":10.000000
}
}
},
"lastCalculation":1455653450657
}
}

Consulta reporte de cuenta

HTTP Request
GET http://demo-api.primary.com.ar/rest/risk/accountReport/{accountName}

 {accountName} = cuenta a consultar.

Autenticación
HTTP Basic Authentication

Parameters
Parámetros URL
Parameter name Value Description
accountName String Nombre de la Cuenta. Ejemplo: 30

40
Ejemplo
Http Request http://demo-api.primary.com.ar/rest/risk/accountReport/10
{
"status":"OK",
"accountData":{
"lastCalculation":1467729250596,
"accountName":"10",
"marketMember":"Primary",
"marketMemberIdentity":"000",
"collateral":0,
"margin":666555,
"availableToCollateral":555666,
"detailedAccountReports":{
"T_PLUS_2":{
"currencyBalance":{
"detailedCurrencyBalance":{
"EUR":{ "consumed":0, "available":0 },
"ARS":{ "consumed":0, "available":0 },
"ARS BCRA":{ "consumed":0, "available":0 },
"U$S":{ "consumed":0, "available":0 },
"USD G":{ "consumed":0, "available":0 },
"USD D":{ "consumed":0, "available":0 },
"USD C":{ "consumed":0, "available":0 },
"USD R":{ "consumed":0, "available":0 }
},
Respuesta "accountValue":{
"cash":{
"totalCash":0.000000,
"detailedCash":{
"EUR":0, "ARS":0, "ARS BCRA":0, "USD G":0,
"U$S":0, "USD D":0, "USD R":0, "USD C":0
}
},
"dailyDiff":0,
"movements":0,
"portfolio":0,
"credit":1000000.000000000000,
"total":1000000.000000000000
},
"availableToOperate":{
"cash":{
"totalCash":0.000000,
"detailedCash":{
"EUR":0, "ARS":0, "ARS BCRA":0, "USD G":0,
"U$S":0, "USD D":0, "USD R":0, "USD C":0
}
},
"dailyDiff":0,
"movements":0,

41
"portfolio":0,
"credit":1000000.000000000000,
"total":1000000.000000000000
}
},
"NEXT_DAY":{
"currencyBalance":{
"detailedCurrencyBalance":{
"EUR":{ "consumed":0, "available":0 },
"ARS":{ "consumed":0, "available":0 },
"ARS BCRA":{ "consumed":0, "available":0 },
"U$S":{ "consumed":0, "available":0 },
"USD G":{ "consumed":0, "available":0 },
"USD D":{ "consumed":0, "available":0 },
"USD C":{ "consumed":0, "available":0 },
"USD R":{ "consumed":0, "available":0 }
}
},
"accountValue":{
"cash":{
"totalCash":0.000000,
"detailedCash":{
"EUR":0, "ARS":0, "ARS BCRA":0, "USD G":0,
"U$S":0, "USD D":0, "USD R":0, "USD C":0
}
},
"dailyDiff":0,
"movements":0,
"portfolio":0,
"credit":1000000.000000000000,
"total":1000000.000000000000
},
"availableToOperate":{
"cash":{
"totalCash":0.000000,
"detailedCash":{
"EUR":0, "ARS":0, "ARS BCRA":0, "USD G":0,
"U$S":0, "USD D":0, "USD R":0, "USD C":0
}
},
"dailyDiff":0,
"movements":0,
"portfolio":0,
"credit":1000000.000000000000,
"total":1000000.000000000000
}
},
"T_PLUS_3":{
"currencyBalance":{

42
"detailedCurrencyBalance":{
"EUR":{ "consumed":0, "available":0 },
"ARS":{ "consumed":0, "available":0 },
"ARS BCRA":{ "consumed":0, "available":0 },
"U$S":{ "consumed":0, "available":0 },
"USD G":{ "consumed":0, "available":0 },
"USD D":{ "consumed":0, "available":0 },
"USD C":{ "consumed":0, "available":0 },
"USD R":{ "consumed":0, "available":0 }
}
},
"accountValue":{
"cash":{
"totalCash":0.000000,
"detailedCash":{
"EUR":0, "ARS":0, "ARS BCRA":0, "USD G":0,
"U$S":0, "USD D":0, "USD R":0, "USD C":0
}
},
"dailyDiff":0,
"movements":0,
"portfolio":0,
"credit":1000000.000000000000,
"total":1000000.000000000000
},
"availableToOperate":{
"cash":{
"totalCash":0.000000,
"detailedCash":{
"EUR":0, "ARS":0, "ARS BCRA":0, "USD G":0,
"U$S":0, "USD D":0, "USD R":0, "USD C":0
}
},
"dailyDiff":0,
"movements":0,
"portfolio":0,
"credit":1000000.000000000000,
"total":1000000.000000000000
}
},
"CASH":{
"currencyBalance":{
"detailedCurrencyBalance":{
"EUR":{ "consumed":0, "available":0 },
"ARS":{ "consumed":0, "available":0 },
"ARS BCRA":{ "consumed":0, "available":0 },
"U$S":{ "consumed":0, "available":0 },
"USD G":{ "consumed":0, "available":0 },
"USD D":{ "consumed":0, "available":0 },

43
"USD C":{ "consumed":0, "available":0 },
"USD R":{ "consumed":0, "available":0 }
}
},
"accountValue":{
"cash":{
"totalCash":0.000000,
"detailedCash":{
"EUR":0, "ARS":0, "ARS BCRA":0, "USD G":0,
"U$S":0, "USD D":0, "USD R":0, "USD C":0
}
},
"dailyDiff":0,
"movements":0,
"portfolio":0,
"credit":1000000.000000000000,
"total":1000000.000000000000
},
"availableToOperate":{
"cash":{
"totalCash":0.000000,
"detailedCash":{
"EUR":0, "ARS":0, "ARS BCRA":0, "USD G":0,
"U$S":0, "USD D":0, "USD R":0, "USD C":0
}
},
"dailyDiff":0,
"movements":0,
"portfolio":0,
"credit":1000000.000000000000,
"total":1000000.000000000000
}
}
},
"hasError":false,
"errorDetail":null
}
}

44
Cotización de Monedas

Consulta Cotización de todas las Monedas

HTTP Request
GET /currency/getAll

Autenticación
HTTP Basic Authentication

Parameters
No recibe parámetros.

Ejemplo
Http Request /currency/getAll
[ {
"description":"Peso Argentino",
"currency":"ARS",
"rate":1
},{
"description":"Pesos depositados en BCRA",
"currency":"ARS BCRA",
"rate":1
},{
"description":"",
"currency":"USD G",
"rate":14.5
},{
"description":"",
"currency":"USD D",
"rate":13.5
},{
Respuesta
"description":"",
"currency":"USD C",
"rate":13.5
},{
"description":"",
"currency":"EUR",
"rate":14.7636
},{
"description":"",
"currency":"U$S",
"rate":13.726
},{
"description":"",
"currency":"USD R",
"rate":13.5533
}
]

45
Consulta Cotización de una Monedas

HTTP Request
GET /currency/get/{currency}

 {currency} = moneda a consultar.

Autenticación
HTTP Basic Authentication

Parameters
Parámetros URL
Parameter name Value Description
currency String Nombre de la Moneda. Ejemplo: ARS

Ejemplo
Http Request /currency/get/ARS
{
"description":"Peso Argentino",
Respuesta "currency":"ARS",
"rate":1
}

46

Вам также может понравиться