Bevor Sie beginnen
Einige Tipps zur Verwendung der Reports API Code-Snippets. Bitte lesen Sie auch die Übersicht und verweisen auf die API-Referenz. Anrufdatensätze (CDRs) werden in diesen Themen oft als "Datensätze" bezeichnet.
Zu diesem Thema
- Abfragemethoden
- Gemeinsame Variablen
- Parameter anfordern
- Weitere Beispiele für Anfragen
- ID anfordern
- Datei-ID
- Siehe auch
Abfragemethoden
Mit der Reports API können Sie Anrufdetailsätze (CDRs) abrufen, entweder synchron oder asynchron. Der synchrone Ansatz ist blockierend und wird verwendet, wenn Sie eine kleine Anzahl von Datensätzen (Tausende) erhalten möchten. Die Datensätze werden in einem Array in der Antwort zurückgegeben.
Wenn Sie Abfragen durchführen möchten, die eine große Anzahl von Datensätzen (Millionen) abrufen, kann dies länger dauern und wird am besten mit einem asynchronen Ansatz durchgeführt. Bei einer asynchronen Abfrage wird in der Regel ein Callback-URL-Parameter verwendet und eine Benachrichtigung an die Callback-URL gesendet, wenn der Vorgang abgeschlossen ist. Die andere Möglichkeit besteht darin, den Berichtsstatus regelmäßig abzufragen. Das Ergebnis des asynchronen Ansatzes ist die Generierung einer Zip-Datei, die eine CSV-Datei mit Datensätzen enthält.
Gemeinsame Variablen
Wenn Sie die Codeschnipsel verwenden, kopieren Sie die Ersetzungen für Variablen wie Ihren API-Schlüssel und Ihr API-Geheimnis sowie für andere Variablen, die die API-Anforderung steuern. Einige häufig ersetzte Variablen sind in der folgenden Tabelle aufgeführt:
| Schlüssel | Beschreibung |
|---|---|
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_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. |
REPORT_STATUS | Status of report generation, can be any of |
Datumsbereiche
Für viele der Anrufe können Sie entweder eine Nachrichten- oder Anruf-ID oder einen Datumsbereich angeben, aber nicht beides. Die Datumsbereiche sind vom ältesten bis zum neuesten Datum und im ISO-8601-Format.
Die Daten können in einem der folgenden Formate angegeben werden: yyyy-mm-ddThh:mm:ss[.sss]±hhmm oder yyyy-mm-ddThh:mm:ss[.sss]Z.
Dieses Beispiel zeigt den Abruf einer Liste von Datensätzen unter Verwendung eines Datumsbereichs:
Für Daten, die ein + in einem GET Abfrage, bei der Datumsangaben als Abfrageparameter übergeben werden, müssen Sie die Datumsangaben z. B. URL-kodieren:
Produkt
Für die API-Aufrufe Datensätze synchron laden und Bericht asynchron generieren müssen Sie ein Produkt angeben. Die Seite product gibt das Vonage-API-Produkt an, für das Berichte und Datensätze abgerufen werden. product kann eine der folgenden sein SMS, VOICE-CALL, WEBSOCKET-CALL, VERIFY-API, NUMBER-INSIGHT, MESSAGES, CONVERSATIONS, oder ASR.
Die folgende Tabelle zeigt, welche API-Aufrufe product:
| Parameter | Datensätze laden sync | Bericht asynchron generieren | Berichte auflisten | Berichtsstatus abrufen | Bericht abbrechen | Bericht abrufen | Anmerkungen |
|---|---|---|---|---|---|---|---|
product | Wird benötigt, um Datensätze zu laden oder Berichte zu erstellen. Eine von SMS, VOICE-CALL, WEBSOCKET-CALL, VERIFY-API, NUMBER-INSIGHT, MESSAGES, CONVERSATIONS, oder ASR. |
Legende zur Tabelle:
Abfrageparameter für das synchrone Laden von Datensätzen
Die in den API-Aufrufen angegebenen Parameter können sich je nach product angegeben. Die folgende Tabelle zeigt die Verwendung eines Parameters für verschiedene Produkte:
| Parameter | SMS | Stimme | Verify | Numbers Einsicht | Nachrichten | Konversationen | Beschreibung |
|---|---|---|---|---|---|---|---|
product | |||||||
account_id | Account, für den Sie Unterlagen erhalten möchten. | ||||||
direction | 🔸 | Richtung der Nachrichten oder des Anrufs. Kann sein inbound oder outbound. | |||||
id | 🔸 | 🔸 | 🔸 | 🔸 | 🔸 | 🔸 | Ungültig, wenn ein Datumsbereich angegeben wurde. |
date_start | 🔸 | 🔸 | 🔸 | 🔸 | 🔸 | 🔸 | Ungültig, wenn id angegeben. |
date_end | 🔸 | 🔸 | 🔸 | 🔸 | 🔸 | 🔸 | Ungültig, wenn id angegeben. |
include_message | 🔸 | 🔸 | Wenn true den Hauptteil der Textnachricht enthalten. | ||||
type | Für CONVERSATIONS nur. Kann sein ip-voice oder cs-custom-event. | ||||||
status | 🔸 | 🔸 | 🔸 | Prüft auf Datensätze mit dem angegebenen Status. Zum Beispiel delivered (für Nachrichten) oder answered (für einen Sprachanruf). Für die Prüfung des Berichtsstatus kann es sein SUCCESS oder einen der anderen unterstützten Werte. |
Legende zur Tabelle:
Abfrageparameter für Asynchronen Bericht erstellen
Die in den API-Aufrufen angegebenen Parameter können sich je nach product angegeben. Die folgende Tabelle zeigt die Verwendung eines Parameters für verschiedene Produkte:
| Parameter | SMS | Stimme | Verify | Numbers Einsicht | Nachrichten | Konversationen | Beschreibung |
|---|---|---|---|---|---|---|---|
product | Erforderlich, um Datensätze zu laden oder Berichte zu erstellen. | ||||||
account_id | |||||||
direction | 🔸 | Richtung der Nachrichten oder des Anrufs. Kann sein inbound oder outbound. | |||||
date_start | 🔸 | 🔸 | 🔸 | 🔸 | 🔸 | 🔸 | |
date_end | 🔸 | 🔸 | 🔸 | 🔸 | 🔸 | 🔸 | |
include_subaccounts | 🔸 | 🔸 | 🔸 | 🔸 | 🔸 | 🔸 | |
callback_url | 🔸 | 🔸 | 🔸 | 🔸 | 🔸 | 🔸 | |
status | 🔸 | 🔸 | 🔸 | 🔸 | Prüft auf Datensätze mit dem angegebenen Status. Zum Beispiel delivered (für Nachrichten) oder answered (für einen Sprachanruf). Für die Prüfung des Berichtsstatus kann es sein SUCCESS oder einen der anderen unterstützten Werte. | ||
client_ref | 🔸 | ||||||
account_ref | 🔸 | ||||||
include_message | 🔸 | 🔸 | Wenn truewird der Text der Nachricht in der Antwort enthalten sein. | ||||
network | 🔸 | 🔸 | 🔸 | 🔸 | |||
from | 🔸 | 🔸 | 🔸 | ||||
to | 🔸 | 🔸 | 🔸 | 🔸 | |||
number | 🔸 | ||||||
id | 🔸 | ||||||
type | Für CONVERSATIONS nur. Kann sein ip-voice oder cs-custom-event. |
Legende zur Tabelle:
Diese Parametertabellen enthalten nicht alle verfügbaren Parameter. Siehe die API-Referenz für alle Parameter.
Weitere Beispiele für Anfragen
Viele Beispiele für Reports API-Aufrufe finden Sie in der Curl-Code-Schnipsel-Repository. Diese Beispiele zeigen einige zusätzliche Aufrufe zusätzlich zu den in der Codeschnipsel-Abschnitt und demonstrieren auch die Verwendung von produktspezifischen Parametern.
ID anfordern
Wenn Sie die asynchrone Erstellung eines Berichts anfordern, wird eine Auftragskennung zurückgegeben. Diese können Sie in nachfolgenden Aufrufen verwenden, um z. B. den Berichtsstatus zu überprüfen oder einen Bericht abzubrechen. Eine Beispielantwort auf eine asynchrone Berichtserstellungsanforderung lautet wie folgt:
{
"request_id": "ri3p58f-48598ea7-1234-5678-9012-faabd79bdc2e",
"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,
"status": "delivered",
"include_message": false,
"receive_time": "2020-06-03T15:24:31+0000",
"_links": {
"self": {
"href": "https://api.nexmo.com/v2/reports/ri3p58f-48598ea7-cb2d-1234-5678-fa1234567890"
}
}
}
Datei-ID
Die file_id ist erforderlich, um eine asynchron erstellte Berichtsdatei abzurufen. Sie können die file_id aus den Details einer Berichtsstatus abrufen oder Listenberichte Aufruf oder aus dem Körper des Abschluss-Callbacks. Die Antwort enthält JSON ähnlich wie:
...
"download_report": {
"href": "https://api.nexmo.com/v3/media/84a14d67-1234-5678-9012-ac042b16092a"
}
In diesem Fall 84a14d67-1234-5678-9012-ac042b16092a ist die FILE_ID.