Fehler-Codes

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

Behandeln und Protokollieren von Ausnahmen

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

Fehlertypen

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

  • HTTP-Ebene: Auf diese Fehler wird durch einen 4xx Code hingewiesen.
  • Antwortebene: Diese Fehler sind im Array „Fehler“ der JSON-Antwort enthalten.
  • Datensatzebene: Diese Fehler sind im Array „Ergebnis“ der JSON-Antwort enthalten und werden auf individueller Datensatzbasis mit dem Feld „Status“ und dem Array „Gründe“ angezeigt.

Bei Fehlertypen auf Antwort- und Datensatz-Ebene wird ein HTTP-Status-Code von 200 zurückgegeben. Für alle Fehlertypen sollte die HTTP-Ursachenphrase nicht ausgewertet werden, da sie optional ist und sich ändern kann.

Fehler auf HTTP-Ebene

Unter normalen Betriebsbedingungen sollte Marketo nur zwei HTTP-Status-Code-Fehler, 413 Request Entity Too Large und 414 Request URI Too Long, zurückgeben. Beide können durch Abrufen des Fehlers, Ändern der Anfrage und erneutes Versuchen wiederhergestellt werden. Mit intelligenten Kodierungsverfahren sollten Sie jedoch nie auf diese stoßen.

Marketo gibt 413 zurück, wenn die Payload der Anfrage 1 MB überschreitet, oder 10 MB im Fall des Leadimports. In den meisten Szenarien ist es unwahrscheinlich, dass diese Beschränkungen erreicht werden. Durch Hinzufügen einer Prüfung der Größe der Anfrage und Verschieben von Datensätzen, die dazu führen, dass das Limit überschritten wird, zu einer neuen Anfrage sollten jedoch alle Umstände verhindert werden, die zu diesem Fehler bei Endpunkten führen.

414 wird zurückgegeben, wenn der URI einer GET-Anfrage 8 KB überschreitet. Um dies zu vermeiden, überprüfen Sie die Länge Ihrer Abfragezeichenfolge, um festzustellen, ob sie diesen Grenzwert überschreitet. Wenn Ihre Anfrage jedoch in eine POST-Methode geändert wird, geben Sie Ihre Abfragezeichenfolge als Anfragetext mit dem zusätzlichen _method=GET ein. Dadurch wird die Einschränkung für URIs aufgegeben. In den meisten Fällen ist es selten, dieses Limit zu erreichen, aber es ist etwas üblich, wenn große Batches von Datensätzen mit langen individuellen Filterwerten wie einer GUID abgerufen werden.
Der Identity-Endpunkt kann einen 401-Fehler „Nicht autorisiert“ zurückgeben. Dies ist normalerweise auf eine ungültige Client-ID oder ein ungültiges Client-Geheimnis zurückzuführen. Fehlercodes auf HTTP-Ebene

Antwortcode
Beschreibung
Kommentar
413
Anfrageentität zu groß
Die Payload hat das Limit von 1 MB überschritten.
414
Anfrage-URI zu lang
Der URI der Anfrage überschritt 8k. Die Anfrage sollte als POST mit dem Parameter „_method=GET" in der URL wiederholt werden und der Rest der Abfragezeichenfolge im Hauptteil der Anfrage.

Fehler auf Antwortebene

Fehler auf Antwortebene sind vorhanden, wenn der success der Antwort auf „false“ gesetzt ist. Sie sind wie folgt strukturiert:

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

Jedes Objekt im Array „errors“ hat zwei Mitglieder, code, was einer angegebenen Ganzzahl von 601 bis 799 entspricht, und einen message, der den Klartext-Grund für den Fehler angibt. 6xx-Codes zeigen immer an, dass eine Anfrage vollständig fehlgeschlagen ist und nicht ausgeführt wurde. Ein Beispiel ist ein 601-Zugriffstoken „Ungültig“, das durch erneute Authentifizierung und Übergabe des neuen Zugriffstokens mit der Anfrage wiederhergestellt werden kann. 7xx-Fehler zeigen an, dass die Anfrage fehlgeschlagen ist, entweder weil keine Daten zurückgegeben wurden oder weil die Anfrage falsch parametrisiert wurde, z. B. weil ein ungültiges Datum enthalten war oder ein erforderlicher Parameter fehlte.

Fehlercodes auf Antwortebene

Ein API-Aufruf, der diesen Antwort-Code zurückgibt, wird nicht auf Ihr tägliches Kontingent oder Ihr Ratenlimit angerechnet.

