• 最終編集日時: 16 December 2016

CoupaのXMLとJSONの違い

JSONのデータ型

JSONの場合、Coupaはnull、boolean、number、およびstringをサポートします。 精度、バージョン、および同様の値は数値データ型を使用します。たとえば、小数点精度は文字列です。 明示的に呼び出されていないすべての値は、文字列型を使用します。  

JSONとXMLの使用時のCoupaのREST APIの動作には、4つの違いがあります。

1. JSONは親ノードを使用しません

XMLでは、応答の最初と最後に親ノードを取得します。 JSONでは、応答で利用できる親ノードがありません。

XML応答

<?xml version="1.0" encoding="UTF-8"?>
<account>
	 <id type="integer">41</id>
	 <created-at type="dateTime">2016-10-07T06:56:43-07:00</created-at>
	 <updated-at type="dateTime">2016-10-07T06:56:43-07:00</updated-at>
	 <name>account_1475848602.731066227</name>
	 <code>segment11475848602928</code>
	 <active type="boolean">true</active>
	 <segment-1>segment11475848602928</segment-1>
	 <segment-2 nil="true" />
	 ---------------------------------------------
</account>

JSONResponse

{
	 "id": 43,
	 "created-at": "2016-10-07T06:59:46-07:00",
	 "updated-at": "2016-10-07T06:59:46-07:00",
	 "name": "account_1475848721.456090234",
	 "code": "segment11475848721222",
	 "active": true,
	 "segment-1": "segment11475848721222"
}

2. 結果がない場合の異なる回答

GETクエリに一致する結果がない場合、XML応答は404エラーをスローし、JSON応答は空白の配列を提供します。

取得: https://dashmaster17-0.coupadev.com/api/accounts?id=NON_EXISTING

XML応答

<?xml version="1.0" encoding="UTF-8"?>
<errors>
	 <error>No results match your search criteria.</error>
</errors>

JSON取得API

 [ ]

3. エラーメッセージの異なるノード

XML応答

 <?xml version="1.0" encoding="UTF-8"?>
<errors>
	 <error>Segment 1 - Cost Center can't be blank.</error>
</errors>

JSON応答

{
	 "errors": {
			"account": [
				 "Segment 1 - Cost Center can't be blank"
			]
	 }
}

4. 住所の国API呼び出しごとに異なる応答

以下は、POST APIコールの2つの応答セットです。 http://localhost:3000/api/addresses

XML応答

<?xml version="1.0" encoding="UTF-8"?>
<address>
	 <id type="integer">97</id>
	 <created-at type="dateTime">2016-10-07T07:19:07-07:00</created-at>
	 <updated-at type="dateTime">2016-10-07T07:19:07-07:00</updated-at>
	 <name>address_1475849947.739228964</name>
	 <location-code nil="true" />
	 <street1>2 W 5th Ave</street1>
	 --------------------------------
	 <country>
				
			<id type="integer">223</id>
				
			<code>US</code>
				
			<name>United States</name>
	 </country>
	 --------------------------------
</address>

JSON応答

{
	 "id": 99,
	 "name": "address_1475850128.91",
	 "street1": "2 W 5th Ave",
	 "street2": "Suite 300",
	 "city": "San Mateo",
	 "state": "CA",
	 "postal_code": "94404",
	 "country_id": 223,
	 "address_owner_type": "BusinessGroup",
	 "parent_address_id": null,
	 "country": "United States"
}

このページに表示されている一部、または全ての内容は、機械翻訳によるものです。ご了承ください。

関連アイテム


Coupa Core API

CoupaのRESTful APIは、お客様のデータをCoupaプラットフォームで読み取り、編集し、統合するための堅牢なアクセスを提供します。

APIの開始

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

OAuth 2.0およびOIDCへの移行

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

リソース

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