Felkoder

Nedan finns listor över felkoder för REST API och en förklaring av hur fel returneras till programmen.

Hantera och logga undantag

När du utvecklar för Marketo är det viktigt att begäranden och svar loggas när ett oväntat undantag inträffar. Vissa typer av undantag, till exempel autentisering som har upphört att gälla, kan hanteras säkert genom återautentisering, men andra kan kräva supportinteraktioner, och begäranden och svar kommer alltid att begäras i det här scenariot.

Feltyper

Marketo REST API kan returnera tre olika typer av fel vid normal användning:

  • HTTP-nivå: Dessa fel indikeras av en 4xx-kod.
  • Svarsnivå: Dessa fel ingår i arrayen "errors" i JSON-svaret.
  • Postnivå: Dessa fel ingår i arrayen "result" i JSON-svaret och anges på individuell postbasis med arrayen "status" och "reasons".

För feltyperna Svarsnivå och Postnivå returneras HTTP-statuskoden 200. För alla feltyper ska HTTP-orsaksfrasen inte utvärderas eftersom den är valfri och kan ändras.

HTTP-nivåfel

Under normala driftförhållanden bör Marketo endast returnera två HTTP-statuskodfel, 413 Request Entity Too Large och 414 Request URI Too Long. Båda kan återställas genom att felet identifieras, begäran ändras och nya försök görs, men med smart kodning bör du aldrig stöta på detta i verkligheten.

Marketo returnerar 413 om nyttolasten för begäran överstiger 1 MB, eller 10 MB vid import av lead. I de flesta fall är det osannolikt att de här gränserna kommer att nås, men om man lägger till en kontroll av begärans storlek och flyttar poster, vilket gör att gränsen överskrids för en ny begäran, bör det inte finnas några omständigheter som kan leda till att felet returneras av någon slutpunkt.

414 returneras när URI:n för en GET-begäran överstiger 8 kB. För att undvika det bör du kontrollera mot längden på frågesträngen för att se om den överskrider den här gränsen. Om den ändrar din begäran till en POST-metod anger du frågesträngen som begärandebrödtext med den extra parametern _method=GET. Detta innebär att begränsningen för URI:er ignoreras. I de flesta fall är det ovanligt att den här gränsen nås, men det är något vanligt när du hämtar stora grupper med poster med långa enskilda filtervärden som GUID.
Identity-slutpunkten kan returnera ett 401 otillåtet fel. Detta beror vanligtvis på ett ogiltigt klient-ID eller ogiltig klienthemlighet. Felkoder på HTTP-nivå

