• 最終編集日時: 03 February 2022

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

}

関連アイテム


APIの開始

Coupa APIの使用に関する一般情報、およびCSVの使用を検討するタイミング。

OAuth 2.0およびOIDCへの移行

Coupaは従来のAPIキーを廃止し、OAuth 2.0 / OIDCの使用を必要としています。R34以降、新しいAPIキーは発行されず、R35ではAPIキーはサポートされなくなります。

リソース

参照データ、トランザクションデータ、共有リソースなど、オブジェクトのタイプ別にAPIエンドポイントを整理しました。