Structure CCO (Common Communication Object)
CCO (Common Communication Object) est une structure JSON utilisée pour gérer le transfert de données au sein de ThingWorx Navigate. Elle contient des données et des métadonnées sur une ou plusieurs instances du système principal et les objets récupérés à partir de ces systèmes.
Structure 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":""
}
Nom de la propriété
Description
version
Version de la structure CCO utilisée.
Propriété de type chaîne.
data
Informations récupérées à partir des systèmes principaux.
Propriété de type chaîne.
adapter
Contient des informations sur l'instance système principale à partir de laquelle les données sont récupérées.
thingName
Nom de l'objet d'adaptateur qui représente le système principal dans ThingWorx Navigate.
Propriété de type chaîne.
instanceName
Nom de l'instance spécifique du système principal.
Propriété de type chaîne.
ItemListsData
Liste des éléments et des métadonnées. Les éléments à l'intérieur de chaque instance de la liste doivent avoir le même type d'objet.
objectType
Type des objets récupérés.
Propriété de type chaîne.
items
Liste des éléments et des valeurs d'élément.
value
Valeur de l'élément spécifique.
Propriété de type chaîne.
metadata
Informations relatives aux attributs, communes à tous les éléments.
typeData
Informations supplémentaires sur objectType. Très rarement utilisé.
Propriété de type objet JSON.
status
Statut de récupération des données.
Propriété de type chaîne.
statusMessage
Message concernant le statut de la récupération des données.
Propriété de type chaîne.
timeStamp
Horodatage de la récupération des données.
Propriété de type chaîne.
Exemples de structure CCO
1. L'exemple suivant inclut un élément avec un type d'objet.
{
"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'exemple suivant inclut un élément avec deux types d'objet différents. Etant donné que chaque tableau items ne contient qu'un seul objet, il n'affiche qu'un élément.
{
"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'exemple suivant inclut deux éléments avec un type d'objet. Etant donné que chaque tableau items contient deux objets, il affiche deux éléments.
{
"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'exemple suivant inclut deux éléments avec deux types d'objet. Etant donné que chaque tableau items contient deux objets, il affiche deux éléments.
{
"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"
}
Est-ce que cela a été utile ?