Antwortcode
Beschreibung
Kommentar
502
Fehlerhaftes Gateway
Der Remoteserver hat einen Fehler zurückgegeben. Wahrscheinlich eine Zeitüberschreitung. Die Anfrage sollte mit einem exponentiellen Backoff erneut versucht werden.
601*
Zugriffstoken ungültig
In der Anfrage war ein Zugriffs-Token-Parameter enthalten, der Wert war jedoch kein gültiges Zugriffs-Token.
602*
Zugriffstoken abgelaufen
Das im Aufruf enthaltene Zugriffs-Token ist aufgrund des Ablaufs nicht mehr gültig.
603
Zugriff verweigert
Die Authentifizierung ist erfolgreich, aber der Benutzer verfügt nicht über ausreichende Berechtigungen, um diese API aufzurufen. [Zusätzliche Berechtigungen](custom-services.md) müssen der Benutzerrolle möglicherweise zugewiesen werden, oder Zulassungsliste für IP-basierten API-Zugriff muss aktiviert werden.
604*
Zeitüberschreitung der Anfrage
Die Anfrage wurde zu lange ausgeführt (z. B. aufgrund eines Datenbankkonflikts) oder überschritt den in der -Kopfzeile des Aufrufs angegebenen Timeout-Zeitraum.
605*
HTTP-Methode nicht unterstützt
GET wird für den Endpunkt Leads synchronisieren nicht unterstützt. POST muss verwendet werden.
606
Maximales Ratenlimit "%s“; überschritten mit in "%s“ Sekunden
Die Anzahl der Aufrufe in den letzten 20 Sekunden war größer als 100
607
Tägliches Kontingent erreicht
Die Anzahl der Anrufe heute hat das Kontingent des Abonnements überschritten (wird täglich um 0:00 Uhr CST zurückgesetzt).>Ihr Kontingent finden Sie im Menü Admin->Web-Services . Sie können Ihr Kontingent über Ihren Account Manager erhöhen.
608*
API vorübergehend nicht verfügbar
609
Ungültige JSON
Der in der Anfrage enthaltene Text ist kein gültiges JSON.
610
Angefragte Ressource nicht gefunden
Der URI im Aufruf stimmte nicht mit einem REST-API-Ressourcentyp überein. Dies ist häufig auf eine falsch geschriebene oder falsch formatierte Anfrage-URI zurückzuführen
611*
Systemfehler
Alle nicht behandelten Ausnahmen
612
Ungültiger Inhaltstyp
Wenn dieser Fehler angezeigt wird, fügen Sie Ihrer Anfrage eine Kopfzeile für den Inhaltstyp hinzu, die das JSON-Format angibt. Versuchen Sie beispielsweise, „Content-Typ: application/json“ zu verwenden. Weitere Informationen finden Siedieser StackOverflow-Frage.
613
Ungültige mehrteilige Anfrage
Der mehrteilige Inhalt der POST war nicht korrekt formatiert
614
Ungültiges Abonnement
Das Zielabonnement wurde nicht gefunden oder ist nicht erreichbar. Dies weist normalerweise auf eine vorübergehende Unzugänglichkeit hin.
615
Limit für gleichzeitigen Zugriff erreicht
Anfragen werden von maximal einem Abonnement 10 gleichzeitig verarbeitet. Dies wird zurückgegeben, wenn bereits 10 Anforderungen laufen.
616
Ungültiger Abonnementtyp
Für den Zugriff auf die Metadaten-API für benutzerdefinierte Objekte ist der entsprechende Marketo-Abonnementtyp erforderlich. Einzelheiten finden Sie in Ihrem CSM.
701
%s darf nicht leer sein
Das gemeldete Feld darf in der Anfrage nicht leer sein
702
Keine Daten für ein bestimmtes Suchszenario gefunden
Keine Datensätze für die angegebenen Suchparameter. Hinweis: Viele fehlgeschlagene Suchvorgänge geben „success = true“ und keine Fehler zurück und legen eine Informationszeichenfolge zu Warnungen fest.
703
Die Funktion ist für das Abonnement nicht aktiviert
Eine Beta-Funktion, die im 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 dynamische Inhalte 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. wenn versucht wird, eine E-Mail ohne Vorlage zu erstellen. Dieser Fehler kann auch ausgegeben werden, wenn versucht wird:

  • Rufen Sie Inhalte für Landingpages ab, die Social-Media-Inhalte enthalten.
  • Klonen Sie ein Programm, das bestimmte Asset-Typen enthält weitere Informationen finden Sie unterProgramm-Klon„).
  • Genehmigen eines Assets, das keinen Entwurf hat (also bereits genehmigt wurde).
