Backup-Server
Der Backup-Server ist eine zweite Adresse, unter der genau dieselbe API läuft. Er ist für den Fall gedacht, dass eine Anfrage an portal.bulkgate.com ihr Ziel überhaupt nicht erreicht — der Backup-Host nimmt die Anfrage an und leitet sie über einen anderen Weg weiter.
Wie der Dienst aufgebaut ist
BulkGate läuft auf mehreren Servern an drei geografischen Standorten. Fällt einer davon aus, übernehmen die übrigen den Verkehr automatisch — für Ihre Integration ändert sich nichts und portal.bulkgate.com antwortet weiterhin. Diesen Fall müssen Sie auf Ihrer Seite nicht behandeln. Der gesamte Aufbau ist unter Infrastruktur beschrieben.
Was dies nicht abdeckt, ist der Weg zu uns. Ein Ausfall auf der Strecke zwischen Ihrem und unserem Server — bei einem Netzbetreiber, bei einem Konnektivitätsanbieter oder irgendwo dazwischen — liegt außerhalb unserer Kontrolle, und die Anfrage erreicht uns dann gar nicht. Genau dafür ist der Backup-Host da.
Den aktuellen Status des Dienstes finden Sie unter bulkgate.status.online.
Adresse
Der Host ist ein vollwertiger Ersatz — Pfade, Parameter, Zugangsdaten und Antworten sind identisch mit portal.bulkgate.com. Sie tauschen lediglich die Domain aus:
Er funktioniert mit demselben Konto, demselben Token und demselben Guthaben. Es gibt nichts einzurichten und nichts einzuschalten.
Verwenden Sie den Backup-Host nicht als primäre Adresse. Er kann jederzeit und ohne Vorankündigung wegen Wartungsarbeiten abgeschaltet werden — er soll den Verkehr nur übernehmen, solange der Haupthost nicht erreichbar ist. Lassen Sie portal.bulkgate.com in der Reihenfolge an erster Stelle.
Wann Sie umschalten sollten
Der Backup-Host löst einen Verbindungsausfall, keine abgelehnte Anfrage. Auf eine Anfrage, die die API abgelehnt hat, antwortet er genau gleich.
Schalten Sie um, wenn die Anfrage keine Antwort erhält:
| Situation | umschalten? |
|---|---|
| Timeout beim Verbindungsaufbau oder beim Lesen | Ja |
| DNS konnte nicht aufgelöst werden | Ja |
| Verbindung abgelehnt, Netzwerk nicht erreichbar | Ja |
| HTTP 5xx ohne Body | Ja |
| Eine Antwort mit einem Fehlertyp (4xx) | Nein |
429 Too Many Requests (Limits |
Nein |
In den letzten beiden Fällen hat die API geantwortet — die Anfrage ist angekommen und wurde ausgewertet. Eine Wiederholung über den Backup-Host liefert denselben Fehler und verbraucht nur einen weiteren Versuch aus Ihrem Limit.
Failover in Ihre Integration einbauen
Halten Sie die Adressen in einer geordneten Liste und probieren Sie sie nacheinander aus. Schlägt die Verbindung fehl, gehen Sie zur nächsten über; hat die API geantwortet, geben Sie das Ergebnis unverändert zurück.
Worauf Sie achten sollten
Ein Timeout bedeutet nicht, dass die Nachricht nicht gesendet wurde. Die Anfrage kann angekommen und die Antwort auf dem Rückweg verloren gegangen sein — eine Wiederholung über den Backup-Host würde die Nachricht dann ein zweites Mal senden.
Deshalb sollten Sie bei den transaktionalen Endpunkten duplicates_check aktiviert senden. Eine Nachricht mit demselben Text an dieselbe Nummer wird innerhalb eines Zeitfensters von 5 Minuten verworfen, sodass der wiederholte Versuch nichts doppelt versendet.
Bei werblichen Endpunkten schützt duplicates_check eine Wiederholung nicht — es entfernt Duplikate nur innerhalb eines einzelnen Versands, nicht über Anfragen hinweg. Eine wiederholte Anfrage ist dafür ein neuer Versand und geht vollständig hinaus. Prüfen Sie bei Massenversand lieber, ob der erste Versuch durchgegangen ist, bevor Sie ihn wiederholen.
Stellen Sie ein sinnvolles Timeout ein. Ohne Timeout wartet der Client auf eine Antwort, die nie kommt, und gelangt gar nicht erst zum Backup-Host.
API-Idempotenz ist in Entwicklung — eine wiederholte Anfrage wird sich kennzeichnen lassen, sodass die API sie erkennt und das Ergebnis der ursprünglichen Anfrage zurückgibt, statt erneut zu senden. Damit entfällt der oben beschriebene Unterschied zwischen transaktionalen und werblichen Endpunkten. Das Vorgehen dokumentieren wir hier, sobald es verfügbar ist.
Vielen Dank für Ihr Feedback.