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.
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.