発注書APIの呼び出しの例
発注書GETクエリオプション
発注書APIを使用してクエリし、必要な結果セットを取得する方法の詳細な例を次に示します。
このクエリは、以前にエクスポートされていないPOを含むすべてのPOSを返します。
https :/// api<instance url>/purchase_orders? exported = false
このクエリは、2011年1月1日12:00:00以降に作成されたすべての注文を返します。
https :/// api<instance url>/purchase_orders? created - at [gt] = 2011 -01 -01 T 12:00:00
このクエリは、2011年1月1日以降に作成された、エクスポートされていないすべてのPOを返します。
https :/// api<instance url>/purchase_orders? exportED = false&created_at [gt] = 2011 -01 -1
このクエリは、サプライヤーABSサービス1のすべての非エクスポートPOを返します。
https :/// api<instance url>/purchase_orders? exported = false&supplier [name] = ABS Services 1
このクエリは、POメソッドがcXMLに設定され、バイヤードメイン値に「domain」という単語が含まれているすべてのサプライヤーを返します。
https :// api<instance url>/suppliers? po - method = cxml&cxml - domain [contains ]= domain
このクエリは、cXML請求書発行が許可され、サプライヤードメイン値のcXML請求書設定に「サプライヤー」という単語が含まれているすべてのサプライヤーを返します。
https ://.coupahost.com/api/suppliers?allow-cxml-invoicing=true&cxml-supplier-domain [contains<instance> ]= supplier
このクエリは、主な連絡先メールアドレスに「coupa.com」の値とチャールストンのサプライヤーの住所が含まれているすべてのサプライヤーを返します。
https :///api<instance url>/suppliers? primary - contact [email] [contains] = coupa.com&primary - address [city] = Charleston
このクエリは、システムで5つ以上のユーザーレビューを持つすべてのサプライヤーを返します。
https :/// api<instance url>/suppliers? reviews - count [gt] = 5
このクエリは、支払い方法が「pcard」で、ステータスが「closed」と等しくないすべての発注を返します
https :/// api<instance url>/purchase_orders? payment_method = pcard&status [not_eq] = closed
発注書の取得
この例では、1つの発注書レコード番号2400を
URLへのアクセスを行いました。
https :///api<instance url>/purchase_orders/2400
または
https :///api<instance url>/purchase_orders? id = 2400
検索条件に一致する回答は次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<order-headers type="array">
<order-header>
<acknowledged-flag type="boolean">偽</acknowledged-flag>
2010 <created-at type="datetime">-12 -21 T 12:08:43 - 08:00</created-at>
<id type="integer">2400</id>
<status>発行済み</status>
<transmission-status>sent_via_email</transmission-status>
2010 <updated-at type="datetime">-12 -21 T 14:16:03 - 08:00</updated-at>
<version type="integer">1</version>
<exported type="boolean">偽</exported>
<attachment type="integer" />
<received type="boolean" />
<custom-field-2 type="string" />
<buyer type="string" />
<custom-field-4 type="string" />
<date type="datetime" />
<project2 type="string">DBA 1</project2>
<created-by>
<email>upgrade90@coupa.com</email>
<employee-number />
<firstname>Coupa</firstname>
<id type="integer">1</id>
<lastname>サポート</lastname>
<login>coupasupport</login>
</created-by>
<requisition-header>
<id type="integer">1902</id>
<requester>
<email>upgrade90@coupa.com</email>
<employee-number />
<firstname>Coupa</firstname>
<id type="integer">1</id>
<lastname>サポート</lastname>
<login>coupasupport</login>
</requester>
</requisition-header>
<ship-to-address>
<attention />
<city>レッドウッドシティ</city>
<id type="integer">1</id>
<name nil="true" />
<postal-code>94029</postal-code>
<state>カナダ</state>
<street1>250シカモア・アベニュー</street1>
<street2 />
<country>
<code>US</code>
<id type="integer">223</id>
<name>米国</name>
</country>
</ship-to-address>
<ship-to-user>
<email>upgrade90@coupa.com</email>
<employee-number />
<firstname>Coupa</firstname>
<id type="integer">1</id>
<lastname>サポート</lastname>
<login>coupasupport</login>
</ship-to-user>
<supplier>
<id type="integer">2</id>
<name>ABSサービス1</name>
<number>28</number>
<primary-contact>
<email>ben.mlynash@coupa.com</email>
<id type="integer">327</id>
<name-additional nil="true" />
<name-family>ロドリゲス</name-family>
<name-fullname nil="true" />
<name-given>Paul</name-given>
<name-prefix nil="true" />
<name-suffix nil="true" />
<notes nil="true" />
<phone-fax>
<area-code>232</area-code>
<country-code>1</country-code>
<extension nil="true" />
<number>2321192</number>
</phone-fax>
</primary-contact>
<primary-address>
<attention nil="true" />
<city>パロアルト</city>
<id type="integer">385</id>
<name>ABSサービス1</name>
<postal-code>94301</postal-code>
<state>カナダ</state>
<street1>500メインストリート</street1>
<street2 />
<country>
<code>US</code>
<id type="integer">223</id>
<name>米国</name>
</country>
</primary-address>
</supplier>
<updated-by>
<email>upgrade90@coupa.com</email>
<employee-number />
<firstname>Coupa</firstname>
<id type="integer">1</id>
<lastname>サポート</lastname>
<login>coupasupport</login>
</updated-by>
<payment-term>
45日以内<code>の支払い</code>
<days-for-discount-payment type="integer" nil="true" />
<days-for-net-payment type="integer" nil="true" />
<discount-rate type="float" nil="true" />
<id type="integer">2</id>
</payment-term>
<shipping-term>
<code>UPS -アース</code>
<id type="integer">1</id>
</shipping-term>
<attachments />
<order-lines>
<order-line>
<accounting-total type="decimal">500.00</accounting-total>
2010 <created-at type="datetime">-12 -21 T 12:08:43 - 08:00</created-at>
第4四半期の<description>法務サービス</description>
<id type="integer">1325</id>
<invoiced type="float">0.00</invoiced>
<line-num type="integer">1</line-num>
2010 <need-by-date type="datetime">-12 -24 T 00:00:00 - 08:00</need-by-date>
<order-header-id type="integer">2400</order-header-id>
<price type="decimal">500.00</price>
<quantity type="float" />
<received type="float">0.00</received>
<source-part-num />
<status>受領済み</status>
<sub-line-num type="integer" />
<supp-aux-part-num />
<total type="decimal">500.00</total>
<type>OrderAmountLine</type>
2010 <updated-at type="datetime">-12 -30 T 13:03:56 - 08:00</updated-at>
<version type="integer" />
<options type="string" />
<family type="string" />
<family1 type="string" />
<test-date type="datetime" />
<tax-id type="string" />
<custom-field-2 type="boolean" />
<custom-field-1 type="boolean" />
<buyer type="string" />
<dept type="string" />
<account>
<active type="boolean">true</active>
01 -100<code> -8000</code>
<id type="integer">26</id>
<name>米国-マーケティング、資産</name>
<segment-1>01</segment-1>
<segment-10 nil="true" />
<segment-11 nil="true" />
<segment-12 nil="true" />
<segment-13 nil="true" />
<segment-14 nil="true" />
<segment-15 nil="true" />
<segment-16 nil="true" />
<segment-17 nil="true" />
<segment-18 nil="true" />
<segment-19 nil="true" />
<segment-2>100</segment-2>
<segment-20 nil="true" />
<segment-3>8000</segment-3>
<segment-4 nil="true" />
<segment-5 nil="true" />
<segment-6 nil="true" />
<segment-7 nil="true" />
<segment-8 nil="true" />
<segment-9 nil="true" />
<account-type>
<id type="integer">2</id>
<name>勘定科目表</name>
</account-type>
</account>
<accounting-total-currency>
<code>USD</code>
<id type="integer">1</id>
</accounting-total-currency>
<currency>
<code>USD</code>
<id type="integer">1</id>
</currency>
<commodity>
<active type="boolean">true</active>
2007 <created-at type="datetime">-11 -26 T 16:03:18 Z</created-at>
<id type="integer">2</id>
<name>事務用品</name>
2009 <updated-at type="datetime">-10 -08 T 23:45:03 Z</updated-at>
<created-by>
<email>bmlynash@gmail.com</email>
<employee-number>12</employee-number>
<firstname>ボブ</firstname>
<id type="integer">33</id>
<lastname>管理者</lastname>
<login>admin</login>
</created-by>
<updated-by>
<email>bmlynash@gmail.com</email>
<employee-number>12</employee-number>
<firstname>ボブ</firstname>
<id type="integer">33</id>
<lastname>管理者</lastname>
<login>admin</login>
</updated-by>
<category type="string" />
</commodity>
<created-by>
<email>upgrade90@coupa.com</email>
<employee-number />
<firstname>Coupa</firstname>
<id type="integer">1</id>
<lastname>サポート</lastname>
<login>coupasupport</login>
</created-by>
<supplier>
<id type="integer">2</id>
<name>ABSサービス1</name>
<number>28</number>
<primary-contact>
<email>ben.mlynash@coupa.com</email>
<id type="integer">327</id>
<name-additional nil="true" />
<name-family>ロドリゲス</name-family>
<name-fullname nil="true" />
<name-given>Paul</name-given>
<name-prefix nil="true" />
<name-suffix nil="true" />
<notes nil="true" />
<phone-fax>
<area-code>232</area-code>
<country-code>1</country-code>
<extension nil="true" />
<number>2321192</number>
</phone-fax>
</primary-contact>
<primary-address>
<attention nil="true" />
<city>パロアルト</city>
<id type="integer">385</id>
<name>ABSサービス1</name>
<postal-code>94301</postal-code>
<state>カナダ</state>
<street1>500メインストリート</street1>
<street2 />
<country>
<code>US</code>
<id type="integer">223</id>
<name>米国</name>
</country>
</primary-address>
</supplier>
<updated-by>
<email>upgrade90@coupa.com</email>
<employee-number />
<firstname>Coupa</firstname>
<id type="integer">1</id>
<lastname>サポート</lastname>
<login>coupasupport</login>
</updated-by>
<asset-tags />
<attachments />
</order-line>
</order-lines>
</order-header>
</order-headers>
発注書PUT (更新)
概要
当社の発注書APIを使用すると、ヘッダーカスタマーフィールドを更新したり、Coupaで既存の発注書の発注書を閉じたり、キャンセルしたりできます。また、明細レコードの追加、削除、および更新もサポートしています。
この情報を入力できるURLは次のとおりです。
https :/// api<instance url>/purchase_orders/<order id>
リクエストが
成功すると、HTTP 200 OKが返されます。応答の本文には、更新されたばかりのインボイスが含まれます。
要求が失敗すると、HTTP 400 Bad Requestが返されます。応答の本文には、XML形式の検証エラーが含まれます。
メモ
このAPIを使用すると、次のアクションを実行できます。
発注書を終了またはキャンセル
POは、次の要求と共にPUT要求をPOに行うことで、キャンセルに変更しようとすることができます。
発注を取り消し
<?xml version="1.0" encoding="UTF-8"?>
<order-header>
<_cancel>true</_cancel>
</order-header>
同様に、POは、次の要求と共にPUT要求をPOに行うことで、CLOSEDに変更を試みることができます。
発注書を終了
<?xml version="1.0" encoding="UTF-8"?>
<order-header>
<_close>true</_close>
</order-header>
どちらのアクションも、ユーザーがウェブサイトを介してリクエストしたかのように、すべての検証に従います。エラーは、応答本文に返されます。
発注品目を追加
PO明細は、以下のような要求によって既存のPOに追加することができます。
PO品目を追加
<?xml version="1.0" encoding="UTF-8"?>
<order-header>
<order-lines>
<order-line>
<type>OrderQuantityLine</type>
新しいアイテムの<description>ラインの説明</description>
<quantity>2</quantity>
<price>30.33</price>
<currency>
<code>USD</code>
</currency>
<account>
米国開発<code>コンサルティング</code>
<account-type>
<name>米国勘定科目表</name>
</account-type>
</account>
</order-line>
</order-lines>
</order-header>
ラインがすべての検証に合格すると、POバージョンが増分され、設定されている場合、サプライヤーは自動的にPOの新しいバージョンを受け取ります。
発注品目を編集する
注文明細要素に明細ID番号を含めることで、既存の発注明細を編集できます。
既存の発注品目を編集
<?xml version="1.0" encoding="UTF-8"?>
<order-header>
<order-lines>
<order-line>
<id>213</id>
アイテムの説明<description>を更新</description>
<quantity>5</quantity>
<price>35.33</price>
<account>
米国-セールス-<code>コンサルティング</code>
<account-type>
<name>米国勘定科目表</name>
</account-type>
</account>
カスタムフィールド値<some-custom-field>を更新</some-custom-field>
</order-line>
</order-lines>
</order-header>
変更内容に応じて、POの新しいバージョンが作成され、サプライヤーに送信される場合があります。これらの変更の中には、注文された数量、単価、または商品の変更が含まれます。その他の変更は、アカウントの変更など、サプライヤーへの再送信をトリガーしない場合があります。
PO品目を削除する
既存の発注明細を削除するには、削除する明細IDと削除要求の両方を注文明細要素に渡します。
発注品目を削除
<?xml version="1.0" encoding="UTF-8"?>
<order-header>
<order-lines>
<order-line>
<id>3214</id>
<_delete>true</_delete>
</order-line>
</order-lines>
</order-header>
この変更により、新しい発注書バージョンが作成され、発注書が再送信されます。
既存の発注への新しい明細の追加
アカウンティング付きの新しい発注明細を追加します。アカウント情報を含む新しい行を追加する場合は、特にセグメントに特別な文字が含まれている場合は、アカウントコードの値と個々のセグメントを送信することをお勧めします。
<?xml version="1.0" encoding="UTF-8"?>
<order-header>
<id>4552</id>
<order-lines>
<order-line>
<type>OrderQuantityLine</type>
<description>テスト</description>
2015 <need-by-date>-02 -05 T 00:00:00</need-by-date>
<price>20.00</price>
<quantity>2.000000</quantity>
<account>
<code>51110000 - N/A --61 W 2/07001 O 001 -1 -002</code>
<segment-1>51110000</segment-1>
<segment-2>該当なし</segment-2>
<segment-3 />
61 W<segment-4> 2/07001 O 001 -1 -002</segment-4>
</account>
<currency>
<code>USD</code>
</currency>
<commodity>
<name>01080001 51236000 & C棟</name>
</commodity>
<uom>
<code>EA</code>
</uom>
</order-line>
</order-lines>
</order-header>