Felhantering
Översikt overview
API-fel i Adobe Experience Platform Edge Network Server API kan ha olika orsaker, interna (Edge Network) eller externa (indata, konfiguration eller uppströms).
Feltyper error-types
RequestProcessingError
500
InputError
4xx
ConfigurationError
422
UpstreamError
207 Multi-Status
Allvarlighetsgrad
Server-API-fel kan också delas upp efter allvarlighetsgrad:
- Allvarliga fel kommer att stoppa skicka-pipelinen.
- Icke-allvarliga fel kan signalera en partiell bearbetning, samtidigt som behandlingen av begäranden kan fortsätta.
- Om det finns någon ändrar den övergripande statuskoden för begäran till
207 Multi-Status
.
- Om det finns någon ändrar den övergripande statuskoden för begäran till
RequestProcessingError
InputError
ConfigurationError
UpstreamError
Allvarliga fel fatal-errors
Allvarliga fel stoppar bearbetningen av begäran och orsakar att en svarsstatus som inte är 2xx returneras. Titta i avsnittet feltyper för att se den förväntade statuskoden, som motsvarar varje feltyp.
Felen kommer att åtföljas av ett svarsorgan som innehåller ett felobjekt. I det här fallet innehåller svarstexten en problemdetalj, enligt definition i RFC 7807 Probleminformation för HTTP-API:er.
Den returnerade innehållstypen är medietypen application/problem+json
. Det här svaret innehåller maskinläsbar information om felet, om det finns någon. Probleminformationen innehåller en URI-typ.
Alla felobjekt har meddelandeegenskaperna type
, status
, title
, detail
och report
så att API-klienten kan avgöra vad problemet är.
type
https://ns.adobe.com/aep/errors/<ERROR-CODE>
.status
title
detail
report
{
"type":"https://ns.adobe.com/aep/errors/EXEG-0104-422",
"status":422,
"title":"Unprocessable entity",
"detail":"Invalid request (report attached). Please check your input and try again.",
"report":{
"errors":[
"Allowed Adobe version is 1.0 for standard 'Adobe' at index 0",
"Allowed IAB version is 2.0 for standard 'IAB TCF' at index 1",
"IAB consent string value must not be empty for standard 'IAB TCF' at index 1"
],
"requestId":"0f8821e5-ed1a-4301-b445-5f336fb50ee8",
"orgId":"53A16ACB5CC1D3760A495C99@AdobeOrg"
}
}
Icke-allvarliga fel non-fatal-errors
Icke-allvarliga fel kan delas upp ytterligare i:
- Fel: Problem som uppstod när begäran bearbetades, men som inte ledde till att hela begäran avvisades (t.ex. ett icke-kritiskt fel uppströms).
- Varningar: Meddelanden från tjänster som ligger uppströms kan signalera att en partiell bearbetning av begäran har utförts.
När icke-allvarliga fel påträffas (exklusive varningar) ändrar Server API svarsstatusen till 207 Multi-Status
.
Varningar är å andra sidan i huvudsak informativa, eftersom de i allmänhet utgör ett potentiellt övergående tillstånd som inte till fullo påverkade begäran. Ett exempel här är en delvis profilläsning i segmenteringsmotorn. I så fall påverkas noggrannheten i viss utsträckning, men funktionaliteten är fortfarande tillgänglig.
Icke-allvarliga fel representeras i formatet Probleminformation, men bäddas in direkt i Edge gateways standardsvar, som är av typen application/json
.
{
"requestId": "72eaa048-207e-4dde-bf16-0cb2b21336d5",
"handle": [
],
"errors": [
{
"type": "https://ns.adobe.com/aep/errors/EXEG-0201-503",
"status": 503,
"title": "The 'com.adobe.experience.platform.ode' service is temporarily unable to serve this request. Please try again later."
}
],
"warnings": [
{
"type": "https://ns.adobe.com/aep/errors/EXEG-0204-200",
"status": 200,
"title": "A warning occurred while calling the 'com.adobe.audiencemanager' service for this request.",
"report": {
"cause": {
"message": "Cannot read related customer for device id: ...",
"code": 202
}
}
}
]
}
Hantera 4xx
och 5xx
svar
4xx Bad Request
4xx
-fel, som 400, 403, 404, får inte provas igen för klientens räkning, förutom 429
. Detta är klientfel och kommer inte att lyckas. Klienten måste åtgärda felet innan den försöker utföra begäran igen.429 Too Many Requests
429
HTTP-svarskoden anger att Adobe Experience Platform Edge Network eller en tjänst i uppströmmen hastighetsbegränsar förfrågningarna. I det här fallet måste anroparen i ett sådant scenario respektera svarshuvudet Retry-After
. Alla svar som returneras måste innehålla HTTP-svarskoden med en domänspecifik felkod.500 Internal Server Error
500
fel är generiska fel av typen catch-all. 500
fel får inte provas igen, förutom 502
och 503
. Medarbetare måste svara med ett 500
-fel och kan svara med en generisk felkod/ett allmänt felmeddelande eller en mer domänspecifik felkod/ett mer felmeddelande.502 Bad Gateway
502
fel kan försöka utföra begäran igen efter en stund.503 Service Unavailable
503
fel kan försöka utföra begäran igen, men måste respektera rubriken Retry-After
.504 Gateway Timeout