請求書支払APIの通話例
インボイス支払PUT
以下では、Coupa APIを使用して支払い情報を含む請求書を更新する方法について説明します
Uberの請求書支払いAPIを使用すると、次の2つのことができます。
- 3つの属性を持つ請求書を更新します。支払日、支払日、支払メモ。
Coupaはもともと、これらの請求書フィールドに情報を入力することを許可していました。複数の支払いがある場合は、支払いメモに2番目の支払い情報を追加する必要があります。 - これで、支払い情報の配列を使用して請求書を更新することができます。支払日、注記(小切手番号)、支払額。これにより、1つの請求書に複数の支払日、小切手番号、支払額を割り当てることができます。
顧客からのフィードバックにより、1つの請求書に支払いデータのセットを追加することの価値を確認できました。一部の顧客は、まだ請求書を更新するための元の方法を使用しているため、支払情報を使用して請求書を更新する両方の方法をサポートすることにしました。
この情報を入力できるURLは次のとおりです。
<your_instance_URL>/api/invoices/<invoice id>
- 通常、請求書番号とサプライヤーを使用して、PUTで使用するための正しい請求書IDを見つけます
PUTコールを使用して、Invoice Payments API (../invoices/<invoice_id>
endpoint)を使用して、既存の請求書に支払いをポストできます。PUTのペイロードは、いくつかの受け入れ可能な形式のいずれかを使用して、XMLまたはJSONのいずれかの形式にすることができます。
次のURLに投稿しました。「https ://.coupahost.com/api/invoices/」を<instance>入力<invoice id>
例:支払情報を既存の請求書に追加
次の例では、次のフィールドを使用して、既存の請求書に支払い情報を追加しています。支払日、フラグ、支払メモ、支払日。
ペイロード( XMLまたはJSON )を次のURLに投稿しました: https<instance> ://.coupahost.com/api/invoices/<invoice id>
ペイロードは、このインターフェースを使用して支払いをプログラム的に記録するために使用されるいくつかのサポートされている形式のいずれかにすることができます。以下にいくつかの例を示します。
XMLペイロードの例
以下は、引き続きサポートされているXMLペイロードスキーマの一例です。
<?xml version="1.0" encoding="UTF-8"?>
<invoice-header>
<paid type="boolean">true</paid>
2009 <payment-date type="datetime">-06 -23 T 00:00:00 - 08:00</payment-date>
<payment-notes>小切手| # 1003 |米ドル| 989.00 |全額支払い済み|</payment-notes>
<payments type="array">
<payment>
<amount-paid>989.00</amount-paid>
<notes>1003</notes>
<payment-date>2009 -06 -23</payment-date>
</payment>
</payments>
</invoice-header>
XMLペイロードの別の例を次に示します。
<?xml version="1.0" encoding="UTF-8"?>
<invoice-header>
<invoice-date type="datetime">"2019 -10 -22 00:00:00 -0900"</invoice-date>
<invoice-number>Invoice_Number_1571292051.310760975</invoice-number>
<payments type="array">
<payment>
<amount-paid>5.00</amount-paid>
<notes>1003</notes>
<payment-date>2019 -10 -22</payment-date>
</payment>
</payments>
</invoice-header>
以下は、XMLを使用した複数回の支払いの例です。
<?xml version="1.0" encoding="UTF-8"?>
<invoice-header>
<payments type="array">
<payment>
<amount-paid>4.00</amount-paid>
<notes>1003</notes>
<payment-date>2009 -06 -23</payment-date>
</payment>
<payment>
<amount-paid>5.00</amount-paid>
<notes>1004</notes>
<payment-date>2009 -06 -23</payment-date>
</payment>
</payments>
</invoice-header>
そして、支払いメモを使用して複数の小切手番号で既存の請求書を更新する古いXMLペイロードの例(まだサポートされています)。これは以下のフィールドを使用しています:支払日、小切手番号、支払日。
<?xml version="1.0" encoding="UTF-8"?>
<invoice-header>
<paid type="boolean">true</paid>
2009 <payment-date type="datetime">-06 -23 T 00:00:00 - 08:00</payment-date>
<payment-notes>小切手| # 1003 |米ドル| 989.00 |全額支払い済み|</payment-notes>
<payments type="array">
<payment>
<amount-paid type="decimal" nil="true">100.23</amount-paid>
<notes nil="true">232</notes>
2010 <payment-date type="datetime" nil="true">-09 -25 T 02:22:11 Z</payment-date>
</payment>
<payment>
<amount-paid type="decimal" nil="true">9032.32</amount-paid>
<notes nil="true">233</notes>
2010 <payment-date type="datetime" nil="true">-09 -25 T 02:22:11 Z</payment-date>
</payment>
</payments>
</invoice-header>
JSONペイロードの例
JSONペイロードを使用するには、次の例の1つをフォーマットモデルとして使用できます。
データフォーマット1 :
{
"payments ":
{
"支払":
{" CHECK_NUMBER ":"1234567 "," AMOUNT_PAID ":"199.98 "," notes ":"String "," payment_date ":「2019年9月12日」}
},
"PAID ":" FALSE ",
"payment_date ":"2019年9月11日",
"payment_notes ":「1つの支払小切手で部分的に支払う」
}
データフォーマット2 :
{
"支払":
{
"PAYMENT ": [
{" check_number ":" test_check_number "," amount_paid ":"510 "," notes ":"A payment note "," payment_date ":"2019年9月12日"}、
{" check_number ":" test_check_number "," amount_paid ":"53 "," notes ":"A payment note "," payment_date ":「2019年9月11日」}]
},
"PAID ":" FALSE ",
"payment_date ":"2019年9月11日",
"payment_notes ":「2つの小切手で1つの部分的な支払い。」
}
データ形式3 :
{
"payments ": [
{" check_number ":" test_check_number "," amount_paid ":"510 "," notes ": "payment_note "," payment_date ":"2019年9月12日"}、
{" check_number ":" test_check_number "," amount_paid ":"53 "," notes ": "payment_note "," payment_date ":「2019年9月11日」}
],
"PAID ":" FALSE ",
"payment_date ":"2019年9月11日",
"payment_notes ":「2つの支払いと2つの小切手。」
}
データフォーマット4 :
{
"PAID ":" TRUE ",
"payment - date ":"2019 -08 -13 T 00:00:00 Z ",
"payment - notes ":" eProcバウチャー# TRM -19 -0009584 - PV/THB ",
"payments ": {
"PAYMENT ": [
{
"payable - type ":"InvoiceHeader ",
"payable - id ":"4835 ",
"AMOUNT - PAID ":"49.00 ",
"NOTES ":"TRM -19 -0009584 - PV ",
"payment - date ":"2019 -08 -13 T 00:00:00 Z"
},
{
"payable - type ":"InvoiceHeader ",
"payable - id ":"4835 ",
"AMOUNT - PAID ":"51.00 ",
"NOTES ":"TRM -19 -0009584 - PV ",
"payment - date ":"2019 -08 -13 T 00:00:00 Z"
}
]
}
}
返品
成功したリクエストは次のように返されます。HTTP 200が作成されました
。応答の本文には、支払い情報と更新された請求書が含まれます。
失敗したリクエストは次のように返されます。HTTP 400不適切な申請
。応答の本文には、XML形式の検証エラーが含まれます。
フィールド定義
名前 | 必須ですか? | タイプ | 許容値 | 説明 |
支払われました | いいえ | boolean | 真または偽 | これは請求書ヘッダーの有料フィールドです。真または偽の値に設定されています。 |
payment - date | いいえ | 日時 | YYYY - MM - DDTHH: MM: SS + HH: MM | 支払いが行われた日時 |
payment - notes | いいえ | テキスト | 説明またはメモ(存在する場合) | これらは、お支払い情報の一部として追加できるメモです。 |
<payments> | 支払配列が開始されます | |||
<payment> | 支払分割払い | |||
支払われた金額 | no | 小数 | 2小数点以下 | これは、支払配列の一部として支払われた金額です。 |
メモまたは小切手 番号 |
いいえ | 文字列 | 取引データ | 支払のためにキャプチャされた小切手または取引または支払情報。このフィールドは置き換えられました <check-number>。非推奨タグに送信されたデータはすべて、メモフィールドに保存されます。チェック#タグは、Coupaインスタンスに入力されます。(使用<check-number>することもできます)。 |
payment - date | いいえ | テキスト | YYYY - MM - DDTHH: MM: SS + HH: MM | 支払いが行われた日時 |
</payment> | ||||
</payments> | 支払配列が終了 |