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.

Code de réponse
Description
Commentaire
413
Entité De Requête Trop Grande
La payload a dépassé la limite de 1 Mo.
414
Request-URI trop long
L’URI de la requête a dépassé 8 000. La requête doit être retentée en tant que POST avec le paramètre `_method=GET` dans l’URL, et le reste de la chaîne de requête dans le corps de la requête.

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

NOTE
Un appel API qui renvoie ce code de réponse n’est pas comptabilisé dans votre quota quotidien ou votre limite de taux.
Code de réponse
Description
Commentaire
500
Erreur de serveur interne
Le serveur a rencontré une condition inattendue qui l’a empêché de satisfaire la requête. Dans Marketo, cela peut inclure des URL de requête d’API REST incorrectement formées.
502
Passerelle incorrecte
Le serveur distant a renvoyé une erreur. Probablement une temporisation. La requête doit être reprise avec une interruption exponentielle.
601*
Jeton d’accès non valide
Un paramètre de jeton d’accès a été inclus dans la requête, mais la valeur n’était pas un jeton d’accès valide.
602*
Jeton d’accès expiré
Le jeton d’accès inclus dans l’appel n’est plus valide en raison de son expiration.
603
Accès refusé
L’authentification est réussie, mais l’utilisateur ne dispose pas des autorisations suffisantes pour appeler cette API. [Autorisations supplémentaires](custom-services.md) devront peut-être être attribuées au rôle utilisateur, ou la Liste autorisée pour l’accès à l’API IP pourra être activée.
604*
Délai d’expiration de la demande
La requête était en cours d’exécution depuis trop longtemps (par exemple, une contention de base de données s’est produite) ou a dépassé le délai d’expiration spécifié dans l’en-tête de l’appel.
605*
Méthode HTTP non prise en charge
GET n’est pas pris en charge pour le point d’entrée des prospects de synchronisation. POST doit être utilisé.
606
Limite de débit maximale de `%s'; dépassée avec dans `%s's
Le nombre d’appels au cours des 20 dernières secondes était supérieur à 100
607
Quota quotidien atteint
Le nombre d'appels aujourd'hui a dépassé le quota de l'abonnement (réinitialisé tous les jours à 00h00 CST).>Votre quota se trouve dans le menu Admin->Services Web. Vous pouvez augmenter votre quota par l'intermédiaire de votre gestionnaire de compte.
608*
API temporairement indisponible
609
JSON non valide
Le corps inclus dans la requête n’est pas un JSON valide.
610
La ressource demandée est introuvable
L’URI de l’appel ne correspondait pas à un type de ressource API REST. Cela est souvent dû à un URI de requête mal orthographié ou mal formaté
611*
Erreur système
Toutes les exceptions non gérées
612
Type de contenu non valide
Si cette erreur s’affiche, ajoutez un en-tête de type de contenu spécifiant le format JSON à votre requête. Par exemple, essayez d’utiliser « type de contenu : application/json ». Voir cette question StackOverflow pour plus d’informations.
613
Requête Multipart Non Valide
Le contenu en plusieurs parties de l’instruction POST n’a pas été formaté correctement
614
Abonnement non valide
L’abonnement de destination est introuvable ou inatteignable. Cela indique généralement une inaccessibilité temporaire.
615
Limite d’accès simultané atteinte
Au maximum, les demandes sont traitées par un abonnement 10 à la fois. Elle est renvoyée s’il existe déjà 10 requêtes en cours.
616
Type d’abonnement non valide
Le type d’abonnement Marketo approprié est requis pour accéder à l’API de métadonnées d’objet personnalisé. Consultez votre CSM pour plus de détails.
701
%s ne peut pas être vide
Le champ signalé ne doit pas être vide dans la requête
702
Aucune donnée trouvée pour un scénario de recherche donné
Aucun enregistrement ne correspond aux paramètres de recherche donnés. Remarque : de nombreuses opérations de recherche ayant échoué renvoient « success = true » et aucune erreur, et définissent une chaîne d’informations d’avertissement.
703
La fonctionnalité n’est pas activée pour l’abonnement
Fonctionnalité bêta qui n’a pas été activée dans l’abonnement d’un utilisateur
704
Format de date invalide
  • Une date spécifiée n'était pas au bon format
  • Un ID de contenu dynamique non valide a été spécifié
709
Violation de règle métier

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).
710
Dossier Parent Introuvable
Le dossier parent spécifié est introuvable
711
Type de dossier incompatible
Le type du dossier spécifié n’était pas correct pour répondre à la demande
712
Opération de fusion vers le compte de personne non valide
Un appel de fusion de leads a échoué en raison d’une tentative de fusion de leads qui sont des comptes de personne Salesforce. Les comptes de personne Salesforce doivent être fusionnés dans Salesforce.
713
Erreur transitoire
Une ressource système était temporairement indisponible au moment de l’appel API. Lorsque cette erreur se produit, il est conseillé d’attendre un certain temps, puis de relancer la requête.
714
Impossible de trouver le type d’enregistrement par défaut
Un appel de fusion de leads a échoué, car aucun type d’enregistrement par défaut n’a pu être trouvé.
718
ExternalSalesPersonID introuvable
Un appel d’opportunités de synchronisation a été effectué avec une valeur « ExternalSalesPersonID » inexistante.
719
Exception de délai d’attente de verrouillage
Un appel de programme de clonage a été effectué et a expiré en attendant un verrouillage.

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

NOTE
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
  • Trop de tâches dans la file d’attente
  • Quota quotidien d'exportation dépassé
  • Traitement déjà mis en file d’attente
  • Les abonnements peuvent contenir jusqu’à 10 tâches d’extraction en bloc dans la file d’attente à tout moment donné.
  • Par défaut, les tâches d’extraction sont limitées à 500MB par jour (réinitialisé tous les jours à 00:00 CST).
  • L’ID d’exportation a déjà été mis en file d’attente.
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.
recommendation-more-help
marketo-developer-help