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
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éponse | Description | Commentaire |
---|---|---|
502 | Passerelle incorrecte | Le 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 valide | Un 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. |
603 | Accè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ête | La 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 charge | GET n’est pas pris en charge pour le point de terminaison Leads de synchronisation. POST doit être utilisé. |
606 | Limite de taux maximale `%s`; dépassée par dans `%s` secondes | Le nombre d’appels 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’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 | |
609 | JSON non valide | Le corps inclus dans la requête n’est pas un JSON valide. |
610 | Ressource demandée 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 traité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 `content type: application/json`. Pour plus d’informations, consultez cette question StackOverflow . |
613 | Requête multipartie non valide | Le contenu en plusieurs parties du POST n’a pas été correctement formaté. |
614 | Abonnement non valide | L’abonnement à la destination est introuvable ou inaccessible. Cela indique généralement une inaccessibilité temporaire. |
615 | Limite d’accès simultanée atteinte | Au 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. |
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é. Pour plus d’informations, consultez votre CSM . |
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 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. |
703 | La 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 |
704 | Format de date invalide |
|
709 | Violation 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 :
|
710 | Dossier parent introuvable | Le dossier parent spécifié est introuvable |
711 | Type de dossier incompatible | Le dossier spécifié n’était pas du type correct pour répondre à la requête. |
712 | L’opération de fusion de compte de personne n’est pas valide | Un 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. |
713 | Erreur transitoire | Une 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. |
714 | Impossible de trouver le type d’enregistrement par défaut | Un appel Fusionner les pistes a échoué car il n’a pas pu trouver un type d’enregistrement par défaut. |
718 | ExternalSalesPersonID introuvable | Un appel de synchronisation des opportunités a été effectué avec une valeur "ExternalSalesPersonID" inexistante. |
719 | Verrouillage de l’exception de délai d’attente | Un 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.