Criar relatório de forma assíncrona

Este trecho de código mostra como gerar um relatório de forma assíncrona, utilizando um intervalo de datas.

Esta é uma chamada assíncrona e, portanto, retornará imediatamente. Você pode verificar o status atual da geração do relatório com Verificar o status do relatório. Após a conclusão, você poderá obter o relatório com Obter relatório. Como alternativa, você pode definir uma URL de retorno de chamada e receber uma notificação quando a geração do relatório for concluída.

O período de vigência está limitado a 13 meses para esta convocatória.

Exemplo

ChaveDescrição
VONAGE_API_KEY

Your Vonage API key (see it on your dashboard).

VONAGE_API_SECRET

Your Vonage API secret (also available on your dashboard).

ACCOUNT_ID

The account ID (same as VONAGE_API_KEY) for the account you want to generate reports, or retrieve records for.

REPORT_DIRECTION

Either inbound or outbound

REPORT_PRODUCT

Specifies the product for which reports and records are obtained. Can be one of SMS, VOICE-CALL, WEBSOCKET-CALL, VERIFY-API, NUMBER-INSIGHT, MESSAGES, CONVERSATIONS, or ASR.

REQUEST_ID

The request ID returned when a report was created

DATE_START

Date of time window from when you want to start gathering records in ISO-8601 format.

DATE_END

Date of time window from when you want to stop gathering records in ISO-8601 format.

STATUS

Status of message or call.

Escreva o código

Adicione o seguinte ao arquivo ` create-async-report.sh`:

curl -X POST "https://api.nexmo.com/v2/reports" \
  -H 'Content-Type: application/json; charset=utf-8' \
  -u "$VONAGE_API_KEY:$VONAGE_API_SECRET" \
  -d $'{
  "product": "'$REPORT_PRODUCT'",
  "account_id": "'$ACCOUNT_ID'",
  "direction": "'$REPORT_DIRECTION'",
  "status": "'$STATUS'",
  "date_start": "'$DATE_START'",
  "date_end": "'$DATE_END'"
}'

Ver código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

bash create-async-report.sh

Pré-requisitos

Install-Package Vonage

Crie um arquivo chamado ` CreateReport.cs ` e insira o seguinte código:

var credentials = Credentials.FromApiKeyAndSecret(VONAGE_API_KEY, VONAGE_API_SECRET);
Client = new VonageClient(credentials);

Ver código-fonte completo

Escreva o código

Adicione o seguinte ao arquivo ` CreateReport.cs`:

var request = CreateReportRequest.Build()
    .WithProduct(product)
    .WithAccountId(accountId)
    .WithDirection(direction)
    .WithDateStart(dateStart)
    .WithDateEnd(dateEnd)
    .WithStatus(status)
    .Create();
var response = await Client.ReportsClient.CreateReportAsync(request);

Ver código-fonte completo

Experimente

  1. Defina as variáveis substituíveis para sua Account.

  2. Para este exemplo, defina REPORT_PRODUCT para um dos SMS, VOICE ou MESSAGES.

  3. Usando a tabela como orientação, defina os valores para as variáveis restantes.

  4. Execute o script e você receberá uma resposta semelhante à seguinte:

{
  "request_id": "ri3p58f-42d57cfd-1234-5678-9abc-67580d95f54a",
  "request_status": "PENDING",
  "direction": "outbound",
  "product": "SMS",
  "account_id": "abcd1234",
  "date_start": "2020-05-21T13:27:00+0000",
  "date_end": "2020-05-21T13:57:00+0000",
  "include_subaccounts": false,
  "include_message": false,
  "receive_time": "2020-06-04T10:53:32+0000",
  "_links": {
    "self": {
      "href": "https://api.nexmo.com/v2/reports/ri3p58f-42d57cfd-1234-5678-9abc-67580d95f54a"
    }
  }
}

Se você definir uma URL de retorno, receberá uma resposta nessa URL com o mesmo conteúdo exibido na etapa anterior.

Veja também