Fehlercodes

Im Folgenden finden Sie eine Liste der REST-API-Fehlercodes und eine Erläuterung, wie Fehler an Anwendungen zurückgegeben werden.

Handhabung und Protokollierung von Ausnahmen

Bei der Entwicklung für Marketo ist es wichtig, dass Anforderungen und Antworten protokolliert werden, wenn eine unerwartete Ausnahme auftritt. Während bestimmte Arten von Ausnahmen, wie z. B. die abgelaufene Authentifizierung, sicher durch eine erneute Authentifizierung verarbeitet werden können, erfordern andere möglicherweise Supportinteraktionen, und Anfragen und Antworten werden in diesem Szenario immer angefordert.

Fehlertypen

Die Marketo REST-API kann im Normalbetrieb drei verschiedene Fehlertypen zurückgeben:

  • HTTP-Ebene: Diese Fehler werden durch einen 4xx -Code gekennzeichnet.
  • Antwortebene: Diese Fehler sind im Array "errors"der JSON-Antwort enthalten.
  • Record-Level: Diese Fehler sind im "result"-Array der JSON-Antwort enthalten und werden auf einer einzelnen Datensatzbasis mit dem "status"-Feld und dem "reasons"-Array angezeigt.

Für die Fehlertypen "Response-Level"und "Record-Level"wird ein HTTP-Statuscode von 200 zurückgegeben. Bei allen Fehlertypen sollte der HTTP-Vernunftausdruck nicht ausgewertet werden, da er optional ist und geändert werden kann.

Fehler auf HTTP-Ebene

Unter normalen Betriebsbedingungen sollte Marketo nur zwei HTTP-Status-Code-Fehler zurückgeben: 413 Request Entity Too Large und 414 Request URI Too Long. Diese sind beide durch Auffangen des Fehlers, Ändern der Anforderung und Wiederholen wiederherstellbar, aber mit intelligenten Kodierungspraktiken sollten Sie diese niemals in der Wildnis finden.

Marketo gibt 413 zurück, wenn die Anfrage-Payload 1 MB oder im Fall von Import-Lead 10 MB überschreitet. In den meisten Szenarien ist es unwahrscheinlich, dass diese Beschränkungen erreicht werden. Wenn Sie jedoch eine Überprüfung der Anforderungsgröße vornehmen und Datensätze verschieben, wodurch die Beschränkung auf eine neue Anforderung überschritten wird, sollten keine Umstände mehr möglich sein, die dazu führen, dass dieser Fehler von allen Endpunkten zurückgegeben wird.

414 wird zurückgegeben, wenn der URI einer GET-Anfrage 8 KB überschreitet. Um dies zu vermeiden, prüfen Sie anhand der Länge Ihrer Abfragezeichenfolge, ob sie diesen Grenzwert überschreitet. Wenn Ihre Anforderung in eine POST-Methode geändert wird, geben Sie Ihre Abfragezeichenfolge als Anfrageinhalt mit dem zusätzlichen Parameter _method=GET ein. Dadurch wird die Beschränkung für URIs vergessen. In den meisten Fällen ist es selten, diese Grenze zu erreichen, aber sie kommt eher häufig vor, wenn große Mengen von Datensätzen mit langen individuellen Filterwerten wie einer GUID abgerufen werden.
Der Endpunkt Identität kann einen Fehler "401 Unauthorized"zurückgeben. Dies liegt normalerweise an einer ungültigen Client-ID oder einem ungültigen Client-Geheimnis. Fehlercodes auf HTTP-Ebene

Antwortcode
Beschreibung
Kommentar
413
Anfrageentität zu groß
Die Payload überschreitet die Grenze von 1 MB.
414
Anfrage-URI zu lang
Der URI der Anfrage überschreitet 8.000. Die Anfrage sollte als POST mit param `_method=GET` in der URL und dem Rest der Abfragezeichenfolge im Text der Anfrage wiederholt werden.

Fehler auf Antwortebene

Fehler auf Antwortebene sind vorhanden, wenn der Parameter success der Antwort auf "false"gesetzt ist, und sind wie folgt strukturiert:

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

