Codes d’erreur

Vous trouverez ci-dessous des listes de codes d’erreur de l’API REST et une explication de la manière dont les erreurs sont renvoyées aux applications.

Gestion et journalisation des exceptions

Lors du développement pour Marketo, il est important que les requêtes et les réponses soient consignées lorsqu’une exception inattendue est rencontrée. Bien que certains types d’exceptions, comme l’authentification expirée, puissent être gérés en toute sécurité par la réauthentification, d’autres peuvent nécessiter des interactions d’assistance. Les demandes et réponses seront toujours demandées dans ce scénario.

Types d’erreurs

L’API REST Marketo peut renvoyer trois types d’erreurs différents en fonctionnement normal :

  • HTTP-Level : ces erreurs sont indiquées par un code 4xx.
  • Niveau de réponse : ces erreurs sont incluses dans le tableau « erreurs » de la réponse JSON.
  • Record-Level : ces erreurs sont incluses dans le tableau « résultat » de la réponse JSON et sont indiquées sur une base d’enregistrement individuel avec le champ « statut » et le tableau « raisons ».

Pour les types d’erreur de niveau réponse et de niveau enregistrement, un code d’état HTTP de 200 est renvoyé. Pour tous les types d’erreur, l’expression de raison HTTP ne doit pas être évaluée, car elle est facultative et peut être modifiée.

Erreurs au niveau du HTTP

Dans des circonstances de fonctionnement normales, Marketo ne doit renvoyer que deux erreurs de code d’état HTTP, 413 Request Entity Too Large et 414 Request URI Too Long. Vous pouvez les récupérer en interceptant l’erreur, en modifiant la requête et en réessayant. Toutefois, avec les pratiques de codage intelligent, vous ne devriez jamais les rencontrer en mode sauvage.

Marketo renvoie la valeur 413 si la payload de la requête dépasse 1 Mo, ou 10 Mo dans le cas du lead d’importation. Dans la plupart des scénarios, il est peu probable que ces limites soient atteintes, mais l’ajout d’une vérification à la taille de la requête et le déplacement de tous les enregistrements, qui entraînent le dépassement de la limite dans une nouvelle requête, doivent éviter toute circonstance qui entraîne le renvoi de cette erreur par n’importe quel point d’entrée.

L’erreur 414 est renvoyée lorsque l’URI d’une requête GET dépasse 8 Ko. Pour l’éviter, vérifiez la longueur de votre chaîne de requête pour voir si elle dépasse cette limite. S’il remplace votre requête par une méthode POST, saisissez votre chaîne de requête comme corps de la requête avec le paramètre supplémentaire _method=GET. Cela annule la limitation des URI. Il est rare d'atteindre cette limite dans la plupart des cas, mais cela est assez courant lors de la récupération de lots volumineux d'enregistrements avec de longues valeurs de filtre individuel, comme un GUID.
Le point d’entrée Identity peut renvoyer une erreur 401 Non autorisé. Cela est généralement dû à un ID client non valide ou à un secret client non valide. Codes d’erreur au 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 sont présentes lorsque le paramètre success de la réponse est défini sur false et sont structurées comme suit :

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

Chaque objet du tableau « errors » comporte deux membres, code, qui est un entier entre guillemets compris entre 601 et 799 et un message donnant la raison en texte brut de l’erreur. Les codes 6xx indiquent toujours qu’une requête a complètement échoué et n’a pas été exécutée. Exemple : un 601, « Jeton d’accès non valide », qui peut être récupéré en s’authentifiant à nouveau et en transmettant le nouveau jeton d’accès avec la requête. Les erreurs 7xx indiquent que la requête a échoué, soit parce qu’aucune donnée n’a été renvoyée, soit parce que la requête a été paramétrée de manière incorrecte, par exemple en incluant une date non valide, ou en raison d’un paramètre obligatoire manquant.

Codes d’erreur au niveau de la réponse

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
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 d’abonnements (réinitialisé tous les jours à 00:00 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 de niveau enregistrement indiquent qu'une opération n'a pas pu être effectuée pour un enregistrement individuel, mais que la demande elle-même était valide. 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 inclus dans le tableau de résultats des appels sont triés de la même manière que le tableau d’entrée d’une requête.
Chaque enregistrement d’une requête réussie peut réussir ou échouer sur une base individuelle, ce qui est indiqué par le champ de statut de chaque enregistrement inclus dans le tableau de résultats d’une réponse. Le champ « statut » de ces enregistrements sera « ignoré » et un tableau « raisons » sera présent. Chaque raison contient un membre « code » et un membre « message ». Le code est toujours 1xxx et le message indique pourquoi l’enregistrement a été ignoré. Par exemple, si une demande de leads de synchronisation a « action » défini sur « createOnly », mais qu’un lead existe déjà pour l’une des clés dans les enregistrements envoyés. Ce cas renvoie un code de 1005 et un message indiquant « Le prospect existe déjà », comme indiqué 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
bb269a6d-047a-4bf7-9acd-23ad9a63dc59