ACCOUNTS
Servicios por los cuales se podrán dar altas, consultar y modificar personas, cuentas comitentes y cuentas bancarias.
Los pasos correctos a seguir son:
- Alta de la persona, donde se obtiene el person_id para vincular a la cuenta comitente.
- Envío de documentación de las personas que componen la cuenta
- Alta de la cuenta comitente, donde se obtiene el investment_account_id para vincular la cuenta bancaria.
- Alta de la cuenta bancaria para poder realizar extracciones.
POST /persons ⚠️
⚠️ Este endpoint quedará inhabilitado. Usar /v2/persons
Endpoint para poder dar el alta de una o mas personas con la información requerida en un solo hit.
- URL del Endpoint:
POST/{{baseUrl}}/api/accounts/persons/
Dentro del objeto person:
| Campo | Tipo | Descripción | Match |
|---|---|---|---|
| job_activity_id | int | Código de actividad AFIP | master-tables: job_activities |
| nationality_id | str | Código de país de nacionalidad | master-tables: countries |
| country_document_id | str | Código de país del documento | master-tables: countries |
| is_pep | bool | Indicador si la persona es políticamente expuesta | Brindado por el usuario |
| is_aml_cft_subject | bool | Indicador si la persona es sujeto obligado | Brindado por el usuario |
Dentro del objeto tax_identifications:
| Campo | Tipo | Descripción | Match |
|---|---|---|---|
| tax_identification_value | str | CUIT/CUIL/CDI de la persona | Brindado por el usuario |
| residence_country_id | str | Código de país de residencia | master-tables: countries |
| tax_identification_type_id | str | Código de tipo de documento fiscal y laboral | master-tables: countries |
| taxpayer_income_tax_type_id | str | Código de tipo de contribuyente de ingresos brutos | master-tables: taxpayers_income_tax_types |
| vat_taxpayer_type_id | str | Código de tipo de contribuyente IVA | master-tables: vat_taxpayer_types |
| vat_country_taxpayer_type_id | str | Código del país donde contribuye IVA específico |
Dentro del objeto human_person:
| Campo | Tipo | Descripción | Match |
|---|---|---|---|
| surname | str | Apellido de la persona física | Brindado por el usuario |
| name | str | Nombre de la persona física | Brindado por el usuario |
| document_type_id | str | Código de tipo de documento | master-tables: documents |
| document_num | str | Número de documento de la persona física | Brindado por el usuario |
| civil_status_id | str | Código de tipo de estado civil | master-tables civil-statuses |
| birth_date | date | Fecha de nacimiento de la persona física | Brindado por el usuario |
| birth_place | str | Lugar de nacimiento de la persona física | master-tables: countries |
| gender_id | str | Género de la persona física | master-tables: genders |
| signature | base64 | Firma por cada persona que se da de alta. Archivo .png con resolucion de 800x600px, con transparencia | Brindado por el usuario |
Dentro del objeto legal_person:
| Campo | Tipo | Descripción | Match |
|---|---|---|---|
| company_name | str | Razón social de la persona jurídica | Brindado por el usuario |
| registration_number | str | Número de inscripción de la persona jurídica | Brindado por el usuario |
| incorporation_place | str | Lugar de constitución de la persona jurídica | master-tables: countries |
| country_id | str | Codigo país de la persona jurídica | master-tables: countries |
Dentro del objeto domicile:
| Campo | Tipo | Descripción | Match |
|---|---|---|---|
| domicile_type_id | str | Código de tipo de domicilio | master-tables: domicile_types |
| house_number | int | Altura de la calle | Brindado por el usuario |
| street | str | Nombre de la calle | Brindado por el usuario |
| floor | str | Piso en caso de un edificio. | Brindado por el usuario |
| apartment | str | Departamento | Brindado por el usuario |
| country_id | str | Código del país | master-tables: countries |
| province_id | str | Código de la provincia | master-tables: provinces |
| zip_code | int | Código postal | Brindado por el usuario |
| location_id | int | Código de la localidad | master-tables: locations |
Dentro del objeto contact:
| Campo | Tipo | Descripción | Match |
|---|---|---|---|
| str | Email de la persona | Brindado por el usuario | |
| mobile_phone | str | Telefono de la persona. Formato E.164 | Brindado por el usuario |
Request para ingresar una persona física
{
"persons": [
{
"job_activity_id": "int",
"nationality_id": "str",
"country_document_id": "str",
"is_pep": "bool",
"is_aml_cft_subject": "bool",
"tax_identifications": {
"tax_identification_value": "str",
"residence_country_id": "str",
"tax_identification_type_id": "str",
"taxpayer_income_tax_type_id": "str",
"vat_taxpayer_type_id": "str",
"vat_country_taxpayer_type_id": "str"
},
"human_person": {
"surname": "str",
"name": "str",
"document_type_id": "str",
"document_num": "str",
"civil_status_id": "str",
"birth_date": "date",
"birth_place": "str",
"gender_id": "str",
"signature": "str"
},
"domiciles": [
{
"domicile_type_id": "str",
"house_number": "int",
"street": "str",
"floor": "int",
"apartment": "str",
"country_id": "str",
"province_id": "str",
"zip_code": "int",
"location_id": "int"
}
],
"contact": {
"email": "str",
"mobile_phone": "str"
}
}
]
}
Request para ingresar una persona jurídica
{
"persons": [
{
"job_activity_id": "int",
"nationality_id": "str",
"country_document_id": "str",
"is_pep": "bool",
"is_aml_cft_subject": "bool",
"tax_identifications": {
"tax_identification_value": "str",
"residence_country_id": "str",
"tax_identification_type_id": "str",
"taxpayer_income_tax_type_id": "str",
"vat_taxpayer_type_id": "str",
"vat_country_taxpayer_type_id": "str"
},
"legal_person": {
"company_name": "str",
"registration_number": "str",
"incorporation_place": "str",
"country_id": "str"
},
"domiciles": [
{
"domicile_type_id": "str",
"house_number": "int",
"street": "str",
"floor": "int",
"apartment": "str",
"country_id": "str",
"province_id": "str",
"zip_code": "int",
"location_id": "int"
}
],
"contact": {
"email": "str",
"mobile_phone": "str"
}
}
]
}
Response de una persona física y una persona jurídica
{
"items": [
{
"person_id": "str",
"surname": "str",
"name": "str",
"tax_identification_value": "str",
"error": {
"error_code": "str",
"message": "str"
}
},
{
"person_id": "str",
"company_name": "str",
"tax_identification_value": "str",
"error": {
"error_code": "str",
"message": "str"
}
}
]
}
En caso de no haber error, el campo "error" viene en null.
POST/ v2/persons
Endpoint para poder dar el alta de una o mas personas con la información requerida en un solo hit.
- URL del Endpoint:
POST/{{baseUrl}}/api/accounts/v2/persons
Dentro del objeto person:
| Campo | Tipo | Descripción | Match |
|---|---|---|---|
| job_activity_id | int | Código de actividad AFIP | master-tables: job_activities |
| nationality_id | str | Código de país de nacionalidad | master-tables: countries |
| country_document_id | str | Código de país del documento | master-tables: countries |
| is_pep | bool | Indicador si la persona es políticamente expuesta | Brindado por el usuario |
| pep_relation | str | Indicador si la relacion PEP es direct o indirect | Brindado por el usuario |
| pep_position | str | Indicador del cargo PEP, Ej "Presidente" | Brindado por el usuario |
| is_aml_cft_subject | bool | Indicador si la persona es sujeto obligado | Brindado por el usuario |
| fatca_id | str | Indicador si la persona está registrada o tiene operaciones en EEUU | Brindado por el usuario |
Consideraciones:
- Si la persona "is_pep": true, entonces "pep_relation" y "pep_position" serán campos obligatorios. De lo contrario, si "is_pep": false, estos 2 campos pueden omitirse o enviarse vacios.
- FATCA: Ley de Cumplimiento Fiscal de Cuentas en el Extranjero. Aplica a todo individuo o entidad con obligaciones fiscales, quienes incluyen ciudadanos estadounidenses y aquellos que han obtenido alguna vez la tarjeta de residencia en EE.UU. Si la persona NO cumple con esta condición, el campo "fatca_id" podrá enviarse vacio:
"fatca_id": ""
Dentro del objeto oecd_identifiers:
| Campo | Tipo | Descripción | Match |
|---|---|---|---|
| oecd_identifier | str | Identificador si la persona tiene residencia fiscal en un país que participa en el intercambio automático de información según la OCDE | Brindado por el usuario |
| country_id | str | Codigo país miembro de la OCDE | master-tables: countries |
Consideraciones:
- La OCDE, Organización para la Cooperación y el Desarrollo Económicos, agrupa a países con economías avanzadas. Si la persona NO tiene obligaciones fiscales en un país miembro de la OCDE y NO reside en un país extranjero, entonces el objeto "oecd_identifier" se debe enviar vacío en la request de la siguiente manera:
"oecd_identifiers": [ ]
Dentro del objeto tax_identifications:
| Campo | Tipo | Descripción | Match |
|---|---|---|---|
| tax_identification_value | str | CUIT/CUIL/CDI de la persona | Brindado por el usuario |
| residence_country_id | str | Código de país de residencia | master-tables: countries |
| tax_identification_type_id | str | Código de tipo de documento fiscal y laboral | master-tables: countries |
| taxpayer_income_tax_type_id | str | Código de tipo de contribuyente de ingresos brutos | master-tables: taxpayers_income_tax_types |
| vat_taxpayer_type_id | str | Código de tipo de contribuyente IVA | master-tables: vat_taxpayer_types |
| vat_country_taxpayer_type_id | str | Código del país donde contribuye IVA específico |
Dentro del objeto human_person:
| Campo | Tipo | Descripción | Match |
|---|---|---|---|
| surname | str | Apellido de la persona física | Brindado por el usuario |
| name | str | Nombre de la persona física | Brindado por el usuario |
| document_type_id | str | Código de tipo de documento | master-tables: documents |
| document_num | str | Número de documento de la persona física | Brindado por el usuario |
| civil_status_id | str | Código de tipo de estado civil | master-tables civil-statuses |
| birth_date | date | Fecha de nacimiento de la persona física | Brindado por el usuario |
| birth_place | str | Lugar de nacimiento de la persona física | master-tables: countries |
| gender_id | str | Género de la persona física | master-tables: genders |
| signature | base64 | Firma por cada persona que se da de alta. Archivo .png con resolucion de 800x600px, con transparencia | Brindado por el usuario |
Dentro del objeto legal_person:
| Campo | Tipo | Descripción | Match |
|---|---|---|---|
| company_name | str | Razón social de la persona jurídica | Brindado por el usuario |
| registration_number | str | Número de inscripción de la persona jurídica | Brindado por el usuario |
| incorporation_place | str | Lugar de constitución de la persona jurídica | master-tables: countries |
| country_id | str | Codigo país de la persona jurídica | master-tables: countries |
| constitution_date | date | Fecha de constitución de la persona juridica | Brindado por el usuario |
| book | str | Libro | Brindado por el usuario |
| volume | str | Tomo | Brindado por el usuario |
| page | str | Folio | Brindado por el usuario |
| is_state_supplier | bool | Indicador si es proveedora del estado | Brindado por el usuario |
| corporate_type | int | Código de tipo societario | master-tables: corporate-types |
Dentro del objeto domicile:
| Campo | Tipo | Descripción | Match |
|---|---|---|---|
| domicile_type_id | str | Código de tipo de domicilio | master-tables: domicile_types |
| house_number | int | Altura de la calle | Brindado por el usuario |
| street | str | Nombre de la calle | Brindado por el usuario |
| floor | str | Piso en caso de un edificio. | Brindado por el usuario |
| apartment | str | Departamento | Brindado por el usuario |
| country_id | str | Código del país | master-tables: countries |
| province_id | str | Código de la provincia | master-tables: provinces |
| zip_code | int | Código postal | Brindado por el usuario |
| location_id | int | Código de la localidad | master-tables: locations |
Dentro del objeto contact:
| Campo | Tipo | Descripción | Match |
|---|---|---|---|
| str | Email de la persona | Brindado por el usuario | |
| mobile_phone | str | Telefono de la persona. Formato E.164 | Brindado por el usuario |
Request para ingresar una persona física
{
"persons": [
{
"job_activity_id": "int",
"nationality_id": "str",
"country_document_id": "str",
"is_pep": "bool",
"pep_relation": "str",
"pep_position": "str",
"is_aml_cft_subject": "bool",
"fatca_id": "str",
"oecd_identifiers": [
{
"oecd_identifier": "str",
"country_id": "str"
}
],
"tax_identifications": {
"tax_identification_value": "str",
"residence_country_id": "str",
"tax_identification_type_id": "str",
"taxpayer_income_tax_type_id": "str",
"vat_taxpayer_type_id": "str",
"vat_country_taxpayer_type_id": "str"
},
"human_person": {
"surname": "str",
"name": "str",
"document_type_id": "str",
"document_num": "str",
"civil_status_id": "str",
"birth_date": "date",
"birth_place": "str",
"gender_id": "str",
"signature": "str"
},
"domiciles": [
{
"domicile_type_id": "str",
"house_number": "int",
"street": "str",
"floor": "int",
"apartment": "str",
"country_id": "str",
"province_id": "str",
"zip_code": "int",
"location_id": "int"
}
],
"contact": {
"email": "str",
"mobile_phone": "str"
}
}
]
}
Request para ingresar una persona jurídica
{
"persons": [
{
"job_activity_id": "int",
"nationality_id": "str",
"country_document_id": "str",
"is_pep": "bool",
"is_aml_cft_subject": "bool",
"fatca_id": "str",
"oecd_identifiers": [
{
"oecd_identifier": "str",
"country_id": "str"
}
],
"tax_identifications": {
"tax_identification_value": "str",
"residence_country_id": "str",
"tax_identification_type_id": "str",
"taxpayer_income_tax_type_id": "str",
"vat_taxpayer_type_id": "str",
"vat_country_taxpayer_type_id": "str"
},
"legal_person": {
"company_name": "str",
"registration_number": "str",
"incorporation_place": "str",
"country_id": "str",
"constitution_date": "date",
"book": "str",
"volume": "str",
"page": "str",
"is_state_supplier": "bool",
"corporate_type": "int"
},
"domiciles": [
{
"domicile_type_id": "str",
"house_number": "int",
"street": "str",
"floor": "int",
"apartment": "str",
"country_id": "str",
"province_id": "str",
"zip_code": "int",
"location_id": "int"
}
],
"contact": {
"email": "str",
"mobile_phone": "str"
}
}
]
}
Response de una persona física y una persona jurídica
{
"items": [
{
"person_id": "str",
"surname": "str",
"name": "str",
"tax_identification_value": "str",
"error": {
"error_code": "str",
"message": "str"
}
},
{
"person_id": "str",
"company_name": "str",
"tax_identification_value": "str",
"error": {
"error_code": "str",
"message": "str"
}
}
]
}
En caso de no haber error, el campo "error" viene en null.
GET/ persons
Endpoint para obtener la información completa de una persona por su "cuit" o su "person_id". por medio de queryParams.
- URL del Endpoint:
GET/{{baseUrl}}/api/accounts/persons/
queryParams ---> tax_identification_value
- URL del Endpoint:
GET/{{baseUrl}}/api/accounts/persons?tax_identification_value={tax_identification_value}
queryParams ---> person_id
- URL del Endpoint:
GET/{{baseUrl}}/api/accounts/persons?person_id={person_id}
Response:
{
"items": [
{
"person_id": "str",
"person": {
"job_activity_id": "int",
"nationality_id": "str",
"country_document_id": "str",
"is_pep": "bool",
"pep_relation": "str",
"pep_position": "str",
"is_aml_cft_subject": "bool",
"fatca_id": "str",
"oecd_identifiers": [
{
"oecd_identifier": "str",
"country_id": "str"
}
],
"tax_identifications": {
"tax_identification_value": "str",
"residence_country_id": "int",
"tax_identification_type_id": "str",
"taxpayer_income_tax_type_id": "str",
"vat_taxpayer_type_id": "str",
"vat_country_taxpayer_type_id": "int"
},
"human_person": {
"surname": "str",
"name": "str",
"document_type_id": "str",
"document_num": "int",
"civil_status_id": "str",
"birth_date": "date",
"birth_place": "str",
"gender_id": "str"
},
"legal_person": {
"company_name": "str",
"registration_number": "str",
"incorporation_place": "str",
"country_id": "str",
"constitution_date": "date",
"book": "str",
"volume": "str",
"page": "str",
"is_state_supplier": "bool",
"corporate_type": "int"
},
"domiciles": [
{
"domicile_type_id": "str",
"house_number": "int",
"street": "str",
"floor": "int",
"apartment": "str",
"country_id": "str",
"province_id": "str",
"zip_code": "int",
"location_id": "int"
}
],
"contact_info": {
"email": "str",
"mobile_phone": "str"
}
}
}
]
}
POST/ identity-document
Endpoint para enviar documentación de todas las personas humanas que componen una cuenta
- URL del Endpoint:
POST/{{baseUrl}}/api/accounts/persons/identity-document
| Campo | Tipo | Descripción | Match |
|---|---|---|---|
| person_id | str | Código de la persona física vinculada a los documentos | Brindado por el usuario |
| front | base64 | Frente DNI | Brindado por el usuario |
| back | base64 | Dorso DNI | Brindado por el usuario |
| face | base64 | Fotografía del rostro tomada por la persona | Brindado por el usuario |
Request para enviar la documentación de una persona humana
{
"person_id": "str",
"face": "base64",
"front": "base64",
"back": "base64"
}
GET/ identity-document
Endpoint para consultar la documentación de las personas físicas
- URL del Endpoint:
GET{{baseUrl}}/api/accounts/persons/identity-document/:person_id
Response
{
"items": [
{
"person_id": "str",
"face": "str",
"front": "str",
"back": "str"
}
]
}
POST/ contracts
Endpoint para enviar documentación de la persona legal que compone una cuenta. A su vez, podrá ser utilizado para enviar la documentación relacionada a personas humanas que sean PEP (politicamente expuesta)
El cuerpo de la solicitud utiliza un tipo de codificación FORM-DATA (multipart/form-data). Esto permitirá enviar tanto archivos como campos de texto
- URL del Endpoint:
POST/{{baseUrl}}/api/accounts/persons/contracts
| Campo | Tipo | Descripción | Match |
|---|---|---|---|
| person_id | text | Código de la persona vinculada a los documentación | Brindado por el usuario |
| constituent_instrument | file | Instrumento constitutivo | Brindado por el usuario |
| power_of_attorney | file | Poder | Brindado por el usuario |
| latest_balance_certificate | file | Último Balance anual certificado por el CPCE | Brindado por el usuario |
| administrative_body_record | file | Nómina o actas con determinación de miembros del órgano de administración u órgano equivalente | Brindado por el usuario |
| capital_ownership_beneficiary | file | Titularidad del capital social - indicación de Beneficiario final | Brindado por el usuario |
| shareholder_registry_copy | file | Copia del Registro de participación societaria | Brindado por el usuario |
| other_documents | file | Otros documentos societarios | Brindado por el usuario |
| pep_documents | file | Documentación solo para PF que sean PEP | Brindado por el usuario |
Ejemplos de los documentos que se deben cargar para cada KEY:
-
Instrumento constitutivo: Estatuto de SA, Contrato Social de SRL, Contrato de Fideicomiso, Reglamento de Copropietarios.
-
Poder
-
Nómina o actas con determinación de miembros del órgano de administración u órgano equivalente: Documentación que acredite la designación vigente de autoridades según tipo societario; Actas de asamblea y directorio con designación de autoridades vigentes en una SA, actas con designación de socios gerentes de SRL, acta con designación del administrador en un Consorcio, etc.
-
Último Balance anual certificado por el CPCE: Si todavía no cuenta con su 1º Balance cerrado ni con un Balance inicial especial, por favor enviar documentación patrimonial que demuestre sus activos al día de la fecha, como certificación contable.
-
Copia del Registro de participación societaria: Registro de accionistas en SA, de socios en SRL, nómina de Fiduciantes en un Fideicomiso, nómina de socios participes en una SGR, nómina de copropietarios en un Consorcio. En caso de que, la titularidad del capital social presente un alto nivel de atomización por las características propias se tendrá por cumplido este requisito mediante la identificación de los integrantes del consejo de administración o equivalente y/o aquellos que ejerzan el control efectivo de la persona jurídica (Cooperativas, Asociaciones, Colegios profesionales, etc.).
-
Titularidad del capital social - indicación de Beneficiario final: Se debe completar y adjuntar el siguiente documento ESTRUCTURA SOCIETARIA. Se debe informar a los accionistas, personas jurídicas, que posean participación accionaria igual o mayor a 10%, hasta llegar en cada caso a los beneficiarios finales, entendidos estos como las personas humanas que detenten una participación directa o indirecta de un porcentaje igual o mayor al 10% del capital o derechos de voto de la persona jurídica.
-
Otros documentos societarios: Las personas legales con estructuras societarias complejas o diferentes a las mencionadas podrán agregar documentación adicional y pertinente
-
Documentación PEP : Si la persona física es PEP, deberá enviar alguno de los siguientes documentos; los últimos 3 recibos de sueldo, certificación contable de origen de los fondos, facturas o indemnizaciones, sentencias judiciales, escrituras de venta/compra, donaciones, prestamos, seguros.
GET/ contracts
Endpoint para consultar los contratos de las personas jurídicas y documentación PEP de personas físicas
- URL del Endpoint:
GET{{baseUrl}}/api/accounts/persons/contracts/:person_id/:legal_person_document
Consideraciones:
- El valor para el parametro "legal_person_document" se debe completar con el nombre que fue guardado el archivo
POST/ investment-accounts ⚠️
⚠️ Este endpoint quedará inhabilitado. Usar /v2/investment-accounts
Endpoint para poder dar de alta una o mas cuentas comitentes vinculadas a personas.
En primer lugar, es necesario que se haya dado de alta una persona para luego poder vincularla a la cuenta comitente que estamos creando.
- URL del Endpoint:
POST/{{baseUrl}}/api/accounts/investment-accounts/
Dentro del objeto investment_accounts:
| Campo | Tipo | Descripción | Match |
|---|---|---|---|
| external_id | str | Identificador único de la petición. Lo envía el cliente, y sirve para evitar duplicados | |
| market_type | str | Tipo del mercado en el que opera. Valor único por el momento stock_market | |
| investment_profile | Resultados de las preguntas que determinarán el "investment_risk_profile" | master-tables: investor-questions | |
| investment_risk_profile | str | Resultado del perfil de riesgo, valores posibles: AGGRESSIVE, MODERATE, CONSERVATIVE | |
| person_account_type_id | str | Tipo de persona asociada a la cuenta. | master-tables: person-accounts |
Dentro del objeto owners:
| Campo | Tipo | Descripción | Match |
|---|---|---|---|
| person_id | str | Código de la persona que que vincula a la cuenta comitente | |
| person_role_id | str | Rol de la persona | master-tables: person_roles |
Request:
{
"investment_accounts": [
{
"external_id": "str",
"person_account_type_id": "str",
"investment_profile": {
"1": "int",
"2": "int",
"3": "int",
"4": "int"
},
"market_type": [],
"owners": [
{
"person_id": "str",
"person_role_id": "str"
},
{
"person_id": "str",
"person_role_id": "str"
}
]
},
{
"external_id": "str",
"person_account_type_id": "str",
"investment_profile": {
"1": "int",
"2": "int",
"3": "int",
"4": "int"
},
"market_type": [],
"owners": [
{
"person_id": "str",
"person_role_id": "str"
}
]
}
]
}
Response:
{
"items": [
{
"external_id": "str",
"investment_account_id": "int",
"investment_risk_profile": "str",
"error": {
"error_code": "str",
"message": "str"
}
},
{
"external_id": "str",
"investment_account_id": "int",
"investment_risk_profile": "str",
"error": {
"error_code": "str",
"message": "str"
}
}
]
}
En caso de no haber error, el campo "error" viene en null.
POST/ v2/investment-accounts
Endpoint para poder dar de alta una o mas cuentas comitentes vinculadas a personas.
En primer lugar, es necesario que se haya dado de alta una persona para luego poder vincularla a la cuenta comitente que estamos creando.
- URL del Endpoint:
POST/{{baseUrl}}/api/accounts/v2/investment-accounts
Dentro del objeto investment_accounts:
| Campo | Tipo | Descripción | Match |
|---|---|---|---|
| external_id | str | Identificador único de la petición. Lo envía el cliente, y sirve para evitar duplicados | |
| market_type | str | Tipo del mercado en el que opera. Valor único por el momento stock_market | |
| investment_profile | int | Resultados de las preguntas que determinarán el "investment_risk_profile" | master-tables: investor-questions |
| investment_risk_profile | str | Resultado del perfil de riesgo, valores posibles: AGGRESSIVE, MODERATE, CONSERVATIVE | |
| person_account_type_id | str | Tipo de persona asociada a la cuenta. | master-tables: person-accounts |
- Es importante aclarar que, para esta v2, se agrega un nuevo versionado para el investment_profile. En master-tables: investor-questions, se puede ver que ahora hay un versionado.
Dentro del objeto owners:
| Campo | Tipo | Descripción | Match |
|---|---|---|---|
| person_id | str | Código de la persona que vincula a la cuenta comitente | Brindado por el usuario |
| person_role_id | str | Rol de la persona | master-tables: person_roles |
Request:
{
"investment_accounts": [
{
"external_id": "str",
"person_account_type_id": "str",
"investment_profile": {
"1": "int",
"2": "int",
"3": "int",
"4": "int",
"5": "int"
},
"market_type": [],
"owners": [
{
"person_id": "str",
"person_role_id": "str"
},
{
"person_id": "str",
"person_role_id": "str"
}
],
"referral_code": "str"
},
{
"external_id": "str",
"person_account_type_id": "str",
"investment_profile": {
"1": "int",
"2": "int",
"3": "int",
"4": "int",
"5": "int"
},
"market_type": [],
"owners": [
{
"person_id": "str",
"person_role_id": "str"
}
],
"referral_code": "str"
}
]
}
Response:
{
"items": [
{
"external_id": "str",
"investment_account_id": "int",
"investment_risk_profile": "str",
"error": {
"error_code": "str",
"message": "str"
}
},
{
"external_id": "str",
"investment_account_id": "int",
"investment_risk_profile": "str",
"error": {
"error_code": "str",
"message": "str"
}
}
]
}
En caso de no haber error, el campo "error" viene en null.
GET/ investment-accounts
Endpoint para consultar la informacion de una cuenta comitente por medio de pathParams.
- URL del Endpoint:
GET/{{baseUrl}}/api/accounts/investment-accounts/
Se debe enviar como pathParams el "investment_account_id" de la cuenta comitente que queremos consultar:
- URL del Endpoint:
GET/{{baseUrl}}/api/accounts/investment-accounts/{investment_account_id}
Se debe enviar como pathParams el "person_id" de la persona que queremos consultar:
- URL del Endpoint:
GET/{{baseUrl}}/api/accounts/investment-accounts/by-person-id/{person_id}
Para consultar los mercados asociados a una cuenta comitente, se debe enviar por queryParams: with_market_data=true. En caso de hacerlo se devolvera en el response el objeto "market_types" con la información de los mercados asociados. Actualmente, el único mercado disponible es "stock_market".
- URL del Endpoint:
GET/{{baseUrl}}/api/accounts/investment-accounts/:investment_account_id?with_market_data=true
| Campo | Tipo | Descripción |
|---|---|---|
| market_type | str | Tipo de mercado (Ejemplo: stock_market). |
| is_created | bool | Indica si la cuenta para ese mercado fue creada correctamente. |
| data | object | Informacion de la cuenta creada en ese mercado. |
En el objeto data en caso de ser un mercado de tipo stock_market:
| Campo | Tipo | Descripción |
|---|---|---|
| market_account_id | int | Codigo de la cuenta comitente. |
| market_account_number | int | Número de la cuenta comitente. |
Response
{
"items": [
{
"investment_account_id": "int",
"external_id": "str",
"investment_risk_profile": "str",
"owners":
[
{
"person_id": "str",
"person_role_id": "str"
},
{
"person_id": "str",
"person_role_id": "str"
}
],
"market_types": [
{
"market_type": "str",
"is_created": "bool",
"data": {
"market_account_id": "int",
"market_account_number": "int"
}
},
{
"market_type": "str",
"is_created": "bool",
"data": {
"market_account_id": "int",
"market_account_number": "int"
}
}
]
}
]
}
Endpoint para agregar a una cuenta comitente a un nuevo mercado
- URL del Endpoint:
POST/{{baseUrl}}/api/accounts/investment-accounts/{investment_account_id}/add-market
Request
{
"market_type": "str"
}
PUT/ investment-profile
- URL del Endpoint:
PUT/{{baseUrl}}/api/accounts/investment-profile/{investment_account_id}
Endpoint para actualizar la información de una cuenta proporcionada durante las preguntas iniciales en la creacion de la misma. Las preguntas son de opción múltiple, por lo que para modificarlas, se debe enviar el número de la nueva opción seleccionada.
Las preguntas y el id de las mismas se pueden consultar en el endpoint de GET/{{baseUrl}}/api/master-tables/investor-questions
Request:
{
"1": 1,
"2": 1,
"3": 4
}
En el JSON, la clave representa el número de la pregunta y el valor es la nueva opción seleccionada.
Response:
{
"items": [
{
"investment_risk_profile": "str",
"investment_account_id": "int"
}
]
}
POST/ bank-accounts
Endpoint para dar de alta una o mas cuentas bancarias y vincularlas a un investment_account_id.
La cuenta bancaria debe ser SAME NAME (mismo nombre) que la persona física del investment_account_id.
En caso de ser una persona jurídica, la cuenta bancaria también debe ser SAME NAME.
- URL del Endpoint:
POST/{{baseUrl}}/api/accounts/bank-accounts/
| Campo | Tipo | Descripción | Match |
|---|---|---|---|
| investment_account_id | int | Código del comitente | |
| bank_entity_id | int | Código de la institución bancaria | master-tables: bank-entities |
| currency_id | str | Código de la moneda | master-tables: currencies |
| cbu | str | CBU (Clave Bancaria Uniforme). Se debe enviar cbu o alias, al menos uno obligatorio. | |
| alias | str | Alias de la cuenta bancaria. Se debe enviar cbu o alias, al menos uno obligatorio. | |
| bank_account_type_id | str | Tipo de cuenta bancaria | master-tables: bank_account_types |
Request:
{
"bank_accounts": [
{
"investment_account_id": "int",
"currency_id": "str",
"cbu": "str",
"alias": "str"
}
]
}
Response:
{
"items": [
{
"investment_account_id": "int",
"cbu": "str",
"alias": "str",
"bank_account_id": "str",
"error": {
"error_code": "str",
"message": "str"
}
}
]
}
En caso de no haber error, el campo "error" viene en null.
GET/ bank-accounts
Endpoint para obtener una lista de cuentas bancarias.
- URL del Endpoint:
GET/{{baseUrl}}/api/accounts/bank-accounts/
Se envia como pathParams el "bank_account_id" para obtener los datos de una cuenta bancaria específica.
- URL del Endpoint:
GET/{{baseUrl}}/api/accounts/bank-accounts/{bank_account_id}
Response:
{
"items": [
{
"investment_account_id": "int",
"cbu": "str",
"bank_account_id": "str",
"currency_id": "str",
"alias": "str",
"bank_entity_id": "int",
"bank_account_type_id": "str"
}
]
}
Se envia como queryParams el "investment_account_id" para obtener una lista de cuentas bancarias vinculadas a un comitente.
El campo "alias" es opcional en caso de mandarse "cbu". Puede directamente no mandarse el campo o mandarse vacio.
Url: GET/{{baseUrl}}/api/accounts/bank-accounts?investment_account_id={investment_account_id}
Response:
{
"items": [
{
"investment_account_id": "int",
"cbu": "str",
"bank_account_id": "str",
"currency_id": "str",
"alias": "str",
"bank_entity_id": "int",
"bank_account_type_id": "str"
},
{
"investment_account_id": "int",
"cbu": "str",
"bank_account_id": "str",
"currency_id": "str",
"alias": "str",
"bank_entity_id": "int",
"bank_account_type_id": "str"
}
]
}
PUT/ bank-accounts
Endpoint para actualizar el ALIAS unicamente de una cuenta bancaria.
- URL del Endpoint:
PUT/{{baseUrl}}/api/accounts/bank-accounts
Se debe enviar como pathParams el "bank_account_id" de la cuenta bancaria que se quiere actualizar.
- URL del Endpoint:
PUT/{{baseUrl}}/api/accounts/bank-accounts/{bank_account_id}
Request:
{
"alias": "str"
}
Response:
{
"items": [
{
"investment_account_id": "int",
"cbu": "str",
"bank_account_id": "str",
"currency_id": "str",
"alias": "str",
"bank_entity_id": "int",
"bank_account_type_id": "str"
}
]
}
DELETE/ bank-accounts
Endpoint para anular una cuenta bancaria.
- URL del Endpoint:
DELETE/{{baseUrl}}/api/accounts/bank-accounts
Se debe enviar como pathParams el "bank_account_id" de la cuenta bancaria que se quiere dar de baja.
Request:
- URL del Endpoint:
DELETE/{{baseUrl}}/api/accounts/bank-accounts/{bank_account_id}
Response:
{
"Message": "La cuenta fue anulada exitosamente".
}
GET/ investment-accounts/all
Endpoint para obtener todas las cuentas comitentes que le corresponden al cliente.
Request:
- URL del Endpoint:
GET/{{baseUrl}}/api/accounts/investment-accounts/all
Response:
{
"items": [
{
"investment_account_ids": ["int", "int"]
}
]
}