Jedes Objekt im Array "errors"hat zwei Mitglieder, code, die eine zitierte Ganzzahl von 601 bis 799 und eine message sind, die den Klartext-Grund für den Fehler angibt. 6xx-Codes weisen immer darauf hin, dass eine Anfrage vollständig fehlgeschlagen ist und nicht ausgeführt wurde. Ein Beispiel ist ein 601, "Zugriffstoken ungültig", das durch erneutes Authentifizieren und Übergeben des neuen Zugriffstokens mit der Anfrage abgerufen werden kann. 7xx-Fehler weisen darauf hin, dass die Anfrage fehlgeschlagen ist, entweder weil keine Daten zurückgegeben wurden oder die Anfrage falsch parametrisiert wurde, z. B. weil ein ungültiges Datum angegeben wurde oder ein erforderlicher Parameter fehlt.

Fehlercodes auf Antwortebene

Ein API-Aufruf, der diesen Antwort-Code zurückgibt, wird nicht mit Ihrem täglichen Kontingent oder Ihrem Ratenlimit gezählt.

Antwortcode
Beschreibung
Kommentar
502
Fehlerhaftes Gateway
Der Remote-Server hat einen Fehler zurückgegeben. Wahrscheinlich eine Zeitüberschreitung. Die Anfrage sollte mit exponentiellem Backoff wiederholt werden.
601*
Zugriffstoken ungültig
Ein Zugriffstoken -Parameter war in der Anfrage enthalten, aber der Wert war kein gültiges Zugriffstoken.
602*
Zugriffstoken abgelaufen
Das im Aufruf enthaltene Zugriffstoken ist aufgrund des Ablaufs nicht mehr gültig.
603
Zugriff verweigert
Die Authentifizierung ist erfolgreich, der Benutzer verfügt jedoch nicht über die nötigen Berechtigungen, um diese API aufzurufen. [Zusätzliche Berechtigungen](custom-services.md) müssen möglicherweise der Benutzerrolle zugewiesen werden, oder die Zulassungsliste für IP-basierten API-Zugriff kann aktiviert sein.
604*
Zeitlimit für Anfragen
Die Anfrage wurde zu lange ausgeführt (z. B. weil ein Datenbankkonflikt auftrat) oder die in der Kopfzeile des Aufrufs angegebene Zeitüberschreitungsdauer überschritten.
605*
HTTP-Methode wird nicht unterstützt
GET wird für den Endpunkt "Leads synchronisieren"nicht unterstützt. POST muss verwendet werden.
606
Maximale Ratenbegrenzung "%s"; überschritten mit in "%s"-Sekunden
Die Anzahl der Aufrufe in den letzten 20 Sekunden war größer als 100
607
Tägliche Quote erreicht
Die Anzahl der Anrufe hat heute das Abonnementkontingent überschritten (wird täglich um 12:00 Uhr CST zurückgesetzt).>Ihr Kontingent finden Sie im Menü Admin->Web-Services . Sie können Ihr Kontingent über Ihren Kundenbetreuer erhöhen.
608*
API vorübergehend nicht verfügbar
609
Ungültige JSON
Der in der Anfrage enthaltene Text ist keine gültige JSON.
610
Angeforderte Ressource nicht gefunden
Der URI im Aufruf entsprach nicht dem REST-API-Ressourcentyp. Dies liegt oft an einem falsch geschriebenen oder falsch formatierten Anforderungs-URI
611*
Systemfehler
Alle nicht verarbeiteten Ausnahmen
612
Ungültiger Content-Typ
Wenn dieser Fehler auftritt, fügen Sie Ihrer Anfrage eine Kopfzeile vom Inhaltstyp hinzu, in der das JSON-Format angegeben wird. Versuchen Sie beispielsweise, den Inhaltstyp "application/json"zu verwenden. Weitere Informationen finden Sie in dieser StackOverflow-Frage .
613
Ungültige Multipart-Anfrage
Der mehrteilige Inhalt der POST wurde nicht korrekt formatiert
614
Ungültiges Abonnement
Das Ziel-Abonnement kann nicht gefunden werden oder ist nicht erreichbar. Dies weist in der Regel auf eine vorübergehende Unzugänglichkeit hin.
615
Gleichzeitige Zugriffsbeschränkung erreicht
Anfragen werden höchstens von jedem Abonnement 10 gleichzeitig verarbeitet. Dies wird zurückgegeben, wenn bereits 10 aktuelle Anfragen vorliegen.
616
Ungültiger Abonnementtyp
Der entsprechende Marketo-Abonnementtyp ist für den Zugriff auf die API für benutzerdefinierte Objektmetadaten erforderlich. Weitere Informationen finden Sie in Ihrem CSM.
701
%s kann nicht leer sein
Das gemeldete Feld darf in der Anfrage nicht leer sein.
702
Keine Daten für ein bestimmtes Suchszenario gefunden
Es wurden keine Datensätze mit den angegebenen Suchparametern abgeglichen. Hinweis: Viele fehlgeschlagene Suchvorgänge geben "success = true"zurück und keine Fehler und legen eine Warnungsinformations-Zeichenfolge fest.
703
Die Funktion ist für das Abonnement nicht aktiviert.
Eine Beta-Funktion, die in einem Abonnement eines Benutzers nicht aktiviert wurde
704
Ungültiges Datumsformat
  • Es wurde ein Datum angegeben, das nicht im richtigen Format war
  • Es wurde eine ungültige ID für den dynamischen Inhalt angegeben.
