• Dernière modification le: 03 February 2022

Formats de retour de l'API

Utilisez le format API peu profond de Coupa pour réduire la quantité de données que vous obtenez lors d'une requête.

Remarque

Coupa propose désormais des filtres d'API plus avancés qui vous permettent de définir une sortie spécifique. Nous vous suggérons d'utiliser ces filtres au lieu du format superficiel, qui sera déprécié dans une version future.

Aperçu

L'API de Coupa renvoie beaucoup de données par défaut (par exemple : objets complets pour les objets associés). Les charges utiles de retour de l'API peuvent être très grandes et donc lentes. Cela peut être un problème pour les clients qui n'ont pas besoin des données superflues, sans parler de la consommation inutile de ressources.

Pour faciliter les choses, Coupa a un format de retour return_object=shallow qui renvoie une réponse JSON ou XML limitée au lieu de l'ensemble du schéma et de toutes les associations pour un objet. Le concept de spécification optionnelle d'un return_object n'est pas nouveau, seul le concept du format « superficiel » est nouveau. Si aucun return_object n'est spécifié, la valeur de retour complète est renvoyée.

Comment ça marche

Le paramètre de requête optionnel return_object prend désormais en charge les 3 valeurs suivantes :

  • aucun (e) : Rien n'est retourné. Ceci n'est pris en charge que pour PUT et POST (pas pour les requêtes, comme GET, où cela n'a pas de sens).
  • limité (e) (s Seules les pièces d'identité sont retournées. Ceci est pris en charge pour toutes les commandes.
  • peu profond : Ce paramètre renvoie tous les attributs/champs de l'objet appelé et uniquement les ID et les clés naturelles des associations à une profondeur.

Le paramètre return_object=shallow est pris en charge pour les éléments suivants :

  • POSTER des commandes
  • METTRE des commandes
  • OBTENIR des commandes

L'opérateur de requête de champs vous permet de passer les champs que vous souhaitez dans le corps de la réponse. Le format de la valeur des champs est JSON. Veuillez vous reporter à l'exemple ci-dessous :

?fields=["id","invoice_number",{"invoice_lines" :["id","line_num"]}]

Objet de retour

Vous pouvez utiliser le paramètre return_object pour contrôler le format du corps de la réponse sur tous les appels de base de création, de mise à jour ou de requête.

Lors de la création et de la mise à jour, les valeurs return_object prises en charge sont : none, limited et shallow.

Sur les appels de requête, les valeurs prises en charge sont : limitées et peu profondes.

Exemple : réponse limitée à la requête

Question :  https://example.coupahost.com/api/expense_reports?return_object=limited

Code de réponse :  200

Corps de la réponse :

{« id » :1}

Exemple : aucune réponse lors de la création

POST :  https://example.coupahost.com/api/ex...rn_object=none

Corps de la demande :

{

 "id" :2,

 "currency" :{

   "code" :"USD"

 },

 "lignes de dépenses" :[

   {

     "description" :"Billet d'avion pour Reno",

     "merchant" :"American Airlines",

     "raison" :"",

     "amount" :"255,0",

     "expense-date" :"2010-02-05T00:00:00-08:00",

     "start-date" :"2010-02-05T00:00:00-08:00",

     "expense-category" :{

       "name" :"Billet d'avion",

     }

   },

 ],

}

Code de réponse :  200

Corps de la réponse :

Exemple : réponse superficielle à la création

Requête :  https://example.coupahost.com/api/ex...objet=superficiel

Code de réponse :  200

Corps de la réponse :

{

 "id" :158,

 "created-at" :"2010-09-22T20:42:57-07:00",

 "updated-at" :"2014-04-24T14:56:49-07:00",

 "titre" :"",

 "status" :"en attente_d'approbation",

 "submitted-at" :"2014-04-24T14:56:49-07:00",

 "note de l'auditeur" :null,

 "reject-reason" :null,

 "paid" :false,

 "total" :"567,07",

 "audit-score" :26,

 "exporté" :faux,

 "last-exported-at" :null,

 "external-src-ref" :null,

 "external-src-name" :null,

 "currency" :{

   "id" :1,

   "code" :"USD"

 },

 "passé en charges par" :{

   "id" :20,

   "connexion" :"connexion_utilisateur",

   "email" :"user_login@coupa.com"

 },

 "created-by" :{

   "id" :20,

   "connexion" :"connexion_utilisateur",

   "email" :"user_login@coupa.com"

 },

 "mis à jour par" :{

   "id" :20,

   "connexion" :"connexion_utilisateur",

   "email" :"user_login@coupa.com"

 },

 "lignes de dépenses" :[

   {

     "id" :546,

     "external-src-ref" :null

   },

   {

     "id" :547,

     "external-src-ref" :null

   },

   {

     "id" :548,

     "external-src-ref" :null

   },

   {

     "id" :549,

     "external-src-ref" :null

   }

 ],

 "comments" :[ ]

}

Articles associés


API Coupa Core

Notre API RESTful fournit un accès fiable pour lire, modifier ou intégrer vos données à la plateforme Coupa.

Démarrez avec l'API

Informations générales sur l'utilisation de l'API Coupa et quand vous devez envisager d'utiliser CSV.

Transition vers OAuth 2.0 et OIDC

Coupa désapprouve les API Keys héritées et nécessite l'utilisation d'OAuth 2.0 / OIDC. À partir de R34, aucune nouvelle clé API ne sera émise et les clés API ne seront plus prises en charge avec R35.

Ressources

Nous avons organisé nos points de terminaison API par type d'objet : données de référence, données transactionnelles et ressources partagées.