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 |
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. |
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'"
}'
Exécutez votre code
Enregistrez ce fichier sur votre machine et exécutez-le :
Essayez-le
Définissez les variables remplaçables pour votre Account.
Pour cet exemple, définir
REPORT_PRODUCTà l'un desSMS,VOICEouMESSAGES.En utilisant le tableau comme guide, fixez les valeurs des variables restantes.
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.