709
Verletzung von Geschäftsregeln

Der Aufruf kann nicht ausgeführt werden, da er gegen eine Anforderung verstößt, ein Asset zu erstellen oder zu aktualisieren, z. B. beim Versuch, eine E-Mail ohne Vorlage zu erstellen. Es ist auch möglich, diesen Fehler zu erhalten, wenn Sie versuchen:

  • Rufen Sie Inhalte für Landingpages ab, die soziale Inhalte enthalten.
  • Klonen Sie ein Programm, das bestimmte Asset-Typen enthält (weitere Informationen finden Sie unter Programmklon ).
  • Genehmigen Sie ein Asset ohne Entwurf (d. h. wurde bereits genehmigt).
710
Übergeordneter Ordner nicht gefunden
Der angegebene übergeordnete Ordner konnte nicht gefunden werden
711
Inkompatibler Ordnertyp
Der angegebene Ordner hatte nicht den richtigen Typ, um die Anfrage zu erfüllen
712
Vorgang "Merge to person Account"ist ungültig
Ein ZusammenführungsLeads -Aufruf ist aufgrund eines Versuchs zum Zusammenführen von Leads fehlgeschlagen, bei denen es sich um Salesforce-Personenkonten handelt. Salesforce-Personenkonten müssen in Salesforce zusammengeführt werden.
713
Übergangsfehler
Zum Zeitpunkt des API-Aufrufs war eine Systemressource vorübergehend nicht verfügbar. Wenn dieser Fehler auftritt, wird empfohlen, auf einen bestimmten Zeitraum zu warten und die Anfrage dann erneut auszuführen.
714
Standard-Datensatztyp kann nicht gefunden werden
Ein Lead-Aufruf zum Zusammenführen schlug fehl, da kein standardmäßiger Datensatztyp gefunden werden konnte.
718
ExternalSalesPersonID nicht gefunden
Es wurde ein Synchronisierungsangebotsaufruf mit einem nicht vorhandenen "ExternalSalesPersonID"-Wert durchgeführt.
719
Wartezeitüberschreitungsausnahme sperren
Ein Clone Program -Aufruf wurde durchgeführt und die Zeit abgelaufen, bis auf eine Sperre gewartet wurde.

Record Level record_level_errors

Fehler auf Datensatzebene zeigen an, dass ein Vorgang für einen einzelnen Datensatz nicht abgeschlossen werden konnte, die Anfrage selbst jedoch gültig war. Eine Antwort mit Fehlern auf Datensatzebene folgt diesem Muster:

Antwort

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

