• 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


Espace de noms de champ personnalisé

18 April 2019

Tous les nouveaux champs personnalisés sont ajoutés à un espace de noms de champs personnalisés pour éviter les conflits de noms et rendre les champs ajoutés par le client plus facilement identifiables.

API d'approvisionnement (/quote_requests)

03 September 2021

Utilisez l'API Coupa Sourcing pour créer de nouveaux événements RFx, voir les réponses des fournisseurs et attribuer des fournisseurs au niveau de la ligne.

API des projets (/projects)

22 December 2021

Utilisez l'API Projets pour créer ou mettre à jour un projet dans Coupa.

API de tâche (/tasks)

22 December 2021

L'API utilisateurs vous permet de créer, mettre à jour ou interroger des utilisateurs.

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