API返品形式
Coupaの浅いAPI形式を使用して、クエリ中に取得するデータ量を減らします。
Coupaは、特定の出力を定義できる、より高度なAPIフィルターを提供するようになりました。将来のリリースで廃止となる浅い形式の代わりに、これらのフィルターを使用することをお勧めします。
概要
CoupaのAPIは、デフォルトで多くのデータを返します(たとえば、関連付けられたオブジェクトの完全なオブジェクト)。APIリターンペイロードは非常に大きく、したがって遅くなる可能性があります。これは、リソースの不必要な消費は言うまでもなく、余分なデータを必要としない顧客にとっては問題になる可能性があります。
より簡単にするために、Coupaには、オブジェクトのスキーマ全体とすべての関連付けの代わりに、制限されたJSONまたはXML応答を返すreturn format return_object = shallowがあります。オプションでreturn_objectを指定するという概念は新しいものではなく、「浅い」形式の概念だけです。Return_objectが指定されていない場合、完全な戻り値が返されます。
仕組み
オプションのクエリパラメーターreturn_objectは、次の3つの値をサポートするように
なりました。
-
なし
:何も戻りません。これは、PUTとPOSTのみをサポートしています(意味をなさないGETなどのクエリはサポートされていません)。 -
制限あり
:IDのみが返されます。これは、すべてのコマンドでサポートされています。 -
浅い
:このパラメーターは、呼び出されているオブジェクトのすべての属性/フィールドと、ワンディープアソシエーションのIDとナチュラルキーのみを返します。
次の場合、パラメーターreturn_object = shallow
がサポートされます。
- 投稿コマンド
- プットコマンド
- コマンドの取得
Fields
クエリ演算子を使用すると、応答本文で必要なフィールドを渡すことができます。 フィールド
値の形式はJSONです。以下の例を参照してください。
? fields = [" id ", "invoice_number ", {" invoice_lines ": [" id "," line_num "]}]
変数を返す
Return_object
パラメーターを使用して、基本的な作成、更新、またはクエリ呼び出しで応答本文の形式を制御できます。
CREATEおよびUPDATE RETURN_OBJECTでサポートされる値は、none、limited、およびshallowです。
クエリ呼び出しでサポートされる値は、limitedとshallowです。
例:クエリに対する限定的な応答
質問: https://example.coupahost.com/api/expense_reports?return_object=limited 回答コード:200 回答本文: {" id ": 1}
例:作成時の応答なし
投稿: https://example.coupahost.com/api/ex... rn_object = none 申請本文: { "id ": 2, "currency ": { "code ":" USD " }, "expense - lines ": [ { "description ":"リノ行きの航空運賃", "MERCHANT ":"アメリカン航空", "REASON ":"理由", "amount ":" 255.0 ", "expense - date ":" 2010 -02 -05 T 00:00:00 - 08:00 ", "start - date ":" 2010 -02 -05 T 00:00:00 - 08:00 ", "expense - category ": { "NAME ":"航空運賃", } }, ], } 回答コード:200 回答本文:
例:作成時の浅い応答
クエリ: https://example.coupahost.com/api/ex... object = shallow 回答コード:200 回答本文: { "id ": 158, "created - at ":" 2010 -09 -22 T 20:42:57 - 07:00 ", "updated - at ":" 2014 -04 -24 T 14:56:49 - 07:00 ", "title ":"タイトル", "status ":" pending_approval ", "submitted - at ":" 2014 -04 -24 T 14: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 ": [] }