Datensätze, die im Ergebnis-Array von Aufrufen enthalten sind, werden auf die gleiche Weise wie das Eingabe-Array einer Anforderung sortiert.
Jeder Datensatz in einer erfolgreichen Anfrage kann einzeln erfolgreich sein oder fehlschlagen, was durch das Statusfeld jedes Datensatzes im Ergebnisarray einer Antwort angegeben wird. Das "status"-Feld dieser Datensätze wird "übersprungen" und ein "reasons"-Array ist vorhanden. Jeder Grund enthält ein "code"-Mitglied und ein "message"-Mitglied. Der Code ist immer 1xxx und die Meldung zeigt an, warum der Datensatz übersprungen wurde. Ein Beispiel wäre, wenn für eine SynchronisierungsLeads-Anfrage "action"auf "createOnly"gesetzt ist, aber für einen der Schlüssel in den gesendeten Datensätzen bereits ein Lead vorhanden ist. In diesem Fall wird der Code 1005 zurückgegeben und die Meldung "Lead ist bereits vorhanden"wie oben dargestellt angezeigt.

Fehlercodes auf Datensatzebene

Antwortcode
Beschreibung
Kommentar
1001
Ungültiger Wert "%s". Erforderlich für Typ '%s'
Fehler wird immer dann generiert, wenn ein Parameterwert eine Typabweichung aufweist. Beispielsweise der für einen Ganzzahlparameter angegebene Zeichenfolgenwert.
1002
Fehlender Wert für den erforderlichen Parameter "%s"
Fehler wird generiert, wenn ein erforderlicher Parameter in der Anforderung fehlt
1003
Ungültige Daten
Wenn die gesendeten Daten kein gültiger Typ für den angegebenen Endpunkt oder Modus sind, z. B. wenn die ID für einen Lead mit der Aktion createOnly gesendet wird oder wenn die Anforderungskampagne für eine Batch-Kampagne verwendet wird.
1004
Lead nicht gefunden
Wenn für syncLead die Aktion "updateOnly"lautet und kein Lead gefunden wird
1005
Lead ist bereits vorhanden
Wenn für syncLead die Aktion "createOnly"lautet und wenn bereits ein Lead vorhanden ist
1006
Feld '%s' nicht gefunden
Ein im Aufruf enthaltenes Feld ist kein gültiges Feld.
1007
Mehrere Leads entsprechen den Suchkriterien
Mehrere Leads entsprechen den Suchkriterien. Aktualisierungen können nur durchgeführt werden, wenn der Schlüssel mit einem einzelnen Datensatz übereinstimmt
1008
Zugriff verweigert, um '%s' zu partitionieren
Der Benutzer für den benutzerdefinierten Dienst hat keinen Zugriff auf einen Arbeitsbereich mit der Partition, in der der Datensatz vorhanden ist.
1009
Der Partitionsname muss angegeben werden
1010
Partition Update ist nicht erlaubt
Der angegebene Datensatz ist bereits in einer separaten Lead-Partition vorhanden.
1011
Feld '%s' nicht unterstützt
Beim Nachschlagen von Feld oder `filterType` mit nicht unterstützten Standardfeldern (z. B. firstName, lastName)
1012
Ungültiger Cookie-Wert "%s"
Kann auftreten, wenn Lead verknüpfen mit einem ungültigen Wert für den Parameter "Cookie"aufgerufen wird. Dies tritt auch auf, wenn Leads nach Filtertyp abrufen mit "filterType=cookies"und einem ungültigen Wert für den Parameter "filterValues"aufgerufen wird.
1013
Objekt nicht gefunden
Objekt (Liste, Kampagne) nach ID abrufen gibt diesen Fehlercode zurück
1014
Objekt konnte nicht erstellt werden
Objekt konnte nicht erstellt werden (Liste)
1015
Lead nicht in Liste
Der angegebene Lead ist kein Mitglied der Zielliste
1016
Zu viele Einfuhren
Zu viele Importe stehen in der Warteschlange. Maximal 10 ist zulässig
1017
Objekt ist bereits vorhanden
Erstellung fehlgeschlagen, da der Datensatz bereits vorhanden ist
1018
CRM aktiviert
Die Aktion konnte nicht ausgeführt werden, da für die Instanz eine native CRM-Integration aktiviert ist.
1019
Importvorgang wird durchgeführt
Die Zielliste ist bereits in
1020
Zu viele Klone zu programmieren
Das Abonnement hat die zulässige Verwendung von "cloneToProgramName"im Zeitplan-Programm für den Tag erreicht
1021
Firmenaktualisierung nicht zulässig
Firmenaktualisierung während der SynchronisierungLead nicht zulässig
1022
Verwendetes Objekt
Löschen ist nicht zulässig, wenn ein Objekt von einem anderen Objekt verwendet wird
1025
Programmstatus nicht gefunden
Der Status Lead-Programm-Status wurde unter Ändern des Status festgelegt, der nicht mit dem für den Kanal des Programms verfügbaren Status übereinstimmt.
1026
Benutzerdefiniertes Objekt nicht aktiviert
Die Aktion konnte nicht ausgeführt werden, da die Integration benutzerdefinierter Objekte in der Instanz nicht aktiviert ist.
1027
Maximale Aktivitätstypbegrenzung erreicht
Das Abonnement hat die maximale Anzahl der verfügbaren benutzerdefinierten Aktivitätstypen erreicht.
1028
Maximale Feldbegrenzung erreicht
Benutzerdefinierte Aktivitäten haben maximal 20 sekundäre Attribute.
1029
  • Zu viele Aufträge in der Warteschlange
  • Überschreitung des Tageskontingents
  • Abonnements sind jeweils auf maximal 10 Massenextraktionsaufträge in der Warteschlange beschränkt.
  • Standardmäßig sind die Extraktionsaufträge auf 500 MB pro Tag beschränkt (wird täglich um 12:00 Uhr CST zurückgesetzt).
