Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Partner Center | Partner Center-Empfehlungen
Geeignete Rollen: Empfehlungsadministrator | Empfehlungsbenutzer
Die REST-APIs für Partner Center-Verweise geben ein JSON-Objekt zurück, das einen Statuscode enthält. Dieser Code, der angibt, ob die Anforderung erfolgreich war oder warum sie fehlgeschlagen ist.
Erfolgsantworten
Ein 2xx-Statuscode gibt an, dass die Anforderung des Clients erfolgreich empfangen, verstanden und akzeptiert wurde. Die folgenden 2xx-Statuscodes geben eine Erfolgsantwort an:
- 200: Erfolg bestätigt
- 201: Ressource erstellt
- 202: Akzeptiert
- 204: Kein Inhalt, der zurückgegeben werden soll
Fehlercodes
Jede Antwort mit einem 4xx - oder 5xx-Statuscode enthält eine Fehlermeldung mit Details zu den Fehlerbedingungen für diesen Code.
In der folgenden Tabelle sind die HTTP-Statuscodes aufgeführt und beschrieben, die für Fehlerszenarien zurückgegeben werden können.
Statuscode | Statusmeldung | Beschreibung |
---|---|---|
400 | Ungültige Anforderung | Die Anforderung kann nicht verarbeitet werden, da sie fehlerhaft oder falsch ist. |
401 | Nicht autorisiert | Die erforderlichen Authentifizierungsinformationen sind entweder nicht vorhanden oder für die Ressource nicht gültig. |
403 | Verboten | Der Zugriff auf die angeforderte Ressource wurde verweigert. Der Benutzer verfügt möglicherweise nicht über die erforderliche Berechtigung. |
404 | Nicht gefunden | Die angeforderte Ressource ist nicht vorhanden. |
405 | Methode nicht zulässig | Die HTTP-Methode in der Anforderung ist für die Ressource nicht zulässig. |
406 | Nicht annehmbar | Dieser Dienst unterstützt das im Accept-Header angeforderte Format nicht. |
409 | Konflikt | Der aktuelle Zustand entspricht nicht den Erwartungen der Anforderung. Beispiel: Der angegebene übergeordnete Ordner ist nicht vorhanden. |
410 | Fehlend | Die angeforderte Ressource ist auf dem Server nicht mehr verfügbar. |
411 | Länge erforderlich | Für die Anforderung ist ein Content-Length-Header erforderlich. |
412 | Vorbedingung nicht erfüllt | Eine in der Anforderung bereitgestellte Voraussetzung (z. B. ein If-Match-Header) stimmt nicht mit dem aktuellen Zustand der Ressource überein. |
413 | Anforderungsentität zu groß | Die angeforderte Größe übersteigt den zulässigen Maximalwert. |
415 | Nicht unterstützter Medientyp | Der Inhaltstyp der Anforderung ist ein Format, das vom Dienst nicht unterstützt wird. |
416 | Angeforderter Bereich kann nicht erfüllt werden | Der angegebene Bytebereich ist ungültig oder nicht verfügbar. |
422 | Einheit kann nicht bearbeitet werden | Die Anforderung kann nicht verarbeitet werden, da sie semantisch falsch ist. |
423 | Gesperrt | Die Ressource, auf die zugegriffen wird, ist gesperrt. |
429 | Zu viele Anforderungen | Die Clientanwendung wird gedrosselt und sollte nicht versuchen, die Anforderung einige Zeit lang zu wiederholen. |
500 | Interner Serverfehler | Bei der Verarbeitung der Anforderung ist ein interner Serverfehler aufgetreten. |
501 | Nicht implementiert | Das angeforderte Feature ist nicht implementiert. |
503 | Dienst nicht verfügbar | Der Dienst ist wartungs- oder überlastungsbedingt vorübergehend nicht verfügbar. Du kannst die Anforderung nach einer gewissen Verzögerung wiederholen. Die Verzögerung kann in einem Retry-After-Header angegeben werden. |
504 | Gateway-Timeout | Der Server, während er als Proxy fungiert, hat keine rechtzeitige Antwort vom Upstreamserver erhalten, auf den er zugreifen musste, um die Anforderung abzuschließen. Dieser Fehler kann in Verbindung mit dem Fehler 503 auftreten. |
507 | Unzureichender Speicher | Das maximale Speicherkontingent wurde erreicht. |
509 | Bandbreitenlimit überschritten | Die Clientanwendung wurde gedrosselt, um die maximale Bandbreitengrenze zu überschreiten. Ihre App kann die Anforderung nach einiger Zeit erneut versuchen. |
Fehlerressourcentyp
Die Fehlerantwort ist ein einzelnes JSON-Objekt, das eine einzelne Eigenschaft namens error enthält. Dieses Objekt enthält sämtliche Fehlerdetails. Die hier zurückgegebenen Informationen können anstelle des HTTP-Statuscodes oder als Ergänzung verwendet werden.
Die folgende Tabelle und Codebeispiele beschreiben das Schema einer Fehlerantwort.
Name | Typ | BESCHREIBUNG |
---|---|---|
code | Zeichenfolge | Wird immer zurückgegeben. Gibt die Art des aufgetretenen Fehlers an. Ist nicht NULL. |
message | Zeichenfolge | Wird immer zurückgegeben. Beschreibt den Fehler im Detail und stellt weitere Debuginformationen bereit. Ungleich NULL nicht. Die maximale Länge beträgt 1.024 Zeichen. |
innerError | Objekt | Optional. Ein weiteres Fehlerobjekt mit spezifischeren Informationen zum Fehler. |
innerError.code | numerische Zeichenfolge | Wird immer zurückgegeben, wenn innerError ungleich Null ist. Enthält spezifischere Fehlercodeinformationen unter dem obersten Fehlercodewert. |
innerError.message | Zeichenfolge | Wird immer zurückgegeben, wenn innerError ungleich Null ist. Stellt eine spezifischere Fehlermeldung unter der obersten Fehlermeldungszeichenfolge bereit. |
innerError.details | array object | Optional. Enthält weitere Details zum Fehler. In erster Linie nützlich bei Eingabeüberprüfungsfehlern. |
target | Zeichenfolge | Optional. Das Ziel, auf das der Fehler zurückzuführen ist. |
Beispielfehlerantwort
{
"error": {
"code": "unauthenticated",
"message": "The caller is not authenticated.",
"innerError": {
"code": "99902",
"message": "Request not authenticated",
"details": null
}
}
}
Ein weiteres Beispiel mit dem aufgefüllten Objekt innerError.details :
{
"error": {
"code": "invalidRequest",
"message": "The request is malformed or incorrect.",
"innerError": {
"code": "99901",
"message": "InvalidInput",
"details": [
{
"InvalidReferralForCoSellConversion": [
"If PartnerLed referral has no solution it cannot be converted to co-sell referral"
]
}
]
}
}
}
Eigenschaft „code“
Die Eigenschaft code
enthält einen der folgenden möglichen Werte. Deine Apps sollten jeden dieser Fehler behandeln können.
Code | Http-Statuscode | Beschreibung |
---|---|---|
invalidRequest | 400 | Die Anforderung ist fehlerhaft oder falsch. |
unauthenticated | 401 | Der Aufrufer ist nicht authentifiziert. |
accessDenied | 403 | Der Aufrufer ist nicht zum Ausführen der Aktion berechtigt. |
itemNotFound | 404 | Die Ressource konnte nicht gefunden werden. |
resourceModified | 409 | Die Ressource, die seit dem letzten Lesen der Ressource geändert wird, ist in der Regel ein eTag-Konflikt. |
preconditionFailed | 412 | Eine in der Anforderung bereitgestellte Voraussetzung (z. B. ein If-Match-Header) stimmt nicht mit dem aktuellen Zustand der Ressource überein. |
generalException | 500 | Es ist ein unbekannter Fehler aufgetreten. |
serviceNotAvailable | 503 | Der Dienst ist nicht verfügbar. Wiederhole die Anforderung nach einer Verzögerung. Möglicherweise ist ein Retry-After-Header vorhanden. |
Nachrichteneigenschaft
Die Eigenschaft message
am Stamm enthält eine Fehlermeldung für den Entwickler. Fehlermeldungen werden nicht lokalisiert und sollten nicht direkt für den Benutzer angezeigt werden. Ihr Code sollte nicht nur auf message
Werte überprüfen, weil sie sich jederzeit ändern können, und sie enthalten häufig dynamische Informationen, die für die fehlgeschlagene Anforderung spezifisch sind. Sie sollten code against error codes returned in code
properties and then for more details combine it with message text.
Objekt „InnerError“
Das innererror
Objekt kann rekursiv weitere innererror
Objekte mit spezifischeren Fehlercodes enthalten. Clientanwendung sollte bei der Behandlung eines Fehlers alle verfügbaren Fehlercodes durchlaufen und den detailliertesten code verwenden, den sie verstehen.
Es gibt einige weitere Fehler, auf die Ihre App innerhalb der geschachtelten innererror
Objekte stoßen kann. Apps sind nicht erforderlich, um diese Fehler zu behandeln, können dies jedoch tun, wenn sie dies auswählen. Der Dienst kann neue Fehlercodes hinzufügen oder die Rückgabe alter Fehlercodes jederzeit beenden. Daher ist es wichtig, dass alle Apps in der Lage sind, die [grundlegenden Fehlercodes] zu behandeln.
Fehlercodes
Es folgen Fehlercodes, die von den APIs zurückgegeben werden:
HTTP-Status | HTTP-Fehlercode | Fehlercode | BESCHREIBUNG |
---|---|---|---|
BadRequest | 400 | 99901 | Ungültige Eingabe |
Nicht autorisiert | 401 | 99902 | Nicht autorisierter Zugriff |
BadRequest | 400 | 99903 | Fehlende Eingabe |
NotFound | 404 | 99,904 | Ressource nicht gefunden |
InternalServerError | 500 | 99905 | Fehler nicht angegeben |
TooManyRequests | 429 | 99906 | Zu viele Anforderungen |
InternalServerError | 500 | 99907 | Vorübergehender interner Fehler |
BadRequest | 400 | 99908 | Die Eigenschaft ist nicht aktualisierbar. |
BadRequest | 400 | 99909 | Die Eigenschaft ist nicht nullwertebar. |
VorbedingungFailed | 412 | 99910 | Der Etag-Wert stimmt nicht überein. |
BadRequest | 400 | 99911 | Ungültiger Empfehlungsstatus zum Einladen |
BadRequest | 400 | 99912 | Die Lösung mit dem Typ "Name" ist erforderlich. |
Verboten | 403 | 99913 | Organisation nicht zugelassen zum Erstellen einer Ressource |
Verboten | 403 | 99914 | Organisation nicht zugelassen, an Co-Sell-Engagements teilzunehmen |
InternalServerError | 500 | 99915 | Interner Anforderungsausführungsfehler |
Konflikt | 409 | 99917 | Ressource wurde bereits über eine andere Anforderung geändert |
PreConditionFailed | 412 | 99918 | Eine in der Anforderung bereitgestellte Voraussetzung (z. B. ein If-Match-Header) stimmt nicht mit dem aktuellen Zustand der Ressource überein. |
BadRequest | 400 | 99919 | Ungültige Empfehlungsqualifizierung zum Aktualisieren |
InternalServerError | 500 | 99999 | Allgemeine Ausnahme während der Verarbeitungsanforderung |