Core

El servicio de Core te permite crear y administrar cuentas digitales.

Cuenta de usuario

Cuenta digital en moneda local que gestiona el balance de tu usuario.

Para tener esta cuenta, tus usuarios deberán:

  • Estar registrados en Pomelo.
  • Encontrarse en estado “Activo”.
  • Tener verificada su identidad. Esta verificación solo la hacemos si contrataste nuestro producto de Identity.

Cuenta bridge

Cuenta operativa que te permite llevar el control de los fondos, manteniendo consistencia de balances entre las cuentas del cliente y el respaldo en el banco.

Ciclo de vida de las cuentas

Las cuentas tendrán alguno de estos estados:

  • ACTIVE: La cuenta está activa y se puede usar para hacer transacciones normalmente. Cuando se crea una cuenta su estado inicial será ACTIVE.
  • FROZEN: La cuenta podrá recibir dinero pero las transacciones de débito estarán bloqueadas.
  • DISABLED: La cuenta no tiene permitida ninguna transacción.
  • DELETED: La cuenta está eliminada sin posibilidad de volver a activarla.

Para cambiar el estado de una cuenta entre los estados ACTIVE, FREEZED y DISABLED deberás usar el endpoint PATCH de este servicio.

Para cambiar el estado de una cuenta a DELETED usa el endpoint DELETE.

Posibles respuestas de error

Si falla alguna operación, devolveremos un error con una lista de las posibles operaciones asociadas:

  • ACCOUNT_VALIDATION_ERROR: No se pudo validar correctamente la cuenta. Por ejemplo, cuando la key de idempotencia utilizada en la request, ya está en uso por otro usuario.
    • CREATE
  • USER_VALIDATION_ERROR: No pudimos validar la identidad del usuario o el usuario no existe.
    • CREATE
  • CLIENT_VALIDATION_ERROR: No pudimos identificar a qué cliente pertenece el usuario al que estás intentando crearle una cuenta.
    • CREATE
  • USER_ACCOUNT_LIMIT_REACHED: El usuario alcanzó el límite de cuentas que puede tener y por eso no es posible crearle una nueva.
    • CREATE
  • ACCOUNT_NOT_FOUND: El ID de cuenta no existe.
    • UPDATE
    • DELETE
  • ACCOUNT_DELETED: El ID de cuenta fue eliminado.
    • UPDATE
    • DELETE
  • INVALID_ACCOUNT_STATUS: El estado de actualización de la cuenta es inválido.
    • UPDATE
    • DELETE
  • LOCKED_ACCOUNT_STATUS: No es posible actualizar una cuenta que modificamos nosotros desde Pomelo.
    • UPDATE
    • DELETE
  • INVALID_UPDATE_STATUS_MOTIVE: El motivo de actualización del estado de la cuenta que ingresaste es inválido. Para DELETE los motivos válidos son OTHER, INTERNAL_REASON, USER_REQUEST y FRAUD. Para DISABLED son OTHER, LOST, INTERNAL_REASON, STOLEN, FRAUD y INHIBITION. Para FROZEN son OTHER y SEIZURE
    • UPDATE
    • DELETE
  • INVALID_UPDATE_STATUS_COMMENT: El comentario de actualización del estado de la cuenta que ingresaste es inválido. Si el motivo de actualización es OTHER, este comentario es obligatorio.
    • UPDATE
    • DELETE
  • ACCOUNT_HAS_FUNDS: No es posible eliminar una cuenta que no está completamente vacía.
    • DELETE
  • INVALID_CURRENCY: La moneda ingresada es inválida.
    • CREATE

Crear Cuenta

El endpoint /core/accounts/v1 te permite crear una cuenta digital para un usuario de Pomelo. Si creas bien la cuenta, te devolveremos un status 201
Parámetros disponibles
Header Parameters
X-Idempotency-Keystringrequired
Identificador idempotente de creación de cuenta. Deberás generar este valor para cada cuenta que quieras crear. Si dos requests idénticos tienen el mismo identificador de idempotencia solo crearás una cuenta aunque ambos reciban una respuesta exitosa.
Authorizationstringrequired
Ejemplo: Bearer {access_token}
Body Parameters
owner_typestringrequired
Tipo de dueño de la cuenta.
Ejemplo: USER
Enum: USERCLIENT
user_idstring
ID del usuario dueño de la cuenta. Este campo es requerido si se trata de una cuenta de usuario.
Ejemplo: usr-20I2tIqG3buTsvHKKORrtY2MkFH
countrystringrequired
País de la cuenta.
Enum: ARGBRAMEX
currencystringrequired
Moneda de la cuenta.
Enum: ARSBRLMXN
metadataobject
Es un campo opcional para que puedas agregar los datos extra que quieras.
Ejemplo: {"extra_property_1":"My value"}
Detalle de respuestas
dataobjectrequired

