Codes d’erreur
Les API REST Marketo renvoient des erreurs au niveau du HTTP, de la réponse ou de l’enregistrement. Cette page décrit chaque type d’erreur et répertorie les codes d’erreur associés.
Gestion et journalisation des exceptions
Enregistrez les requêtes et les réponses lorsque votre intégration rencontre une exception inattendue. Certaines exceptions, telles que l’authentification expirée, peuvent être gérées en s’authentifiant à nouveau. D’autres exceptions peuvent nécessiter l’aide de l’assistance , qui demande les détails de requête et de réponse associés.
Types d’erreurs
L’API REST Marketo peut renvoyer trois types d’erreurs lors d’un fonctionnement normal :
- HTTP-Level : indiqué par un code
4xx. - Response-Level : inclus dans le tableau « errors » de la réponse JSON.
- Record-Level : inclus dans le tableau « résultat » de la réponse JSON et indiqué pour chaque enregistrement par le champ « statut » et le tableau « raisons ».
Les erreurs de niveau réponse et de niveau enregistrement renvoient le code d’état HTTP 200. Pour tous les types d’erreur, n’évaluez pas l’expression de raison HTTP, car elle est facultative et peut être modifiée.
Erreurs au niveau du HTTP
En fonctionnement normal, Marketo renvoie deux erreurs de code d’état HTTP : 413 Request Entity Too Large et 414 Request URI Too Long. Pour récupérer après l’une de ces erreurs, modifiez la requête et réessayez. Vous pouvez éviter ces erreurs en vérifiant les tailles des requêtes avant l’envoi.
Marketo renvoie la valeur 413 lorsque la payload de la requête dépasse 1 Mo, ou 10 Mo pour le prospect d’importation. Vérifiez la taille de la requête avant l’envoi. Si des enregistrements entraînent un dépassement de la limite de la demande, déplacez ces enregistrements vers une autre demande.
Marketo renvoie la valeur 414 lorsque l’URI d’une requête GET dépasse 8 Ko. Vérifiez la longueur de la chaîne de requête avant l’envoi. S’il dépasse la limite, définissez la méthode de requête sur POST, placez la chaîne de requête dans le corps de la requête et ajoutez le paramètre _method=GET. Les URI longs sont les plus courants lors de la récupération de lots d’enregistrements volumineux avec de longues valeurs de filtre, telles qu’un GUID.
Le point d’entrée Identity peut renvoyer une erreur 401 Non autorisé, généralement parce que l’ID client ou le secret client n’est pas valide. Le tableau suivant répertorie les codes d’erreur de niveau HTTP.
Erreurs de niveau de réponse
Les erreurs de niveau de réponse se produisent lorsque la réponse définit le paramètre success sur false. Ils utilisent la structure suivante :
{
"requestId": "e42b#14272d07d78",
"success": false,
"errors": [
{
"code": "601",
"message": "Unauthorized"
}
]
}
Chaque objet du tableau « errors » contient deux membres :
code: nombre entier entre guillemets compris entre 601 et 799.message: motif de l’erreur en texte brut.
Un code 6xx indique que la requête entière a échoué et n’a pas été exécutée. Par exemple, récupérez-vous d’une erreur 601 « Jeton d’accès non valide » en vous authentifiant à nouveau et en transmettant le nouveau jeton d’accès avec la requête.
Un code 7xx indique que la requête a échoué, car aucune donnée n’a été renvoyée ou que les paramètres de requête n’étaient pas valides. Les causes incluent une date non valide ou un paramètre obligatoire manquant.
Codes d’erreur au niveau de la réponse
- Une date spécifiée n'était pas au bon format
- Un ID de contenu dynamique non valide a été spécifié
L’appel ne peut pas être effectué, car il enfreint une exigence de création ou de mise à jour d’une ressource, par exemple, la tentative de création d’un e-mail sans modèle. Il est également possible d’obtenir cette erreur lors de la tentative de :
- Récupérez le contenu des pages de destination qui contiennent du contenu social.
- Clonez un programme qui contient certains types de ressources (voir Clonage de programme pour plus d’informations).
- Approuver une ressource qui n’a pas de brouillon (c’est-à-dire qui a déjà été approuvée).
Record-Level record_level_errors
Les erreurs au niveau de l’enregistrement indiquent que la demande était valide mais que l’opération n’a pas pu être effectuée pour un enregistrement individuel. Une réponse contenant des erreurs au niveau des enregistrements suit ce modèle :
Réponse
{
"requestId":"e42b#14272d07d78",
"success":true,
"result":[
{
"id":50,
"status":"created"
},
{
"id":51,
"status":"created"
},
{
"status":"skipped",
"reasons":[
{
"code":"1005",
"message":"Lead already exists"
}
]
}
]
}
Les enregistrements du tableau de résultats apparaissent dans le même ordre que les enregistrements du tableau d’entrée de requête. Chaque enregistrement peut réussir ou échouer indépendamment, comme indiqué par son champ de statut.
Pour un enregistrement en échec, le champ « statut » est « ignoré » et l’enregistrement inclut un tableau « raisons ». Chaque raison contient un membre « code » et un membre « message ». Le code est toujours 1xxx et le message explique pourquoi l’enregistrement a été ignoré.
Par exemple, si une requête Synchroniser les leads définit « action » sur « createOnly » et qu’un lead existe déjà pour l’une des clés envoyées, la réponse renvoie le code 1005 et le message « Lead existe déjà », comme illustré ci-dessus.
Codes D’Erreur Au Niveau De L’Enregistrement
| 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 | ||
|---|---|---|
| Code de réponse | Description | Commentaire |
| 1001 | Valeur « %s » non valide. Obligatoire de type « %s » | Une erreur est générée chaque fois qu’une valeur de paramètre présente une incohérence de type. Par exemple, la valeur de chaîne spécifiée pour un paramètre entier. |
| 1002 | Valeur manquante pour le paramètre obligatoire « %s » | Une erreur est générée lorsqu’un paramètre obligatoire est manquant dans la requête |
| 1003 | Données non valides | Lorsque le type des données envoyées n’est pas valide pour le point d’entrée ou le mode donné, par exemple lorsque l’ID est envoyé pour un prospect avec une action désignée comme createOnly ou lors de l’utilisation de la campagne Demander sur une campagne par lots. |
| 1004 | Lead introuvable | Pour syncLead, lorsque l’action est « updateOnly » et si le prospect est introuvable |
| 1005 | Le lead existe déjà | Pour syncLead, lorsque l’action est « createOnly » et si un prospect existe déjà |
| 1006 | Champ « %s » introuvable | Un champ inclus dans l’appel n’est pas un champ valide. |
| 1007 | Plusieurs prospects correspondent aux critères de recherche | Plusieurs prospects correspondent aux critères de recherche. Les mises à jour ne peuvent être effectuées que lorsque la clé correspond à un seul enregistrement |
| 1008 | Accès refusé à la partition « %s » | L’utilisateur du service personnalisé n’a pas accès à un espace de travail avec la partition où se trouve l’enregistrement. |
| 1009 | Le nom de la partition doit être spécifié. | |
| 1010 | Mise à jour de partition non autorisée | L'enregistrement spécifié existe déjà dans une partition de lead distincte. |
| 1011 | Champ « %s » non pris en charge | Lorsque le champ de recherche ou « filterType » est spécifié avec des champs standard non pris en charge (par exemple : firstName, lastName) |
| 1012 | Valeur de cookie non valide « %s » | Peut se produire lors de l’appel de la Associer le prospect avec une valeur non valide pour le paramètre « cookie ». Cela se produit également lors de l’appel de Get Leads by Filter Type avec « filterType=cookies » et une valeur non valide pour le paramètre « filterValues ». |
| 1013 | Objet introuvable | Obtenir l'objet (liste, campagne) par id renvoie ce code d'erreur |
| 1014 | Échec de la création de l’objet | Échec de la création de l’objet (liste) |
| 1015 | Lead absent de la liste | Le prospect désigné n’est pas membre de la liste cible |
| 1016 | Trop d’importations | Il y a trop d’importations en file d’attente. 10 maximum sont autorisés |
| 1017 | L'objet existe déjà | Échec de la création car l'enregistrement existe déjà |
| 1018 | CRM activé | L’action n’a pas pu être effectuée, car l’instance a une intégration CRM native activée. |
| 1019 | Importation en cours | La liste cible est déjà importée dans |
| 1020 | Trop de clones à programmer | L’abonnement a atteint l’utilisation allouée de « cloneToProgramName » dans le programme planifié pour la journée |
| 1021 | Mise à jour d’entreprise non autorisée | Mise à jour d’entreprise non autorisée pendant syncLead |
| 1022 | Objet utilisé | La suppression n'est pas autorisée lorsqu'un objet est utilisé par un autre objet |
| 1025 | Statut de programme introuvable | Un statut a été spécifié pour Modifier le statut du programme de lead qui ne correspondait pas à un statut disponible pour le canal du programme. |
| 1026 | Objet personnalisé non activé | L'action n'a pas pu être exécutée, car l'intégration d'objets personnalisés n'est pas activée pour l'instance. |
| 1027 | Limite de type d’activité max. atteinte | L’abonnement a atteint le nombre maximum de types d’activités personnalisées disponibles. |
| 1028 | Limite de champ maximale atteinte | Les activités personnalisées ont un maximum de 20 attributs secondaires. |
| 1029 |
|
|
| 1035 | Type de filtre non pris en charge | Dans certains abonnements, les types de filtre d’extraction de leads en bloc suivants ne sont pas pris en charge : updatedAt, smartListId, smartListName. |
| 1036 | Objet en double trouvé dans l’entrée | Un appel a été effectué pour mettre à jour deux enregistrements ou plus à l'aide de la même clé étrangère. Par exemple, un appel Sync Companies utilisant le même externalCompanyId pour plusieurs sociétés. |
| 1037 | Lead ignoré | Le prospect a été ignoré, car il a déjà ce statut ou l’a dépassé. |
| 1042 | Date d’exécution non valide | La date runAt spécifiée pour Planifier la campagne était trop éloignée dans le futur (la durée maximale est de 2 ans). |
| 1048 | Échec de l’abandon du brouillon d’objet personnalisé | Un appel a été effectué pour ignorer le brouillon d'un objet personnalisé. |
| 1049 | Échec de la création de l’activité | Tableau d’attributs trop long. Le tableau d’attributs transmis à l’enregistrement a dépassé la longueur maximale de 65536 octets |
| 1076 | L’appel Fusionner les prospects avec l’indicateur mergeInCRM est le 4. | Vous êtes en train de créer un enregistrement en double. Il est recommandé d’utiliser plutôt un enregistrement existant. Il s’agit du message d’erreur que Marketo reçoit lors de la fusion dans Salesforce. |
| 1077 | Échec de l’appel Merge Leads en raison de la longueur du champ « SFDC » | Un appel de fusion de leads avec mergeInCRM défini sur true a échoué, car « SFDC Field » a dépassé la limite de caractères autorisés. Pour corriger ce problème, réduisez la longueur du « champ SFDC » ou définissez mergeInCRM sur false. |
| 1078 | L’appel Fusionner les leads a échoué en raison d’une entité supprimée, d’un lead/contact ou d’un critère de filtre de champ ne correspond pas. | Échec de la fusion, impossible d’effectuer l’opération de fusion dans un CRM synchronisé en mode natif Il s’agit du message d’erreur que Marketo reçoit lors de la fusion dans Salesforce. |
| 1079 | L’appel Fusionner les leads a échoué en raison d’un conflit d’URL personnalisée dans les enregistrements en double | Un appel de fusion de leads a spécifié de nombreux leads avec la même URL personnalisée. Pour résoudre ce problème, utilisez l’interface utilisateur de Marketo Engage pour fusionner ces enregistrements. |