Was sind häufige Fehler bei der API?
Eine unbekannte ID liefert keinen 404
Wenn Sie prüfen, ob eine Liste oder ein Abonnent existiert, indem Sie auf einen 404 testen, übersehen Sie jede unbekannte ID. Die API gibt in diesem Fall einen 400 zurück:
Einen 404 erhalten Sie nur bei einem Pfad, der nicht existiert, beispielsweise bei einem Tippfehler in der URL. Prüfen Sie daher auf code 203 anstatt auf den Statuscode.
Achten Sie dabei auf den Unterschied zwischen zwei Codes: Eine ID oder E-Mail-Adresse, die in der Liste nicht existiert, liefert 203, während 202 (“Invalid member_id”) bedeutet, dass die Syntax des Parameters nicht stimmt.
Ein leeres Mehrfachauswahlfeld wird nicht geleert
Wenn Sie für ein select_multiple-Feld eine leere Liste mitsenden, werden die ausgewählten Optionen nicht entfernt. Die bestehenden Werte bleiben erhalten und Sie erhalten einfach einen 200 ohne Fehlermeldung zurück.
Wenn Sie sicherstellen möchten, dass eine Auswahl leer ist, prüfen Sie die Antwort und melden Sie es über helpdesk@laposta.nl, falls noch Werte darin enthalten sind.
Labels ohne eckige Klammern mitzusenden funktioniert nicht
Ein Abonnent kann mehrere Labels haben, daher erwartet das Feld eine Liste von Werten. Wenn Sie einen einzelnen Wert ohne Klammern senden, erhalten Sie ohne Fehlermeldung einen 200 mit dem Abonnenten zurück, ohne dass sich etwas geändert hat.
Das Feld labels existiert erst, sobald die Liste mindestens ein Label hat. Davor wird es weder bei den Feldern noch beim Abonnenten angezeigt. Sie können damit auch kein neues Label anlegen: Ein Name, den die Liste nicht kennt, führt zu einem 400.
Senden Sie immer den Namen und nicht die ID aus options_full. Eine ID führt zur gleichen Meldung.
Bei Bulk-Anfragen senden Sie JSON, also keine Klammern, sondern ein Array. Wenn Sie dort einen einzelnen Textwert mitsenden, zählt die API den Abonnenten ohne Fehlermeldung als geändert, aber die Labels dieses Abonnenten sind danach leer.
Wenn Sie bei einer Bulk-Anfrage ein unbekanntes Label mitsenden, landet dieser Abonnent mit demselben Code 203 in errors und wird nicht hinzugefügt.
Bulk ist standardmäßig deaktiviert
Der Endpunkt für die Bulk-Synchronisierung existiert in jedem Konto, gibt aber ohne Freischaltung einen 401 zurück:
Das ist kein Fehler in Ihrem Code. Wer Bulk verwenden kann und wie Sie die Funktion freischalten lassen, erfahren Sie unter Abonnenten über die API synchronisieren.
Eine Kampagne wird bei einem zweiten Aufruf doppelt gesendet
Wenn Sie Kampagne versenden zweimal aufrufen, erhalten Sie beide Male einen 200 und die Zustellung wird erneut gestartet. Wie Sie das in Ihrem eigenen Code verhindern, lesen Sie unter Kampagne über die API versenden.
Auch das Ändern einer bereits gesendeten Kampagne wird nicht blockiert.
Das Abrufen von Kampagneninhalten funktioniert nicht bei jeder Kampagne
Wenn Sie den Inhalt einer Kampagne abrufen, die im Drag-and-Drop-Editor erstellt wurde, erhalten Sie:
Das ist keine Störung. Bei welchen Kampagnen dies möglich ist, steht unter Kampagne über die API versenden.
Das _iso-Feld kann fehlen
Bei einem leeren Datumsfeld fehlt die _iso-Variante in der Antwort manchmal vollständig, anstatt null zu sein. Prüfen Sie daher zuerst, ob dieses Feld in der Antwort vorhanden ist, bevor Sie es auslesen, da Ihr Code sonst wegen eines fehlenden Schlüssels abbricht. Siehe: Datums- und Zeitfelder in der API.
Das Limit für die Anzahl der Anfragen ist schnell erreicht
Mit einem kostenlosen Konto dürfen Sie 30 Anfragen pro Minute stellen, mit einem bezahlten Konto 120. Eine Synchronisierung, die pro Abonnent einen Aufruf durchführt, erreicht dieses Limit bei ein paar hundert Abonnenten sehr schnell.
Warten Sie die Anzahl der Sekunden aus dem Retry-After-Header ab, anstatt es sofort erneut zu versuchen, und nutzen Sie für große Mengen die Bulk-Synchronisierung. Mehr dazu lesen Sie unter Limits und Fehlermeldungen der API.
Ein unbekannter Feldname in einem Segment erzeugt keine Fehlermeldung
Ein Segment erstellen Sie mit einer Definition in JSON. Die API prüft die Struktur und die Vergleiche, aber nicht, ob das Feld, nach dem Sie filtern, tatsächlich existiert. Ein Tippfehler in einem Feldnamen liefert also trotzdem einen 201, führt aber zu einem Segment, das niemanden auswählt.
Prüfen Sie die Feldnamen in Ihrer Definition daher anhand der Felder, die Sie über Alle Felder abrufen abgefragt haben.