• Dernière modification le: 03 February 2022

Formats de retour API

Utilisez le format d'API peu profond de Coupa pour réduire la quantité de données obtenues au cours d'une requête.

Remarque

Coupa propose désormais des fonctionnalités plus avancées Filtres API qui vous permettent de définir une sortie spécifique. Nous vous suggérons d'utiliser ces filtres plutôt que le format superficiel, qui sera obsolète dans une prochaine version.

Aperçu

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

Pour faciliter les choses, Coupa propose un format de retour return_object=shallow qui renvoie une réponse JSON ou XML limitée au lieu du schéma entier, et de toutes les associations, pour un objet. Le concept de spécifier facultativement un objet_retour n'est pas nouveau, seulement le concept du format "peu profond". Si aucun objet_retour n'est spécifié, la valeur de retour complète est renvoyée.

Fonctionnement de la solution

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

  • none : Rien n'est renvoyé. Ceci n'est supporté que pour PUT et POST (pas les requêtes, comme GET, où cela n'a pas de sens).
  • limited : seuls les ID sont renvoyés. Ceci est pris en charge pour toutes les commandes.
  • shallow : Ce paramètre retourne tous les attributs/champs de l'objet appelé et seulement les ID et les clés naturelles des associations simples.

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

  • Commandes POST
  • Commandes PUT
  • Commandes GET

Le fields opérateur de requête vous permet de passer les champs souhaités dans le corps de la réponse. Le format de la fields la valeur est JSON. Reportez-vous à l'exemple ci-dessous :

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

Objet de retour

Vous pouvez utiliser la 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 de return_object supportées sont : none, limited et shallow.

Lors des appels de requête, les valeurs prises en charge sont limitées et superficielles.

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

Query:  https://example.coupahost.com/api/expense_reports?return_object=limited
Response Code:  200
Response Body:
{“id”:1}

Exemple : aucune réponse à la création

POST:  https://example.coupahost.com/api/ex...rn_object=none
Request Body:
{
 "id":2,
 "currency":{
   "code":"USD"
 },
 "expense-lines":[
   {
     "description":"Airfare to Reno",
     "merchant":"American Airlines",
     "reason":"",
     "amount":"255.0",
     "expense-date":"2010-02-05T00:00:00-08:00",
     "start-date":"2010-02-05T00:00:00-08:00",
     "expense-category":{
       "name":"Airfare",
     }
   },
 ],
}
Response Code:  200
Response Body:

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

Query:  https://example.coupahost.com/api/ex...object=shallow
Response Code:  200
Response Body:
{
 "id":158,
 "created-at":"2010-09-22T20:42:57-07:00",
 "updated-at":"2014-04-24T14:56:49-07:00",
 "title":"",
 "status":"pending_approval",
 "submitted-at":"2014-04-24T14:56:49-07:00",
 "auditor-note":null,
 "reject-reason":null,
 "paid":false,
 "total":"567.07",
 "audit-score":26,
 "exported":false,
 "last-exported-at":null,
 "external-src-ref":null,
 "external-src-name":null,
 "currency":{
   "id":1,
   "code":"USD"
 },
 "expensed-by":{
   "id":20,
   "login":"user_login",
   "email":"user_login@coupa.com"
 },
 "created-by":{
   "id":20,
   "login":"user_login",
   "email":"user_login@coupa.com"
 },
 "updated-by":{
   "id":20,
   "login":"user_login",
   "email":"user_login@coupa.com"
 },
 "expense-lines":[
   {
     "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":[ ]
}

Une partie ou la totalité de cette page peut avoir été traduite par machine. Toutes nos excuses pour les inexactitudes.

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.