Foutcodes
Hieronder vindt u een lijst met REST API-foutcodes en een uitleg van de manier waarop fouten worden geretourneerd naar toepassingen.
Uitzonderingen voor afhandeling en registratie
Wanneer het ontwikkelen voor Marketo, is het belangrijk dat de verzoeken en de reacties het programma worden geopend wanneer een onverwachte uitzondering wordt ontmoet. Terwijl bepaalde soorten uitzonderingen, zoals verlopen authentificatie, veilig door re-authentificatie kunnen worden behandeld, kunnen anderen steuninteractie vereisen, en de verzoeken en de reacties zullen altijd in dit scenario worden gevraagd.
Fouttypen
De Marketo REST-API kan drie verschillende fouttypen retourneren onder normale werking:
- HTTP-niveau: deze fouten worden aangegeven door een
4xx
-code. - Responsniveau: deze fouten worden opgenomen in de array "errors" van de JSON-respons.
- Recordniveau: deze fouten worden opgenomen in de "resultaat"-array van de JSON-respons en worden op individuele recordbasis aangegeven met het veld "status" en de array "reason".
Voor fouttypen op antwoordniveau en op recordniveau wordt een HTTP-statuscode van 200 geretourneerd. Voor alle fouttypen moet de HTTP-redenuitdrukking niet worden geëvalueerd omdat deze optioneel is en kan worden gewijzigd.
Fouten op HTTP-niveau
Onder normale bedrijfsomstandigheden mag Marketo slechts twee fouten in de HTTP-statuscode 413 Request Entity Too Large
en 414 Request URI Too Long
retourneren. Deze zijn zowel terugwinbaar door de fout te vangen, het verzoek te wijzigen en opnieuw te proberen, maar met slimme codeerpraktijken, zou u deze nooit in het wild moeten ontmoeten.
Marketo retourneert 413 als de Request Payload groter is dan 1 MB, of 10 MB in het geval van Import Lead. In de meeste gevallen is het onwaarschijnlijk dat deze limieten worden overschreden, maar door een controle toe te voegen aan de grootte van het verzoek en records te verplaatsen die ertoe leiden dat de limiet wordt overschreden naar een nieuw verzoek, moeten omstandigheden worden voorkomen die ertoe leiden dat deze fout door eindpunten wordt geretourneerd.
414 wordt geretourneerd wanneer de URI van een GET-aanvraag groter is dan 8 kB. Om het te vermijden, controleer tegen de lengte van uw vraagkoord om te zien of overschrijdt het deze grens. Als het uw verzoek in een methode van de POST verandert, dan voer uw vraagkoord als verzoeklichaam met de extra parameter _method=GET
in. Hiermee wordt de beperking op URI's genegeerd. Het is zeldzaam om deze grens in de meeste gevallen te raken, maar het is enigszins gemeenschappelijk wanneer het terugwinnen van grote partijen verslagen met lange individuele filterwaarden zoals een GUID.
Het eindpunt van de Identiteitkan een 401 Onbevoegde fout terugkeren. Dit is doorgaans het gevolg van een ongeldige client-id of een ongeldig clientgeheim. Foutcodes op HTTP-niveau
Fouten op responsniveau
Er zijn fouten in het responsniveau aanwezig wanneer de parameter success
van de reactie is ingesteld op false en als volgt is gestructureerd:
{
"requestId": "e42b#14272d07d78",
"success": false,
"errors": [
{
"code": "601",
"message": "Unauthorized"
}
]
}
Elk object in de array 'errors' heeft twee leden, code
. Dit is een geheel getal tussen 601 en 799 en een message
dat de reden voor de fout in normale tekst aangeeft. 6xx-codes geven altijd aan dat een aanvraag volledig is mislukt en niet is uitgevoerd. Een voorbeeld is 601, het "teken van de Toegang ongeldig,"dat kan terugkrijgen door het nieuwe toegangstoken met het verzoek opnieuw voor authentiek te verklaren en over te gaan. 7xx fouten wijzen erop dat het verzoek ontbrak, of omdat geen gegevens werden teruggekeerd, of het verzoek verkeerd geparametereerd was, zoals het omvatten van een ongeldige datum, of het missen van een vereiste parameter.
Foutcodes op responsniveau
Een API-aanroep die deze responscode retourneert, wordt niet in mindering gebracht op uw dagelijkse quotum of uw tarieflimiet.
- Er is een datum opgegeven die niet de juiste notatie heeft
- Er is een ongeldige id voor dynamische inhoud opgegeven
De aanroep kan niet worden uitgevoerd omdat deze in strijd is met een vereiste om een element te maken of bij te werken, bijvoorbeeld wanneer u een e-mail wilt maken zonder sjabloon. Het is ook mogelijk deze fout op te halen wanneer u probeert:
- Inhoud ophalen voor bestemmingspagina's die sociale inhoud bevatten.
- Kloon een programma dat bepaalde activa types (zie van de Kloon van het Programma 0} {voor meer informatie) bevat.
- Een element goedkeuren zonder concept (dat wil zeggen dat het al is goedgekeurd).
Recordniveau record_level_errors
Fouten op recordniveau geven aan dat een bewerking niet kan worden voltooid voor een afzonderlijke record, maar dat het verzoek zelf geldig was. Een reactie met fouten op recordniveau volgt dit patroon:
Antwoord
{
"requestId":"e42b#14272d07d78",
"success":true,
"result":[
{
"id":50,
"status":"created"
},
{
"id":51,
"status":"created"
},
{
"status":"skipped",
"reasons":[
{
"code":"1005",
"message":"Lead already exists"
}
]
}
]
}
Records die zijn opgenomen in de resultaatarray van aanroepen worden op dezelfde manier geordend als de invoerarray van een aanvraag.
Elke record in een succesvol verzoek kan slagen of ontbreken op een individuele basis, die door het statusgebied van elk verslag inbegrepen in de resultaatserie van een reactie wordt vermeld. Het veld status van deze records wordt overgeslagen en er is een array 'reason' aanwezig. Elke reden bevat een "code"lid, en een "bericht"lid. De code is altijd 1xxx, en het bericht wijst erop waarom het verslag werd overgeslagen. In een voorbeeld zou een 'handeling' in een 'handeling' van een 'Leads synchroniseren' zijn ingesteld op 'AlleenMaken', maar er bestaat al een lead voor een van de sleutels in de verzonden records. Deze kwestie keert een code van 1005 terug, en een bericht van "Lood bestaat reeds"zoals hierboven getoond.
Foutcodes op recordniveau
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3 8-row-3 9-row-3 10-row-3 11-row-3 12-row-3 13-row-3 14-row-3 15-row-3 16-row-3 17-row-3 18-row-3 19-row-3 20-row-3 21-row-3 22-row-3 23-row-3 24-row-3 25-row-3 26-row-3 27-row-3 28-row-3 29-row-3 30-row-3 31-row-3 32-row-3 33-row-3 34-row-3 35-row-3 36-row-3 37-row-3 html-authored no-header | ||
---|---|---|
Antwoordcode | Beschrijving | Opmerking |
1001 | Ongeldige waarde '%s'. Vereist van type '%s' | Er wordt een fout gegenereerd wanneer een parameterwaarde niet overeenkomt met het type. Bijvoorbeeld de tekenreekswaarde die is opgegeven voor een parameter integer. |
1002 | Ontbrekende waarde voor de vereiste parameter '%s' | Er wordt een fout gegenereerd wanneer een vereiste parameter ontbreekt in de aanvraag |
1003 | Ongeldige gegevens | Wanneer de overgelegde gegevens geen geldig type voor het bepaalde eindpunt of de wijze zijn; zoals wanneer identiteitskaart voor een lood met actie wordt voorgelegd die als createOnly wordt aangewezen of wanneer het gebruiken van de Campagne van het Verzoek op een partijcampagne wordt aangewezen. |
1004 | Geen lood gevonden | Voor syncLead, wanneer de actie "updateOnly"is en als lood niet wordt gevonden |
1005 | De lead bestaat al | Voor syncLead, wanneer de actie "createOnly"is en als een lood reeds bestaat |
1006 | Veld '%s' niet gevonden | Een inbegrepen gebied in de vraag is geen geldig gebied. |
1007 | Meerdere leads komen overeen met de opzoekcriteria | Meerdere leads komen overeen met de opzoekcriteria. Updates kunnen alleen worden uitgevoerd wanneer de sleutel overeenkomt met één record |
1008 | Toegang geweigerd voor partitie '%s' | De gebruiker voor de douanedienst heeft geen toegang tot een werkruimte met de verdeling waar het verslag bestaat. |
1009 | Partitienaam moet worden opgegeven | |
1010 | Partitie-update niet toegestaan | De opgegeven record bestaat al in een aparte hoofdpartitie. |
1011 | Veld '%s' wordt niet ondersteund | Bij opzoekveld of 'filterType' opgegeven met niet-ondersteunde standaardvelden (bijv. firstName, lastName) |
1012 | Ongeldige cookiewaarde '%s' | Kan voorkomen wanneer het roepen van associeerde loodmet een ongeldige waarde voor de "koekjesparameter". Dit komt ook voor wanneer het roepen leidt door het Type van Filtermet ` filterType=cookies' en een ongeldige waarde voor de parameter ` filterValues `. |
1013 | Object niet gevonden | Hiermee wordt het object (list, campagne) van id opgehaald en wordt deze foutcode geretourneerd |
1014 | Kan object niet maken | Kan object niet maken (lijst) |
1015 | Lood niet in lijst | De aangewezen lood is geen lid van de doellijst |
1016 | Te veel invoer | Er staan te veel importen in de wachtrij. Er is maximaal 10 toegestaan |
1017 | Object bestaat al | Maken is mislukt omdat de record al bestaat |
1018 | CRM ingeschakeld | De handeling kan niet worden uitgevoerd, omdat voor de instantie een native CRM-integratie is ingeschakeld. |
1019 | Importeren wordt uitgevoerd | De doellijst wordt al geïmporteerd naar |
1020 | Te veel klonen voor programma | Het abonnement heeft het toegewezen gebruik van "cloneToProgramName" in het Programma voor de dag bereikt |
1021 | Bedrijfsupdate niet toegestaan | Bedrijfsupdate niet toegestaan tijdens syncLead |
1022 | Object in gebruik | Verwijderen is niet toegestaan wanneer een object door een ander object wordt gebruikt |
1025 | Programmastatus niet gevonden | Er is een status opgegeven om de status van het leidingprogramma te wijzigen die niet overeenkomt met een status die beschikbaar is voor het kanaal van het programma. |
1026 | Aangepast object niet ingeschakeld | De handeling kan niet worden uitgevoerd omdat de integratie van aangepaste objecten niet is ingeschakeld voor de instantie. |
1027 | Maximale maximale activiteitstypen bereikt | Het abonnement heeft het maximumaantal beschikbare types van douaneactiviteit bereikt. |
1028 | Max. veldlimiet bereikt | Aangepaste activiteiten hebben maximaal 20 secundaire kenmerken. |
1029 |
|
|
1035 | Niet-ondersteund filtertype | In sommige abonnementen, worden de volgende de filtertypes van Extraheren van de Lood van de Bulk niet gesteund: updateAt, smartListId, smartListName. |
1036 | Dubbel object gevonden in invoer | Er is een aanroep gemaakt om twee of meer records bij te werken met dezelfde externe sleutel. Bijvoorbeeld, roept een vraag van de Bedrijven van de Synchronisatie gebruikend zelfde externalCompanyId voor meer dan één bedrijf. |
1037 | Lood is overgeslagen | De lead is overgeslagen omdat deze al in of voorbij deze status is. |
1042 | Ongeldige runAt-datum | De runAt-datum die is opgegeven voor de planningscampagne was te ver in de toekomst (het maximum is 2 jaar). |
1048 | Concept voor verwijderen van aangepast object is mislukt | Er is een aanroep gemaakt om de conceptversie van een aangepast object te verwijderen. |
1049 | Kan activiteit niet maken | Kenmerkarray is te lang. De array met kenmerken die aan de record zijn doorgegeven, overschrijdt de maximale lengte van 65536 bytes |
1076 | Samenvoegen leidtvraag met de vlag mergeInCRM is 4. | U maakt een gedupliceerde record. U wordt aangeraden een bestaande record te gebruiken. Dit is de foutmelding die Marketo ontvangt bij het samenvoegen in Salesforce. |
1077 | de vraag van de Leads van de Fusieontbrak toe te schrijven aan ` de lengte van het Gebied van SFDC | Een samenvoegen van Leads-aanroep waarbij mergeInCRM is ingesteld op true, is mislukt omdat het SFDC-veld de limiet van toegestane tekens overschrijdt. U corrigeert de fout door de lengte van het veld SFDC Field te verkleinen of mergeInCRM in te stellen op false. |
1078 | ontbroken vraag van de Leads van 0} Fusie {wegens geschrapte entiteit, niet een lood/contact, of de criteria van de gebiedsfilter past niet aan. | Fout bij samenvoegen, kan samenvoegbewerking niet uitvoeren in native gesynchroniseerde CRM Dit is de foutmelding die Marketo ontvangt bij het samenvoegen in Salesforce. |
1079 | de vraag van de Leads van de Fusieontbrak toe te schrijven aan het Gepersonaliseerde conflict URL in dubbele verslagen | Bij een oproep voor samenvoegen van leads zijn veel leads opgegeven met dezelfde persoonlijke URL. Om op te lossen gebruikt u de gebruikersinterface van Marketo Engage om deze verslagen samen te voegen. |