Mutual Funds API
Órdenes de Suscripción y Rescate
Las órdenes de Suscripción y Rescate de Fondos Comunes de Inversión (FCI) son solicitudes que los inversores realizan para ingresar o rescatar dinero de un fondo.
Suscripción
- El inversor suscribe dinero a cambio de recibir cuotapartes.
- Los cálculos se realizan con el precio de cuotaparte del día de la operación.
Rescate
- El inversor solicita el rescate de su inversión.
- Se dan de baja las cuotapartes y se devuelve el dinero resultante de la inversión.
- Los cálculos se realizan con el precio de cuotaparte del día de la operación.
Plazos de acreditación
- Los plazos de acreditación del rescate varían según el Fondo Común de Inversión y pueden ser inmediatos (T+0), en 24 horas (T+1) y hasta 48 horas (T+2)
- Las Suscripciones y Rescates se pueden solicitar todos los días hábiles según el horario operativo del Fondo.
Estado de una Orden
Las ordenes de Suscripción y Rescate pueden pasar por distintos estados los cuáles se describen a continuación:
| Estado | Descripción |
|---|---|
| PENDING | Orden Pendiente de Validaciones de Negocio |
| IN_PROGRESS | Orden en Progreso |
| CANCELLED | Orden Cancelada |
| AWAITING_FUNDS | Pendiente de Fondeo |
| COMPLETED | Orden Completada |
| ERROR (*) | Error |
(*) ErrorCode Ejemplo: PSP_PRIOR_PARTIAL_REDEMPTION (Existe un Rescate Parcial previo al Rescate Total.
Especificaciones técnicas
Diccionario de datos
| Parámetro | Descripción | Tipo de Dato |
|---|---|---|
| id | Id del Rescate | integer |
| mutualFundCafciCode | Código CAFCI del fondo | String |
| Name | Nombre FCI | String |
| currencyIsoCode | Código ISO para la moneda | String |
| accountHolderNumber | Número de cuenta comitente | String |
| amount | Monto | number |
| cvu | cvu | String |
| shares | Cantidad de CuotaPartes | number |
| price | Precio de CuotaPartes | number |
| lastPriceDate | Último día de precio actualizado | String |
| variation | Variación de Precio | Number |
| status | Estado | String |
| operationDate | Fecha de Concertación | String |
| settlementDate | Fecha de Liquidación | String |
| redemptionSettlementTerm | Rescate en días | Boolean |
| redeemAll | Es rescate total | Boolean |
| assetsDestination | Destino de fondos | String |
| Coment | Un comentario | String |
Endpoints Disponibles
1. Consulta de Información de Fondos Comunes de Inversión
Obtenga información detallada de cualquier Fondo Común de Inversión (FCI).
| Método | URL | Descripción |
|---|---|---|
GET | /v1/mutual-funds/{cafciCode} | Obtiene información detallada de un FCI |
Parámetros de la URL
| Parámetro | Requerido | Descripción |
|---|---|---|
cafciCode | Sí | Código del fondo |
Respuestas
200 OK
La solicitud fue exitosa. Retorna la información del fondo.
{
"id": 586,
"cafciCode": "3852",
"name": "MAX MONEY MARKET Clase A",
"currencyIsoCode": "ARS",
"price": 2.339641,
"lastPriceDate": "2024-02-22",
"variation": 0.13,
"redemptionSettlementTerm": 0
}
400 Bad Request
La solicitud no pudo ser procesada debido a un error en los parámetros enviados.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
500 Internal Server Error
Error interno del servidor.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
2. Consulta de Tenencia y Valuación de Fondos Comunes de Inversión
Obtenga información de la tenencia (cantidad de Cuotapartes) y valuación del FCI.
| Método | URL | Descripción |
|---|---|---|
GET | /v1/mutual-funds-holdings | Obtiene la valuación y tenencia de FCI |
Parámetros de Consulta
| Parámetro | Requerido | Descripción |
|---|---|---|
Date | Sí | Fecha de consulta |
accountHolderNumber | Sí | Número del titular de la cuenta |
mutuakFundCafciCode | No | Código del fondo a consultar |
currencylsoCode | No | Código ISO de la moneda de consulta |
Respuestas
200 OK
Tenencia y valuación del Fondo Común de Inversión
{
"sharePrice": 2.339641,
"availableShareAmounts": 22656.9232,
"availableValuation": 53009.07,
"unavailableShareAmounts": 0,
"unavailableValuation": 0,
"valuation": 53009.07
}
400 Bad Request
La solicitud no pudo ser procesada debido a un error en los parámetros enviados.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
403 Forbidden
La solicitud no tiene permiso para el Código CAFCI del FCI ingresado ni el N° de Titular de Cuenta.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
500 Internal Server Error
Error interno del servidor.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
3. Consultar Orden de Rescate
Este método permite obtener información detallada de Órdenes de Rescate de un FCI.
| Método | URL | Descripción |
|---|---|---|
GET | /v1/redemptions | Obtiene las órdenes de rescate |
Parámetros de Consulta
| Parámetro | Requerido | Descripción |
|---|---|---|
operationDate | Sí | Fecha de operación |
accountHolderNumber | Sí | Número del titular de la cuenta |
Respuestas
200 OK
El Total del Rescate se ejecutó con éxito.
{
"id": 125,
"mutualFundCafciCode": 3852,
"currencyIsoCode": "ARS",
"accountHolderNumber": 11772,
"amount": 15000.12,
"shares": 15.12345678,
"price": 2.339641,
"status": "IN_PROGRESS",
"operationDate": "2022-01-25",
"settlementDate": "2022-01-27",
"redeemAll": false,
"assetsDestination": "ECHEQ_ORDER",
"comment": "Un comentario",
"errorCode": "PSP_PRIOR_PARTIAL_REDEMPTION",
"errorDetail": "Existe un rescate parcial previo al rescate total"
}
204 No Content
No existen Suscripciones.
"string"
206 Partial Content
Se devuelve un resultado parcial de la Solicitud.
{
"id": 125,
"mutualFundCafciCode": 3852,
"currencyIsoCode": "ARS",
"accountHolderNumber": 11772,
"amount": 15000.12,
"shares": 15.12345678,
"price": 2.339641,
"status": "IN_PROGRESS",
"operationDate": "2022-01-25",
"settlementDate": "2022-01-27",
"redeemAll": false,
"assetsDestination": "ECHEQ_ORDER",
"comment": "Un comentario",
"errorCode": "PSP_PRIOR_PARTIAL_REDEMPTION",
"errorDetail": "Existe un rescate parcial previo al rescate total"
}
400 Bad Request
La solicitud no pudo ser procesada debido a un error en los parámetros enviados.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
404 Not Found
La lista de respuestas no está tolerada por los valores de la API.
"string"
500 Internal Server Error
Error interno del servidor.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
3.1. Consultar Orden de Rescate por ID
Obtiene información detallada de una Orden de Rescate específica por su ID.
| Método | URL | Descripción |
|---|---|---|
GET | /v1/redemptions/{id} | Obtiene una orden de rescate por ID |
Parámetros de la URL
| Parámetro | Requerido | Descripción |
|---|---|---|
id | Sí | ID de la orden de rescate |
Respuestas
200 OK
Orden de Rescate retornada correctamente.
{
"id": 125,
"mutualFundCafciCode": 3852,
"currencyIsoCode": "ARS",
"accountHolderNumber": 11772,
"amount": 15000.12,
"shares": 15.12345678,
"price": 2.339641,
"status": "IN_PROGRESS",
"operationDate": "2022-01-25",
"settlementDate": "2022-01-27",
"redeemAll": false,
"assetsDestination": "ECHEQ_ORDER",
"comment": "Un comentario",
"errorCode": "PSP_PRIOR_PARTIAL_REDEMPTION",
"errorDetail": "Existe un rescate parcial previo al rescate total"
}
400 Bad Request
La solicitud no pudo ser procesada debido a un error en los parámetros enviados.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
404 Not Found
Orden de Rescate No Encontrada.
"string"
500 Internal Server Error
Error interno del servidor.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
3.2. Crear Orden de Rescate
Este método permite crear una Orden de Rescate a un Fondo Común de Inversión.
| Método | URL | Descripción |
|---|---|---|
POST | /v1/redemptions | Crea una orden de rescate |
Cuerpo de la Solicitud
{
"mutualFundCafciCode": 3852,
"currencyIsoCode": "ARS",
"accountHolderNumber": 11772,
"amount": 15000.12,
"shares": 15.12345678,
"redeemAll": false,
"assetsDestination": "ECHEQ_ORDER",
"comment": "Un comentario"
}
4. Consultar Orden de Suscripción
Este método permite obtener información detallada de Órdenes de Suscripción de un FCI.
| Método | URL | Descripción |
|---|---|---|
GET | /v1/subscriptions | Obtiene las órdenes de suscripción |
Parámetros de Consulta
| Parámetro | Requerido | Descripción |
|---|---|---|
operationDate | Sí | Fecha de operación |
accountHolderNumber | Sí | Número del titular de la cuenta |
Respuestas
200 OK
El Total de las Suscripciones retornaron correctamente.
{
"id": 125,
"mutualFundCafciCode": 3852,
"currencyIsoCode": "ARS",
"accountHolderNumber": 11772,
"amount": 15000.12,
"shares": 15.12345678,
"price": 2.339641,
"status": "IN_PROGRESS",
"operationDate": "2022-01-25",
"cvu": "0000003100059118503787"
}
204 No Content
No existen Suscripciones.
"string"
206 Partial Content
Se devuelve un resultado parcial de la Solicitud.
{
"id": 125,
"mutualFundCafciCode": 3852,
"currencyIsoCode": "ARS",
"accountHolderNumber": 11772,
"amount": 15000.12,
"shares": 15.12345678,
"price": 2.339641,
"status": "IN_PROGRESS",
"operationDate": "2022-01-25",
"cvu": "0000003100059118503787"
}
400 Bad Request
La solicitud no pudo ser procesada debido a un error en los parámetros enviados.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
404 Not Found
La lista de respuestas no está tolerada por los valores de la API.
"string"
500 Internal Server Error
Error interno del servidor.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
4.1. Consultar Orden de Suscripción por ID
Obtiene información detallada de una Orden de Suscripción específica por su ID.
| Método | URL | Descripción |
|---|---|---|
GET | /v1/subscriptions/{id} | Obtiene una orden de suscripción por ID |
Parámetros de la URL
| Parámetro | Requerido | Descripción |
|---|---|---|
id | Sí | ID de la orden de suscripción |
Respuestas
200 OK
La Suscripción retornó correctamente.
{
"id": 125,
"mutualFundCafciCode": 3852,
"currencyIsoCode": "ARS",
"accountHolderNumber": 11772,
"amount": 15000.12,
"shares": 15.12345678,
"price": 2.339641,
"status": "IN_PROGRESS",
"operationDate": "2022-01-25",
"cvu": "0000003100059118503787"
}
400 Bad Request
La solicitud no pudo ser procesada debido a un error en los parámetros enviados.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
404 Not Found
Suscripción No Encontrada.
"string"
500 Internal Server Error
Error interno del servidor.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
4.2. Crear Orden de Suscripción
Este método permite crear una Orden de Suscripción a un Fondo Común de Inversión.
| Método | URL | Descripción |
|---|---|---|
POST | /v1/subscriptions | Crea una orden de suscripción |
Cuerpo de la Solicitud
{
"mutualFundCafciCode": 3852,
"currencyIsoCode": "ARS",
"accountHolderNumber": 11772,
"amount": 15000.12,
"cvu": "0000003100059118503787"
}
4.3. Crear Orden de Suscripción por Lote
Este método permite crear una Orden de Suscripción por Lotes a un Fondo Común de Inversión.
| Método | URL | Descripción |
|---|---|---|
POST | /v1/subscriptions/batch | Crea órdenes de suscripción por lote |
Cuerpo de la Solicitud
{
"subscriptions": [
{
"mutualFundCafciCode": 3852,
"currencyIsoCode": "ARS",
"accountHolderNumber": 11772,
"amount": 15000.12,
"cvu": "0000003100059118503787"
}
],
"totalAmount": 0
}
4.4. Confirmación de Creación de Ordenes de Suscripción por Lote
Este método permite confirmar la creación de Ordenes de Suscripción por Lotes.
| Método | URL | Descripción |
|---|---|---|
POST | /v1/subscriptions/batch/{batchId}/confirmation | Confirma suscripciones por lote |
Parámetros de la URL
| Parámetro | Requerido | Descripción |
|---|---|---|
batchId | Sí | ID del lote a confirmar |
Respuestas
200 OK
Suscripción por Lote Confirmada.
{
"id": 0,
"status": "PENDING",
"operationDate": "2025-04-01",
"subscriptions": [
{
"id": 125,
"mutualFundCafciCode": 3852,
"currencyIsoCode": "ARS",
"accountHolderNumber": 11772,
"amount": 15000.12,
"shares": 15.12345678,
"price": 2.339641,
"status": "IN_PROGRESS",
"operationDate": "2022-01-25",
"cvu": "0000003100059118503787"
}
],
"totalAmount": 0
}
400 Bad Request
La solicitud no pudo ser procesada debido a un error en los parámetros enviados.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
422 Unprocessable Entity
La Solicitud de Suscripción no cumple una regla de negocio.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
500 Internal Server Error
Error interno del servidor.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
Notas Adicionales
- Autenticación: Todas las solicitudes requieren un token JWT válido en el encabezado
Authorization. - Versionado: Todos los endpoints pertenecen a la versión
v1de la API, como se indica en la URL (/v1/).