Créer un rapport de manière asynchrone

Cet extrait de code vous montre comment générer un rapport de manière asynchrone, en utilisant une plage de dates.

Il s'agit d'un appel asynchrone, qui renvoie donc immédiatement. Vous pouvez vérifier l'état actuel de la génération du rapport avec Obtenir l'état du rapport. Une fois le rapport terminé, vous pouvez l'obtenir auprès de Obtenir le rapport. Vous pouvez également définir une URL de rappel et recevoir une notification lorsque la génération du rapport est terminée.

La plage de dates est limitée à 13 mois pour cet appel.

Exemple

CléDescription
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.

Rédiger le code

Ajouter ce qui suit à 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'"
}'

Voir la source complète

Exécutez votre code

Enregistrez ce fichier sur votre machine et exécutez-le :

bash create-async-report.sh

Essayez-le

  1. Définissez les variables remplaçables pour votre Account.

  2. Pour cet exemple, définir REPORT_PRODUCT à l'un des SMS, VOICE ou MESSAGES.

  3. En utilisant le tableau comme guide, fixez les valeurs des variables restantes.

  4. Exécutez le script et vous obtiendrez une réponse similaire à la suivante :

{
  "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"
    }
  }
}

Si vous définissez une URL de rappel, vous recevrez un rappel sur cette URL avec le même contenu que celui indiqué à l'étape précédente.

Voir aussi