710
Übergeordneter Ordner nicht gefunden
Der angegebene übergeordnete Ordner wurde nicht gefunden
711
Inkompatibler Ordnertyp
Der angegebene Ordner war nicht vom richtigen Typ, um die Anforderung zu erfüllen
712
Der Vorgang zum Zusammenführen mit dem Personenkonto ist ungültig
Ein Aufruf zum Zusammenführen von Leads ist fehlgeschlagen, da versucht wurde, Leads zusammenzuführen, die Salesforce-Personenkonten sind. Salesforce-Personenkonten müssen in Salesforce zusammengeführt werden.
713
vorübergehender Fehler
Eine Systemressource war zum Zeitpunkt des API-Aufrufs vorübergehend nicht verfügbar. Wenn dieser Fehler auftritt, wird empfohlen, auf Zeit zu warten und dann die Anfrage erneut zu stellen.
714
Der standardmäßige Datensatztyp wurde nicht gefunden
Ein Leads-Zusammenführungsaufruf ist fehlgeschlagen, da kein standardmäßiger Datensatztyp gefunden wurde.
718
ExternalSalesPersonID nicht gefunden
Ein Aufruf für Synchronisierungsmöglichkeiten wurde mit einem nicht vorhandenen Wert für „ExternalSalesPersonID“ durchgeführt.
719
Timeout-Ausnahme für Sperrwartezeit
Ein Klon-Programmaufruf wurde ausgeführt und beim Warten auf eine Sperre ist eine Zeitüberschreitung aufgetreten.

auf Rekordebene 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 sortiert wie das Eingabe-Array einer Anfrage.
Jeder Datensatz in einer erfolgreichen Anfrage kann auf individueller Basis erfolgreich sein oder fehlschlagen. Dies wird durch das Statusfeld jedes Datensatzes angezeigt, der im Ergebnis-Array einer Antwort enthalten ist. Das Feld „Status“ dieser Datensätze wird „übersprungen“ und ein Array „Gründe“ ist vorhanden. Jeder Grund enthält ein Element des Typs „Code“ und ein Element des Typs „Nachricht“. Der Code ist immer 1xxx. Die Meldung gibt an, warum der Datensatz übersprungen wurde. Ein Beispiel wäre, wenn bei einer Anfrage zum Synchronisieren von Leads „Aktion“ 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 existiert bereits“ wird wie oben angezeigt angezeigt.

Fehlercodes auf Datensatzebene

