API-Rückgabeformate
Verwenden Sie das flache API-Format von Coupa, um die Datenmenge zu reduzieren, die Sie während einer Abfrage erhalten.
Coupa bietet jetzt erweiterte API-Filter um eine bestimmte Ausgabe zu definieren. Wir empfehlen, diese Filter anstelle des flachen Formats zu verwenden, das in einer zukünftigen Version veraltet sein wird.
Übersicht
Die API von Coupa gibt standardmäßig viele Daten zurück (z. B. vollständige Objekte für zugehörige Objekte). Die API-Rückgabenutzlasten können sehr groß und daher langsam sein. Dies kann ein Problem für Kunden sein, welche die irrelevanten Daten nicht benötigen, ganz zu schweigen von dem unnötigen Ressourcenverbrauch.
Um die Sache zu vereinfachen, hat Coupa ein Rückgabeformat
return_object=shallow
die eine begrenzte JSON- oder XML-Antwort anstelle des gesamten Schemas und aller Zuordnungen für ein Objekt zurückgibt. Das Konzept der optionalen Angabe eines return_object ist nicht neu, nur das Konzept des "flachen" Formats. Wenn kein return_object angegeben ist, wird der vollständige Rückgabewert zurückgegeben.
So funktioniert es
Der optionale Abfrageparameter
return_object
unterstützt jetzt die folgenden 3 Werte:
-
none
: Nichts wird zurückgegeben. Dies wird nur für PUT und POST unterstützt (keine Abfragen wie GET, wo es keinen Sinn ergibt). -
limited
: Es werden nur IDs zurückgegeben. Dies wird für alle Befehle unterstützt. -
shallow
: Dieser Parameter gibt alle Attribute/Felder des aufgerufenen Objekts zurück und nur die IDs und natürlichen Schlüssel der eintiefen Verknüpfungen.
Der Parameter
return_object=shallow
wird für Folgendes unterstützt:
- POST-Befehle
- PUT-Befehle
- GET-Befehle
Die
fields
Mit dem Abfrageoperator können Sie die gewünschten Felder im Antworttext übergeben. Das Format von
fields
ist JSON. Siehe Beispiel unten:
?fields=["id","invoice_number",{"invoice_lines":["id","line_num"]}]
Objekt zurückgeben
Sie können
return_object
param, um das Antworttextformat bei allen grundlegenden Erstellungs-, Aktualisierungs- oder Abfrageaufrufen zu steuern.
Beim Erstellen und Aktualisieren werden die Werte return_object unterstützt: none, limited und shallow.
Bei Abfrageaufrufen werden folgende Werte unterstützt: begrenzt und flach.
Beispiel: Eingeschränkte Antwort auf Abfrage
Query: https://example.coupahost.com/api/expense_reports?return_object=limited Response Code: 200 Response Body: {“id”:1}
Beispiel: Keine Antwort bei Erstellung
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:
Beispiel: flache Antwort bei Erstellung
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":[ ] }
Parts or all of this page might have been machine-translated. We apologize for any inaccuracies.