¿Te resultó útil esta sección?

POST/core/accounts/v1
{
"owner_type":
"USER"
"user_id":
"usr-20I2tIqG3buTsvHKKORrtY2MkFH"
"country":
"ARG"
"currency":
"ARS"
"metadata":{
"extra_property_1":
"My value"
}
}
Ejemplo de respuestas
{
"data":{
"id":
"acc-20I5vMjljS3VEyafcX8lA3T3g0c"
"country":
"ARG"
"data":{
...
}
"currency":
"ARS"
"metadata":{
...
}
"status":
"ACTIVE"
"owner_type":
"USER"
"owner_data":{
...
}
"created_at":
"2023-03-25T09:44:37.038Z"
}
}

Eliminar Cuenta

El endpoint /core/accounts/v1/{id} te permitirá eliminar una cuenta específica. Al hacerlo, su estado pasará a DELETED y ya no se podrá usar para hacer transacciones.
Parámetros disponibles
Header Parameters
Authorizationstringrequired
Ejemplo: Bearer {access_token}
Body Parameters
status_update_motivestringrequired
Enum: OTHERINTERNAL_REASONUSER_REQUESTFRAUD
status_update_commentstring(maxLength: 512, minLength: 0)
Este campo es obligatorio cuando el status_update_motive es OTHER.
Ejemplo: Motivo de actualización del estado de la cuenta.
Path Parameters
idstring(maxLength: 256, minLength: 0)required
Ejemplo: acc-20I4qJinTCudWvJULZygeC257wy
Detalle de respuestas
dataobjectrequired

¿Te resultó útil esta sección?

DELETE/core/accounts/v1/{id}
{
"status_update_motive":
"OTHER"
"status_update_comment":
"Motivo de actualización del estado de la ..."
}
Ejemplo de respuestas
{
"data":{
"id":
"acc-20I5vMjljS3VEyafcX8lA3T3g0c"
"country":
"ARG"
"data":{
...
}
"currency":
"ARS"
"metadata":{
...
}
"status":
"DELETED"
"owner_type":
"USER"
"owner_data":{
...
}
"created_at":
"2023-03-25T09:44:37.039Z"
"updated_at":
"2023-03-25T09:44:37.039Z"
"status_update_motive":
"OTHER"
"status_update_comment":
"Motivo de actualizacion del estado de la ..."
}
}

Actualizar Cuenta

El endpoint /core/accounts/v1/{id} te servirá para cambiar el estado de una cuenta. Los estados de la cuenta pueden alterarse entre ACTIVE, FROZEN o DISABLED. Para los últimos dos estados es necesario indicar el motivo del cambio de estado utilizando la propiedad status_update_motive.
Parámetros disponibles
Header Parameters
Authorizationstringrequired
Ejemplo: Bearer {access_token}
Body Parameters
statusstringrequired
Enum: ACTIVEDISABLEDFROZEN
status_update_motivestring
Este campo es obligatorio cuando el status no es ACTIVE.
Enum: OTHERLOSTINTERNAL_REASONSTOLENFRAUDINHIBITIONSEIZUREUSER_REQUEST
status_update_commentstring(maxLength: 512, minLength: 0)
Este campo es obligatorio cuando el status_update_motive es OTHER.
Ejemplo: Motivo de actualización del estado de la cuenta.
Path Parameters
idstringrequired
Ejemplo: acc-20I4qJinTCudWvJULZygeC257wy
Detalle de respuestas
dataobjectrequired

¿Te resultó útil esta sección?

PATCH/core/accounts/v1/{id}
{
"status":
"ACTIVE"
"status_update_motive":
"OTHER"
"status_update_comment":
"Motivo de actualización del estado de la ..."
}
Ejemplo de respuestas
{
"data":{
"id":
"acc-20I5vMjljS3VEyafcX8lA3T3g0c"
"country":
"ARG"
"data":{
...
}
"currency":
"ARS"
"metadata":{
...
}
"status":
"ACTIVE"
"owner_type":
"USER"
"owner_data":{
...
}
"created_at":
"2023-03-25T09:44:37.062Z"
"updated_at":
"2023-03-25T09:44:37.062Z"
"status_update_motive":
"OTHER"
"status_update_comment":
"Motivo de actualización del estado de la ..."
}
}