Handhabung der Paginierung für die synchrone Reports API

Wenn Sie Daten von der Reports API anfordern, enthält die Antwort möglicherweise nicht alle verfügbaren Datensätze, wenn der Datensatz mehr als 1000 Datensätze enthält. In solchen Fällen gibt die API eine Antwort mit einem Status von TRUNCATEDund zeigt damit an, dass zusätzliche Datensätze verfügbar sind.

A TRUNCATED Antwort enthält eine cursor und ein iv (Initialisierungsvektor), die zum Abrufen der nächsten Ergebnismenge erforderlich sind.

Sie können den Seitenumbruch auf zwei Arten handhaben:

  • Verwenden Sie die _links.next.href URL, die in der Antwort angegeben ist (empfohlen).
  • Übergeben Sie manuell die cursor und iv Werte in Ihre nächste Anfrage.

Sie wiederholen diesen Vorgang, bis die API-Antwort nicht mehr TRUNCATED, d.h. alle Datensätze wurden abgerufen.

Erstantrag

Hier ist ein Beispiel für eine erste Anfrage zum Abrufen von Datensätzen:

GET https://api.nexmo.com/v2/reports/records?product=VERIFY-API&date_start=2025-10-28T00:00:00-0000&date_end=2025-10-30T00:00:00-0000&account_id=test123

Beispiel für eine TRUNCATED-Antwort

Wenn die Ergebnismenge mehr als 1000 Datensätze enthält, antwortet die API mit einer "request_status": "TRUNCATED" Wert und enthält den cursor, ivund eine next Link, um die folgende Seite aufzurufen.

{
  "_links": {
    "next": {
      "href": "https://api.nexmo.com/v2/reports/records?product=VERIFY-API&date_start=2025-10-28T00%3A00%3A00-0000&date_end=2025-10-30T00%3A00%3A00-0000&account_id=test123&cursor=VwwxWeDsSHrf5eDbC7OA4NAUJKjy0Jw91uGIhbsjpH254R3Og6HCsfy5pmcw_Nzerlbt_p6J3xRxvocnv8CIoasCH0C3Z-Gq7n1VQ5Es6hgZKx4m0IN0G6lgqahNjoRoW67XysF32MGzYs2jkol1EmZ_o-TN5wvfILqGuDuXuUiUh-QvmmNPd5p066GTRxhuS6_DGRT-x7Lw2oxV&iv=QnJtvajk5bH0wMX-8JHLRQ"
    },
    "self": {
      "href": "https://api.nexmo.com/v2/reports/records?product=VERIFY-API&date_start=2025-10-28T00%3A00%3A00-0000&date_end=2025-10-30T00%3A00%3A00-0000&account_id=test123"
    }
  },
  "request_id": "aaaa111111-b222-4556-789c-fb123456789",
  "request_status": "TRUNCATED",
  "cursor": "VwwxWeDsSHrf5eDbC7OA4NAUJKjy0Jw91uGIhbsjpH254R3Og6HCsfy5pmcw_Nzerlbt_p6J3xRxvocnv8CIoasCH0C3Z-Gq7n1VQ5Es6hgZKx4m0IN0G6lgqahNjoRoW67XysF32MGzYs2jkol1EmZ_o-TN5wvfILqGuDuXuUiUh-QvmmNPd5p066GTRxhuS6_DGRT-x7Lw2oxV",
  "iv": "QnJtvajk5bH0wMX-8JHLRQ",
  "received_at": "2025-10-29T10:04:09+00:00",
  "price": 0.0,
  "currency": "",
  "product": "VERIFY-API",
  "account_id": "41aa7248",
  "date_start": "2025-10-28T00:00:00+00:00",
  "date_end": "2025-10-30T00:00:00+00:00",
  "items_count": 1000,
  "include_subaccounts": false,
  "records": [
    {
      "account_id": "test123",
      "request_id": "06a1e004a84e4b47ab48a15f072ef0dd",
      "from": "verify",
      "to": "123456789",
      "locale": "pl-pl",
      "number_type": "MOBILE",
      "network": "26003",
      "network_name": "Orange Polska S.A.",
      "country": "PL",
      "country_name": "Poland",
      "date_received": "2025-10-29T09:56:36+00:00",
      "date_finalized": "2025-10-29T10:01:49+00:00",
      "first_event_date": "2025-10-29T09:56:36+00:00",
      "last_event_date": "2025-10-29T10:01:43+00:00",
      "status": "EXPIRED",
      "sms_event_count": "1",
      "tts_event_count": "2",
      "currency": "",
      "pricing_model": "1",
      "price": "0.1",
      "estimated_price": "0.1",
      "sms_price": "0.03980000",
      "tts_price": "0.00238217",
      "id": "06a1e004a84e4b47ab48a15f072ef0dd"
    }
  ]
}

Abrufen der nächsten Seite

Wenn die Antwort Folgendes enthält "request_status": "TRUNCATED"bedeutet dies, dass mehr Ergebnisse verfügbar sind.

Es gibt zwei Möglichkeiten, die nächste Seite aufzurufen:

Die einfachste Methode besteht darin, eine

GET
-Anfrage an die in der URL angegebene _links.next.href Parameter aus der TRUNCATED Antwort, die bereits mit den richtigen Daten konfiguriert ist cursor und iv Werte für Ihre Anfrage:

GET https://api.nexmo.com/v2/reports/records?product=VERIFY-API&date_start=2025-10-28T00%3A00%3A00-0000&date_end=2025-10-30T00%3A00%3A00-0000&account_id=test123&cursor=VwwxWeDsSHrf5eDbC7OA4NAUJKjy0Jw91uGIhbsjpH254R3Og6HCsfy5pmcw_Nzerlbt_p6J3xRxvocnv8CIoasCH0C3Z-Gq7n1VQ5Es6hgZKx4m0IN0G6lgqahNjoRoW67XysF32MGzYs2jkol1EmZ_o-TN5wvfILqGuDuXuUiUh-QvmmNPd5p066GTRxhuS6_DGRT-x7Lw2oxV&iv=QnJtvajk5bH0wMX-8JHLRQ

Option 2 - Manuelles Hinzufügen cursor und iv

Wenn Sie Anfragen manuell erstellen, verwenden Sie alle Parameter aus Ihrer ursprünglichen Anfrage und fügen Sie die cursor und iv Werte aus dem vorherigen TRUNCATED Antwort.

Fortfahren, bis alle Datensätze abgerufen sind

Jede paginierte Antwort kann auch TRUNCATED.
Folgen Sie weiter der next Link (oder mit aktualisierten Cursor/iv-Werten), bis die API-Antwort nicht mehr TRUNCATED.

Dies bedeutet, dass alle verfügbaren Datensätze abgerufen wurden.