MARKET
A trav茅s de este servicio podr谩s:
- Enviar 贸rdenes de compra y venta de instrumentos al mercado como suscripciones y rescates de fondos comunes de inversi贸n.
- Consultar el estado de una orden realizada.
- Cancelar el envio de una orden.
POST/ market-orders
Endpoint para enviar ordenes de compra y venta de distintos instrumentos al mercado.
- URL del Endpoint:
POST/{{baseUrl}}/api/market/market-order/
Campo | Tipo | Descripci贸n |
---|---|---|
market_order_id | int | C贸digo identificador de la orden. |
investment_account_id | int | C贸digo del comitente en ApiBroker. |
market_instrument_id | int | C贸digo del instrumento de mercado. |
market_operation_type | str | Tipo de operaci贸n: compra o venta. |
currency_id | str | Master-tables: currencies. |
amount | float | Importe de la transacci贸n. |
quantity | int | Cantidad de nominales del instrumento a comprar/vender. |
term | int | Plazo de la operaci贸n. |
instrument_price | float | Precio del instrumento a operar. |
by_amount | bool | Indica si la orden se ejecuta es por importe. |
include_expenses_in_amount | bool | Indica si se incluyen los gastos de la orden en el importe. |
at_market_price | bool | Indica si env铆a la orden con el precio del instrumento en el mercado. |
instrument_type | str | Tipo de instrumento. |
trade_date | datetime | Fecha de concertaci贸n de la orden. |
settlement_date | datetime | Fecha de liquidaci贸n de la orden. |
created_at | datetime | Fecha de creaci贸n de la orden. |
updated_at | datetime | Fecha de 煤ltima actualizaci贸n de la orden. |
market_order_status_id | datetime | Estado de la orden. |
executed_quantity | int | Cantidad de nominales ejecutados. |
pending_quantity | int | Cantidad de nominales pendientes. |
external_id | str | Identificador 煤nico de la petici贸n. Lo env铆a el cliente, y sirve para evitar duplicados |
Consideraciones para el envio de ordenes a mercado:
- Existen 4 combinaciones posibles para el envio de ordenes:
-
"by_amount": true y "at_market_price": false: El campo "quantity" debe ser 0 ya que la orden se ejecuta por el importe indicado en "amount", ignorando la cantidad enviada, y al precio enviado en "instrument_price".
-
"by_amount": false y "at_market_price": false: El campo "amount" debe ser 0, ya que la orden se env铆a por la cantidad indicada en "quantity" y el precio enviado en "instrument_price".
-
"by_amount": false y "at_market_price": true: El campo "amount" debe ser 0, ya que la orden se env铆a por la cantidad indicada en "quantity" y el precio se env铆a al mercado por el que calcula ApiBroker al enviar la orden.
-
"by_amount": true y "at_market_price": true: El campo "quantity" debe ser 0 ya que la orden se ejecuta por el importe indicado en "amount", ignorando la cantidad enviada, y el precio se env铆a al mercado por el que calcula ApiBroker al enviar la orden.
-
Valores posibles para "market_operation_type": "buy" (compra) o "sell" (venta).
- Valores posibles para "term": 0 (contado inmediato). 1 (operaciones a 24hs). 2 (operaciones a 48hs)
- Los valores posibles para "market_instrument_id" se pueden obtener en la siguiente url:
GET/{{baseUrl}}/api/instruments/market/all
Posibles estados de las ordenes:
market_order_status_id | descripci贸n |
---|---|
SENDING_PENDING | Pendiente de env铆o. Ser谩 enviada tan pronto sea posible. |
RETRY | Se intent贸 enviar pero no fue posible. Ser谩 enviada nuevamente tan pronto se pueda. |
SENT | Enviada, esperando la confirmaci贸n de BYMA. |
OFFERED | Ofertada. La orden est谩 ofertada en el mercado. Se ingres贸 para "buy" o "sell". |
COMPLETED | Completada. Se compr贸 o vendi贸 la cantidad indicada. Es un estado FINAL. |
CANCELLED | Cancelada. Se cancel贸 manualmente. |
REJECTED | Rechazada. El mercado rechaz贸 la orden. Es un estado FINAL. |
PARTIALLY_COMPLETED | Parcialmente completada. Se compr贸 o vendi贸 parcialmente. Es un estado temporal si es del d铆a, o un estado FINAL si la orden es de otro d铆a. |
PENDING_CANCELLATION | Pendiente de cancelaci贸n. Se pidi贸 la cancelaci贸n manual al mercado, pero este a煤n no la confirm贸. |
NOT_SENT | No enviada. Por alg煤n motivo fall贸 el env铆o de la orden. Es un estado FINAL. |
EXPIRED | Expirada. Las 贸rdenes expiran al cerrar el mercado. Es un estado FINAL. |
Request:
{
"investment_account_id": "int",
"market_instrument_id": "int",
"market_operation_type": "str",
"currency_id": "str",
"amount": "float",
"quantity": "int",
"term": "int",
"instrument_price": "float",
"by_amount": "bool",
"at_market_price": "bool",
"external_id": "str"
}
Response:
{
"items": [
{
"investment_account_id": "int",
"market_order_id": "int",
"market_instrument_id": "int",
"ticker": "str",
"market_operation_type": "str",
"currency_id": "str",
"amount": "float",
"net_amount": "float",
"estimated_expenses": "float",
"include_expenses_in_amount": "bool",
"by_amount": "bool",
"at_market_price": "bool",
"quantity": "int",
"term": "int",
"instrument_price": "float",
"instrument_type": "str",
"trade_date": "date",
"settlement_date": "date",
"created_at": "datetime",
"updated_at": "datetime",
"market_order_status_id": "str",
"executed_quantity": "int",
"pending_quantity": "int",
"external_id": "str"
}
]
}
GET/ market-orders
Endpoint para consultar el estado de una orden.
- URL del Endpoint:
GET/{{baseUrl}}/api/market/market-order/
Se debe enviar como pathParam el "market_order_id":
- URL del Endpoint:
GET/{{baseUrl}}/api/market/market-order/{market_order_id}
Response:
{
"items": [
{
"investment_account_id": "int",
"market_order_id": "int",
"market_instrument_id": "int",
"ticker": "str",
"market_operation_type": "str",
"amount": "float",
"net_amount": "float",
"estimated_expenses": "float",
"include_expenses_in_amount": "bool",
"by_amount": "bool",
"at_market_price": "bool",
"quantity": "int",
"currency_id": "str",
"term": "int",
"instrument_price": "float",
"instrument_type": "str",
"trade_date": "date",
"created_at": "datetime",
"settlement_date": "date",
"updated_at": "datetime",
"market_order_status_id": "str",
"executed_quantity": "int",
"pending_quantity": "int",
"external_id": "str"
}
]
}
Se pueden consultar todas las ordenes en un rango de fechas especificas para un "investment_account_id":
- URL del Endpoint:
GET/{{baseUrl}}/api/market/market-order/orders-by-investment-account/{investment_account_id}?from_date=2023-08-01&to_date=2023-08-12
GET/ stock-market-confirmations
- URL del Endpoint:
GET/{{baseUrl}}/api/market/stock-market-confirmations/confirmations-by-investment-account/{investment_account_id}
Campo | Tipo | Descripci贸n |
---|---|---|
stock_market_confirmation_id | int | C贸digo identificador de la confirmaci贸n. |
stock_market_confirmation_num | int | N煤mero de confirmaci贸n. |
quantity | float | Cantidad de nominales ejecutados. |
price | float | Precio del instrumento en la transacci贸n. |
gross_amount | float | Importe bruto de la transacci贸n. |
net_amount | float | Importe neto de la transacci贸n. |
fee | float | Comisi贸n de la transacci贸n. |
market_fee | float | Comisi贸n del mercado. |
currency_id | str | Identificador de la moneda. Master-tables: currencies. |
fee_currency_id | str | Identificador de la moneda de la comisi贸n. Master-tables: currencies. |
market_fee_currency_id | str | Identificador de la moneda de la comisi贸n del mercado. Master-tables: currencies. |
canceled | bool | Indicador si la transacci贸n fue cancelada. |
tax_fee | float | Impuesto sobre la comisi贸n. |
tax_market_fee | float | Impuesto sobre la comisi贸n del mercado. |
description | str | Descripci贸n de la transacci贸n. |
Dentro del objeto stock_market_confirmation_executions:
Campo | Tipo | Descripci贸n |
---|---|---|
stock_market_confirmation_execution_id | int | C贸digo identificador de la ejecuci贸n. |
stock_market_confirmation_id | int | C贸digo identificador de la confirmaci贸n. |
quantity | int | Cantidad de nominales ejecutados en la ejecuci贸n. |
price | int | Precio del instrumento en la ejecuci贸n. |
trade_datetime | datetime | Fecha y hora de la ejecuci贸n. |
market_order_id | int | C贸digo identificador de la orden. |
Response:
{
"items": [
{
"stock_market_confirmation_id": "int",
"investment_account_id": "int",
"market_instrument_id": "int",
"market_operation_type": "str",
"trade_date": "date",
"settlement_date": "date",
"stock_market_confirmation_num": "int",
"quantity": "float",
"price": "float",
"gross_amount": "float",
"fee": "float",
"market_fee": "float",
"net_amount": "float",
"currency_id": "str",
"fee_currency_id": "str",
"market_fee_currency_id": "str",
"canceled": "bool",
"tax_fee": "float",
"tax_market_fee": "float",
"description": "str",
"stock_market_confirmation_executions": [
{
"stock_market_confirmation_execution_id": "int",
"stock_market_confirmation_id": "int",
"quantity": "int",
"price": "int",
"trade_datetime": "datetime",
"market_order_id": "int"
}
]
}
],
"total": "int",
"page": "int",
"size": "int"
}
Tambien se pueden consultar todas confirmaciones de ordenes, en un rango de fechas especifico para un "investment_account_id":
- URL del Endpoint:
GET/{{baseUrl}}/api/market/stock-market-confirmations/confirmations-by-investment-account/{investment_account_id}?from_date=2023-08-01&to_date=2023-08-12
POST/ preview-market-order
Endpoint utilizado para previsualizar una orden de mercado.
- URL del Endpoint:
POST/{{baseUrl}}/api/market/preview-market-order
- Si se env铆a el par谩metro "validate_holding" (bool) en "true", el servicio validar谩 si la cuenta comitente cuenta con la tenencia suficiente en cartera para operar la orden. En caso contrario, no se valida la tenencia, y se puede previsualizar la orden por un importe mayor al disponible.
Request:
{
"investment_account_id": "int",
"quantity": "int",
"amount": "float",
"currency_id": "str",
"market_instrument_id": "int",
"market_operation_type": "str",
"instrument_price": "float",
"term": "int",
"external_id": "str",
"by_amount": "bool",
"at_market_price": "bool",
"validate_holding": "bool"
}
Response:
{
"items": [
{
"investment_account_id": "int",
"market_instrument_id": "int",
"ticker": "str",
"market_operation_type": "str",
"currency_id": "str",
"amount": "float",
"net_amount": "float",
"estimated_expenses": "float",
"by_amount": "bool",
"at_market_price": "bool",
"quantity": "int",
"term": "int",
"instrument_price": "float",
"instrument_type": "str"
}
]
}
POST/ schedule-market-order
Endpoint para programar 贸rdenes de compra y venta de instrumentos en el mercado.
- URL del Endpoint:
POST/{{baseUrl}}/api/market/schedule-market-order
Consideraciones:
- "scheduled_market_order_id": C贸digo identificador 煤nico de la orden programada.
- "scheduled_time": Fecha y hora programada para la ejecuci贸n de la orden. Este campo especifica cu谩ndo se debe enviar la orden al mercado.
- Valores posibles para "status" de una orden programada:
status | Descripci贸n |
---|---|
SCHEDULED | La orden ha sido programada. |
CANCELLED | La orden programada ha sido cancelada. |
ERROR | Hubo un error al programar la orden. |
COMPLETED | La orden programada se ha completado exitosamente. |
- En caso de que el campo "status" tenga el valor "ERROR", se proporcionar谩 una descripci贸n del error en el campo "message".
Request:
{
"investment_account_id": "int",
"quantity": "int",
"amount": "float",
"currency_id": "str",
"market_instrument_id": "int",
"market_operation_type": "str",
"instrument_price": "float",
"term": "int",
"external_id": "str",
"by_amount": "bool",
"at_market_price": "bool",
"scheduled_time": "datetime"
}
Response:
{
"items": [
{
"scheduled_market_order_id": "int",
"scheduled_time": "datetime",
"status": "str",
"message": "str",
"error_code": "str",
"market_order_id": "int",
"quantity": "int",
"amount": "float",
"currency_id": "str",
"market_instrument_id": "int",
"market_operation_type": "str",
"instrument_price": "float",
"term": "int",
"investment_account_id": "int",
"external_id": "str",
"by_amount": "bool",
"at_market_price": "bool"
}
]
}
GET/ schedule-market-order
Endpoint para obtener una orden programada espec铆fica.
- URL del Endpoint:
GET/{{baseUrl}}/api/market/schedule-market-order/{scheduled_market_order_id}
Response:
{
"items": [
{
"scheduled_market_order_id": "int",
"scheduled_time": "datetime",
"status": "str",
"message": "str",
"error_code": "str",
"market_order_id": "int",
"quantity": "int",
"amount": "float",
"currency_id": "str",
"market_instrument_id": "int",
"market_operation_type": "str",
"instrument_price": "float",
"term": "int",
"investment_account_id": "int",
"external_id": "str",
"by_amount": "bool",
"at_market_price": "bool"
}
]
}
POST/ mep-order
Endpoint para realizar compra-venta de dolar MEP. Permite comprar d贸lares MEP (deshacerse de ARS y obtener USD) y vender d贸lares (deshacerse de USD y obtener ARS).
- URL del Endpoint:
POST/{{baseUrl}}/api/market/mep-order
Campo | Tipo | Descripci贸n |
---|---|---|
mep_market_order_id | int | C贸digo identificador de la solicitud. |
investment_account_id | int | C贸digo de cuenta de inversiones en ApiBroker. |
base_instrument_id | int | C贸digo identificador del instrumento base. Se obtiene a trav茅s de instruments/market. |
market_operation_type | str | Tipo de operaci贸n: compra USD MEP o venta USD MEP. |
amount | float | Importe de la transacci贸n. |
market_order_id_1 | int | C贸digo identificador de la primer orden. |
market_order_id_2 | int | C贸digo identificador de la segunda orden. |
order_2_scheduled_time | str | Horario UTC en el cual se quiere realizar la segunda orden. |
status | str | Estado de la solicitud MEP. |
external_id | str | Identificador 煤nico de la petici贸n. Lo env铆a el cliente, y sirve para evitar duplicados. |
message | str | Mensaje de la operaci贸n. |
error_code | obj | C贸digo de error. Si no hay error, este campo es null. |
created_at | datetime | Fecha de la creaci贸n de la solicitud. |
updated_at | datetime | Fecha de 煤ltima actualizaci贸n de la solicitud. |
Consideraciones:
- Todas las 贸rdenes programadas se env铆an en contado inmediato.
- Este endpoint funciona en d铆as habiles
- Valores posibles para "market_operation_type": "buy" (Comprar USD MEP) o "sell" (vender USD MEP).
-
- Si se utiliza "buy", lo que har谩 el sistema es enviar la primer orden de compra en moneda ARS, y enviar谩 la proxima orden inmediatamente
-
- Si se utiliza "sell", lo que har谩 el sistema es enviar la primer orden de compra en moneda USD, y enviar谩 la pr贸xima orden inmediatamente
- Los valores posibles para "base_instrument_id" se pueden obtener en la siguiente url:
GET/{{BASE_URL}}/api/instruments/market/all
-
- Esto quiere decir que puede realizar la operatoria de compra-venta con el instrumento que desee, sea 茅ste un CEDEAR, un t铆tulo p煤blico, etc.
- El sistema detecta autom谩ticamente en qu茅 moneda debe operar en las 贸rdenes seg煤n el "base_instrument_id" y "market_operation_type".
- El campo "order_2_scheduled_time" se debe enviar siempre en UTC. Ejemplo de hora: "15:30". Esto, al ser UTC; significa que la segunda orden ser谩 enviada a las 11:30 horario Argentina GMT-3.
-
- Para el caso de que una orden tenga "market_operation_type": "buy", la hora que se pide es para enviar la orden de venta el d铆a siguiente. Si no se env铆an datos en este campo, se tomar谩 el horario default que es 16:30HS UTC, 13:30HS GMT-3.
-
- Para el caso de que una orden tenga "market_operation_type": "sell", la hora que se pide es para enviar la orden de venta en el d铆a actual. Si no se env铆a datos en este campo, se tomar谩 el horario default que es a los 10 minutos de creada la primer orden.
Posibles estados de las solicitudes:
status | descripci贸n |
---|---|
PENDING | Pendientes de env铆o. Ser谩 enviada tan pronto sea posible la primer orden, y quedar谩 en pendiente mientras tanto no est茅 completada la segunda orden. |
CANCELLED | Cancelada manualmente. |
NOT_SENT | No enviada. |
COMPLETED | Completada. |
Request:
{
"investment_account_id": "int",
"amount": "float",
"base_instrument_id": "int",
"market_operation_type": "str",
"order_2_scheduled_time": "str",
"external_id": "str"
}
Response:
{
"items": [
{
"mep_market_order_id": "int",
"investment_account_id": "int",
"base_instrument_id": "int",
"market_operation_type": "str",
"amount": "float",
"status": "str",
"external_id": "str",
"market_order_id_1": "int",
"market_order_id_2": "int",
"message": "str",
"error_code": "str",
"created_at": "str",
"updated_at": "str"
}
]
}
GET/ mep-order
Endpoint para consultar el estado de una solicitud de compra-venta USD MEP.
Se debe enviar como pathParam el fund_request_id:
- URL del Endpoint:
GET/{{baseUrl}}/api/market/mep-order/{mep_market_order_id}
Response:
{
"items": [
{
"mep_market_order_id": "int",
"investment_account_id": "int",
"base_instrument_id": "int",
"market_operation_type": "str",
"amount": "float",
"status": "str",
"external_id": "str",
"market_order_id_1": "int",
"market_order_id_2": "int",
"message": "str",
"error_code": "str",
"created_at": "datetime",
"updated_at": "datetime"
}
]
}
POST/ closed-dollar-operation 馃挼
Endpoint para realizar compra-venta de dolar CERRADO. Permite comprar y vender d贸lares MEP con un precio asegurado para el usuario final.
Actualmente esta operaci贸n se encuentra disponible solo para cuentas de personas f铆sicas.
- URL del Endpoint:
POST/{{baseUrl}}/api/market/closed-dollar-operation
Campo | Tipo | Descripci贸n |
---|---|---|
currency_id | str | C贸digo moneda de la operacion. Master-tables: currencies |
operation_type | str | Tipo de operaci贸n |
investment_account_id | int | investment_account_id del cliente final |
amount | float | Importe de la transacci贸n |
fx_request | float | Tipo de cambio que el cliente acept贸 |
external_id | str | Identificador 煤nico de la petici贸n. Lo env铆a el cliente, y sirve para evitar duplicados |
Consideraciones:
- Valores posibles para "operation_type": "buy" (Comprar USD MEP) o "sell" (vender USD MEP).
- Este endpoint funciona en d铆as habiles
-
- Si se utiliza "buy", lo que har谩 el sistema es enviar la primer orden de compra en moneda ARS馃挷 y enviar谩 la proxima orden en el mismo d铆a para obtener los USD馃挼
-
- Si se utiliza "sell", lo que har谩 el sistema es enviar la primer orden de compra en moneda USD馃挼, y enviar谩 la pr贸xima orden en el mismo d铆a para obtener los ARS馃挷
- Cuando se env铆a una solicitud, el campo "operation_1_client_market_order_id" corresponde a la primer orden enviada. El campo "operation_2_client_market_order_id" correspondiente a la segunda orden, no se completar谩 automaticamente, sino cuando finalice el proceso.
Valores posibles para "status" de una orden :
status | Descripci贸n |
---|---|
IN_PROGRESS | La orden ha sido enviada. |
ERROR | Hubo un error al enviar la orden. |
COMPLETED | Las ordenes se han completado exitosamente. |
Request:
{
"currency_id": "str",
"operation_type": "str",
"investment_account_id": "int",
"amount": "float",
"fx_request": "float",
"external_id": "str"
}
Response:
{
"items":[
{
"closed_dollar_operation_id":"str",
"currency_id":"str",
"operation_type":"str",
"investment_account_id":"int",
"amount":"float",
"fx_request":"float",
"actual_fx":"float",
"operation_1_client_market_order_id":"int",
"operation_2_client_market_order_id":"int",
"external_id":"str",
"message":"str",
"error_code":"str",
"status_id":"str",
"created_at":"datetime",
"updated_at":"datetime"
}
]
}
GET/ closed-dollar-operation
Endpoint para consultar el estado de una solicitud de compra-venta Dolar Cerrado.
Se debe enviar como pathParam el closed_dollar_operation_id:
- URL del Endpoint:
GET/{{baseUrl}}/api/market/closed-dollar-operation/:closed_dollar_operation_id
Response:
{
"items":[
{
"closed_dollar_operation_id":"str",
"currency_id":"str",
"operation_type":"str",
"investment_account_id":"int",
"amount":"float",
"fx_request":"float",
"actual_fx":"float",
"operation_1_client_market_order_id":"int",
"operation_2_client_market_order_id":"int",
"external_id":"str",
"message":"str",
"error_code":"str",
"status_id":"str",
"created_at":"datetime",
"updated_at":"datetime"
}
]
}
GET/ closed-dollar-operation-price
Endpoint que se utiliza para consultar la cotizaci贸n disponible para la operatoria de MEP Cerrado
- URL del Endpoint:
GET/{{baseUrl}}/api/market/closed-dollar-operation-price
Response:
{
"items":[
{
"closed_dollar_fx":"float",
"currency_id":"str",
"operation_type":"str"
}
]
}
Obtendremos dependiendo la operaci贸n (buy/sell) y la moneda (ARS/USD), el precio para operar por dolar cerrado.
DELETE/ market-orders
Endpoint para cancelar una orden enviada al mercado.
- URL del Endpoint:
DELETE/{{baseUrl}}/api/market/market-order/
Para CANCELAR una orden, necesitamos que se cumplan las siguientes validaciones:
- Que exista la orden que queremos cancelar y que corresponda al usuario.
- Que el estado de la orden en BYMA sea SENDING_PENDING.
- Que el estado de la orden en BYMA sea RETRY.
- Que el estado de la orden en BYMA sea SENT.
- Que el estado de la orden en BYMA sea OFFERED.
- Que el estado de la orden en BYMA sea PARTIALLY_COMPLETED. (En caso de que la orden sea del d铆a actual, porque si la orden es de un d铆a anterior se encuentra en un estado final, por lo que no puede ser CANCELADA, porque ya no se env铆a a mercado).
Se debe enviar como pathParam el market_order_id:
- URL del Endpoint:
DELETE/{{baseUrl}}/api/market/market-order/{market_order_id}
Si la orden pudo ser cancelada se obtendr谩 el siguiente response:
{
"message": "Success"
}
Si la orden NO pudo ser cancelada se obtendr谩 el siguiente response:
{
"error_code": "CODIGO DE ERROR",
"message": "No se pudo cancelar la orden"
}
Nota: si el mensaje es de exito, el estado de la orden quedara en : "pending_cancellation". Una vez que la orden se encuentre cancelado su estado pasara a ser: "cancelled"
POST/ fund-requests
Endpoint para realizar solicitudes de suscripci贸n o rescates de fondos comunes de inversi贸n.
- URL del Endpoint:
POST/{{baseUrl}}/api/market/fund-requests/
Campo | Tipo | Descripci贸n |
---|---|---|
fund_request_id | int | C贸digo identificador de la solicitud. |
investment_account_id | int | C贸digo del comitente en ApiBroker. |
mutual_fund_id | int | C贸digo del instrumento de FCI. |
name | str | Nombre del instrumento de FCI. |
ticker | str | Identificador del instrumento de FCI. |
clazz | str | Clase del instrumento de FCI. |
fund_operation_type | str | Tipo de operaci贸n: suscripci贸n o rescate. |
is_total | bool | Indicador si el rescate es por el total o parcial. Por defecto: false |
currency_id | str | Master-tables: currencies. |
amount | float | Importe de la transacci贸n. |
share_quantity | float | Cantidad de cuotapartes. |
share_price | float | Precio de la cuotaparte. |
fund_request_status_id | str | Estado de la solicitud. |
trade_date | datetime | Fecha de concertaci贸n. |
settlement_date | datetime | Fecha de liquidaci贸n de la solicitud. |
created_at | datetime | Fecha de la creaci贸n de la solicitud. |
updated_at | datetime | Fecha de 煤ltima actualizaci贸n de la solicitud. |
external_id | str | Identificador 煤nico de la petici贸n. Lo env铆a el cliente, y sirve para evitar duplicados |
Consideraciones:
- Valores posibles para "fund_operation_type": "subscription" (suscripciones) o "redemption" (rescates).
- Los valores posibles para "mutual_fund_id" se pueden obtener en la siguiente url:
GET/{{baseUrl}}/api/instruments/mutual-funds/all
Posibles estados de las solicitudes:
fund_request_status_id | descripci贸n |
---|---|
SENDING_PENDING | Pendiente de env铆o. Ser谩 enviada tan pronto sea posible. |
RETRY | Se envi贸, pero fall贸 y se marc贸 para reintentar. Se enviar谩 nuevamente. |
SENT | Enviada, esperando ser liquidada. |
CANCELLED | Cancelada manualmente. |
NOT_SENT | No enviada. |
SETTLED | Liquidada. |
Request:
{
"investment_account_id": "int",
"mutual_fund_id": "int",
"fund_operation_type": "str",
"currency_id": "str",
"amount": "float",
"is_total": "bool",
"external_id": "str",
"by_share_quantity": "bool",
"share_quantity": "float"
}
Response:
{
"items": [
{
"investment_account_id": "int",
"fund_request_id": "int",
"mutual_fund_id": "int",
"name": "str",
"ticker": "str",
"fund_operation_type": "str",
"currency_id": "str",
"amount": "float",
"is_total": "bool",
"clazz": "str",
"share_quantity": "float",
"share_price": "float",
"trade_date": "date",
"settlement_date": "date",
"created_at": "datetime",
"updated_at": "datetime",
"approved": "bool",
"fund_request_status_id": "str",
"external_id": "str"
}
]
}
GET/ fund-requests
Endpoint para consultar el estado de una solicitud de fci.
- URL del Endpoint:
GET/{{baseUrl}}/api/market/fund-requests/
Se debe enviar como pathParam el fund_request_id:
- URL del Endpoint:
GET/{{baseUrl}}/api/market/fund-requests/{fund_request_id}
Response:
{
"items": [
{
"investment_account_id": "int",
"fund_request_id": "int",
"mutual_fund_id": "int",
"fund_operation_type": "str",
"currency_id": "str",
"amount": "float",
"is_total": "bool",
"name": "str",
"ticker": "str",
"clazz": "str",
"share_quantity": "float",
"share_price": "float",
"trade_date": "date",
"settlement_date": "date",
"created_at": "datetime",
"updated_at": "datetime",
"fund_request_status_id": "str",
"approved": "bool",
"external_id": "str"
}
]
}
Se pueden consultar todas las solicitudes de fci, en un rango de fechas especificas para un "investment_account_id":
- URL del Endpoint:
GET/{{baseUrl}}/api/market/fund-requests/fund-requests-by-investment-account/{investment_account_id}?from_date=2023-08-01&to_date=2023-08-12
GET/ mutual-fund-confirmations
- URL del Endpoint:
GET/{{baseUrl}}/api/market/mutual-fund-confirmations/funds-by-investment-account/{investment_account_id}
Response:
{
"items": [
{
"mutual_fund_confirmation_id": "int",
"investment_account_id": "int",
"mutual_fund_id": "int",
"fund_operation_type": "str",
"trade_date": "date",
"settlement_date": "date",
"amount": "float",
"share_quantity": "float",
"share_price": "float",
"expenses": "float",
"currency_id": "str",
"fund_request_id": "int",
"canceled": "bool",
"created_at": "datetime",
"updated_at": "datetime"
}
],
"total": "int",
"page": "int",
"size": "int"
}
Tambien se pueden consultar todas confirmaciones de las solicitudes de fci, en un rango de fechas especificas para un "investment_account_id":
- URL del Endpoint:
GET/{{baseUrl}}/api/market/mutual-fund-confirmations/funds-by-investment-account/{investment_account_id}?from_date=2023-08-01&to_date=2023-08-12
DELETE/ fund-requests
Endpoint para cancelar una solicitud de fci.
- URL del Endpoint:
DELETE/{{baseUrl}}/api/market/fund-requests/
Solo cancelaremos una solicitud que no haya sido negociada y que no se haya cancelado/rechazado previamente
Se debe enviar como pathParam el fund_request_id:
Url: DELETE/{{baseUrl}}/api/market/fund-requests/{fund_request_id}
Si la orden pudo ser cancelada se obtendr谩 el siguiente response:
{
"message": "Success"
}
Si la orden NO pudo ser cancelada se obtendr谩 el siguiente response:
{
"error_code": "CODIGO DE ERROR",
"message": "No se pudo cancelar la orden"
}
Nota: si el mensaje es de exito, el estado de la orden quedara en : "pending_cancellation". Una vez que la solicitud se encuentre cancelada su estado pasara a ser: "cancelled"