Saltar al contenido principal

Apertura de Cuenta

Creación de Archivos

Antes de crear una cuenta, es necesario generar los archivos correspondientes de las personas involucradas. Para esto, utiliza el endpoint api/v1/files/. Se recomienda realizar esta acción antes de crear la cuenta para agilizar el proceso.

Importante

La cuenta se puede crear sin necesidad de estos archivos para pruebas rápidas, aunque si la cuenta no tiene los archivos correspondientes no podrá crear órdenes de rescate/rescate total.

Método: POST
URL: /api/v1/files/

Para enviar el request, es necesario utilizar el siguiente payload en formato form-data para adjuntar la documentación:

{
"file": "DNITEST.png",
"reason": "human_id_front"
}

Respuesta:

{
"file": "urlstaging/media/account_files/files/dnitest_LdpiGnJ.png",
"file_id": "file_tv505NOfyHeIQdUU",
"reason": "human_id_back",
"updated": "2023-01-16T13:50:55.444896-03:00",
"created": "2023-01-16T13:50:55.444872-03:00"
}

De esta respuesta lo importante es guardar el campo file_id y reason, ya que estos son los campos que usaremos al momento de crear las personas que conforman la cuenta.

Aclaración

Para conocer la documentación tanto requeridas como opcionales se recomienda utilizar el endpoint api/v1/specs/ en la sección doc_specs y estas varían dependiendo el tipo de persona y ACDI o colocador.

Creación de cuenta, personas y cuentas bancarias

Para crear una cuenta, utilizaremos el endpoint api/v1/accounts/. Este endpoint está compuesto por varios campos y recibe por payload account_type, persons y bank_account, la forma más sencilla de utilizarlo se muestra a continuación mediante un ejemplo de solicitud:

Método: POST
URL: /api/v1/accounts/

Payload:

{
"account_type": "individual",
"external_id": "123123",
"country": "AR",
"persons": [
{
"person_type": "H",
"is_representative": true,
"data": {
"first_name": "Juan",
"last_name": "DeLaRosa",
"birthdate": "1986-10-29",
"birthplace": "AR",
"gender": 1,
"is_active": true,
"id_type": "DNI",
"id_number": "39651529",
"tax_id_type": "CUIT",
"tax_id_number": "20396515281",
"tax_condition": "No Responsable",
"addresses": [
{
"street": "Avellaneda",
"number": "3835",
"city": "Caba",
"country": "AR"
}
],
"phone": "3414508849",
"email": "juan@gmail.com",
"nationality": "AR",
"activity": "Trabajador",
"files": [
{
"file_id": "file_Hd7AEYvvpon3fJW2",
"reason": "human_id_front"
},
{
"file_id": "file_Hd7AEYvvpon3fJW2",
"reason": "human_id_back"
}
]
}
}
],
"bank_accounts": [
{
"account_cvu": "01145678901497543",
"account_number": "987654323457",
"currency": "ARS",
"account_alias": "Juan.Rosa.Test",
"account_type": "virtual",
"account_holder_name": "Lui Comu",
"account_holder_id_number": "39651529"
}
]
}

La información de personas requerida en data se puede obtener en Personas o consultandolas desde el endpoint /api/v1/specs/.

Respuesta:

{
"account_id": "acct_fXHqyVxtDIbY3HD9",
"account_type": "individual",
"account_number": null,
"country": "AR",
"default_currency": "Peso Argentino",
"external_id": "123123",
"status": "pending",
"status_description": "Cuenta pendiente de autorización.",
"all_required_files": false,
"wallet": "WalletLocal",
"persons": [
{
"person_id": "person_Oaew6yFWbyAZWcg8",
"person_type": "H",
"is_active": true,
"is_director": false,
"is_executive": false,
"is_owner": false,
"role_title": null,
"percent_ownership": null,
"is_representative": true,
"data": {
"email": "juan@gmail.com",
"phone": "3414508849",
"gender": 1,
"id_type": "DNI",
"activity": "Trabajador",
"addresses": [
{
"city": "Caba",
"number": "3835",
"street": "Caastex2",
"country": "AR"
}
],
"birthdate": "1986-10-29",
"id_number": "39651529",
"is_active": true,
"last_name": "DeLaRosa",
"birthplace": "AR",
"first_name": "Juan",
"nationality": "AR",
"tax_id_type": "CUIT",
"tax_condition": "No Responsable",
"tax_id_number": "20396515281"
},
"files": [
{
"file_id": "file_Hd7AEYvvpon3fJW2",
"reason": "human_id_front"
},
{
"file_id": "file_Hd7AEYvvpon3fJW2",
"reason": "human_id_back"
}
]
}
],
"notified": false,
"notified_date": null,
"bank_accounts": [
{
"bank_account": {
"id": 7468,
"currency": "Peso Argentino",
"created": "2022-12-16T12:54:22.675324-03:00",
"updated": "2022-12-16T12:54:22.675342-03:00",
"account_number": "987654323457",
"account_cbu": "01145678901497543",
"account_alias": "Juancit.Rosa.Test",
"account_type": "virtual",
"account_holder_name": "Lui Comu",
"account_holder_id_number": "39651529",
"bank": null
}
}
]
}

