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" \

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

bash retrieve-info-for-all-calls.sh

Requisitos previos

npm install @vonage/server-sdk

Crea 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,
});

Ver fuente completa

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();

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

node retrieve-info-for-all-calls.js

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)
}

Ver fuente completa

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())
}

Ver fuente completa

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:

gradle run -Pmain=com.vonage.quickstart.kt.voice.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();

Ver fuente completa

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);

Ver fuente completa

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:

gradle run -Pmain=com.vonage.quickstart.voice.RetrieveInfoForAllCalls

Requisitos previos

Install-Package Vonage

Escriba 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);

Ver fuente completa

Requisitos previos

composer require vonage/client

Escriba 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;
}

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

php index.php

Requisitos previos

pip install vonage python-dotenv

Escriba 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)

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

python voice/retrieve-info-for-all-calls.py

Requisitos previos

gem install vonage

Escriba el código

Añada lo siguiente a retrieve-info-for-all-calls.rb:

client = Vonage::Client.new(
  application_id: VONAGE_APPLICATION_ID,
  private_key: VONAGE_PRIVATE_KEY
)

now = Time.now
yesterday = now - (3600 * 24)

response = client.voice.list({date_start: yesterday.utc.iso8601, date_end: now.utc.iso8601})

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

ruby retrieve-info-for-all-calls.rb

Pruébalo

Ejecute el código de ejemplo para recuperar la información de todas las llamadas.