Uso de la API de Subaccounts
Visión general
En este tema se describe un caso de uso en el que un socio utiliza la API Subaccounts para gestionar con éxito clientes finales.
Requisitos previos
Debería estar familiarizado con el conceptos principales asociada a la API Subaccounts.
Crear una subcuenta
Un socio decide crear una subcuenta para cada cliente final y, por lo tanto, puede utilizar credenciales de API distintas para cada uno de los clientes finales y ver sus gastos. Esto se ilustra en el siguiente diagrama:

Para crear una subcuenta se puede utilizar el siguiente código:
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Crea un archivo llamado create-subaccount.js y añade el siguiente código:
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Añada lo siguiente a build.gradle:
Crea un archivo llamado CreateSubaccount y añade el siguiente código al método main:
Ejecute su código
Podemos utilizar el plugin aplicación para Gradle para simplificar la ejecución de nuestra aplicación. Actualiza tu build.gradle con lo siguiente:
Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.kt.subaccounts por el paquete que contiene CreateSubaccount:
Requisitos previos
Añada lo siguiente a build.gradle:
Crea un archivo llamado CreateSubaccount y añade el siguiente código al método main:
Ejecute su código
Podemos utilizar el plugin aplicación para Gradle para simplificar la ejecución de nuestra aplicación. Actualiza tu build.gradle con lo siguiente:
Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.subaccounts por el paquete que contiene CreateSubaccount:
Requisitos previos
Crea un archivo llamado CreateSubAccountRequest.cs y añade el siguiente código:
Añada lo siguiente a CreateSubAccountRequest.cs:
Requisitos previos
Crea un archivo llamado create-subaccount.php y añade el siguiente código:
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Crea un archivo llamado create-subaccount.rb y añade el siguiente código:
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Transferencia de créditos
El socio no podía controlar el gasto entre sus clientes finales porque todos compartían el mismo saldo. Un cliente final solía consumir ocasionalmente todo el saldo compartido, lo que bloqueaba el acceso a las API de Vonage para otros clientes finales del socio. El socio decidió establecer un saldo individual y asignar un límite de crédito a ese cliente final.
NOTA: El socio podría haber hecho prepago de sus cuentas.
A cada subcuenta se le puede asignar un saldo individual y un límite de crédito, como se muestra en el siguiente diagrama:

El siguiente fragmento de código ilustra la asignación de una cantidad específica de crédito a una subcuenta:
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Crea un archivo llamado transfer-credit.js y añade el siguiente código:
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Añada lo siguiente a build.gradle:
Crea un archivo llamado TransferCredit y añade el siguiente código al método main:
Ejecute su código
Podemos utilizar el plugin aplicación para Gradle para simplificar la ejecución de nuestra aplicación. Actualiza tu build.gradle con lo siguiente:
Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.kt.subaccounts por el paquete que contiene TransferCredit:
Requisitos previos
Añada lo siguiente a build.gradle:
Crea un archivo llamado TransferCredit y añade el siguiente código al método main:
Ejecute su código
Podemos utilizar el plugin aplicación para Gradle para simplificar la ejecución de nuestra aplicación. Actualiza tu build.gradle con lo siguiente:
Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.subaccounts por el paquete que contiene TransferCredit:
Requisitos previos
Crea un archivo llamado TransferCreditRequest.cs y añade el siguiente código:
Añada lo siguiente a TransferCreditRequest.cs:
Requisitos previos
Crea un archivo llamado transfer-credit.php y añade el siguiente código:
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Crea un archivo llamado transfer-credit.rb y añade el siguiente código:
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Comprobación del saldo de todas las Subaccounts
El Socio decide poner en marcha la monitorización. Es posible comprobar periódicamente el saldo de todas las subcuentas utilizando el siguiente fragmento de código:
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Crea un archivo llamado get-subaccounts.js y añade el siguiente código:
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Añada lo siguiente a build.gradle:
Crea un archivo llamado ListSubaccounts y añade el siguiente código al método main:
Ejecute su código
Podemos utilizar el plugin aplicación para Gradle para simplificar la ejecución de nuestra aplicación. Actualiza tu build.gradle con lo siguiente:
Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.kt.subaccounts por el paquete que contiene ListSubaccounts:
Requisitos previos
Añada lo siguiente a build.gradle:
Crea un archivo llamado ListSubaccounts y añade el siguiente código al método main:
Ejecute su código
Podemos utilizar el plugin aplicación para Gradle para simplificar la ejecución de nuestra aplicación. Actualiza tu build.gradle con lo siguiente:
Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.subaccounts por el paquete que contiene ListSubaccounts:
Requisitos previos
Crea un archivo llamado GetSubAccountsRequest.cs y añade el siguiente código:
Añada lo siguiente a GetSubAccountsRequest.cs:
Requisitos previos
Crea un archivo llamado get-subaccounts.php y añade el siguiente código:
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Crea un archivo llamado list-subaccounts.rb y añade el siguiente código:
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Asignación adicional de créditos
Luego de un tiempo, el socio notó que el cliente final 1 (subcuenta1) había agotado todo su crédito (40 de 40) y no podía realizar más llamadas a la API. El socio tenía la opción de esperar a que el cliente final 1 les pagara (y luego, a su vez, realizar un pago a Vonage y transferir el saldo correspondiente a la subcuenta) o aumentar el límite de crédito del cliente final de inmediato para que el cliente final 1 pudiera seguir usando la API de Vonage. El socio decidió asignar crédito adicional. El socio tiene 40 = |-60| - |-20| crédito disponible y decide asignar 20 a la subcuenta. Esto se ilustra en el siguiente diagrama:

