Svarskoder för referens-API

Gäller för: Partnercenter | Partnercenterreferenser

Lämpliga roller: Referensadministratör | Användare av hänvisningar

REST-API:er för partnercenterreferenser returnerar ett JSON-objekt som innehåller en statuskod. Den här koden anger om din begäran lyckades eller varför den misslyckades.

Lyckade svar

En 2xx-statuskod anger att klientens begäran har tagits emot, förståtts och godkänts. Följande 2xx-statuskoder anger ett lyckat svar:

  • 200: Framgång bekräftad
  • 201: Resursen har skapats
  • 202: Accepterad
  • 204: Inget innehåll att returnera

Felsvar

Alla svar med statuskoden 4xx eller 5xx innehåller ett felmeddelande med information om felvillkoren för koden.

I följande tabell visas och beskrivs DE HTTP-statuskoder som kan returneras för felscenarier.

Statuskod Statusmeddelande beskrivning
400 Felaktig förfrågan Det går inte att bearbeta begäran eftersom den är felaktigt formaterad eller felaktig.
401 Behörighet saknas Nödvändig autentiseringsinformation saknas eller är inte giltig för resursen.
403 Ej tillåtet Åtkomst nekas till den begärda resursen. Användaren kanske inte har tillräcklig behörighet.
404 Hittades inte Den begärda resursen finns inte.
405 Metoden tillåts inte HTTP-metoden i begäran tillåts inte för resursen.
406 Inte acceptabelt Den här tjänsten stöder inte det format som begärdes i accepthuvudet.
409 Konflikt Det aktuella tillståndet står i konflikt med vad begäran förväntar sig. Den angivna överordnade mappen kanske till exempel inte finns.
410 Borta Den begärda resursen är inte längre tillgänglig på servern.
411 Längd krävs En Content-Length-header krävs i begäran.
412 Förhandsvillkoret misslyckades En förutsättning som anges i begäran (till exempel ett if-match-huvud) matchar inte resursens aktuella tillstånd.
413 Begärandeentiteten är för stor Begärandestorleken överskrider den maximala gränsen.
415 Medietyp som inte stöds Innehållstypen för begäran är ett format som tjänsten inte stöder.
416 Det begärda intervallet kan inte uppfyllas Det angivna byteintervallet är ogiltigt eller otillgängligt.
422 Entitet som inte kan bearbetas Det går inte att bearbeta begäran eftersom den är semantiskt felaktig.
423 Låst Resursen som används är låst.
429 För många begäranden Klientprogrammet begränsas och bör inte försöka upprepa begäran på ett tag.
500 Internt serverfel Det uppstod ett internt serverfel när begäran bearbetades.
501 Inte implementerad Den begärda funktionen implementeras inte.
503 Tjänsten är inte tillgänglig Tjänsten är tillfälligt otillgänglig för underhåll eller är överbelastad. Du kan upprepa förfrågan efter en fördröjning, vars längd kan anges i en Retry-After-header.
504 Tidsgräns för gateway Servern, som fungerar som en proxy, fick inte ett snabbt svar från den överordnade servern som den behövde för att komma åt för att försöka slutföra begäran. Kan inträffa tillsammans med 503.
507 Otillräcklig lagring Har nått den maximala lagringskvoten.
509 Bandbreddsgränsen har överskridits Klientprogrammet begränsades på grund av överskridande av den maximalt tillåtna bandbredden. Din app kan försöka begära igen efter en stund.

Fel i resurstyp

Felsvaret är ett enda JSON-objekt som innehåller en enda egenskap med namnet error. Det här objektet innehåller all information om felet. Du kan använda informationen som returneras här i stället för eller utöver HTTP-statuskoden.

I följande tabell och kodexempel beskrivs schemat för ett felsvar.

Namn Typ beskrivning
kod sträng Alltid tillbaka. Anger vilken typ av fel som inträffade. Ej noll.
meddelande sträng Alltid tillbaka. Beskriver felet i detalj och ger mer felsökningsinformation. Icke-null och icke-tom. Maximal längd är 1 024 tecken.
innerError objekt Valfritt. Ett annat felobjekt med mer specifik information om felet inträffade.
innerError.code numerisk sträng Returneras alltid om innerError inte är null. Innehåller mer specifik felkodsinformation under det översta felkodsvärdet.
inreFel.meddelande sträng Returneras alltid om innerError inte är null. Innehåller ett mer specifikt felmeddelande under den översta felmeddelandesträngen.
innerError.details arrayobjekt Valfritt. Innehåller mer information om felet. Främst användbart vid valideringsfel för indata.
mål sträng Valfritt. Målet där felet uppstod.

