Reports API
Wenn Sie unsere Kommunikations-APIs verwenden, werden zwei Arten von Aufzeichnungen erstellt: Serverprotokolle und Call Detail Records (CDRs) - Transaktionsaufzeichnungen der Aktivität. Mit der Reports API können Sie Ihre CDRs herunterladen. Sie können Ihre CDRs anhand von Attributen wie Ausgangs- und Zieltelefonnummern, Status, Zeitraum und mehr filtern. Siehe die Liste der unterstützten Parameter. Sie können den Nachrichtentext einschließen und Berichte für jedes Ihrer Subaccounts herunterladen.
Sie können die Reports API in einer Vielzahl von Anwendungsfällen einsetzen, z. B:
- Kundenfakturierung - Laden Sie die Transaktionen für alle Ihre Unterkonten herunter und verwenden Sie die enthaltenen Preisdaten, um zu bestimmen, was Sie Ihren Kunden in Rechnung stellen wollen.
- Rechnungsabgleich - Vergleichen Sie Ihre Nutzungsdaten mit der Rechnung, die Sie erhalten haben.
- Überwachung und Analyse - Fügen Sie CDR-Daten in Echtzeit zu Ihrem Business Intelligence- oder Analysesystem hinzu, um sie mit anderen Ereignissen in Beziehung zu setzen.
- Kampagnenmanagement - Überwachen Sie die Leistung Ihrer Kampagne mithilfe von Selbstbedienungstools.
- Fehlersuche - Beheben Sie Probleme, indem Sie bis zu 13 Monate an detaillierten Nutzungsdaten auswerten.
- Betrugsprävention - Identifizierung von Betrug und Überwachung von Mustern zur Sperrung von Nutzern, die die Betrugsverteidiger Produkt.
Sie können Ihre CDRs mit einer breiten Palette von Filtern abfragen. Die Datensätze werden dreizehn Monate lang aufbewahrt (maximale Aufbewahrungsfrist) bzw. 90 Tage für Video API. Datensätze, die älter als 13 Monate (bzw. 90 Tage bei Video API) sind, können nicht abgerufen werden, da sie automatisch aus dem System gelöscht werden.
Synchroner und asynchroner Betrieb
Abhängig von Ihrem Abfragemuster können Sie für die Reports API einen der beiden Ansätze wählen:
- Synchron
- Asynchron
Die synchron Version ist für häufige und regelmäßige Abfragen von kleinen Datensatzmengen optimiert. Typische Stapelgrößen reichen von einem Datensatz bis zu mehreren zehntausend pro Abfrage.
Die asynchrone Version ist für seltene und große Datenabfragen optimiert. Typische Stapelgrößen reichen von einigen Tausend bis zu Millionen von Datensätzen.
Zusammenfassung der Merkmale
In der folgenden Tabelle werden die Funktionen der synchronen und asynchronen Methoden zur Verwendung der Reports API verglichen:
| Merkmal | Berichte Synchron (GET-Endpunkt) | Berichte Asynchron (POST-Endpunkt) |
|---|---|---|
| Abrufen von Daten | Gibt die Ergebnisse sofort in Stapeln von bis zu 1000 Datensätzen zurück. Die Antwort enthält einen Stapel von Datensätzen und einen Link zum nächsten Stapel (falls vorhanden) | Gibt die Daten nicht sofort zurück. Stattdessen zeichnet es eine Datenanforderung auf, verarbeitet sie asynchron und erstellt eine Datei mit allen Datensätzen. Wenn die Ergebnisdatei fertig ist, gibt sie einen Link zu dieser Datei zurück |
| Ausgabeformat | JSON | CSV |
| Komprimierung | Nicht anwendbar | CSV-Datei ist für schnellere Downloads komprimiert |
| TTL melden | Nicht anwendbar | Berichtsdateien werden nach 72 Stunden automatisch gelöscht |
| Zeitfilter | Kann bis zu 13 Monate (maximale Aufbewahrungsfrist) an Daten in einer Abfrage abrufen (90 Tage für Video API) | Kann bis zu 13 Monate (maximale Aufbewahrungsfrist) an Daten in einer Abfrage abrufen (90 Tage für Video API) |
| ID-Filter | Kann einen Datensatz anhand seiner ID abrufen | Unterstützt keine ID-Filterung |
| Text der Nachricht | Kann Nachrichtentext abrufen | Kann Nachrichtentext abrufen |
| Subaccounts | Erfordert einen separaten Antrag für jedes Subaccount | Erfordert eine Berichtsanforderung. Er fasst Datensätze, die zu Subaccounts gehören, automatisch in einem Bericht zusammen |
| Rückrufe | Nicht anwendbar | Ein HTTP(S)-POST-Callback kann erzeugt werden, um zu benachrichtigen, wenn der Bericht abgeschlossen ist. |
Ein Hinweis zur Leistung: Auch wenn die Reports API schnell ist und enorme Datenmengen verarbeiten kann, kann sie beim Herunterladen von Daten für Echtzeitanalysen langsamer werden. Die Verwendung sinnvoller Filter kann die Verarbeitung erheblich beschleunigen.
Unterstützte Produkte
- SMS API
- Messages API:
- SMS/MMS
- RCS
- Viber
- Bote
- Voice API:
- SIP
- PSTN
- WebRTC
- ASR
- TTS
- AMD
- Video API
- Conversation API
- API verifizieren
- Numbers Einsicht
- Reports API
- Netzwerk-APIs (unter dem Produktnamen NETWORK_API-EVENT):
Preisgestaltung
Für Preisangaben, besuchen Sie diese Seite. Die in den nachstehenden Beispielen angegebenen Preiswerte dienen nur zur Veranschaulichung.
Beispiel für die Preisgestaltung (GET Anfragen)
Angenommen, Sie möchten SMS-Datensätze für die letzte Minute abrufen, und es stellt sich heraus, dass es in diesem Zeitraum 300 Datensätze gibt. Die Gesamtkosten für diesen Bericht belaufen sich wie folgt:
GET Anfragen (create und get JSON report) können Datensätze entweder nach ID oder nach einem Zeitraum, zu dem sie gehören, zurückgeben. Die Suche nach ID ist nicht zeitlich begrenzt. Die Suche nach Zeiträumen unterstützt Bereiche von bis zu 24 Stunden.
Beispiel für die Preisgestaltung (POST Anfragen)
Angenommen, Sie erstellen einen SMS-Bericht, um Daten eines Tages abzurufen, und dieser Bericht enthält 10.000 CDRs, dann belaufen sich die Gesamtkosten für diesen Bericht wie folgt:
Wie können Sie Ihre Reports API-Nutzung überprüfen?
Sie können Ihre Reports API-Nutzung überprüfen, indem Sie Datensätze synchron laden oder einen Bericht asynchron für das Produkt "REPORTS-USAGE" erstellen.
NB: Diese Funktion kann ohne zusätzliche Kosten genutzt werden.
Synchrones Abrufen von Datensätzen
Verwenden Sie eine HTTP-GET-Anfrage, um diese Informationen abzurufen:
Sie erhalten eine Antwort ähnlich der untenstehenden. Die "items_count": 3 zeigt an, dass während des Suchzeitraums 3 Berichte extrahiert wurden.
{
"_links": {
"self": {
"href": "https://api.nexmo.com/v2/reports/records?account_id=<API-KEY>&product=REPORTS-USAGE&date_start=YYYY-MM-DDTHH%3AMM%3ASSZ&date_end=YYYY-MM-DDTHH%3AMM%3ASSZ"
}
},
"request_id": "555042c5-368a-4fd2-b983-f24197692bac",
"request_status": "SUCCESS",
"received_at": "2021-10-07T09:08:58+00:00",
"price": 0.0,
"currency": "",
"limit": 1000,
"items_count": 3,
"include_subaccounts": false,
"records": [
...
],
"product": "REPORTS-USAGE",
"account_id": "<API-KEY>",
"date_start": "2021-10-06T00:00:00+00:00",
"date_end": "2021-10-07T23:59:00+00:00",
"endpoint_type": "PUBLIC"
}
Datensätze asynchron abrufen
Datensätze können asynchron abgerufen werden, indem ein asynchroner Bericht erstellt und die Option product Wert auf "REPORTS-USAGE". Das folgende Beispiel zeigt, wie Sie einen asynchronen Bericht erstellen:
Weitere Informationen finden Sie in der einen CSV-Bericht über die Befehlszeile erstellen Seite.
Code-Schnipsel
- Bericht abbrechen
- Berichte auflisten
- Berichtsdatei herunterladen
- Berichtsstatus abrufen
- Bevor Sie beginnen
- Datensätze nach Datum abrufen
- Datensätze nach UUID abrufen
- Einen Bericht asynchron erstellen
Anleitungen
- Erstellen eines CSV-Berichts über die Befehlszeile
- Erstellen eines CSV-Berichts mit einem grafischen Werkzeug
- Abrufen von JSON-Datensätzen über die Befehlszeile