Erreurs au niveau HTTP

Dans des conditions d’exploitation normales, Marketo ne doit renvoyer que deux erreurs de code d’état HTTP, 413 Request Entity Too Large et 414 Request URI Too Long. Ils peuvent tous deux être récupérés en capturant l’erreur, en modifiant la requête et en réessayant, mais avec des pratiques de codage intelligent, vous ne devriez jamais les rencontrer dans la nature.

Marketo renvoie 413 si la charge utile de la requête dépasse 1 Mo ou 10 Mo dans le cas d’une piste d’importation. Dans la plupart des scénarios, il est peu probable que ces limites soient atteintes, mais l’ajout d’une vérification de la taille de la requête et le déplacement d’enregistrements, ce qui entraîne le dépassement de la limite par une nouvelle requête, devrait empêcher tout contexte, ce qui entraîne le renvoi de cette erreur par les points de terminaison.

414 est renvoyé lorsque l’URI d’une demande de 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 transforme votre requête en méthode de POST, entrez votre chaîne de requête en tant que corps de 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 quelque peu courant lors de la récupération de lots volumineux d’enregistrements avec de longues valeurs de filtre individuelles, telles qu’un GUID.
Le point d’entrée Identity peut renvoyer une erreur 401 Unauthorized . Cela est généralement dû à un ID de client non valide ou à un secret de client non valide. Codes d’erreur au niveau HTTP

Code de réponseDescriptionCommentaire
413Entité de requête trop volumineuseLa payload a dépassé la limite de 1 Mo.
414Request-URI Trop longL’URI de la requête dépassait 8 Ko. La requête doit être relancé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 au niveau de la réponse

Des erreurs de niveau de réponse sont présentes lorsque le paramètre success de la réponse est défini sur false et est structuré 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 601 et 799 cité et un message qui indique 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. Par exemple, 601, "Jeton d’accès non valide", qui peut être récupéré en réauthentifiant 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é mal paramétrée, par exemple en incluant une date non valide, ou parce qu’un paramètre requis a été absent.

Codes d’erreur de niveau 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éponseDescriptionCommentaire
502Passerelle incorrecteLe serveur distant a renvoyé une erreur. Probablement un dépassement de délai. La requête doit être relancée avec un backoff exponentiel.
601*Jeton d’accès non valideUn paramètre Access Token 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 l’expiration.
603Accès refuséL’authentification a réussi, mais l’utilisateur ne dispose pas des autorisations suffisantes pour appeler cette API. [Autorisations supplémentaires](custom-services.md) peut avoir besoin d’être affecté au rôle d’utilisateur, ou la Liste autorisée pour l’accès API basé sur IP peut être activée.
604*Délai d’expiration de la requêteLa requête s’exécutait trop longtemps (par exemple, a rencontré une contention de base de données) 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 chargeGET n’est pas pris en charge pour le point de terminaison Leads de synchronisation. POST doit être utilisé.
606Limite de taux maximale `%s`; dépassée par dans `%s` secondesLe nombre d’appels des 20 dernières secondes était supérieur à 100
607Quota quotidien atteintLe nombre d’appels aujourd’hui a dépassé le quota d’abonnement (réinitialisations quotidiennes à 12h00 heure du Pacifique).>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
609JSON non valideLe corps inclus dans la requête n’est pas un JSON valide.
610Ressource demandée introuvableL’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èmeToutes les exceptions non traitées
612Type de contenu non valideSi 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 `content type: application/json`. Pour plus d’informations, consultez cette question StackOverflow .
613Requête multipartie non valideLe contenu en plusieurs parties du POST n’a pas été correctement formaté.
614Abonnement non valideL’abonnement à la destination est introuvable ou inaccessible. Cela indique généralement une inaccessibilité temporaire.
615Limite d’accès simultanée atteinteAu maximum, les demandes sont traitées par n’importe quel abonnement 10 à la fois. Cette valeur est renvoyée s’il existe déjà 10 requêtes en cours.
616Type d'abonnement non valideLe type d’abonnement Marketo approprié est requis pour accéder à l’API de métadonnées d’objet personnalisé. Pour plus d’informations, consultez votre CSM .
701%s ne peut pas être videLe champ signalé ne doit pas être vide dans la requête.
702Aucune donnée trouvée pour un scénario de recherche donnéAucun enregistrement ne correspondait 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’information d’avertissement.
703La fonctionnalité n’est pas activée pour l’abonnement.Fonction bêta qui n’a pas été activée dans l’abonnement d’un utilisateur
704Format de date invalide
  • Une date spécifiée dans un format incorrect a été spécifiée.
  • Un identifiant de contenu dynamique non valide a été spécifié.
709Violation des règles commerciales

L’appel ne peut pas être rempli, car il enfreint une obligation de création ou de mise à jour d’une ressource, par exemple en essayant de créer un email sans modèle. Il est également possible d’obtenir cette erreur lorsque vous essayez d’effectuer les opérations suivantes :

  • Récupérez le contenu des landing pages qui contiennent du contenu social.
  • Cloner un programme qui contient certains types de ressources (voir Clone de programme pour plus d’informations).
  • Approuvez une ressource sans version préliminaire (c’est-à-dire qu’elle a déjà été approuvée).
710Dossier parent introuvableLe dossier parent spécifié est introuvable
711Type de dossier incompatibleLe dossier spécifié n’était pas du type correct pour répondre à la requête.
712L’opération de fusion de compte de personne n’est pas valideUn appel Fusionner les pistes a échoué en raison d’une tentative de fusion de pistes qui sont des comptes de personne Salesforce. Les comptes de personne Salesforce doivent être fusionnés dans Salesforce.
713Erreur transitoireUne ressource système était temporairement indisponible au moment de l’appel API. Lorsque cette erreur est rencontrée, il est conseillé d’attendre longtemps, puis de relancer la requête.
714Impossible de trouver le type d’enregistrement par défautUn appel Fusionner les pistes a échoué car il n’a pas pu trouver un type d’enregistrement par défaut.
718ExternalSalesPersonID introuvableUn appel de synchronisation des opportunités a été effectué avec une valeur "ExternalSalesPersonID" inexistante.
719Verrouillage de l’exception de délai d’attenteUn appel au programme de clonage a été effectué et a expiré en attendant un verrou.

Record Level

Les erreurs de niveau enregistrement indiquent qu’une opération n’a pas pu être effectuée pour un enregistrement individuel, mais la requête elle-même était valide. Une réponse avec des erreurs de niveau enregistrement 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 classé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 individuellement, ce qui est indiqué par le champ d’état de chaque enregistrement inclus dans le tableau de résultat d’une réponse. Le champ "status" de ces enregistrements sera "sauté" et un tableau "raisons" est 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, une requête de pistes de synchronisation avec "action" définie sur "createOnly", mais une piste 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.