契約APIの呼び出し例

契約のさまざまな検索オプション

以下は、契約APIを使用して希望する結果セットを取得するための使用例です。

この検索は、非アクティブな契約を取得します

https ://<instance>.coupahost.com/api/contracts?status=inactive

このクエリでは、番号= 1、名前=テスト&都市=シアトルのサプライヤーの契約が表示されます

https ://<instance>.coupahost.com/api/contracts?number=1&name=test&supplier [primary_address [city]] =シアトル

この検索は、代表連絡先の名が「Allison」のサプライヤーのすべての契約を取得します

https ://<instance>.coupahost.com/api/contracts?supplier [primary - contact [name - given]] = Allison

契約API GETの例

この例では、IDが2の単一の契約レコードを検索しています。

以下のURLに対してGETリクエストを実行しました。

https ://<instance url>/api/contracts/2

または

https ://<instance url>/api/contracts? id = 2

以下は、検索条件に一致したレスポンスの例です。
<?xml version="1.0" encoding="UTF-8"?> <contract> <id type="integer">2</id> <created-at type="datetime">2008-10-27T13:26:13-07:00</created-at> <updated-at type="datetime">2014-03-20T15:20:45-07:00</updated-at> <name>Amazon.com</name> <number>2</number> <version nil="true" /> <start-date type="datetime">2008-10-26T17:00:00-07:00</start-date> <end-date type="datetime">2012-10-26T17:00:00-07:00</end-date> <status>inactive</status> <minimum-value type="decimal">0.00</minimum-value> <maximum-value type="decimal">0.00</maximum-value> <terms nil="true" /> <preferred nil="true" /> <savings-pct type="decimal">10.0</savings-pct> <min-commit type="decimal">0.00</min-commit> <max-commit type="decimal">0.00</max-commit> <supplier-invoiceable type="boolean">false</supplier-invoiceable> <is-default type="boolean">false</is-default> <supplier-account nil="true" /> <use-order-windows type="boolean">false</use-order-windows> <order-window-tz nil="true" /> <requisition-message nil="true" /> <po-message nil="true" /> <supplier> <id type="integer">4</id> <name>Amazon.com</name> <number nil="true" /> <supplier-diversity /> <primary-contact> <id type="integer">4</id> <created-at type="datetime">2008-10-27T12:56:39-07:00</created-at> <updated-at type="datetime">2008-10-27T12:56:39-07:00</updated-at> <email>upgrade@coupa.com</email> <name-prefix nil="true" /> <name-suffix nil="true" /> <name-additional nil="true" /> <name-given>Allison</name-given> <name-family>Livingston</name-family> <name-fullname nil="true" /> <notes nil="true" /> <created-by> <id type="integer">1</id> <login>coupasupport</login> <email>upgrade@coupa.com</email> <employee-number nil="true" /> <firstname>Coupa</firstname> <lastname>Support</lastname> <salesforce-id nil="true" /> <mycustom-userfield /> </created-by> <updated-by> <id type="integer">1</id> <login>coupasupport</login> <email>upgrade@coupa.com</email> <employee-number nil="true" /> <firstname>Coupa</firstname> <lastname>Support</lastname> <salesforce-id nil="true" /> <mycustom-userfield /> </updated-by> </primary-contact> <primary-address> <id type="integer">4</id> <created-at type="datetime">2008-10-27T12:56:39-07:00</created-at> <updated-at type="datetime">2009-08-20T09:35:04-07:00</updated-at> <name>Amazon.com</name> <street1>1516 2nd Ave</street1> <street2 /> <city>Seattle</city> <state>WA</state> <postal-code>98101</postal-code> <attention nil="true" /> <active type="boolean">true</active> <business-group-name nil="true" /> <country> <id type="integer">223</id> <code>US</code> <name>United States</name> </country> <created-by> <id type="integer">1</id> <login>coupasupport</login> <email>upgrade@coupa.com</email> <employee-number nil="true" /> <firstname>Coupa</firstname> <lastname>Support</lastname> <salesforce-id nil="true" /> <mycustom-userfield /> </created-by> <updated-by> <id type="integer">16</id> <login>rohit</login> <email>rohit.jalisatgi@coupa.com</email> <employee-number /> <firstname>Rohit</firstname> <lastname>Jalisatgi</lastname> <salesforce-id nil="true" /> <mycustom-userfield /> </updated-by> </primary-address> </supplier> <content-groups type="array"> <content-group> <id type="integer">1</id> <created-at type="datetime">2006-08-27T19:40:04-07:00</created-at> <updated-at type="datetime">2013-03-29T21:11:14-07:00</updated-at> <name>Everyone</name> <description>All users can see documents assigned to this group</description> <updated-by> <id type="integer">1</id> <login>coupasupport</login> <email>upgrade@coupa.com</email> <employee-number nil="true" /> <firstname>Coupa</firstname> <lastname>Support</lastname> <salesforce-id nil="true" /> <mycustom-userfield /> </updated-by> </content-group> <content-group> <id type="integer">6</id> <created-at type="datetime">2013-10-09T10:15:01-07:00</created-at> <updated-at type="datetime">2013-10-09T10:15:01-07:00</updated-at> <name>What Pattern</name> <description nil="true" /> <created-by> <id type="integer">69</id> <login>coupasupport+rohitdemo@coupa.com</login> <email>coupasupport+rohitdemo@coupa.com</email> <employee-number nil="true" /> <firstname>Integration</firstname> <lastname>User</lastname> <salesforce-id nil="true" /> <mycustom-userfield /> </created-by> <updated-by> <id type="integer">69</id> <login>coupasupport+rohitdemo@coupa.com</login> <email>coupasupport+rohitdemo@coupa.com</email> <employee-number nil="true" /> <firstname>Integration</firstname> <lastname>User</lastname> <salesforce-id nil="true" /> <mycustom-userfield /> </updated-by> </content-group> </content-groups> <schedule> <day0>anytime</day0> <day1>anytime</day1> <day2>anytime</day2> <day3>anytime</day3> <day4>anytime</day4> <day5>anytime</day5> <day6>anytime</day6> </schedule> <contract-terms type="array" /> <created-by> <id type="integer">1</id> <login>coupasupport</login> <email>upgrade@coupa.com</email> <employee-number nil="true" /> <firstname>Coupa</firstname> <lastname>Support</lastname> <salesforce-id nil="true" /> <mycustom-userfield /> </created-by> <updated-by> <id type="integer">69</id> <login>coupasupport+rohitdemo@coupa.com</login> <email>coupasupport+rohitdemo@coupa.com</email> <employee-number nil="true" /> <firstname>Integration</firstname> <lastname>User</lastname> <salesforce-id nil="true" /> <mycustom-userfield /> </updated-by> </contract>

