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:
Escriba el código
Añada lo siguiente a create-subaccount.sh:
curl -X "POST" "https://api.nexmo.com/accounts/$VONAGE_API_KEY/subaccounts" -u $VONAGE_API_KEY:$VONAGE_API_SECRET \
-H "Content-Type: application/json" \
-d $'{"name":"'$NEW_SUBACCOUNT_NAME'", "secret":"'$NEW_SUBACCOUNT_SECRET'"}'Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
npm install @vonage/subaccountsCrea un archivo llamado create-subaccount.js y añade el siguiente código:
const { SubAccounts } = require('@vonage/subaccounts');
const subAccountClient = new SubAccounts({
apiKey: VONAGE_API_KEY,
apiSecret: VONAGE_API_SECRET,
});Escriba el código
Añada lo siguiente a create-subaccount.js:
subAccountClient.createSubAccount({
name: NEW_SUBACCOUNT_NAME,
secret: NEW_SUBACCOUNT_SECRET,
})
.then((newSubAccount) => console.log(newSubAccount))
.catch((error) => console.error(error));Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Añada lo siguiente a build.gradle:
implementation 'com.vonage:server-sdk-kotlin:2.1.1'Crea un archivo llamado CreateSubaccount y añade el siguiente código al método main:
val client = Vonage {
apiKey(VONAGE_API_KEY)
apiSecret(VONAGE_API_SECRET)
}Escriba el código
Añada lo siguiente al método main del archivo CreateSubaccount:
val subaccount = client.subaccounts.createSubaccount(
name = SUBACCOUNT_NAME,
secret = SUBACCOUNT_SECRET
)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:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''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:
implementation 'com.vonage:server-sdk:9.3.1'Crea un archivo llamado CreateSubaccount y añade el siguiente código al método main:
VonageClient client = VonageClient.builder()
.apiKey(VONAGE_API_KEY)
.apiSecret(VONAGE_API_SECRET)
.build();Escriba el código
Añada lo siguiente al método main del archivo CreateSubaccount:
Account subaccount = client.getSubaccountsClient().createSubaccount(
CreateSubaccountRequest.builder()
.name(SUBACCOUNT_NAME)
.secret(SUBACCOUNT_SECRET)
.build()
);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:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.subaccounts por el paquete que contiene CreateSubaccount:
Requisitos previos
Install-Package VonageCrea un archivo llamado CreateSubAccountRequest.cs y añade el siguiente código:
using Vonage;
using Vonage.Request;Añada lo siguiente a CreateSubAccountRequest.cs:
var credentials = Credentials.FromApiKeyAndSecret(VONAGE_API_KEY, VONAGE_API_SECRET);
var client = new VonageClient(credentials);Escriba el código
Añada lo siguiente a CreateSubAccountRequest.cs:
var request = Vonage.SubAccounts.CreateSubAccount.CreateSubAccountRequest.Build()
.WithName(NEW_SUBACCOUNT_NAME)
.WithSecret(NEW_SUBACCOUNT_SECRET)
.Create();
var response = await client.SubAccountsClient.CreateSubAccountAsync(request);Requisitos previos
composer require vonage/clientCrea un archivo llamado create-subaccount.php y añade el siguiente código:
$basic = new \Vonage\Client\Credentials\Basic(VONAGE_API_KEY, VONAGE_API_SECRET);
$client = new \Vonage\Client($basic);Escriba el código
Añada lo siguiente a create-subaccount.php:
$account = new \Vonage\Subaccount\SubaccountObjects\Account();
$account->setName(NEW_SUBACCOUNT_NAME);
$account->setSecret(NEW_SUBACCOUNT_SECRET);
$client->subaccount()->createSubaccount(VONAGE_API_KEY, $account);Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
pip install vonage python-dotenvEscriba el código
Añada lo siguiente a create-subaccount.py:
from vonage import Auth, Vonage
from vonage_subaccounts import NewSubaccount, SubaccountOptions
client = Vonage(Auth(api_key=VONAGE_API_KEY, api_secret=VONAGE_API_SECRET))
response: NewSubaccount = client.subaccounts.create_subaccount(
SubaccountOptions(name=SUBACCOUNT_NAME, secret=SUBACCOUNT_SECRET)
)
print(response)Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
gem install vonageCrea 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:
Escriba el código
Añada lo siguiente a transfer-credit.sh:
curl -X "POST" "https://api.nexmo.com/accounts/$VONAGE_API_KEY/credit-transfers" -u $VONAGE_API_KEY:$VONAGE_API_SECRET \
-H "Content-Type: application/json" \
-d $'{"from":"'$VONAGE_API_KEY'", "to":"'$SUBACCOUNT_KEY'", "amount": '$AMOUNT'}'Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
npm install @vonage/subaccountsCrea un archivo llamado transfer-credit.js y añade el siguiente código:
const { SubAccounts } = require('@vonage/subaccounts');
const subAccountClient = new SubAccounts({
apiKey: VONAGE_API_KEY,
apiSecret: VONAGE_API_SECRET,
});Escriba el código
Añada lo siguiente a transfer-credit.js:
subAccountClient.transferCredit({
from: VONAGE_API_KEY,
to: SUBACCOUNT_KEY,
amount: AMOUNT,
})
.then((creditTransfer) => console.log(creditTransfer))
.catch((error) => console.error(error));Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Añada lo siguiente a build.gradle:
implementation 'com.vonage:server-sdk-kotlin:2.1.1'Crea un archivo llamado TransferCredit y añade el siguiente código al método main:
val client = Vonage {
apiKey(VONAGE_API_KEY)
apiSecret(VONAGE_API_SECRET)
}Escriba el código
Añada lo siguiente al método main del archivo TransferCredit:
val receipt = client.subaccounts.transferCredit(
from = VONAGE_API_KEY,
to = SUBACCOUNT_KEY,
amount = SUBACCOUNT_CREDIT_AMOUNT
)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:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''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:
implementation 'com.vonage:server-sdk:9.3.1'Crea un archivo llamado TransferCredit y añade el siguiente código al método main:
VonageClient client = VonageClient.builder()
.apiKey(VONAGE_API_KEY)
.apiSecret(VONAGE_API_SECRET)
.build();Escriba el código
Añada lo siguiente al método main del archivo TransferCredit:
MoneyTransfer receipt = client.getSubaccountsClient().transferCredit(
MoneyTransfer.builder()
.from(VONAGE_API_KEY).to(SUBACCOUNT_KEY)
.amount(SUBACCOUNT_CREDIT_AMOUNT).build()
);
System.out.println("Transfer successful: "+receipt.getId());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:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.subaccounts por el paquete que contiene TransferCredit:
Requisitos previos
Install-Package VonageCrea un archivo llamado TransferCreditRequest.cs y añade el siguiente código:
using Vonage;
using Vonage.Request;
using Vonage.SubAccounts.TransferAmount;Añada lo siguiente a TransferCreditRequest.cs:
var credentials = Credentials.FromApiKeyAndSecret(VONAGE_API_KEY, VONAGE_API_SECRET);
var client = new VonageClient(credentials);Escriba el código
Añada lo siguiente a TransferCreditRequest.cs:
var request = TransferAmountRequest.Build()
.WithFrom(VONAGE_API_KEY)
.WithTo(SUBACCOUNT_KEY)
.WithAmount(amount)
.Create();
var response = await client.SubAccountsClient.TransferCreditAsync(request);Requisitos previos
composer require vonage/clientCrea un archivo llamado transfer-credit.php y añade el siguiente código:
$client = new \Vonage\Client($basic);
Escriba el código
Añada lo siguiente a transfer-credit.php:
$transferRequest = new \Vonage\Subaccount\Request\TransferBalanceRequest(VONAGE_API_KEY);
$transferRequest
->setFrom(VONAGE_API_KEY)
->setTo(SUBACCOUNT_KEY)
->setAmount(250);
$subaccount = $client->subaccount()->makeBalanceTransfer($transferRequest);Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
pip install vonage python-dotenvEscriba el código
Añada lo siguiente a transfer-credit.py:
from vonage import Auth, Vonage
from vonage_subaccounts import Transfer, TransferRequest
client = Vonage(Auth(api_key=VONAGE_API_KEY, api_secret=VONAGE_API_SECRET))
request = TransferRequest(
from_=VONAGE_API_KEY, to=SUBACCOUNT_KEY, amount=SUBACCOUNT_CREDIT_AMOUNT
)
response: Transfer = client.subaccounts.transfer_credit(request)
print(response)Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
gem install vonageCrea 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:
Escriba el código
Añada lo siguiente a get-subaccounts.sh:
curl "https://api.nexmo.com/accounts/$VONAGE_API_KEY/subaccounts" -u $VONAGE_API_KEY:$VONAGE_API_SECRETEjecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
npm install @vonage/subaccountsCrea un archivo llamado get-subaccounts.js y añade el siguiente código:
const { SubAccounts } = require('@vonage/subaccounts');
const subAccountClient = new SubAccounts({
apiKey: VONAGE_API_KEY,
apiSecret: VONAGE_API_SECRET,
});Escriba el código
Añada lo siguiente a get-subaccounts.js:
subAccountClient.getSubAccounts()
.then((subAccounts) => console.log(subAccounts))
.catch((error) => console.error(error));Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Añada lo siguiente a build.gradle:
implementation 'com.vonage:server-sdk-kotlin:2.1.1'Crea un archivo llamado ListSubaccounts y añade el siguiente código al método main:
val client = Vonage {
apiKey(VONAGE_API_KEY)
apiSecret(VONAGE_API_SECRET)
}Escriba el código
Añada lo siguiente al método main del archivo ListSubaccounts:
val subaccounts = client.subaccounts.listSubaccounts()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:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''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:
implementation 'com.vonage:server-sdk:9.3.1'Crea un archivo llamado ListSubaccounts y añade el siguiente código al método main:
VonageClient client = VonageClient.builder()
.apiKey(VONAGE_API_KEY)
.apiSecret(VONAGE_API_SECRET)
.build();Escriba el código
Añada lo siguiente al método main del archivo ListSubaccounts:
ListSubaccountsResponse response = client.getSubaccountsClient().listSubaccounts();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:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.subaccounts por el paquete que contiene ListSubaccounts:
Requisitos previos
Install-Package VonageCrea un archivo llamado GetSubAccountsRequest.cs y añade el siguiente código:
using Vonage;
using Vonage.Request;Añada lo siguiente a GetSubAccountsRequest.cs:
var credentials = Credentials.FromApiKeyAndSecret(VONAGE_API_KEY, VONAGE_API_SECRET);
var client = new VonageClient(credentials);Escriba el código
Añada lo siguiente a GetSubAccountsRequest.cs:
var response = await client.SubAccountsClient.GetSubAccountsAsync();Requisitos previos
composer require vonage/clientCrea un archivo llamado get-subaccounts.php y añade el siguiente código:
$basic = new \Vonage\Client\Credentials\Basic(VONAGE_API_KEY, VONAGE_API_SECRET);
$client = new \Vonage\Client($basic);Escriba el código
Añada lo siguiente a get-subaccounts.php:
$subaccounts = $client->subaccount()->getSubaccounts(VONAGE_API_KEY);Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
pip install vonage python-dotenvEscriba el código
Añada lo siguiente a list-subaccounts.py:
from vonage import Auth, Vonage
from vonage_subaccounts import ListSubaccountsResponse
client = Vonage(Auth(api_key=VONAGE_API_KEY, api_secret=VONAGE_API_SECRET))
response: ListSubaccountsResponse = client.subaccounts.list_subaccounts()
print(response)Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
gem install vonageCrea 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:
Escriba el código
Añada lo siguiente a transfer-balance.sh:
curl -X "POST" "https://api.nexmo.com/accounts/$VONAGE_API_KEY/balance-transfers" -u $VONAGE_API_KEY:$VONAGE_API_SECRET \
-H "Content-Type: application/json" \
-d $'{"from":"'$VONAGE_API_KEY'", "to":"'$SUBACCOUNT_KEY'", "amount": '$AMOUNT'}'Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
npm install @vonage/subaccountsCrea un archivo llamado transfer-balance.js y añade el siguiente código:
const { SubAccounts } = require('@vonage/subaccounts');
const subAccountClient = new SubAccounts({
apiKey: VONAGE_API_KEY,
apiSecret: VONAGE_API_SECRET,
});Escriba el código
Añada lo siguiente a transfer-balance.js:
subAccountClient.transferBalance({
from: VONAGE_API_KEY,
to: SUBACCOUNT_KEY,
amount: AMOUNT,
})
.then((balanceTransfer) => console.log(balanceTransfer))
.catch((error) => console.error(error));Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Añada lo siguiente a build.gradle:
implementation 'com.vonage:server-sdk-kotlin:2.1.1'Crea un archivo llamado TransferBalance y añade el siguiente código al método main:
val client = Vonage {
apiKey(VONAGE_API_KEY)
apiSecret(VONAGE_API_SECRET)
}Escriba el código
Añada lo siguiente al método main del archivo TransferBalance:
val receipt = client.subaccounts.transferBalance(
from = VONAGE_API_KEY,
to = SUBACCOUNT_KEY,
amount = SUBACCOUNT_BALANCE_AMOUNT
)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:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''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:
implementation 'com.vonage:server-sdk:9.3.1'Crea un archivo llamado TransferBalance y añade el siguiente código al método main:
VonageClient client = VonageClient.builder()
.apiKey(VONAGE_API_KEY)
.apiSecret(VONAGE_API_SECRET)
.build();Escriba el código
Añada lo siguiente al método main del archivo TransferBalance:
MoneyTransfer receipt = client.getSubaccountsClient().transferBalance(
MoneyTransfer.builder()
.from(VONAGE_API_KEY).to(SUBACCOUNT_KEY)
.amount(SUBACCOUNT_BALANCE_AMOUNT).build()
);
System.out.println("Transfer successful: "+receipt.getId());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:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.subaccounts por el paquete que contiene TransferBalance:
Requisitos previos
Install-Package VonageCrea un archivo llamado TransferBalanceRequest.cs y añade el siguiente código:
using Vonage;
using Vonage.Request;
using Vonage.SubAccounts.TransferAmount;Añada lo siguiente a TransferBalanceRequest.cs:
var credentials = Credentials.FromApiKeyAndSecret(VONAGE_API_KEY, VONAGE_API_SECRET);
var client = new VonageClient(credentials);Escriba el código
Añada lo siguiente a TransferBalanceRequest.cs:
var request = TransferAmountRequest.Build()
.WithFrom(VONAGE_API_KEY)
.WithTo(SUBACCOUNT_KEY)
.WithAmount(amount)
.Create();
var response = await client.SubAccountsClient.TransferBalanceAsync(request);Requisitos previos
composer require vonage/clientCrea un archivo llamado transfer-balance.php y añade el siguiente código:
$basic = new \Vonage\Client\Credentials\Basic(VONAGE_API_KEY, VONAGE_API_SECRET);
$client = new \Vonage\Client($basic);Escriba el código
Añada lo siguiente a transfer-balance.php:
$transferRequest = new \Vonage\Subaccount\Request\TransferBalanceRequest(VONAGE_API_KEY);
$transferRequest
->setFrom(VONAGE_API_KEY)
->setTo(SUBACCOUNT_KEY)
->setAmount(250);
$subaccount = $client->subaccount()->makeBalanceTransfer($transferRequest);Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
pip install vonage python-dotenvEscriba el código
Añada lo siguiente a transfer-balance.py:
from vonage import Auth, Vonage
from vonage_subaccounts import Transfer, TransferRequest
client = Vonage(Auth(api_key=VONAGE_API_KEY, api_secret=VONAGE_API_SECRET))
request = TransferRequest(
from_=VONAGE_API_KEY, to=SUBACCOUNT_KEY, amount=SUBACCOUNT_BALANCE_AMOUNT
)
transfer: Transfer = client.subaccounts.transfer_balance(request)
print(transfer)Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
gem install vonageCrea 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í:
Escriba el código
Añada lo siguiente a suspend-subaccount.sh:
curl -X "PATCH" "https://api.nexmo.com/accounts/$VONAGE_API_KEY/subaccounts/$SUBACCOUNT_KEY" -u $VONAGE_API_KEY:$VONAGE_API_SECRET \
-H "Content-Type: application/json" \
-d $'{"suspended":true}'Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
npm install @vonage/subaccountsCrea un archivo llamado suspend-subaccount.js y añade el siguiente código:
const { SubAccounts } = require('@vonage/subaccounts');
const subAccountClient = new SubAccounts({
apiKey: VONAGE_API_KEY,
apiSecret: VONAGE_API_SECRET,
});Escriba el código
Añada lo siguiente a suspend-subaccount.js:
subAccountClient.updateSubAccount(
SUBACCOUNT_KEY,
{ suspended: true },
)
.then((subAccount) => console.log(subAccount))
.catch((error) => console.error(error));Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Añada lo siguiente a build.gradle:
implementation 'com.vonage:server-sdk-kotlin:2.1.1'Crea un archivo llamado SuspendSubaccount y añade el siguiente código al método main:
val client = Vonage {
apiKey(VONAGE_API_KEY)
apiSecret(VONAGE_API_SECRET)
}Escriba el código
Añada lo siguiente al método main del archivo SuspendSubaccount:
val subaccount = client.subaccounts.subaccount(SUBACCOUNT_KEY).suspended(true)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:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''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:
implementation 'com.vonage:server-sdk:9.3.1'Crea un archivo llamado DeactivateSubaccount y añade el siguiente código al método main:
VonageClient client = VonageClient.builder()
.apiKey(VONAGE_API_KEY)
.apiSecret(VONAGE_API_SECRET)
.build();Escriba el código
Añada lo siguiente al método main del archivo DeactivateSubaccount:
Account subaccount = client.getSubaccountsClient().updateSubaccount(
UpdateSubaccountRequest.builder(SUBACCOUNT_KEY).suspended(true).build()
);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:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.subaccounts por el paquete que contiene DeactivateSubaccount:
Requisitos previos
Install-Package VonageCrea un archivo llamado SuspendAccountRequest.cs y añade el siguiente código:
using Vonage;
using Vonage.Request;
using Vonage.SubAccounts.UpdateSubAccount;Añada lo siguiente a SuspendAccountRequest.cs:
var credentials = Credentials.FromApiKeyAndSecret(VONAGE_API_KEY, VONAGE_API_SECRET);
var client = new VonageClient(credentials);Escriba el código
Añada lo siguiente a SuspendAccountRequest.cs:
var request = UpdateSubAccountRequest.Build().WithSubAccountKey(SUBACCOUNT_KEY)
.SuspendAccount()
.Create();
var response = await client.SubAccountsClient.UpdateSubAccountAsync(request);Requisitos previos
composer require vonage/clientCrea un archivo llamado suspend-subaccount.php y añade el siguiente código:
$basic = new \Vonage\Client\Credentials\Basic(VONAGE_API_KEY, VONAGE_API_SECRET);
$client = new \Vonage\Client($basic);Escriba el código
Añada lo siguiente a suspend-subaccount.php:
$account = new \Vonage\Subaccount\SubaccountObjects\Account();
$account->setSuspended(true);
$subaccount = $client->subaccount()->updateSubaccount(VONAGE_API_KEY, SUBACCOUNT_KEY, $account);Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
pip install vonage python-dotenvEscriba el código
Añada lo siguiente a suspend-subaccount.py:
from vonage import Auth, Vonage
from vonage_subaccounts import ModifySubaccountOptions, Subaccount
client = Vonage(Auth(api_key=VONAGE_API_KEY, api_secret=VONAGE_API_SECRET))
response: Subaccount = client.subaccounts.modify_subaccount(
subaccount_api_key=SUBACCOUNT_KEY,
options=ModifySubaccountOptions(suspended=True),
)
print(response)Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
gem install vonageCrea 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:
Escriba el código
Añada lo siguiente a reactivate-subaccount.sh:
curl -X "PATCH" "https://api.nexmo.com/accounts/$VONAGE_API_KEY/subaccounts/$SUBACCOUNT_KEY" -u $VONAGE_API_KEY:$VONAGE_API_SECRET \
-H "Content-Type: application/json" \
-d $'{"suspended":false}'Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
npm install @vonage/subaccountsCrea un archivo llamado reactivate-subaccount.js y añade el siguiente código:
const { SubAccounts } = require('@vonage/subaccounts');
const subAccountClient = new SubAccounts({
apiKey: VONAGE_API_KEY,
apiSecret: VONAGE_API_SECRET,
});Escriba el código
Añada lo siguiente a reactivate-subaccount.js:
subAccountClient.updateSubAccount(
SUBACCOUNT_KEY,
{ suspended: false },
)
.then((subAccount) => console.log(subAccount))
.catch((error) => console.error(error));Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Añada lo siguiente a build.gradle:
implementation 'com.vonage:server-sdk-kotlin:2.1.1'Crea un archivo llamado ReactivateSubaccount y añade el siguiente código al método main:
val client = Vonage {
apiKey(VONAGE_API_KEY)
apiSecret(VONAGE_API_SECRET)
}Escriba el código
Añada lo siguiente al método main del archivo ReactivateSubaccount:
val subaccount = client.subaccounts.subaccount(SUBACCOUNT_KEY).suspended(false)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:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''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:
implementation 'com.vonage:server-sdk:9.3.1'Crea un archivo llamado ReactivateSubaccount y añade el siguiente código al método main:
VonageClient client = VonageClient.builder()
.apiKey(VONAGE_API_KEY)
.apiSecret(VONAGE_API_SECRET)
.build();Escriba el código
Añada lo siguiente al método main del archivo ReactivateSubaccount:
Account subaccount = client.getSubaccountsClient().updateSubaccount(
UpdateSubaccountRequest.builder(SUBACCOUNT_KEY).suspended(false).build()
);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:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.subaccounts por el paquete que contiene ReactivateSubaccount:
Requisitos previos
Install-Package VonageCrea un archivo llamado EnableAccountRequest.cs y añade el siguiente código:
using Vonage;
using Vonage.Request;
using Vonage.SubAccounts.UpdateSubAccount;Añada lo siguiente a EnableAccountRequest.cs:
var credentials = Credentials.FromApiKeyAndSecret(VONAGE_API_KEY, VONAGE_API_SECRET);
var client = new VonageClient(credentials);Escriba el código
Añada lo siguiente a EnableAccountRequest.cs:
var request = UpdateSubAccountRequest.Build().WithSubAccountKey(SUBACCOUNT_KEY)
.EnableAccount()
.Create();
var response = await client.SubAccountsClient.UpdateSubAccountAsync(request);Requisitos previos
composer require vonage/clientCrea un archivo llamado reactivate-subaccount.php y añade el siguiente código:
$basic = new \Vonage\Client\Credentials\Basic(VONAGE_API_KEY, VONAGE_API_SECRET);
$client = new \Vonage\Client($basic);Escriba el código
Añada lo siguiente a reactivate-subaccount.php:
$account = new \Vonage\Subaccount\SubaccountObjects\Account();
$account->setSuspended(false);
$subaccount = $client->subaccount()->updateSubaccount(VONAGE_API_KEY, SUBACCOUNT_KEY, $account);Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
pip install vonage python-dotenvEscriba el código
Añada lo siguiente a reactivate-subaccount.py:
from vonage import Auth, Vonage
from vonage_subaccounts import ModifySubaccountOptions, Subaccount
client = Vonage(Auth(api_key=VONAGE_API_KEY, api_secret=VONAGE_API_SECRET))
response: Subaccount = client.subaccounts.modify_subaccount(
subaccount_api_key=SUBACCOUNT_KEY,
options=ModifySubaccountOptions(suspended=False),
)
print(response)Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
gem install vonageCrea 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.