1035
Nicht unterstützter Filtertyp
In einigen Abonnements werden die folgenden Filtertypen für die Massenextraktion nicht unterstützt: updatedAt, smartListId, smartListName.
1036
Dupliziertes Objekt in Eingabe gefunden
Es wurde ein Aufruf gesendet, zwei oder mehr Datensätze mit demselben Fremdschlüssel zu aktualisieren. Beispiel: Ein Synchronisierungsunternehmen-Aufruf mit derselben externalCompanyId für mehrere Unternehmen.
1037
Lead wurde übersprungen
Das Lead wurde übersprungen, da es sich bereits in diesem Status befindet oder diesen Status überschritten hat.
1042
Ungültiges runAt-Datum
Das für Zeitplan-Kampagnen angegebene runAt-Datum war zu weit in die Zukunft (maximal 2 Jahre).
1048
Benutzerdefiniertes Objekt - Entwurf fehlgeschlagen
Es wurde ein Aufruf zum Verwerfen der Entwurfsversion eines benutzerdefinierten Objekts durchgeführt.
1049
Aktivität konnte nicht erstellt werden
Attribute-Array zu lang. Das Array von Attributen, die an den Datensatz übergeben werden, überschreitet die maximale Länge von 65536 Byte
1076
Der Aufruf von Leads zusammenführen mit der Markierung mergeInCRM ist 4.
Sie erstellen einen doppelten Datensatz. Es wird empfohlen, stattdessen einen vorhandenen Datensatz zu verwenden. Dies ist die Fehlermeldung, die Marketo beim Zusammenführen in Salesforce erhält.
1077
Leads zusammenführen ist aufgrund der Länge des SFDC-Felds fehlgeschlagen.
Ein Leads-Zusammenführungsaufruf mit mergeInCRM-Wert "true"ist fehlgeschlagen, da "SFDC Field"die zulässige Zeichenbeschränkung überschreitet. Um dies zu korrigieren, reduzieren Sie die Länge von "SFDC Field"oder setzen Sie mergeInCRM auf false.
1078
Der Aufruf von Leads zusammenführen schlug aufgrund einer gelöschten Entität fehl, da die Kriterien für Lead/Kontakt oder Feldfilter nicht übereinstimmen.
Zusammenführungsfehler, keine Zusammenführungsoperation in nativ synchronisiertem CRM durchführen Dies ist die Fehlermeldung, die Marketo beim Zusammenführen in Salesforce erhält.
recommendation-more-help
bb269a6d-047a-4bf7-9acd-23ad9a63dc59