Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : Espace partenaires | Références de l’Espace partenaires
Rôles appropriés : administrateur de Références | utilisateur de Références
Les API REST Références de l’Espace partenaires retournent un objet JSON qui contient un code d’état. Ce code qui indique si votre demande a réussi ou pourquoi elle a échoué.
Réponses réussies
Un code d’état 2xx indique que la demande du client a été reçue, comprise et acceptée. Les codes d’état 2xx suivants indiquent une réponse de réussite :
- 200 : Réussite confirmée
- 201 : Ressource créée
- 202 : Accepté
- 204 : Aucun contenu à retourner
Réponses d’erreur
Toute réponse avec un code d’état 4xx ou 5xx inclut un message d’erreur contenant des détails sur les conditions d’erreur de ce code.
Le tableau suivant répertorie et décrit les codes d’état HTTP qui peuvent être retournés pour les scénarios d’erreur.
Code d’état | Message d’état | Description |
---|---|---|
400 | Demande incorrecte | Impossible de traiter la demande, car elle est incorrecte ou incorrecte. |
401 | Non autorisé | Les informations d’authentification requises sont manquantes ou non valides pour la ressource. |
403 | Interdit | L’accès est refusé à la ressource demandée. L’utilisateur n’a peut-être pas les autorisations suffisantes. |
404 | Introuvable | La ressource demandée n’existe pas. |
405 | Méthode non autorisée | La méthode HTTP dans la requête n’est pas autorisée sur la ressource. |
406 | Non acceptable | Ce service ne prend pas en charge le format demandé dans l’en-tête Accept. |
409 | Conflit | L’état actuel est en conflit avec ce que la demande attend. Par exemple, le dossier parent spécifié n’existe peut-être pas. |
410 | Supprimé | La ressource demandée n'est plus disponible sur le serveur. |
411 | Longueur requise | Un en-tête Content-Length est requis sur la demande. |
412 | Échec de la précondition | Une condition préalable fournie dans la requête (par exemple, un en-tête if-match) ne correspond pas à l’état actuel de la ressource. |
413 | Entité de requête trop grande | La taille de la demande dépasse la limite maximale. |
415 | Type de média non pris en charge | Le type de contenu de la requête est un format que le service ne prend pas en charge. |
416 | Plage demandée non satisfaisante | La plage d’octets spécifiée n’est pas valide ou n’est pas disponible. |
422 | Impossible de traiter l’entité | Impossible de traiter la demande, car elle est sémantiquement incorrecte. |
423 | Verrouillé | La ressource faisant l’objet d’un accès est verrouillée. |
429 | Trop de demandes | L’application cliente est limitée et ne doit pas tenter de répéter la demande pendant un certain temps. |
500 | Erreur interne du serveur | Une erreur interne de serveur s’est produite lors du traitement de la demande. |
501 | Non implémentée | La fonctionnalité demandée n’est pas implémentée. |
503 | Service indisponible | Le service est temporairement indisponible à des fins de maintenance ou est surchargé. Vous pouvez répéter la demande après un certain délai, dont la longueur peut être spécifiée dans un en-tête Retry-After. |
504 | Délai d’expiration de passerelle | Le serveur, agissant en tant que proxy, n’a pas reçu de réponse en temps opportun du serveur en amont qu’il avait besoin d’accéder lors de la tentative d’exécution de la requête. Peut se produire avec l’erreur 503. |
507 | Stockage insuffisant | Atteint le quota de stockage maximal. |
509 | Limite de bande passante dépassée | Application cliente limitée pour dépasser la limite de bande passante maximale. Votre application peut réessayer la requête après un certain temps. |
Type de ressource d’erreur
La réponse d’erreur est un objet JSON unique qui contient une propriété unique nommée error. Cet objet contient tous les détails de l’erreur. Vous pouvez utiliser les informations retournées ici au lieu, ou en plus, du code d’état HTTP.
Le tableau et les exemples de code suivants décrivent le schéma d’une réponse d’erreur.
Nom | Type | Description |
---|---|---|
code | string | Toujours retourné. Indique le type d’erreur qui s’est produit. Non Null. |
message | string | Toujours retourné. Décrit l’erreur en détail et fournit des informations de débogage supplémentaires. Non null nonempty. La longueur maximale est de 1 024 caractères. |
innerError | object | facultatif. Un autre objet d’erreur avec des informations plus spécifiques concernant l’erreur s’est produite. |
innerError.code | chaîne numérique | Toujours retourné, si innerError n’est pas null. Fournit des informations de code d’erreur plus spécifiques sous la valeur du code d’erreur supérieure. |
innerError.message | string | Toujours retourné, si innerError n’est pas null. Fournit un message d’erreur plus spécifique sous la chaîne de message d’erreur supérieure. |
innerError.details | tableauobjet | facultatif. Contient plus de détails sur l’erreur. Principalement utile dans les erreurs de validation d’entrée. |
cible | string | facultatif. Cible d’origine de l’erreur. |
Exemple de réponse d’erreur
{
"error": {
"code": "unauthenticated",
"message": "The caller is not authenticated.",
"innerError": {
"code": "99902",
"message": "Request not authenticated",
"details": null
}
}
}
Un autre exemple avec l’objet innerError.details rempli :
{
"error": {
"code": "invalidRequest",
"message": "The request is malformed or incorrect.",
"innerError": {
"code": "99901",
"message": "InvalidInput",
"details": [
{
"InvalidReferralForCoSellConversion": [
"If PartnerLed referral has no solution it cannot be converted to co-sell referral"
]
}
]
}
}
}
Propriété code
La propriété code
contient l’une des valeurs possibles suivantes. Vos applications doivent être prête à gérer chacune de ces erreurs.
Code | Code d’état Http | Description |
---|---|---|
invalidRequest | 400 | La demande est mal exprimée ou incorrecte. |
unauthenticated | 401 | L’appelant n’est pas authentifié. |
accessDenied | 403 | L’appelant n’est pas autorisé à effectuer l’action. |
itemNotFound | 404 | Impossible de trouver la ressource. |
resourceModified | 409 | La ressource en cours de mise à jour a été modifiée depuis la dernière lecture de l’appelant, généralement une incompatibilité eTag. |
preconditionFailed | 412 | Une condition préalable fournie dans la requête (par exemple, un en-tête if-match) ne correspond pas à l’état actuel de la ressource. |
generalException | 500 | Une erreur non spécifiée s'est produite. |
serviceNotAvailable | 503 | Le service n’est pas disponible. Renouvelez la demande après un certain délai. Il peut y avoir un en-tête Retry-After. |
Propriété message
La propriété message
à la racine contient un message d’erreur destiné à être lu par le développeur. Les messages d’erreur ne sont pas localisés et ne doivent pas être affichés directement à l’utilisateur. Votre code ne doit pas vérifier les message
valeurs uniquement parce qu’elles peuvent changer à tout moment, et elles contiennent souvent des informations dynamiques spécifiques à la demande ayant échoué. Vous devez coder par rapport aux codes d’erreur retournés dans les code
propriétés, puis pour plus d’informations, combinez-le avec du texte du message.
Objet InnerError
L’objet innererror
peut contenir de manière récursive davantage innererror
d’objets avec des codes d’erreur plus spécifiques. L’application cliente, lors de la gestion d’une erreur, doit parcourir tous les codes d’erreur disponibles et utiliser le code d’erreur le plus détaillé qu’ils comprennent.
Il existe d’autres erreurs que votre application peut rencontrer dans les objets imbriqués innererror
. Les applications ne sont pas requises pour gérer ces erreurs, mais peuvent le faire s’ils le choisissent. Le service peut ajouter de nouveaux codes d’erreur ou arrêter de retourner des anciens à tout moment. Il est donc important que toutes les applications puissent gérer les [codes d’erreur de base].
Codes d’erreur
Voici les codes d’erreur retournés par les API :
État HTTP | Code d’erreur HTTP | Code d'erreur | Description |
---|---|---|---|
BadRequest | 400 | 99901 | entrée non valide |
Non autorisé | 401 | 99902 | Accès non autorisé |
BadRequest | 400 | 99903 | Entrée manquante |
NotFound | 404 | 99,904 | Ressource introuvable |
InternalServerError | 500 | 99905 | Erreur non spécifiée |
TooManyRequests | 429 | 99906 | Trop de demandes |
InternalServerError | 500 | 99907 | Erreur interne temporaire |
BadRequest | 400 | 99908 | La propriété n’est pas modifiable |
BadRequest | 400 | 99909 | La propriété n’est pas nullable |
Échec de la condition préalable | 412 | 99910 | La valeur Etag ne correspond pas |
BadRequest | 400 | 99911 | État de référence non valide à inviter |
BadRequest | 400 | 99912 | La solution avec le type 'name' est requise |
Interdit | 403 | 99913 | Organisation non autorisée à créer une ressource |
Interdit | 403 | 99914 | Organisation non autorisée à participer à des engagements de co-vente |
InternalServerError | 500 | 99915 | Échec d’exécution de requête interne |
Conflit | 409 | 99917 | Ressource déjà modifiée via une autre requête |
PreConditionFailed | 412 | 99918 | Une condition préalable fournie dans la requête (par exemple, un en-tête if-match) ne correspond pas à l’état actuel de la ressource. |
BadRequest | 400 | 99919 | Qualification de référence non valide pour la mise à jour |
InternalServerError | 500 | 99999 | Exception générale lors du traitement de la demande |