Common Communication Object の構造
Common Communication Object は CCO とも呼ばれ、ThingWorx Navigate 内でデータ転送を管理するために使用される JSON 構造です。これには、バックエンドシステムの 1 つ以上のインスタンス、およびこれらのシステムから取得されたオブジェクトのデータとメタデータが含まれています。
CCO 構造
{
"version":"1.0.0",
"data":[
{
"adapter":{
"thingName":"",
"instanceName":""
},
"itemListsData":[
{
"objectType":"",
"items":[
{
"id":{
"value":""
},
"Name":{
"value":""
}
}
],
"metadata":{
"id":{
"label":"",
"type":""
},
"Name":{
"label":"",
"type":""
}
},
"typeData":{
}
}
]
}
],
"status":"",
"statusMessage":"",
"timeStamp":""
}
プロパティ名
説明
version
使用されている CCO 構造のバージョン。
プロパティタイプは文字列です。
data
バックエンドシステムから取得された情報。
プロパティタイプは文字列です。
adapter
データを取得するバックエンドシステムインスタンスに関する情報が含まれています。
thingName
ThingWorx Navigate のバックエンドシステムを表すアダプタ Thing の名前。
プロパティタイプは文字列です。
instanceName
バックエンドシステムの特定のインスタンスの名前。
プロパティタイプは文字列です。
ItemListsData
アイテムとメタデータのリスト。リストの各インスタンス内のアイテムは、同じオブジェクトタイプでなければなりません。
objectType
取得されるオブジェクトのタイプ。
プロパティタイプは文字列です。
items
アイテムとアイテムの値のリスト。
value
特定のアイテムの値。
プロパティタイプは文字列です。
metadata
すべてのアイテムに共通する属性に関する情報。
typeData
objectType に関する追加情報。まれなケースにのみ使用されます。
プロパティタイプは JSON オブジェクトです。
status
データ取得のステータス。
プロパティタイプは文字列です。
statusMessage
データ取得のステータスに関するメッセージ。
プロパティタイプは文字列です。
timeStamp
データ取得のタイムスタンプ。
プロパティタイプは文字列です。
CCO 構造の例
1. 次の例では、1 つのオブジェクトタイプを持つ 1 つのアイテムが含まれています。
{
"version":"1.0.0",
"data":[
{
"adapter":{
"thingName":"PTC.WCAdapter",
"instanceName":"windchill"
},
"itemListsData":[
{
"objectType":"PTC.ChangeMgmt.ChangeRequest",
"items":[
{
"id":{
"value":"OR:wt.change2.WTChangeRequest2:258323"
},
"Name":{
"value":"CR"
}
}
],
"metadata":{
"id":{
"label":"Id",
"type":"string"
},
"Name":{
"label":"Change Request Name",
"type":"string"
}
}
}
]
}
],
"status":"200",
"statusMessage":"OK",
"timeStamp":" 2019-01-02 06:43:19.77"
}
2. 次の例では、2 つの異なるオブジェクトタイプを持つ 1 つのアイテムが含まれています。各 items 配列にはオブジェクトが 1 つだけ含まれているため、1 つのアイテムになります。
{
"version":"1.0.0",
"data":[
{
"adapter":{
"thingName":"PTC.WCAdapter",
"instanceName":"windchill"
},
"itemListsData":[
{
"objectType":"PTC.ChangeMgmt.ChangeRequest",
"items":[
{
"id":{
"value":"OR:wt.change2.WTChangeRequest2:258323"
},
"Name":{
"value":"CR"
}
}
],
"metadata":{
"id":{
"label":"Id",
"type":"string"
},
"Name":{
"label":"Change Request Name",
"type":"string"
}
}
},
{
"objectType":"PTC.Workflow.WorkItem",
"items":[
{
"Category#Display":{
"value":"Cost Reduction"
},
"RequestPriority#Display":{
"value":"Low"
}
}
],
"metadata":{
"Category#Display":{
"label":"Category",
"type":"string"
},
"RequestPriority#Display":{
"label":"Request Priority",
"type":"string"
}
}
}
]
}
],
"status":"200",
"statusMessage":"OK",
"timeStamp":" 2019-01-02 06:43:19.77"
}
3. 次の例には、1 つのオブジェクトタイプを持つ 2 つのアイテムが含まれています。各 items 配列には 2 つのオブジェクトが含まれているため、2 つのアイテムになります。
{
"version":"1.0.0",
"data":[
{
"adapter":{
"thingName":"PTC.WCAdapter",
"instanceName":"windchill"
},
"itemListsData":[
{
"objectType":"PTC.ChangeMgmt.ChangeRequest",
"items":[
{
"id":{
"value":"OR:wt.change2.WTChangeRequest2:258323"
},
"Name":{
"value":"CR1"
}
},
{
"id":{
"value":"OR:wt.change2.WTChangeRequest2:32456"
},
"Name":{
"value":"CR2"
}
}
],
"metadata":{
"id":{
"label":"Id",
"type":"string"
},
"Name":{
"label":"Change Request Name",
"type":"string"
}
}
}
]
}
],
"status":"200",
"statusMessage":"OK",
"timeStamp":" 2019-01-02 06:43:19.77"
}
4. 次の例には、2 つのオブジェクトタイプを持つ 2 つのアイテムが含まれています。各 items 配列には 2 つのオブジェクトが含まれているため、2 つのアイテムになります。
{
"version":"1.0.0",
"data":[
{
"adapter":{
"thingName":"PTC.WCAdapter",
"instanceName":"windchill"
},
"itemListsData":[
{
"objectType":"PTC.ChangeMgmt.ChangeRequest",
"items":[
{
"id":{
"value":"OR:wt.change2.WTChangeRequest2:258323"
},
"Name":{
"value":"CR"
}
},
{
"id":{
"value":"OR:wt.change2.WTChangeRequest2:32456"
},
"Name":{
"value":"CR2"
}
}
],
"metadata":{
"id":{
"label":"Id",
"type":"string"
},
"Name":{
"label":"Change Request Name",
"type":"string"
}
}
},
{
"objectType":"PTC.Workflow.WorkItem",
"items":[
{
"Category#Display":{
"value":"Cost Reduction"
},
"RequestPriority#Display":{
"value":"Low"
}
},
{
"Category#Display":{
"value":"Cost Reduction"
},
"RequestPriority#Display":{
"value":"High"
}
}
],
"metadata":{
"Category#Display":{
"label":"Category",
"type":"string"
},
"RequestPriority#Display":{
"label":"Request Priority",
"type":"string"
}
}
}
]
}
],
"status":"200",
"statusMessage":"OK",
"timeStamp":" 2019-01-02 06:43:19.77"
}
これは役に立ちましたか?