Antwortcode
Beschreibung
Kommentar
1001
Ungültiger Wert "%s“. Erforderlich vom Typ "%s“
Ein Fehler wird immer dann generiert, wenn ein Parameterwert nicht mit dem Typ übereinstimmt. Beispiel: der für einen ganzzahligen Parameter angegebene Zeichenfolgenwert.
1002
Fehlender Wert für den erforderlichen Parameter '%s'
Fehler wird generiert, wenn in der Anfrage ein erforderlicher Parameter fehlt
1003
Ungültige Daten
Wenn die übermittelten Daten für den angegebenen Endpunkt oder Modus keinen gültigen Typ haben; z. B. wenn die ID für einen Lead mit der Aktion „createOnly“ gesendet wird oder wenn die Anfragekampagne in einer Batch-Kampagne verwendet wird.
1004
Lead nicht gefunden
Für syncLead, wenn die Aktion „updateOnly“ ist und wenn kein Lead gefunden wird
1005
Lead existiert bereits
Für syncLead, wenn die Aktion „createOnly“ lautet und bereits ein Lead vorhanden ist
1006
Feld "%s“ nicht gefunden
Ein im Aufruf eingeschlossenes 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 auf Partition '%s' verweigert
Der Benutzer für den benutzerdefinierten Dienst hat keinen Zugriff auf einen Arbeitsbereich mit der Partition, auf der der Datensatz vorhanden ist.
1009
Partitionsname muss angegeben werden
1010
Partitionsaktualisierung nicht zulässig
Der angegebene Datensatz existiert bereits in einer separaten Lead-Partition.
1011
Feld "%s“ wird nicht unterstützt
Wenn das Suchfeld oder „filterType“ mit nicht unterstützten Standardfeldern angegeben wird (z. B.: firstName, lastName)
1012
Ungültiger Cookie-Wert "%s“
Kann auftreten, wenn der Aufruf Lead verknüpfen mit einem ungültigen Wert für den Parameter „cookie“ erfolgt. 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 abrufen (Liste, Kampagne) nach ID gibt diesen Fehlercode zurück
1014
Objekt konnte nicht erstellt werden
Objekt (Liste) konnte nicht erstellt werden
1015
Lead nicht in Liste
Der angegebene Lead ist kein Mitglied der Zielliste
1016
Zu viele Importe
Es gibt zu viele Importe in der Warteschlange. Es sind maximal 10 zulässig
1017
Objekt bereits vorhanden
Erstellung fehlgeschlagen, da der Datensatz bereits existiert
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 wird bereits in importiert.
1020
Zu viele Klone zum Programmieren
Das Abonnement hat die zugewiesene Verwendung von „cloneToProgramName“ im Zeitplan-Programm für den Tag erreicht
1021
Update der Firma nicht zulässig
Update des Unternehmens während der Synchronisierung 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
Zum Ändern des Status des Lead-Programms wurde ein Status angegeben, der nicht mit einem Status übereinstimmt, der für den Kanal des Programms verfügbar ist.
1026
Benutzerdefiniertes Objekt nicht aktiviert
Die Aktion konnte nicht ausgeführt werden, da für die Instanz die Integration benutzerdefinierter Objekte nicht aktiviert ist.
1027
Maximales Limit für Aktivitätstyp erreicht
Das Abonnement hat die maximale Anzahl der verfügbaren benutzerdefinierten Aktivitätstypen erreicht.
1028
Maximale Feldgrenze erreicht
Benutzerdefinierte Aktivitäten haben maximal 20 sekundäre Attribute.
1029
  • Zu viele Aufträge in der Warteschlange
  • Tägliches Exportkontingent überschritten
  • Abonnements dürfen zu einem bestimmten Zeitpunkt maximal 10 Massenextraktionsaufträge in der Warteschlange enthalten.
  • Standardmäßig sind Extraktionsaufträge auf 500 MB pro Tag beschränkt (wird täglich um 0:00 Uhr CST zurückgesetzt).
1035
Nicht unterstützter Filtertyp
In einigen Abonnements werden die folgenden Filtertypen für die Lead-Massenextraktion nicht unterstützt: updatedAt, smartListId, smartListName.
1036
Doppeltes Objekt in Eingabe gefunden
Es wurde ein Aufruf ausgeführt, zwei oder mehr Datensätze mit demselben Fremdschlüssel zu aktualisieren. Beispiel: Ein Aufruf vom Typ „Unternehmen synchronisieren“, der dieselbe externalCompanyId für mehr als ein Unternehmen verwendet.
1037
Lead wurde übersprungen
Der Lead wurde übersprungen, da er sich bereits in oder hinter diesem Status befindet.
1042
Ungültiges Ausführungsdatum
Das für „Kampagne planen“ angegebene „runAt“-Datum lag zu weit in der Zukunft (maximal 2 Jahre).
1048
Entwurf zum Verwerfen benutzerdefinierter Objekte fehlgeschlagen
Es wurde ein Aufruf ausgeführt, um die Entwurfsversion eines benutzerdefinierten -Objekts zu verwerfen.
1049
Aktivität konnte nicht erstellt werden
Attributarray zu lang. Das Array von Attributen, die an den Datensatz übergeben werden, hat die maximale Länge von 65536 Byte überschritten
1076
Leads zusammenführen Aufruf mit mergeInCRM-Flag ist 4.
Es wird ein doppelter Eintrag erstellt. 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-Aufruf aufgrund der Länge des "SFDC-Felds“ fehlgeschlagen
Ein Aufruf zum Zusammenführen von Leads, bei dem mergeInCRM auf „true“ festgelegt ist, ist fehlgeschlagen, da das "SFDC-Feld“ 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
Leads zusammenführen-Aufruf fehlgeschlagen, da die gelöschte Entität, kein Lead/Kontakt oder die Feldfilterkriterien nicht übereinstimmen.
Zusammenführungsfehler, Zusammenführungsvorgang kann im nativ synchronisierten CRM nicht durchgeführt werden Dies ist die Fehlermeldung, die Marketo beim Zusammenführen in Salesforce erhält.
recommendation-more-help
bb269a6d-047a-4bf7-9acd-23ad9a63dc59