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 ": []
}