Recuperar información de todas las llamadas
Un fragmento de código que muestra cómo recuperar la información de todas las llamadas.
Ejemplo
Requisitos previos
Ejecute el siguiente comando en el símbolo del sistema de su terminal para crear la dirección JWT para la autenticación:
export JWT=$(nexmo jwt:generate $PATH_TO_PRIVATE_KEY application_id=$NEXMO_APPLICATION_ID)Escriba el código
Añada lo siguiente a retrieve-info-for-all-calls.sh:
curl "https://api.nexmo.com/v1/calls" \
-H "Authorization: Bearer $JWT" \Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
npm install @vonage/server-sdkCrea un archivo llamado retrieve-info-for-all-calls.js y añade el siguiente código:
const { Vonage } = require('@vonage/server-sdk');
const vonage = new Vonage({
applicationId: VONAGE_APPLICATION_ID,
privateKey: VONAGE_PRIVATE_KEY,
});Escriba el código
Añada lo siguiente a retrieve-info-for-all-calls.js:
const getCalls = async () => {
try {
for await (const call of vonage.voice.getAllCalls()) {
console.log(call);
}
} catch (error) {
console.error(error);
}
};
getCalls();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 RetrieveInfoForAllCalls y añade el siguiente código al método main:
val client = Vonage {
applicationId(VONAGE_APPLICATION_ID)
privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
}Escriba el código
Añada lo siguiente al método main del archivo RetrieveInfoForAllCalls:
val now = Instant.now()
val yesterday = now.minus(Duration.ofDays(1))
val calls = client.voice.listCalls {
startDate(yesterday)
endDate(now)
}
calls.callInfos.forEach {
println(it.toJson())
}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.voice por el paquete que contiene RetrieveInfoForAllCalls:
Requisitos previos
Añada lo siguiente a build.gradle:
implementation 'com.vonage:server-sdk:9.3.1'Crea un archivo llamado RetrieveInfoForAllCalls y añade el siguiente código al método main:
VonageClient client = VonageClient.builder()
.applicationId(VONAGE_APPLICATION_ID)
.privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
.build();Escriba el código
Añada lo siguiente al método main del archivo RetrieveInfoForAllCalls:
Instant now = Instant.now(), yesterday = now.minus(Duration.ofDays(1));
CallsFilter filter = CallsFilter.builder()
.startDate(yesterday)
.endDate(now)
.build();
CallInfoPage calls = client.getVoiceClient().listCalls(filter);
calls.forEach(System.out::println);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.voice por el paquete que contiene RetrieveInfoForAllCalls:
Requisitos previos
Install-Package VonageEscriba el código
Añada lo siguiente a ListAllCalls.cs:
var credentials = Credentials.FromAppIdAndPrivateKeyPath(VONAGE_APPLICATION_ID, VONAGE_PRIVATE_KEY_PATH);
var client = new VonageClient(credentials);
var dateEnd = DateTime.UtcNow;
var dateStart = dateEnd.AddDays(-1);
var request = new CallSearchFilter() { DateStart = dateStart, DateEnd = dateEnd};
var response = await client.VoiceClient.GetCallsAsync(request);Requisitos previos
composer require vonage/clientEscriba el código
Añada lo siguiente a index.php:
require_once __DIR__ . '/../../vendor/autoload.php';
$keypair = new \Vonage\Client\Credentials\Keypair(file_get_contents(VONAGE_APPLICATION_PRIVATE_KEY_PATH), VONAGE_APPLICATION_ID);
$client = new \Vonage\Client($keypair);
$filter = new \Vonage\Voice\Filter\VoiceFilter();
$filter->setDateStart(new DateTime('-1 Day'));
$filter->setDateEnd(new DateTime());
/** @var \Vonage\Voice\Call $call */
foreach ($client->voice()->search($filter) as $call) {
echo json_encode($call->toArray()) . PHP_EOL;
}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 retrieve-info-for-all-calls.py:
from vonage import Auth, Vonage
from vonage_voice import ListCallsFilter
client = Vonage(
Auth(
application_id=VONAGE_APPLICATION_ID,
private_key=VONAGE_PRIVATE_KEY,
)
)
now = datetime.now(timezone.utc)
date_end = now.strftime('%Y-%m-%dT%H:%M:%SZ')
start = now - timedelta(hours=24)
date_start = start.strftime('%Y-%m-%dT%H:%M:%SZ')
calls, _ = client.voice.list_calls(
ListCallsFilter(date_start=date_start, date_end=date_end)
)
for call in calls:
pprint(call)Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
gem install vonageEjecute su código
Guarde este archivo en su máquina y ejecútelo:
Pruébalo
Ejecute el código de ejemplo para recuperar la información de todas las llamadas.