Obtenir des enregistrements de manière synchrone par plage de dates
Cet extrait de code vous montre comment récupérer un ensemble d'enregistrements à l'aide d'une plage de dates. Il s'agit d'un appel synchrone, qui se bloque donc jusqu'à ce qu'il renvoie une réponse. Il est utilisé lorsque vous souhaitez renvoyer immédiatement un nombre limité d'enregistrements (des milliers). Si vous souhaitez obtenir un grand nombre d'enregistrements (des millions), utilisez la commande Créer un rapport.
Les plages de dates sont limitées à une fenêtre de 24 heures pour les requêtes synchrones.
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 |
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. |
Rédiger le code
Ajouter ce qui suit à load-records-sync-dates.sh:
curl -G --data-urlencode date_start=$DATE_START --data-urlencode date_end=$DATE_END -u "$VONAGE_API_KEY:$VONAGE_API_SECRET" \
"https://api.nexmo.com/v2/reports/records?account_id=$ACCOUNT_ID&product=$REPORT_PRODUCT&direction=$REPORT_DIRECTION"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àSMS.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 :
{
"_links": {
"self": {
"href": "https://api.nexmo.com/v2/reports/records?account_id=abcd1234&product=SMS&direction=outbound&date_start=2020-06-04T08%3A00%3A00Z&date_end=2020-06-04T14%3A00%3A00Z&status=delivered"
}
},
"request_id": "450b434a-ff4f-40f1-80a5-8d6e24d91234",
"request_status": "SUCCESS",
"received_at": "2020-06-04T12:22:25+0000",
"price": 0.0,
"currency": "EUR",
"direction": "outbound",
"product": "SMS",
"account_id": "abcd1234",
"date_start": "2020-06-04T08:00:00+0000",
"date_end": "2020-06-04T14:00:00+0000",
"include_subaccounts": false,
"status": "delivered",
"include_message": false,
"items_count": 2,
"records": [
{
"account_id": "abcd1234",
"message_id": "12000000E506AC66",
"client_ref": null,
"direction": "outbound",
"from": "Acme Inc.",
"to": "447700123456",
"network": "23410",
"network_name": "Telefonica UK Limited",
"country": "GB",
"country_name": "United Kingdom",
"date_received": "2020-06-04T12:21:35+0000",
"date_finalized": "2020-06-04T12:21:37+0000",
"latency": "2274",
"status": "delivered",
"error_code": "0",
"error_code_description": "Delivered",
"currency": "EUR",
"total_price": "0.03330000"
},
...
]
}