Exempel på felsvar

{
  "error": {
    "code": "unauthenticated",
    "message": "The caller is not authenticated.",
    "innerError": {
      "code": "99902",
      "message": "Request not authenticated",
      "details": null
    }
  }
}

Ett annat exempel med innerError.details-objektet ifyllt:

{
  "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"
          ]
        }
      ]
    }
  }
}

Kodegenskap

Egenskapen code innehåller något av följande möjliga värden. Dina appar bör vara beredda att hantera något av dessa fel.

Kod Http-statuskod beskrivning
invalidRequest 400 Begäran är felaktig eller felkonstruerad.
Oautentiserad 401 Anroparen är inte autentiserad.
accessDenied 403 Anroparen har inte behörighet att utföra åtgärden.
itemNotFound 404 Det gick inte att hitta resursen.
resourceModified 409 Resursen som uppdateras har ändrats sedan anroparen senast läste den, vanligtvis ett eTag-matchningsfel.
förutsättningMisslyckades 412 En förutsättning som anges i begäran (till exempel ett if-match-huvud) matchar inte resursens aktuella tillstånd.
generalException 500 Ett ospecificerat fel uppstod.
serviceNotAvailable 503 Tjänsten är inte tillgänglig. Försök igen efter en fördröjning. Det kan finnas en Retry-After-header.

Meddelandeegenskap

Egenskapen message i roten innehåller ett felmeddelande som är avsett för utvecklaren att läsa. Felmeddelanden är inte lokaliserade och bör inte visas direkt för användaren. Din kod bör inte kontrollera mot message värden bara för att de kan ändras när som helst, och de innehåller ofta dynamisk information som är specifik för den misslyckade begäran. Du bör koda mot felkoder som returneras i code egenskaper och sedan kombinera den med meddelandetext för mer information.

InnerError-objekt

Objektet innererror kan rekursivt innehålla fler innererror objekt med mer specifika felkoder. När klientprogrammet hanterar ett fel bör det gå igenom alla tillgängliga felkoder och använda den mest detaljerade som de förstår.

Det finns några fler fel som din app kan stöta på i de kapslade innererror objekten. Appar krävs inte för att hantera dessa fel, men kan göra det om de vill. Tjänsten kan lägga till nya felkoder eller sluta returnera gamla när som helst, så det är viktigt att alla appar kan hantera [grundläggande felkoder].

Felkoder

Följande är felkoder som returneras av API:erna:

HTTP-status HTTP-felkod Felkod beskrivning
Felaktig Begäran 400 99901 Ogiltiga indata
Behörighet saknas 401 99902 Obehörig åtkomst
Ogiltig begäran 400 99903 Indata saknas
Hittas ej 404 99904 Det går inte att hitta resursen
InternalServerError 500 99905 Fel har inte angetts
För många förfrågningar 429 99906 för många begäranden
InternalServerError 500 99907 Tillfälligt internt fel
Felaktig begäran 400 99908 Egenskapen kan inte uppdateras
Felaktig Begäran 400 99909 Egenskapen kan inte vara null
Förutsättning Misslyckades 412 99910 Etag-värdet matchar inte
Felaktig förfrågan 400 99911 Ogiltig referensstatus för inbjudan
Felaktig förfrågan 400 99912 Lösning med typen "namn" krävs
Ej tillåtet 403 99913 Organisationen tillåts inte att skapa resurs
Ej tillåtet 403 99914 Organisationen tillåts inte delta i samförsäljningsengagemang
InternalServerError 500 99915 Fel vid körning av interna begäranden
Konflikt 409 99917 Resursen har redan ändrats via en annan begäran
PreConditionFailed 412 99918 En förutsättning som anges i begäran (till exempel ett if-match-huvud) matchar inte resursens aktuella tillstånd.
Felaktig begäran 400 99919 Ogiltig referenskvalifikation att uppdatera
InternalServerError 500 99999 Allmänt undantag vid bearbetning av begäran