Common Communication Object 結構
Common Communication Object (CCO) 是用來在 ThingWorx Navigate 中管理資料傳輸的 JSON 結構。其中包含有關後端系統之一或多個實例的資料與中繼資料,以及從這些系統中擷取的物件。
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 後端系統之轉接器物件的名稱。
內容類型為字串。
|
instanceName
|
後端系統之特定實例的名稱。
內容類型為字串。
|
ItemListsData
|
項目與中繼資料的清單。此清單中每個實例內的項目都必須具有相同的物件類型。
|
objectType
|
所擷取物件的類型。
內容類型為字串。
|
items
|
項目與項目值的清單。
|
value
|
特定項目的值。
內容類型為字串。
|
metadata
|
關於屬性的資訊,通用於所有項目。
|
typeData
|
關於 objectType 的其他資訊。僅在極少數情況下使用。
內容類型為 JSON 物件。
|
status
|
資料擷取的狀況。
內容類型為字串。
|
statusMessage
|
關於資料擷取狀況的訊息。
內容類型為字串。
|
timeStamp
|
資料擷取的時間戳記。
內容類型為字串。
|
CCO 結構範例
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. 下列範例包含一個具有兩種不同物件類型的項目。由於每個 items 陣列都僅包含一個物件,因此有一個項目。
{
"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. 下列範例包括兩個具有一種物件類型的項目。由於每個 items 陣列都包含兩個物件,因此有兩個項目。
{
"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. 下列範例包括兩個具有兩種物件類型的項目。由於每個 items 陣列都包含兩個物件,因此有兩個項目。
{
"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"
}