Skip to main content

Structure de réponse typique

Les réponses réussies sont indiquées par un code HTTP de la série 200 et une charge utile au format JSON contenant le ou les objets demandés, créés, modifiés ou supprimés, ainsi qu’une indication de la façon dont le serveur a interprété votre requête. Si vous avez envoyé une requête réussie, vous recevrez dans votre réponse un nœud request qui reprend votre requête. Exemple : GET accounts/abcdefg/campaigns?with_deleted=true
Le champ data dans les réponses JSON contiendra les objets spécifiques associés à la ressource utilisée. Le format du nœud data sera un tableau JSON lorsque la réponse peut contenir un ou plusieurs résultats. Il sera renvoyé sous la forme d’un hash JSON lorsqu’un seul résultat est possible dans la réponse. Dans de rares cas, vous pouvez voir une réponse qui inclurait normalement une collection, mais qui contient à la place une hashmap. Dans ce cas, considérez que la hashmap unique représente un objet du même type que celui indiqué dans le champ type.

Structure de la réponse d’erreur

Les réponses d’erreur sont renvoyées avec un code HTTP qui n’est pas dans la série 200. En général, une réponse JSON y est jointe, mais certaines erreurs renverront d’autres types de corps de réponse. Dans ces situations où la structure de la réponse ne peut pas être analysée, considérez que la signification fondamentale du code HTTP prime. Par exemple, vous pouvez parfois voir un HTTP 404 accompagné d’une réponse HTML. Dans ce cas, vous pouvez raisonnablement supposer que le contenu est introuvable (HTTP 404 signifie « Not Found »). Les réponses d’erreur typiques suivent une structure similaire à celle des réponses réussies. La nature de l’erreur sera communiquée dans un nœud errors de la réponse. Le nœud errors/code indiquera un code d’erreur constant en MAJUSCULES_AVEC_UNDERSCORES que vous pouvez traiter par programme pour prendre des décisions de résolution. Le nœud errors/message indiquera une description (généralement) lisible par un humain de l’erreur, en anglais. Des champs supplémentaires peuvent être ajoutés pour indiquer des détails plus précis sur l’erreur.
Dans l’exemple ci-dessus, une requête vers un endpoint d’analyses a été effectuée avec une valeur non valide pour le paramètre start_time. Le champ errors/code pour les requêtes comportant des paramètres non valides est INVALID_PARAMETER.