Transferencias de saldo a fin de mes
A fin de mes, el socio recibió una factura de |-20| + |-50| = 70 euros de Vonage (por todos los gastos de todas sus cuentas). El cliente final 1 (subcuenta1) cubrió 45 de los 50 euros que había gastado. Por lo tanto, el socio transfirió 45 euros al saldo de la subcuenta1. Esto se ilustra en el siguiente diagrama:

El siguiente código muestra cómo transferir saldo a una subcuenta:
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Crea un archivo llamado transfer-balance.js y añade el siguiente código:
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Añada lo siguiente a build.gradle:
Crea un archivo llamado TransferBalance y añade el siguiente código al método main:
Ejecute su código
Podemos utilizar el plugin aplicación para Gradle para simplificar la ejecución de nuestra aplicación. Actualiza tu build.gradle con lo siguiente:
Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.kt.subaccounts por el paquete que contiene TransferBalance:
Requisitos previos
Añada lo siguiente a build.gradle:
Crea un archivo llamado TransferBalance y añade el siguiente código al método main:
Ejecute su código
Podemos utilizar el plugin aplicación para Gradle para simplificar la ejecución de nuestra aplicación. Actualiza tu build.gradle con lo siguiente:
Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.subaccounts por el paquete que contiene TransferBalance:
Requisitos previos
Crea un archivo llamado TransferBalanceRequest.cs y añade el siguiente código:
Añada lo siguiente a TransferBalanceRequest.cs:
Requisitos previos
Crea un archivo llamado transfer-balance.php y añade el siguiente código:
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Crea un archivo llamado transfer-balance.rb y añade el siguiente código:
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Suspender una subcuenta
Al Socio le gustó la posibilidad de controlar el gasto de la subcuenta y decidió asignar saldo individual y crédito de 30 euros al cliente final 2 (subcuenta2). El Socio, que estaba controlando el gasto de sus subcuentas, observó que la subcuenta2 consumía 25 euros de su saldo. Alarmado por el ritmo de gasto de la subcuenta2, el Socio decidió suspender temporalmente la subcuenta2. El código para suspender una subcuenta se muestra aquí:
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Crea un archivo llamado suspend-subaccount.js y añade el siguiente código:
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Añada lo siguiente a build.gradle:
Crea un archivo llamado SuspendSubaccount y añade el siguiente código al método main:
Escriba el código
Añada lo siguiente al método main del archivo SuspendSubaccount:
Ejecute su código
Podemos utilizar el plugin aplicación para Gradle para simplificar la ejecución de nuestra aplicación. Actualiza tu build.gradle con lo siguiente:
Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.kt.subaccounts por el paquete que contiene SuspendSubaccount:
Requisitos previos
Añada lo siguiente a build.gradle:
Crea un archivo llamado DeactivateSubaccount y añade el siguiente código al método main:
Escriba el código
Añada lo siguiente al método main del archivo DeactivateSubaccount:
Ejecute su código
Podemos utilizar el plugin aplicación para Gradle para simplificar la ejecución de nuestra aplicación. Actualiza tu build.gradle con lo siguiente:
Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.subaccounts por el paquete que contiene DeactivateSubaccount:
Requisitos previos
Crea un archivo llamado SuspendAccountRequest.cs y añade el siguiente código:
Añada lo siguiente a SuspendAccountRequest.cs:
Requisitos previos
Crea un archivo llamado suspend-subaccount.php y añade el siguiente código:
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Crea un archivo llamado suspend-subaccount.rb y añade el siguiente código:
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Reactivar una subcuenta
Tras discutirlo con la subcuenta2, el Socio decide reactivar la cuenta de la subcuenta2. Esto se puede lograr utilizando el siguiente código:
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Crea un archivo llamado reactivate-subaccount.js y añade el siguiente código:
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Añada lo siguiente a build.gradle:
Crea un archivo llamado ReactivateSubaccount y añade el siguiente código al método main:
Escriba el código
Añada lo siguiente al método main del archivo ReactivateSubaccount:
Ejecute su código
Podemos utilizar el plugin aplicación para Gradle para simplificar la ejecución de nuestra aplicación. Actualiza tu build.gradle con lo siguiente:
Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.kt.subaccounts por el paquete que contiene ReactivateSubaccount:
Requisitos previos
Añada lo siguiente a build.gradle:
Crea un archivo llamado ReactivateSubaccount y añade el siguiente código al método main:
Escriba el código
Añada lo siguiente al método main del archivo ReactivateSubaccount:
Ejecute su código
Podemos utilizar el plugin aplicación para Gradle para simplificar la ejecución de nuestra aplicación. Actualiza tu build.gradle con lo siguiente:
Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.subaccounts por el paquete que contiene ReactivateSubaccount:
Requisitos previos
Crea un archivo llamado EnableAccountRequest.cs y añade el siguiente código:
Añada lo siguiente a EnableAccountRequest.cs:
Requisitos previos
Crea un archivo llamado reactivate-subaccount.php y añade el siguiente código:
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Crea un archivo llamado reactivate-subaccount.rb y añade el siguiente código:
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Resumen
En este tema ha visto cómo utilizar la API de Subaccounts para gestionar clientes finales en escenarios típicos.