Svarskod
Beskrivning
Kommentar
413
Begärandeentiteten är för stor
Nyttolasten överskrider gränsen på 1 MB.
414
Begärande-URI är för lång
URI för begäran överskred 8 kB. Begäran ska provas igen som en POST med param `_method=GET" i URL:en och resten av frågesträngen i begärans innehåll.

Fel på svarsnivå

Svarsnivåfel förekommer när parametern success i svaret är inställd på false och är strukturerade på följande sätt:

{
    "requestId": "e42b#14272d07d78",
    "success": false,
    "errors": [
        {
            "code": "601",
            "message": "Unauthorized"
        }
    ]
}

Varje objekt i arrayen "errors" har två medlemmar, code, som är ett heltal med citattecken mellan 601 och 799, och en message som anger varför felet beror på texten. 6xx-koder anger alltid att en begäran misslyckades helt och inte kördes. Ett exempel är 601, "Åtkomsttoken invalid", som kan återställas genom återautentisering och genom att skicka den nya åtkomsttoken med begäran. 7xx-fel indikerar att begäran misslyckades, antingen på grund av att inga data returnerades, eller på grund av att begäran parametriserades felaktigt, till exempel att ett ogiltigt datum inkluderades, eller att en obligatorisk parameter saknades.

Felkoder på svarsnivå

Ett API-anrop som returnerar den här svarskoden räknas inte av mot din dagliga kvot eller din avgiftsgräns.

Svarskod
Beskrivning
Kommentar
502
Felaktig gateway
Fjärrservern returnerade ett fel. Troligen en timeout. Ett nytt försök att utföra begäran bör göras med exponentiell säkerhetskopiering.
601*
Ogiltig åtkomsttoken
En Access Token-parameter inkluderades i begäran, men värdet var inte en giltig åtkomsttoken.
602*
Åtkomsttoken har upphört
Åtkomsttoken som ingår i samtalet är inte längre giltig på grund av förfallodatum.
603
Åtkomst nekad
Autentiseringen lyckades, men användaren har inte tillräcklig behörighet för att anropa API:t. [Ytterligare behörigheter](custom-services.md) kan behöva tilldelas användarrollen, eller så kan Tillåtelselista för IP-baserad API-åtkomst aktiveras.
604*
Timeout för begäran
Begäran kördes för länge (t.ex. påträffade databaskonflikter) eller så överskred den timeout-period som angavs i huvudet för anropet.
605*
HTTP-metoden stöds inte
GET stöds inte för slutpunkten Synkronisera leads. POST måste användas.
606
Maxhastighetsgränsen "%s"; överskriden med "%s" sekunder
Antalet anrop under de senaste 20 sekunderna var större än 100
607
Kvot per dag har nåtts
Antalet anrop i dag överskred prenumerationens kvot (återställs dagligen kl. 12:00 CST).>Din kvot finns på menyn Admin->Webbtjänster. Du kan öka din kvot med din kontohanterare.
608*
API är inte tillgängligt för tillfället
609
Ogiltig JSON
Innehållet i begäran är inte en giltig JSON.
610
Begärd resurs hittades inte
URI:n i anropet matchade inte en REST API-resurstyp. Detta beror ofta på en felaktigt stavad eller felaktigt formaterad URI för begäran
611*
Systemfel
Alla ohanterade undantag
612
Ogiltig innehållstyp
Om det här felet uppstår lägger du till en innehållstypsrubrik som anger JSON-format i din begäran. Prova till exempel med "innehållstyp: program/json". Mer information finns i den här StackOverflow-frågan.
613
Ogiltig multipart-begäran
POSTENS multipart-innehåll har inte formaterats korrekt
614
Ogiltig prenumeration
Målprenumerationen kan inte hittas eller går inte att nå. Detta indikerar vanligtvis temporär otillgänglighet.
615
Gränsen för samtidig åtkomst har nåtts
Begäranden behandlas som mest av alla prenumerationer 10 i taget. Detta returneras om det redan finns 10 pågående begäranden.
616
Ogiltig prenumerationstyp
Du måste ange lämplig prenumerationstyp för Marketo för att få tillgång till API:t för anpassade objektmetadata. Mer information finns i din CSM.
701
%s får inte vara tomt
Det rapporterade fältet får inte vara tomt i begäran
702
Inga data hittades för ett givet sökscenario
Inga poster matchade angivna sökparametrar. Obs! Många misslyckade sökåtgärder returnerar "success = true" och inga fel, samt anger en informationssträng för varningar.
703
Funktionen är inte aktiverad för prenumerationen
En betafunktion som inte har aktiverats i en användares prenumeration
704
Ogiltigt datumformat
  • Ett datum som inte hade rätt format angavs
  • Ett ogiltigt ID för dynamiskt innehåll angavs
709
Affärsregelöverträdelse

Anropet kan inte utföras eftersom det bryter mot ett krav på att skapa eller uppdatera en resurs, till exempel att försöka skapa ett e-postmeddelande utan en mall. Det går också att få följande fel när du försöker:

  • Hämta innehåll för landningssidor som innehåller socialt innehåll.
  • Klona ett program som innehåller vissa resurstyper (mer information finns i Programklon).
  • Godkänn en tillgång som inte har något utkast (det vill säga som redan har godkänts).
710
Överordnad mapp hittades inte
Det gick inte att hitta den angivna överordnade mappen
711
Inkompatibel mapptyp
Den angivna mappen var inte av rätt typ för att uppfylla begäran
712
Åtgärden Koppla till person-konto är ogiltig
Ett anrop till en kopplingsansvarig misslyckades på grund av ett försök att sammanfoga leads som är Salesforce-personkonton. Salesforce-personkonton måste sammanfogas i Salesforce.
713
Övergående fel
En systemresurs var tillfälligt otillgänglig vid tiden för API-anropet. När det här felet inträffar bör du vänta en stund och sedan försöka utföra begäran igen.
714
Det går inte att hitta standardposttypen
Det gick inte att anropa kopplade leads eftersom det inte gick att hitta någon standardposttyp.
718
ExternalSalesPersonID hittades inte
Ett Sync Opportunity-anrop gjordes med ett värde som inte finns, ExternalSalesPersonID.
719
Timeoutundantag för låsning av väntetid
Ett Clone Program-anrop gjordes och timeout uppstod i väntan på ett lås.

Postnivå record_level_errors

Postnivåfel indikerar att en åtgärd inte kunde slutföras för en enskild post, men själva begäran var giltig. Ett svar med fel på postnivå följer det här mönstret:

Svar

{
   "requestId":"e42b#14272d07d78",
   "success":true,
   "result":[
      {
         "id":50,
         "status":"created"
      },
      {
         "id":51,
         "status":"created"
      },
      {
         "status":"skipped",
         "reasons":[
            {
               "code":"1005",
               "message":"Lead already exists"
            }
         ]
      }
   ]
}

Poster som ingår i den resulterande arrayen med anrop ordnas på samma sätt som indataarrayen för en begäran.
Varje post i en lyckad begäran kan lyckas eller misslyckas på individnivå, vilket anges av statusfältet för varje post som ingår i resultatarrayen i ett svar. Fältet "status" för de här posterna hoppas över och arrayen "reasons" finns. Varje orsak innehåller en"kodmedlem" och en"meddelandemedlem". Koden är alltid 1xxx och meddelandet anger varför posten hoppades över. Ett exempel är när en begäran om synkronisering av leads har "action" inställt på "createOnly", men det redan finns en lead för en av nycklarna i de skickade posterna. I det här fallet returneras koden 1005 och meddelandet"Lead already exists" (Lead finns redan) visas ovan.

Felkoder på postnivå

Svarskod
Beskrivning
Kommentar
1001
Ogiltigt värde, %s. Krävs av typen "%s"
Ett fel genereras när ett parametervärde har ett typmatchningsfel. Strängvärdet som anges för en heltalsparameter.
1002
Värde saknas för den obligatoriska parametern %s
Ett fel genereras när en obligatorisk parameter saknas i begäran
1003
Ogiltiga data
När inskickade data inte är en giltig typ för den angivna slutpunkten eller det angivna läget, till exempel när ID skickas för en lead med åtgärden createOnly eller när Request Campaign används för en batchkampanj.
1004
Lead hittades inte
För syncLead, när åtgärden är "updateOnly" och om lead inte hittas
1005
Lead finns redan
För syncLead, när åtgärden är"createOnly" och om det redan finns en lead
1006
Fältet "%s" hittades inte
Ett inkluderat fält i anropet är inte ett giltigt fält.
1007
Flera leads matchar sökvillkoren
Flera leads matchar sökvillkoren. Uppdateringar kan bara utföras när nyckeln matchar en enskild post
1008
Åtkomst nekad till partitionen %s
Användaren för den anpassade tjänsten har inte åtkomst till en arbetsyta med partitionen där posten finns.
1009
Partitionsnamnet måste anges
1010
Partitionsuppdatering tillåts inte
Den angivna posten finns redan i en separat huvudpartition.
1011
Fältet "%s" stöds inte
Vid uppslagsfält eller filtertyp som anges med standardfält som inte stöds (t.ex. firstName, lastName)
1012
Ogiltigt cookie-värde "%s"
Kan inträffa när Associate Lead anropas med ett ogiltigt värde för cookie-parametern. Detta inträffar också när Hämta leads efter filtertyp anropas med filterType=cookies och ogiltigt värde för parametern filterValues.
1013
Objektet hittades inte
Get object (list, campaign) by id returnerar den här felkoden
1014
Det gick inte att skapa objektet
Det gick inte att skapa objektet (listan)
1015
Lead finns inte i listan
Den angivna leadet är inte medlem i mållistan
1016
För många importer
För många importer står i kö. Högst 10 är tillåtet
1017
Objektet finns redan
Det gick inte att skapa eftersom posten redan finns
1018
CRM aktiverat
Åtgärden kunde inte utföras eftersom instansen har en intern CRM-integrering aktiverad.
1019
Import pågår
Mållistan importeras redan till
1020
För många kloner att programmera
Prenumerationen har nått den tilldelade användningen av cloneToProgramName i schemaprogrammet för dagen
1021
Företagsuppdatering tillåts inte
Företagsuppdatering tillåts inte under syncLead
1022
Objekt som används
Borttagning tillåts inte när ett objekt används av ett annat objekt
1025
Programstatus hittades inte
En status angavs för att ändra status för Lead Program som inte matchade en status som är tillgänglig för programmets kanal.
1026
Anpassat objekt är inte aktiverat
Åtgärden kunde inte utföras eftersom instansen inte har aktiverat integrering av anpassade objekt.
1027
Maximal begränsning för aktivitetstyp har uppnåtts
Prenumerationen har nått det maximala antalet tillgängliga anpassade aktivitetstyper.
1028
Maximal fältgräns har nåtts
Anpassade aktiviteter har högst 20 sekundära attribut.
1029
  • För många jobb i kön
  • Exportera dagskvot har överskridits
  • Prenumerationer tillåts maximalt 10 massextraheringsjobb i kön vid en given tidpunkt.
  • Extraheringsjobb som standard är begränsade till 500 MB per dag (återställs dagligen till 01:00 CST).
1035
Filtertypen stöds inte
I vissa prenumerationer stöds inte följande filtertyper för Bulk Lead Extract: updatedAt, smartListId, smartListName.
1036
Dubblettobjekt hittades i indata
Ett anrop gjordes för att uppdatera två eller flera poster med samma sekundärnyckel. Ett Sync Companies-anrop använder till exempel samma externalCompanyId för mer än ett företag.
1037
Lead hoppades över
Lead hoppades över eftersom den redan är i eller förbi den här statusen.
1042
Ogiltigt körningsdatum
Det runAt-datum som angavs för Schedule Campaign var för långt in i framtiden (det maximala antalet är 2 år).
1048
Utkastet för borttagning av anpassat objekt misslyckades
Ett anrop gjordes för att ta bort utkastversionen av ett anpassat objekt.
1049
Det gick inte att skapa aktiviteten
Attributmatrisen är för lång. Arrayen med attribut som skickades till posten överskred den maximala längden på 65536 byte
1076
AnropetMerge Leads med mergeInCRM-flaggan är 4.
Du skapar en dubblettpost. Du bör använda en befintlig post i stället. Detta är felmeddelandet som Marketo får när de sammanfogar i Salesforce.
1077
Anropet mellan kopplade leads misslyckades på grund av SFDC-fältets längd
Ett anrop av typen Merge Leads med mergeInCRM inställt på true misslyckades på grund av att SFDC-fältet överskrider gränsen för tillåtna tecken. Korrigera genom att minska längden på SFDC-fält eller ange mergeInCRM till false.
1078
Anropet Kopplingsleads misslyckades på grund av att entiteten tagits bort, inte en lead/kontakt eller att fältfiltervillkoren inte matchar.
Sammanfogningsfel, det gick inte att utföra sammanfogningsåtgärden i det internt synkroniserade CRM Detta är felmeddelandet som Marketo får när de sammanfogar i Salesforce.
recommendation-more-help
bb269a6d-047a-4bf7-9acd-23ad9a63dc59