Im Fehlerfall wird erwartet, dass die DPA einen HTTP-Statuscode zusammen mit einer HTTP-Antwort zurückgibt, die ein JSON-Objekt mit weiteren Informationen zum Fehler enthalten MUSS. Der Text der Fehlerantwort MUSS eine Instanz von ErrorResponse enthalten.
{
"errorMessage": string,
"cause": enum(ErrorCause)
}
Die DPA-Fehlerantwort MUSS den folgenden Anforderungen entsprechen:
- Der Nutzer befindet sich derzeit im Roaming und die DPA-Abfrage ist für ihn deaktiviert. Die DPA gibt einen 403-Fehler mit USER_ROAMING als Fehlerursache zurück.
- Die DPA gibt den Fehlercode 404 NOT_FOUND zurück, der GTAF darauf hinweist, dass der Benutzerschlüssel ungültig ist (d.h. kein vorhandener Benutzerschlüssel) mit INVALID_NUMBER.
- Die DPA gibt den Fehlercode 410 GONE mit BAD_CPID als Fehlerursache zurück. Dies weist GTAF darauf hin, dass der Client einen neuen Nutzer-Schlüssel abrufen sollte, wenn key_type = CPID und die CPID abgelaufen ist.
- Die DPA gibt den Fehlercode 501 NOT_IMPLEMENTED zurück, der angibt, dass dieser Aufruf mit dem Fehlergrund SERVICE_UNAVAILABLE nicht unterstützt wird.
- Die DPA gibt den Fehlercode 429 TOO MANY REQUESTS mit der Fehlerursache TOO_MANY_REQUESTS zurück. Der Header „Retry-After“ gibt an, dass GTAF zu viele Anfragen an die DPA sendet.
- Die DPA gibt den Fehler „409 CONFLICT“ zurück, was darauf hinweist, dass die Anfrage aufgrund eines Konflikts mit dem aktuellen Status der DPA nicht abgeschlossen werden kann.
- Der Dienst steht vorübergehend nicht zur Verfügung. Die DPA gibt „503 SERVICE UNAVAILABLE“ (503 DIENST NICHT VERFÜGBAR) mit dem Retry-After-Header zurück, der angibt, wann ein neuer Versuch unternommen werden kann.
- Die DPA gibt für alle anderen nicht angegebenen Fehler den Fehlercode 500 INTERNAL SERVER ERROR mit ERROR_CAUSE_UNSPECIFIED als Fehlerursache zurück.
Bei Fehlern während eines Kaufs geben die folgenden Fehlercodes an, dass die Transaktion fehlgeschlagen ist:
- Die DPA gibt den Fehlercode „400 BAD REQUEST“ zurück, der GTAF angibt, dass die gekaufte Tarif-ID ungültig ist.
- Die DPA gibt den Fehlercode 402 PAYMENT REQUIRED zurück, der GTAF anzeigt, dass der Nutzer nicht genügend Guthaben hat, um den Kauf abzuschließen.
- Die DPA gibt den Fehlercode 409 CONFLICT zurück, der GTAF darüber informiert, dass das zu kaufende Abo nicht mit dem aktuellen Produktmix des Nutzers kompatibel ist. Wenn die Richtlinie für Betreiberdatentarife beispielsweise das Mischen von Postpaid- und Prepaid-Tarifen nicht zulässt, führt der Versuch, einen Prepaid-Tarif für einen Postpaid-Nutzer zu kaufen, zu einem 409 CONFLICT-Fehler.
- Die DPA gibt den Fehlercode 403 FORBIDDEN zurück, der GTAF darüber informiert, dass die aktuelle Transaktion ein Duplikat einer zuvor ausgegebenen Transaktion ist. Die DPA SOLLTE die folgenden Fehlerursachen als Antwort zurückgeben:
- Wenn die vorherige Transaktion fehlgeschlagen ist, wird die Fehlerursache angegeben.
- Wenn die vorherige Transaktion erfolgreich war, DUPLICATE_TRANSACTION.
- Wenn sich die vorherige Transaktion noch in der Warteschlange befindet, wird REQUEST_QUEUED zurückgegeben.