複数の X-Id を伴う SmartREST の使用

SmartREST は、同一リクエスト内に異なる複数の X-Id が存在する場合でも、メッセージの送信を行うことができます。この場合、X-Id ヘッダーは入力せず、代わりに本文に個々の X-Id をそれぞれに対応する行に入力することになる追加情報を含めます。

メッセージの送信

X-Id を本文中で指定するには、次の行を記述します。

15,myxid

次の X-Id 行を入力するまで、後続の行は指定された X-Id で処理されます。

15,myxid1
...
...
15,myxid2
...

メッセージの受信

複数の X-Id を用いてリクエストした場合、レスポンスにも複数の X-Id のレスポンスが含まれます。レスポンスには、後続行がどの X-Id に属するものかを示す追加行が含まれます。

この行の 2 番目の値は、当該 X-Id に続く行数を意味します。

87,2,myxid1
...
...
87,1,myxid2
...

テンプレートが登録済みか否かの確認

X-Id 行を本文に含めることで、テンプレートがすでに存在するか確認することができます。

15,myxid1
15,myxid2
15,myxid3
15,myxid4

すべての行について、登録プロセス時に記載のようなレスポンスが返されます。次が例となります。

20,12345
20,12346
40,"No template for this X-ID."
20,12347

テンプレートの登録

テンプレート登録でも、本文中で X-Id を使用することができます。したがって、1 回のリクエストで複数のテンプレートを作成することができます。

15,myxid1
10,100,POST,/inventory/managedObjects,application/vnd.com.nsn.cumulocity.managedObject+json,application/vnd.com.nsn.cumulocity.managedObject+json,,,"{""name"":""Test Device"",""type"":""com_example_TestDevice"",""c8y_IsDevice"":{}}"
11,201,,"$.c8y_IsDevice","$.id"
15,myxid2
10,100,POST,/inventory/managedObjects,application/vnd.com.nsn.cumulocity.managedObject+json,application/vnd.com.nsn.cumulocity.managedObject+json,,,"{""name"":""Test Device"",""type"":""com_example_TestDevice"",""c8y_IsDevice"":{}}" 
11,201,,"$.c8y_IsDevice","$.id"