Ein Fehler antwortet mit einem HTTP-Status und einem JSON-Objekt error: einem code, einer message und bei manchen Fehlern data. Der code ist stabil, sodass Ihre Software darauf reagieren kann; die message richtet sich an Menschen, und ihr Wortlaut kann sich ändern.
{
"error": {
"code": "permission-denied",
"message": "Missing required scope: invoices:read"
}
}Statuscodes
| Status | Code | Wann |
|---|---|---|
| 400 | invalid-argument |
Ein Parameter, der Body oder ein Cursor ist ungültig; data listet die Probleme eines Parameters oder des Bodys. |
| 401 | unauthenticated |
Der Schlüssel fehlt, ist unbekannt, widerrufen oder abgelaufen. |
| 403 | permission-denied |
Dem Schlüssel fehlt der Bereich, oder seinem Benutzer fehlt die Berechtigung im Arbeitsbereich. |
| 404 | not-found |
Die Ressource existiert nicht. |
| 409 | aborted oder already-exists |
Eine Regel von Sway hat den Vorgang abgelehnt, etwa ein gesperrter Arbeitsbereich; data.name nennt die Regel. |
| 429 | resource-exhausted, oder kein JSON-Body |
Zu viele Anfragen: siehe das Anfragelimit unten. |
| 500 | internal oder failed-precondition |
Ein unerwarteter Fehler, oder eine Ressource, die nicht im Zustand ist, den der Vorgang braucht. Die Produktion verbirgt die Meldung eines unerwarteten Fehlers. |
| 503 | unavailable |
Ein Dienst, den Sway braucht, ist kurz nicht verfügbar. |
Die Details einer Ablehnung
Wenn eine Regel von Sway einen Vorgang ablehnt, trägt data den name dieser Regel, der gleich bleibt, wenn sich die Meldung ändert, und den trace der Anfrage, wenn es einen gibt. Geben Sie den Trace dem Support-Team, wenn Sie zu einem Fehler fragen.
{
"error": {
"code": "aborted",
"message": "Workspace is suspended",
"data": {"name": "business/workspace-suspended", "trace": "…"}
}
}Ein Arbeitsbereich ist gesperrt, sobald sein Abonnement geendet hat. Jeder Aufruf auf seine Daten antwortet dann mit 409 und business/workspace-suspended, Lesezugriffe eingeschlossen, bis das Abonnement wieder aktiv ist.
Anfragelimit
Sway nimmt bis zu 600 Anfragen pro Minute von jeder IP-Adresse an. Darüber antwortet es mit 429, ohne JSON-Body, bis die Minute um ist. Alle Programme, die von derselben Adresse aus aufrufen, teilen sich dieses Limit.
Gefahrlos wiederholen
- Wiederholen Sie ein
429oder ein503nach einer Pause, und warten Sie nach jedem Versuch länger. - Wiederholen Sie ein
400,401,403oder404nicht unverändert: Korrigieren Sie zuerst die Anfrage, den Schlüssel oder seine Bereiche. - Bevor Sie einen Schreibvorgang wiederholen, der in ein Timeout lief oder mit
500antwortete, lesen Sie die Ressource erneut: Der erste Versuch hat sie vielleicht schon geändert.