Fehler-Codes
Marketo-REST-APIs geben Fehler auf HTTP-, Antwort- oder Datensatzebene zurück. Auf dieser Seite werden die einzelnen Fehlertypen erläutert und die zugehörigen Fehler-Codes aufgelistet.
Behandeln und Protokollieren von Ausnahmen
Anfragen und Antworten protokollieren, wenn bei Ihrer Integration eine unerwartete Ausnahme auftritt. Einige Ausnahmen, z. B. abgelaufene Authentifizierungen, können durch eine erneute Authentifizierung behandelt werden. Für andere Ausnahmen ist möglicherweise die Unterstützung des Supports erforderlich, der die zugehörigen Anfrage- und Antwortdetails anfordert.
Fehlertypen
Die Marketo-REST-API kann während des normalen Betriebs drei Fehlertypen zurückgeben:
- HTTP-Ebene: Wird durch einen
4xx-Code angezeigt. - Response-Level: im Array „errors“ der JSON-Antwort enthalten.
- Record-Level: Im Array „result“ der JSON-Antwort enthalten und für jeden Datensatz durch das Feld „status“ und das Array „reason“ angezeigt.
Fehler auf Antwort- und Datensatzebene geben den HTTP-Status-Code 200 zurück. Bewerten Sie die HTTP-Ursachenphrase nicht für alle Fehlertypen, da sie optional ist und sich ändern kann.
Fehler auf HTTP-Ebene
Während des normalen Betriebs gibt Marketo zwei HTTP-Status-Code-Fehler zurück: 413 Request Entity Too Large und 414 Request URI Too Long. Um einen der Fehler zu beheben, ändern Sie die Anfrage und versuchen Sie es erneut. Sie können diese Fehler verhindern, indem Sie die Anfragengrößen vor der Übermittlung überprüfen.
Marketo gibt 413 zurück, wenn die Anfrage-Payload 1 MB oder 10 MB für den Import-Lead überschreitet. Überprüfen Sie die Anfragengröße vor der Übermittlung. Wenn die Anfrage aufgrund von Datensätzen das Limit überschreitet, verschieben Sie diese Datensätze in eine andere Anfrage.
Marketo gibt 414 zurück, wenn der URI einer GET-Anfrage 8 KB überschreitet. Überprüfen Sie die Länge der Abfragezeichenfolge vor der Übermittlung. Wenn es das Limit überschreitet, ändern Sie die Anfragemethode in POST, fügen Sie die Abfragezeichenfolge in den Anfragetext ein und fügen Sie den _method=GET Parameter hinzu. Lange URIs sind am häufigsten beim Abrufen großer Datensatz-Batches mit langen Filterwerten, wie z. B. einer GUID.
Der Identity-Endpunkt kann einen 401-Fehler „Nicht autorisiert“ zurückgeben, in der Regel weil die Client-ID oder das Client-Geheimnis ungültig ist. Die folgende Tabelle listet Fehler-Codes auf HTTP-Ebene auf.
Fehler auf Antwortebene
Fehler auf Antwortebene treten auf, wenn in der Antwort der success auf „false“ gesetzt wird. Sie verwenden die folgende Struktur:
{
"requestId": "e42b#14272d07d78",
"success": false,
"errors": [
{
"code": "601",
"message": "Unauthorized"
}
]
}
Jedes Objekt im Array „errors“ enthält zwei Elemente:
code: Eine angegebene Ganzzahl von 601 bis 799.message: Der Klartext-Grund für den Fehler.
Ein 6xx-Code gibt an, dass die gesamte Anfrage fehlgeschlagen ist und nicht ausgeführt wurde. Stellen Sie beispielsweise einen 601-Fehler „Ungültiges Zugriffstoken“ wieder her, indem Sie sich erneut authentifizieren und das neue Zugriffstoken mit der Anfrage übergeben.
Ein 7xx-Code gibt an, dass die Anfrage fehlgeschlagen ist, da keine Daten zurückgegeben wurden oder die Anfrageparameter ungültig waren. Zu den Ursachen gehören ein ungültiges Datum oder ein fehlender erforderlicher Parameter.
Fehlercodes auf Antwortebene
- Es wurde ein Datum angegeben, das nicht im richtigen Format war
- Es wurde eine ungültige ID für dynamische Inhalte angegeben
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).
auf Rekordebene record_level_errors
Fehler auf Datensatzebene zeigen an, dass die Anfrage gültig war, der Vorgang für einen einzelnen Datensatz jedoch nicht abgeschlossen werden konnte. 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"
}
]
}
]
}
Die Datensätze im Ergebnis-Array werden in der gleichen Reihenfolge wie die Datensätze im Anforderungseingabe-Array angezeigt. Jeder Datensatz kann unabhängig erfolgreich sein oder fehlschlagen, wie durch sein Statusfeld angegeben.
Bei einem fehlgeschlagenen Datensatz wird das Feld „Status“ „übersprungen“ und der Datensatz enthält ein Array „Gründe“. Jeder Grund enthält ein Element des Typs „Code“ und ein Element des Typs „Nachricht“. Der Code ist immer 1xxx. In der Meldung wird erläutert, warum der Datensatz übersprungen wurde.
Wenn beispielsweise eine Anfrage zur Lead-Synchronisierung „Aktion“ auf „createOnly“ setzt und bereits ein Lead für einen der gesendeten Schlüssel vorhanden ist, gibt die Antwort den Code 1005 und die Nachricht „Lead existiert bereits“ zurück, wie oben gezeigt.
Fehlercodes auf Datensatzebene
| 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 | ||
|---|---|---|
| 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 |
|
|
| 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. |
| 1079 | Lead zusammenführen-Aufruf aufgrund eines personalisierten URL-Konflikts in doppelten Einträgen fehlgeschlagen | Bei einem Aufruf zum Zusammenführen von Leads wurden viele Leads mit derselben personalisierten URL angegeben. Verwenden Sie zum Auflösen die Marketo Engage-Benutzeroberfläche, um diese Datensätze zusammenzuführen. |