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
| Chave | Descrição |
|---|---|
VONAGE_API_KEY | Your Vonage API key (see it on |
VONAGE_API_SECRET | Your Vonage API secret (also available on |
ACCOUNT_ID | The account ID (same as |
REPORT_DIRECTION | Either |
REPORT_PRODUCT | Specifies the product for which reports and records are obtained. Can be one of |
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'"
}'
Execute seu código
Salve este arquivo no seu computador e execute-o:
Pré-requisitos
Install-Package VonageCrie 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);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);Experimente
-
Defina as variáveis substituíveis para sua Account.
-
Para este exemplo, defina
REPORT_PRODUCTpara um dosSMS,VOICEouMESSAGES. -
Usando a tabela como orientação, defina os valores para as variáveis restantes.
-
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.