De esta respuesta los datos más importantes a guardar son account_id y person_id, ya que estos datos se usarán más adelante.

En este punto la cuenta se envía a registrar en el ente de registro que use el ACDI/Asset Manager, este proceso puede demorar entre 1 y 6 minutos. Si la cuenta no cambia a estado open después de ese tiempo, es posible que no se haya podido registrar bien y se necesita que se vuelva a crear con algún dato distinto, si esto sucede de manera recurrente contacte al ACDI/Asset Manager o al Soporte de Invera.

Aclaración

Este endpoint está preparado para recibir la apertura de múltiples cuentas, personas y cuentas bancarias. Las constantes como currency, account_type, country, person_type, gender, etc. se encuentran en la documentación.

Creación de cuenta sin archivos

Este flujo opcional es en caso de que queramos crear una cuenta, pero no tengamos los archivos necesarios. La cuenta se puede crear sin los archivos y podremos crear una orden de suscripción.

En el momento en que tengamos los archivos podremos añadirlos a la persona representante de la cuenta como haríamos normalmente.

Añadir archivo a persona

Aquí añadiremos el archivo/s que creamos previamente a la cuenta/s que deseemos utilizando el endpoint /v1/person_files/.

Método: POST
URL: /v1/person_files/

En el payload se deben enviar los siguientes datos que anteriormente se guardaron:

{
"file_id": "file_id123124213123",
"reason": "human_id_back",
"person_id": "person_id523912304"
}

Respuesta:

{
"file_id": "file_id123124213123",
"reason": "human_id_back",
"person_id": "person_id523912304"
}

Creación de cuentas cuotapartistas en lote

Para la creación masiva de cuentas cuotapartistas, se debe utilizar el endpoint /api/v1/accounts/batch_accounts/ enviando las cuentas como lista.

Esta funcionalidad está diseñada para aumentar el rendimiento en la apertura inicial de cuentas en grandes cantidades. Recomendamos su uso para 500 cuentas por solicitud

Método: POST
URL: /api/v1/accounts/batch_accounts/

[
{
"account_type": "individual",
"persons": [
{
"data": {
"id_type": "DNI",
"nationality": "Argentino",
"id_number": "429285784",
"first_name": "John Doe",
"last_name": "Petermin",
"email": "jonh12@gmail.com",
"phone": "12345678",
"tax_id_type": "CUIT",
"tax_id_number": "233771078439",
"tax_condition": "Monotributo",
"birthdate": "20/05/2000",
"birthplace": "Hospital San Benito",
"activity": "Banco",
"addresses": [
{
"address_type": "current",
"street": "Siempre viva 123",
"number": "123",
"city": "San Juan",
"country": "Argentina"
}
]
}
}
],
"bank_accounts": [
{
"account_type": "virtual",
"account_cvu": "12345478",
"account_number": "12344678",
"currency": "ARS"
}
]
},
{
"account_type": "individual",
"persons": [
{
"data": {
"id_type": "DNI",
"nationality": "Argentino",
"id_number": "42985784",
"first_name": "John Doe",
"last_name": "Petermin",
"email": "jonh1@gmail.com",
"phone": "12345678",
"tax_id_type": "CUIT",
"tax_id_number": "23377107839",
"tax_condition": "Monotributo",
"birthdate": "20/05/2000",
"birthplace": "Hospital San Benito",
"activity": "Banco",
"addresses": [
{
"address_type": "current",
"street": "Siempre viva 123",
"number": "123",
"city": "San Juan",
"country": "Argentina"
}
]
}
}
],
"bank_accounts": [
{
"account_type": "virtual",
"account_cvu": "12345678",
"account_number": "12345678",
"currency": "ARS"
}
]
}
]

Validar cuenta

Una vez que la cuenta tenga todo los archivos requeridos se debe validar la cuenta utilizando el endpoint /v1/account/{account_id}/validate/, esta validación verifica los archivos añadidos a la persona representante y verifica que correspondan con los requeridos por el Asset Manager.

Es posible recibir una respuesta HTTP 400, en el caso de que la cuenta no se pudo validar:

{
"error_msg": "La cuenta no se pudo validar, necesita estos archivos: [['DeLaRosa, Juancito', ['human_id_front]]]"
}

En este caso el error nos indica que debemos añadir el archivo human_id_front a la persona con el endpoint /v1/person_files/{person_id}/ responsable de la cuenta, hecho esto tenemos que volver a utilizar el endpoint de /v1/account/{account_id}/validate/ para activar correctamente la cuenta.