すべての契約を見つける検索

https ://<instance>/api/contracts/

非アクティブな契約を見つけるための検索

/api/contracts? status =<

特定のサプライヤーの契約を調べるための検索

https ://<instance>/api/contracts? number =<>& name =<>& supplier [primary_address [city ]]=<>

https ://<instance>/api/contracts? supplier [primary_address [city]] = < >

契約の作成 – 非アクティブなステータス

この例では、非アクティブなステータスの契約を作成しています。 コンテンツグループの参照オブジェクトには、CoupaのシステムIDを使用しています。

以下のURLに対してPOSTしました。
https ://<instance url>/api/contracts.
これにより、ステータスが「非アクティブ」の契約が作成されました
<?xml version="1.0" encoding="UTF-8"?> <contract> <name>YRIAmazon.com</name> <number>119</number> <start-date>2014 -04 -01 T 17:00:00 - 07:00</start-date> <end-date>2014 -04 -26 T 17:00:00 - 07:00</end-date> <status>非アクティブ</status> <supplier> <name>Amazon.com</name> </supplier> <content-groups> <content-group> <id>1</id> <name>全員</name> <description>すべてのユーザーは、このグループに割り当てられたドキュメントを見ることができます</description> </content-group> </content-groups> </contract>

契約API PUTの例

契約の���テータス更新のサンプルコード
<?xml version="1.0" encoding="UTF-8"?> <contract> <id>73</id> <status>公開済み</status> </contract>

契約名を更新するためのサンプルコード

<?xml version="1.0" encoding="UTF-8"?> <contract> <name>Amazon.com</name> </contract>

既存の契約にレートカードラインを追加する

既存の契約に価格表示明細を追加して、サービス購買の価格を定義できます。

  • エンドポイント: /api/contracts/<contract_id>
  • メソッド: PATCH
リクエストの本文の例:
{" id ": <contract_id>," rate_card ":{" rateable_id ": <contract_id>," rateable_type ":" Contract "," line_object_type ":" rate_card_line "," line_object_parent_type ":" rate_card "," rate_card_lines ":[// There could be "rate_card ": <rate_card_line_id> // there could be this parameter if creating a new line" name ": <name>," code ": <code>," rate_card_line_type ": <rate_card_line_type_id>," price ": <price>," currency ":{" id ": <id>," code ": <code> }," uom ":<uom>," id_num ": <rate_card_line_id>,/// ignore this parameter if creating a new line "rate_card_type ": 2 // 2 for Contracts}]}