Struttura CCO (Common Communication Object)
Common Communication Object (CCO) è una struttura JSON utilizzata per gestire il trasferimento dei dati all'interno di ThingWorx Navigate. Contiene dati e metadati in una o più istanze del sistema di back-end e gli oggetti recuperati da tali sistemi.
Struttura 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":""
}
Nome proprietà
Descrizione
version
Versione della struttura CCO utilizzata.
Tipo di proprietà: stringa.
data
Informazioni recuperate dai sistemi di back-end.
Tipo di proprietà: stringa.
adapter
Contiene informazioni sull'istanza del sistema di back-end da cui vengono recuperati i dati.
thingName
Nome dell'oggetto dell'adattatore che rappresenta il sistema di back-end in ThingWorx Navigate.
Tipo di proprietà: stringa.
instanceName
Nome di un'istanza specifica del sistema di back-end.
Tipo di proprietà: stringa.
ItemListsData
Elenco di elementi e metadati. Gli elementi all'interno di ciascuna istanza dell'elenco devono appartenere allo stesso tipo di oggetto.
objectType
Tipo di oggetto che viene recuperato.
Tipo di proprietà: stringa.
items
Elenco di elementi e relativi valori.
value
Valore di un elemento specifico.
Tipo di proprietà: stringa.
metadata
Informazioni sugli attributi comuni a tutti gli elementi.
typeData
Informazioni aggiuntive su objectType. Proprietà usata solo in alcuni casi specifici.
Tipo di proprietà: oggetto JSON.
status
Stato del recupero dei dati.
Tipo di proprietà: stringa.
statusMessage
Messaggio relativo allo stato del recupero dei dati.
Tipo di proprietà: stringa.
timeStamp
Data e ora del recupero dei dati.
Tipo di proprietà: stringa.
Esempi di struttura CCO
1. L'esempio seguente include un elemento con un tipo di oggetto.
{
"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. L'esempio seguente include un elemento con due tipi di oggetto diversi. Poiché ogni matrice items contiene un solo oggetto, è presente un elemento.
{
"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. L'esempio seguente include due elementi con un tipo di oggetto. Poiché ogni matrice items contiene due oggetti, sono presenti due elementi.
{
"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. L'esempio seguente include due elementi con due tipi di oggetto. Poiché ogni matrice items contiene due oggetti, sono presenti due elementi.
{
"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"
}
È stato utile?