REST Object API Read V1
Discouraged
With introduction of REST Object API Read V2 we discourage the usage of this version. Version 2 has improvements which optimize the performance of the api because the response is significantly smaller. Additionally to that, the structure is compatible with REST Object API Write
Read Requests
Single Item
URL Pattern |
/object/{entity-identifier}/{entity_item} |
||||||||||
Method |
GET |
||||||||||
Accept |
application/json application/xml (default) |
||||||||||
Example |
/rest/V1.0/object/Article/4711@1 /rest/V1.0/object/Article/'myItem'@'myCatalog' |
||||||||||
Return Codes |
|
Multiple Items (since 10.1.0.02)
This endpoint provides a multi-item interface in which the client can provide multiple items which should be returned in one call. As query parameters do have a size limitation, this api is designed as POST. This api has restrictions on the number of items which can be called. In case the limit is exceeded a corresponding return code is provided.
Contrary to the single item GET request, a missing object permission or an unknown item id does not lead to an error return code; it will just not be returned.
URL Pattern |
/object/{entity-identifier}/byItems |
|||||||||
Method |
POST |
|||||||||
Headers |
|
|||||||||
Form Parameters |
|
|||||||||
Example |
/rest/V1.0/object/Article/byItems |
|||||||||
Return Codes |
|
Query Parameters
Please note that the qualification filter applies to all requested sub-entities which have this qualification. So, for example, if you filter for language=English, the ArticleLang and ArticleAttributeValueLang entities will both only return the English values!
Parameter |
Required |
Default |
Datatype |
Parameter description |
Example |
entityFilter |
no |
none |
String |
Comma separated list of entity identifiers which should be part of the result. If omitted, the full object with all data is returned. We recommend to provide a list of entities which are required in order to gain performance. Note: In case an entityFilter is provided, also the root entity is a filter value. So by only providing the root entity as filter value, only the fields of the root level are returned in the data. |
Only return the root fields: Only return the root fields, and the sales prices Only return the language specific data like Short and Long Description |
qualificationFilter |
no |
none |
String |
This parameter allows to restrict the output to certain qualifications. One example would be a filter so that only Euro and US-Dollar prices for the customer Informatica are returned. The filter string is a comma-separated list of qualification settings. A qualification setting is a qualification name followed by a comma-separated list of values which is put into parentheses . The qualification name is defined in the repository and is included in the Meta-API. |
Example for prices in Euro and US-Dollar and customer Informatica: |
revision |
no |
root |
ENTITY_ITEM |
The revision for which the data should be retrieved |
revision='root' revision=1 revision='myRevisionIdentifier' revision=4711 (where 4711 is the internal id of the revision). |
includeLabels (available with 10.1.0.02) |
no |
false |
boolean |
If set to true, the returned document will contain _label elements for all fields or qualifications which have an enumeration. The label will be returned in the locale of the request like this: "orderUnit" : { "_current" : { "_key" : { "_entityId" : 3100, "_internalId" : "932" , "_externalId" : "'C62'" }, "_code" : "C62" , "_label" : "piece" } } |
includeLabels=true includeLabels=false |
Permissions
Object Permissions
The user needs to have the READ object permission for this API. In case he doesn't, the api returns HTTP 403 (forbidden) in case of the single item call with GET, and skip this item in case of the multiple items call.
Field Permissions
The user needs to have the READ field permissions for a field. If he doesn't, the field will not be part of the data element, but no error is returned.
Qualification Permissions (aka Qualified Field Permissions)
The user needs to have the READ permission for a qualification, e.g. for Language = English. If he doesn't, sub-entities which are qualified for this will not be part of the data element, but no error is returned.
Result
Repository Entities and Fields
Names
A new repository property "shortIdentifier" has been added in the custom section which is used to define the entity and field names for the json structure. The short identifier is unique within its parent entity only!
The standard repository already contains a short identifier for all fields and enabled qualifications.
Datatypes
ENTITY_ITEM objects always contain the _entityId, _internalId and _externalId attributes
MIME_VALUE objects always contain the relative _filePath, the _label and the _mimeType
timestamp: ISO 8601, e.g.: 2012-04-23T18:25:43.511Z
date: ISO 8601, e.g.: 2019-07-04
numbers: standard JSON
"no value" is either provided as null, or the attribute is not in the document.
Empty string is returned as null, which is omitted when possible!
Enumeration fields
_key: always holds the unique key of the enumeration entry
In case the enumeration field is of datatype ENTITY_ITEM, then the key will be provided with the ENTITY_ITEM syntax (see above)_code: the external code of the enumeration entry, if the enum entry has one, and it differs from the key!
_label: the locale dependent label of the enumeration entry. Only if includeLabels is set to true. The locale of the http request is used for this.
Meta attributes
All meta attributes are prefixed with an underscore.
_entity = the root entity identifier
_entityItem = the entity item in the ENTITY_ITEM syntax
_revision = the revision of the data as ENTITY_ITEM
_data = The actual entity item's data
_current = the current value of the field
As the structure of the document is similar to the EntityItemChange Document which is used for audit trail the _current attribute for the current value is required._qualification = the qualification of the record. The combination of the qualification values in the qualification object define this record as unique within its parent.
Data Element
In order to be part of the data element of the object api, a sub-entity or field must fulfill multiple criteria:
The entity or field must be active in the Repository
The entity or field must have supportsServiceApi = true in the Repository
The entity or field must have supportsAuditTrail = true in the Repository
The entity of field must have a shortIdentifier in the Repository
The user must have READ permission for the Entity or Field
The user must have READ permission for the qualification of the sub-entity
The field must must not be a password Field in the Repository
Qualifications must be editable in the Repository
Entities, Fields or Qualifications which do not comply to any of these points will be omitted in the data element. No exception is thrown.
Example Result
{
"_entity": "Article",
"_entityItem": {
"_internalId": "13989@1120",
"_entityId": 1000,
"_externalId": "\u0027supplierAID-840\u0027@\u0027NEW_CATALOG\u0027"
},
"_revision": {
"_internalId": "1",
"_entityId": 5600,
"_externalId": "\u0027root\u0027"
},
"_container": {
"_internalId": "1120",
"_entityId": 7000,
"_externalId": "\u0027NEW_CATALOG\u0027"
},
"_data": {
"article": {
"identifier": {
"_current": "supplierAID-840"
},
"manufacturerAID": {
"_current": "L000000000839"
},
"manufacturerName": {
"_current": "Rolex"
},
"deliveryTime": {
"_current": 3.8900
},
"orderUnit": {
"_current": {
"_key": {
"_entityId": 3100,
"_internalId": "145",
"_externalId": "\u0027AMH\u0027"
},
"_code": "AMH"
}
},
"contentUnit": {
"_current": {
"_key": {
"_entityId": 3100,
"_internalId": "310",
"_externalId": "\u0027GLL\u0027"
},
"_code": "GLL"
}
},
"noCUperOU": {
"_current": 842.3100
},
"priceQuantity": {
"_current": 219.5200
},
"quantityMin": {
"_current": 6.0000
},
"quantityInterval": {
"_current": 1.0000
},
"mainSupplier": {
"_current": {
"_key": {
"_entityId": 2800,
"_internalId": "3",
"_externalId": "\u0027Heiler Product Manager\u0027"
},
"_code": "Heiler Product Manager"
}
},
"currentStatus": {
"_current": {
"_key": 100,
"_code": "NEW"
}
},
"kitParent": {
"_current": false
},
"kitComponent": {
"_current": false
},
"soldOnlyInKits": {
"_current": false
},
"lang": [
{
"_qualification": {
"language": {
"_key": 9,
"_code": "eng"
}
},
"descriptionShort": {
"_current": "the little value he put on his own good qualities. Elizabeth was pleased to find that he had not betrayed the interference of his"
},
"descriptionLong": {
"_current": "practice. I have told Miss Bennet several times, that she will never play really well unless she practises more; and though Mrs. Collins has no instrument, she is very welcome, as I have often told her, to come to Rosings every day, and play on the pianoforte in Mrs. Jenkinson’s room. She would be in nobody’s way, you know, in that part of the house.” Mr. Darcy looked a little ashamed of his aunt’s ill-breeding, and made no answer. When coffee was over, Colonel Fitzwilliam reminded Elizabeth of having promised to play to him; and she sat down directly to the i"
},
"keywords": {
"_current": [
"MERCHANTIBILITY"
]
}
},
{
"_qualification": {
"language": {
"_key": 1046,
"_code": "por"
}
},
"descriptionShort": {
"_current": "daughters. Mr. Collins was punctual to his time, and was receive"
},
"descriptionLong": {
"_current": "against herself; and his disappointed feelings became the object of compassion. His attachment excited gratitude, his general character respect; but she could not approve him; nor could she for a moment repent her refusal, or feel the slightest inclination ever to see him again. In her own past behaviour, there was a constant source of vexation and regret; and in the unhappy defects of her family, a subject of yet heavier chagrin. They were hopeless of remedy. Her father, contented with laughing at them, would never exert himself to restrain the wild giddiness of his youngest daughters; and her mother, with manners so far fr"
},
"keywords": {
"_current": [
"busy",
"_particularly_",
"nowhere"
]
}
},
{
"_qualification": {
"language": {
"_key": 7,
"_code": "deu"
}
},
"descriptionShort": {
"_current": "has now living, better than any other person.” Elizabeth was at no loss to understand from whence this defe"
},
"descriptionLong": {
"_current": "or expense to the user, provide a copy, a means of exporting a copy, or a means of obtaining a copy upon request, of the work in its original “Plain Vanilla ASCII” or other form. Any alternate format must include the full Project Gutenberg-tm License as specified in paragraph 1.E.1. 1.E.7. Do not charge a fee for access to, viewing, displaying, performing, copying or distributing any Project Gutenberg-tm works unless you comply with p"
}
}
],
"pricePurchase": [
{
"_qualification": {
"supplier": {
"_key": {
"_entityId": 2800,
"_internalId": "3",
"_externalId": "\u0027Heiler Product Manager\u0027"
},
"_code": "Heiler Product Manager"
},
"type": {
"_key": 1,
"_code": "net_list"
},
"currency": {
"_key": "USD"
},
"territory": {
"_key": "DE"
}
},
"validFrom": {
"_current": "1899-12-30"
},
"validTo": {
"_current": "9999-12-31"
},
"value": [
{
"_qualification": {
"lowerBound": 1.0000
},
"amount": {
"_current": 872327.120000
},
"factor": {
"_current": 1.0000
}
}
]
},
{
"_qualification": {
"supplier": {
"_key": {
"_entityId": 2800,
"_internalId": "3",
"_externalId": "\u0027Heiler Product Manager\u0027"
},
"_code": "Heiler Product Manager"
},
"type": {
"_key": 2,
"_code": "gross_list"
},
"currency": {
"_key": "CHF"
},
"territory": {
"_key": "DE"
}
},
"validFrom": {
"_current": "1899-12-30"
},
"validTo": {
"_current": "9999-12-31"
},
"value": [
{
"_qualification": {
"lowerBound": 3.0000
},
"amount": {
"_current": 239011.140000
},
"factor": {
"_current": 1.0000
}
}
]
}
],
"priceSales": [
{
"_qualification": {
"customer": {
"_key": {
"_entityId": 2800,
"_internalId": "1",
"_externalId": "\u0027Public\u0027"
}
},
"type": {
"_key": 3,
"_code": "net_customer"
},
"currency": {
"_key": "CHF"
},
"territory": {
"_key": "DE"
}
},
"validFrom": {
"_current": "1899-12-30"
},
"validTo": {
"_current": "9999-12-31"
},
"value": [
{
"_qualification": {
"lowerBound": 2.0000
},
"amount": {
"_current": 60216.410000
},
"factor": {
"_current": 1.0000
}
}
]
}
],
"logistic": [
{
"_qualification": {
"territory": {
"_key": "CH"
}
},
"packageUnit": {
"_current": {
"_key": {
"_entityId": 3100,
"_internalId": "747",
"_externalId": "\u0027NEW\u0027"
},
"_code": "NEW"
}
},
"packageWeight": {
"_current": 36.5000
},
"originCountry": {
"_current": {
"_key": "BB"
}
},
"grossWeight": {
"_current": 43.9700
},
"grossWeightUnit": {
"_current": {
"_key": {
"_entityId": 3100,
"_internalId": "723",
"_externalId": "\u0027MON\u0027"
},
"_code": "MON"
}
}
}
],
"logisticExtension": [
{
"_qualification": {
"party": {
"_key": {
"_entityId": 2800,
"_internalId": "3",
"_externalId": "\u0027Heiler Product Manager\u0027"
},
"_code": "Heiler Product Manager"
},
"packagingUnit": {
"_key": {
"_entityId": 3100,
"_internalId": "380",
"_externalId": "\u00275\u0027"
},
"_code": "5"
},
"language": {
"_key": 10,
"_code": "esl"
}
},
"code128": {
"_current": "62243677464153991935"
},
"code39": {
"_current": "25028067122421819836"
},
"length": {
"_current": 52873820.0761
},
"lengthUnit": {
"_current": {
"_key": {
"_entityId": 3100,
"_internalId": "936",
"_externalId": "\u0027AR\u0027"
},
"_code": "AR"
}
},
"height": {
"_current": 6794560.1841
},
"heightUnit": {
"_current": {
"_key": {
"_entityId": 3100,
"_internalId": "7053",
"_externalId": "\u0027X_PPC\u0027"
},
"_code": "X_PPC"
}
}
}
],
"referencedItem": [
{
"_qualification": {
"type": {
"_key": 8,
"_code": "diff_orderunit"
},
"referencedIdentifier": "supplierAID-648",
"referencedCatalogIdentifier": "NEW_CATALOG"
},
"referencedItem": {
"_current": {
"_entityId": 1000,
"_internalId": "14452@1120",
"_externalId": "\u0027supplierAID-648\u0027@\u0027NEW_CATALOG\u0027"
}
},
"quantity": {
"_current": 1
}
}
],
"structureMap": [
{
"_qualification": {
"structure": {
"_key": 15,
"_code": "ECLASS-6.1"
}
},
"structureGroups": {
"_current": [
{
"_entityId": 3000,
"_internalId": "23576@15",
"_externalId": "\u0027AKL316004\u0027@\u0027ECLASS-6.1\u0027"
}
]
}
}
],
"structureGroupMap": [
{
"_qualification": {
"structure": {
"_key": {
"_entityId": 2300,
"_internalId": "15",
"_externalId": "\u0027ECLASS-6.1\u0027"
},
"_code": "ECLASS-6.1"
},
"structureGroup": {
"_entityId": 3000,
"_internalId": "23576@15",
"_externalId": "\u0027AKL316004\u0027@\u0027ECLASS-6.1\u0027"
}
},
"sequence": {
"_current": 2147483647
}
}
],
"mediaAsset": [
{
"_qualification": {
"type": {
"_key": "logo"
}
},
"name": {
"_current": "be the meaning of it? It"
},
"category": {
"_current": "nonproprietary"
},
"mediaAsset": {
"_current": {
"_entityId": 2400,
"_internalId": "250",
"_externalId": "\u0027MediaAsset_1596466573432152\u0027"
}
},
"document": [
{
"_qualification": {
"quality": {
"_key": "highres"
},
"language": {
"_key": 7,
"_code": "deu"
}
},
"identifier": {
"_current": "hlr-system/nhvjsixjcjucktt.jpg"
},
"imageIdentifier": {
"_current": "hlr-system/nhvjsixjcjucktt.jpg"
},
"order": {
"_current": 1
}
}
]
},
{
"_qualification": {
"type": {
"_key": "thumbnail"
}
},
"name": {
"_current": "from Jane. “I do not know whe"
},
"category": {
"_current": "counterbalance"
},
"mediaAsset": {
"_current": {
"_entityId": 2400,
"_internalId": "255",
"_externalId": "\u0027MediaAsset_1596466573432157\u0027"
}
},
"document": [
{
"_qualification": {
"quality": {
"_key": "highres"
},
"language": {
"_key": 56,
"_code": "kor"
}
},
"identifier": {
"_current": "hlr-system/ajomgjomrxyjews.jpg"
},
"imageIdentifier": {
"_current": "hlr-system/ajomgjomrxyjews.jpg"
},
"order": {
"_current": 1
}
}
]
}
],
"log": [
{
"_qualification": {
"channel": {
"_key": "100_classifier.id"
}
},
"creationDate": {
"_current": "2020-10-07T13:56:25.990Z"
},
"creationUser": {
"_current": {
"_key": {
"_entityId": 2600,
"_internalId": "1",
"_externalId": "\u0027Administrator\u0027"
}
}
},
"deletionDate": {
"_current": "9999-12-31T00:00:00.000Z"
}
},
{
"_qualification": {
"channel": {
"_key": "HPM"
}
},
"creationDate": {
"_current": "2020-10-07T13:56:25.990Z"
},
"creationUser": {
"_current": {
"_key": {
"_entityId": 2600,
"_internalId": "1",
"_externalId": "\u0027Administrator\u0027"
}
}
},
"deletionDate": {
"_current": "9999-12-31T00:00:00.000Z"
}
},
{
"_qualification": {
"channel": {
"_key": "101_classifier.id"
}
},
"creationDate": {
"_current": "2020-10-07T13:56:25.990Z"
},
"creationUser": {
"_current": {
"_key": {
"_entityId": 2600,
"_internalId": "1",
"_externalId": "\u0027Administrator\u0027"
}
}
},
"deletionDate": {
"_current": "9999-12-31T00:00:00.000Z"
}
}
],
"ownLog": [
{
"modificationDate": {
"_current": "2020-10-07T13:56:26.010Z"
}
}
],
"nutrient": [
{
"_qualification": {
"targetMarket": {
"_key": "CA"
},
"preparationState": {
"_key": "READY_TO_EAT"
}
},
"lang": [
{
"_qualification": {
"language": {
"_key": 12,
"_code": "fra"
}
},
"servingSizeDescription": {
"_current": "of general complaisance, and in all that he said she heard an accent so removed from _hauteur_ or disdain"
},
"dailyValueIntakeReference": {
"_current": "said Elizabeth, struck with other ideas. “She looks sickly and cross. Yes, she will do for"
}
},
{
"_qualification": {
"language": {
"_key": 16,
"_code": "ita"
}
},
"servingSizeDescription": {
"_current": "her mother. “And then when you go away, you may leave one or two of my sisters behind you; and I dare say I shall get husbands for them before the winter is over.” “I thank you for my share of the favour,” said Elizabeth; “but I do not particularly like your way of getting husbands.” Their visitors were not to remain above ten days with them. Mr. Wickham had received his commission before he"
},
"dailyValueIntakeReference": {
"_current": "duty of a young man who has been so fortunate as I have been in early preferment; and I trust I am resigned. Perhaps not the less so from feeling a doubt of my positive happiness had my fair cousin honoured me with her hand; for I have often observed that resignation is n"
}
}
]
}
],
"_characteristicRecords": [
{
"_qualification": {
"characteristic": {
"_key": {
"_entityId": 8000,
"_internalId": "12424",
"_externalId": "\u0027isHomogenised\u0027"
},
"_code": "isHomogenised"
},
"recordKey": "0000.0000.RK",
"parentRecordKey": "root"
},
"_datatype": "LOOKUP",
"order": {
"_current": 1
},
"_recordLang": [
{
"_qualification": {
"language": {
"_key": -1,
"_code": "zxx"
}
},
"values": {
"_current": [
{
"_entityId": 7300,
"_internalId": "1209@121",
"_externalId": "\u0027FALSE\u0027@\u0027NonBinaryLogicCodes\u0027"
}
]
}
}
]
},
{
"_qualification": {
"characteristic": {
"_key": {
"_entityId": 8000,
"_internalId": "12441",
"_externalId": "\u0027nutrientFormatTypeCodeReference\u0027"
},
"_code": "nutrientFormatTypeCodeReference"
},
"recordKey": "0000.0000.RK",
"parentRecordKey": "root"
},
"_datatype": "LOOKUP",
"order": {
"_current": 1
},
"_recordLang": [
{
"_qualification": {
"language": {
"_key": -1,
"_code": "zxx"
}
},
"values": {
"_current": [
{
"_entityId": 7300,
"_internalId": "3494@151",
"_externalId": "\u0027AB\u0027@\u0027nutrientFormatTypeCodeReference\u0027"
}
]
}
}
]
},
{
"_qualification": {
"characteristic": {
"_key": {
"_entityId": 8000,
"_internalId": "12377",
"_externalId": "\u0027juiceContentPercentage\u0027"
},
"_code": "juiceContentPercentage"
},
"recordKey": "0000.0000.RK",
"parentRecordKey": "root"
},
"_datatype": "DECIMAL",
"_formatPattern": "###.##",
"order": {
"_current": 1
},
"_recordLang": [
{
"_qualification": {
"language": {
"_key": -1,
"_code": "zxx"
}
},
"values": {
"_current": [
3169.03
]
}
}
]
},
{
"_qualification": {
"characteristic": {
"_key": {
"_entityId": 8000,
"_internalId": "12339",
"_externalId": "\u0027fatPercentageInDryMatter\u0027"
},
"_code": "fatPercentageInDryMatter"
},
"recordKey": "0000.0000.RK",
"parentRecordKey": "root"
},
"_datatype": "DECIMAL",
"_formatPattern": "##.###",
"order": {
"_current": 1
},
"_recordLang": [
{
"_qualification": {
"language": {
"_key": -1,
"_code": "zxx"
}
},
"values": {
"_current": [
4176.55
]
}
}
]
},
{
"_qualification": {
"characteristic": {
"_key": {
"_entityId": 8000,
"_internalId": "12340",
"_externalId": "\u0027isRindEdible\u0027"
},
"_code": "isRindEdible"
},
"recordKey": "0000.0000.RK",
"parentRecordKey": "root"
},
"_datatype": "LOOKUP",
"order": {
"_current": 1
},
"_recordLang": [
{
"_qualification": {
"language": {
"_key": -1,
"_code": "zxx"
}
},
"values": {
"_current": [
{
"_entityId": 7300,
"_internalId": "1296@121",
"_externalId": "\u0027NOT_APPLICABLE\u0027@\u0027NonBinaryLogicCodes\u0027"
}
]
}
}
]
},
{
"_qualification": {
"characteristic": {
"_key": {
"_entityId": 8000,
"_internalId": "12337",
"_externalId": "\u0027cheeseMaturationPeriodDescription\u0027"
},
"_code": "cheeseMaturationPeriodDescription"
},
"recordKey": "0000.0000.RK",
"parentRecordKey": "root"
},
"_datatype": "TEXT",
"order": {
"_current": 1
},
"_recordLang": [
{
"_qualification": {
"language": {
"_key": 17,
"_code": "jpn"
}
},
"values": {
"_current": [
"of his confidence in his friend. How grievous then was the"
]
}
}
]
},
{
"_qualification": {
"characteristic": {
"_key": {
"_entityId": 8000,
"_internalId": "12338",
"_externalId": "\u0027cheeseMaturationProcessContainerTypeCode\u0027"
},
"_code": "cheeseMaturationProcessContainerTypeCode"
},
"recordKey": "0000.0000.RK",
"parentRecordKey": "root"
},
"_datatype": "LOOKUP",
"order": {
"_current": 1
},
"_recordLang": [
{
"_qualification": {
"language": {
"_key": -1,
"_code": "zxx"
}
},
"values": {
"_current": [
{
"_entityId": 7300,
"_internalId": "2062@123",
"_externalId": "\u0027BRINE_SOLUTION\u0027@\u0027cheeseMaturationProcessContainerTypeCode\u0027"
}
]
}
}
]
},
{
"_qualification": {
"characteristic": {
"_key": {
"_entityId": 8000,
"_internalId": "12375",
"_externalId": "\u0027ingredientOfConcernCode\u0027"
},
"_code": "ingredientOfConcernCode"
},
"recordKey": "0000.0000.RK",
"parentRecordKey": "root"
},
"_datatype": "LOOKUP",
"order": {
"_current": 1
},
"_recordLang": [
{
"_qualification": {
"language": {
"_key": -1,
"_code": "zxx"
}
},
"values": {
"_current": [
{
"_entityId": 7300,
"_internalId": "2720@136",
"_externalId": "\u0027RAW_MILK\u0027@\u0027ingredientOfConcernCode\u0027"
}
]
}
}
]
},
{
"_qualification": {
"characteristic": {
"_key": {
"_entityId": 8000,
"_internalId": "12376",
"_externalId": "\u0027ingredientStatement\u0027"
},
"_code": "ingredientStatement"
},
"recordKey": "0000.0000.RK",
"parentRecordKey": "root"
},
"_datatype": "TEXT",
"order": {
"_current": 1
},
"_recordLang": [
{
"_qualification": {
"language": {
"_key": 11,
"_code": "fin"
}
},
"values": {
"_current": [
"anything about it, they found at last, on examining th"
]
}
}
]
},
{
"_qualification": {
"characteristic": {
"_key": {
"_entityId": 8000,
"_internalId": "12341",
"_externalId": "\u0027surfaceOfCheeseAtEndOfRipeningCode\u0027"
},
"_code": "surfaceOfCheeseAtEndOfRipeningCode"
},
"recordKey": "0000.0000.RK",
"parentRecordKey": "root"
},
"_datatype": "LOOKUP",
"order": {
"_current": 1
},
"_recordLang": [
{
"_qualification": {
"language": {
"_key": -1,
"_code": "zxx"
}
},
"values": {
"_current": [
{
"_entityId": 7300,
"_internalId": "1913@122",
"_externalId": "\u0027NO_RIND\u0027@\u0027surfaceOfCheeseAtEndOfRipeningCode\u0027"
}
]
}
}
]
},
{
"_qualification": {
"characteristic": {
"_key": {
"_entityId": 8000,
"_internalId": "12342",
"_externalId": "\u0027dietTypeDescription\u0027"
},
"_code": "dietTypeDescription"
},
"recordKey": "0000.0000.RK",
"parentRecordKey": "root"
},
"_datatype": "TEXT",
"order": {
"_current": 1
},
"_recordLang": [
{
"_qualification": {
"language": {
"_key": 4,
"_code": "chi"
}
},
"values": {
"_current": [
"and, for a few moments, she flattered herself tha"
]
}
}
]
},
{
"_qualification": {
"characteristic": {
"_key": {
"_entityId": 8000,
"_internalId": "12555",
"_externalId": "\u0027doPackagingMaterialContainLatex\u0027"
},
"_code": "doPackagingMaterialContainLatex"
},
"recordKey": "0000.0000.RK",
"parentRecordKey": "root"
},
"_datatype": "LOOKUP",
"order": {
"_current": 1
},
"_recordLang": [
{
"_qualification": {
"language": {
"_key": -1,
"_code": "zxx"
}
},
"values": {
"_current": [
{
"_entityId": 7300,
"_internalId": "1294@121",
"_externalId": "\u0027TRUE\u0027@\u0027NonBinaryLogicCodes\u0027"
}
]
}
}
]
},
{
"_qualification": {
"characteristic": {
"_key": {
"_entityId": 8000,
"_internalId": "12556",
"_externalId": "\u0027numberOfPackagesForSerPiecesGTIN\u0027"
},
"_code": "numberOfPackagesForSerPiecesGTIN"
},
"recordKey": "0000.0000.RK",
"parentRecordKey": "root"
},
"_datatype": "INTEGER",
"order": {
"_current": 1
},
"_recordLang": [
{
"_qualification": {
"language": {
"_key": -1,
"_code": "zxx"
}
},
"values": {
"_current": [
4410
]
}
}
]
},
{
"_qualification": {
"characteristic": {
"_key": {
"_entityId": 8000,
"_internalId": "12332",
"_externalId": "\u0027fatInMilkContent\u0027"
},
"_code": "fatInMilkContent"
},
"recordKey": "0000.0000.RK",
"parentRecordKey": "root"
},
"_datatype": "DECIMAL",
"_formatPattern": "##.###",
"order": {
"_current": 1
},
"_recordLang": [
{
"_qualification": {
"language": {
"_key": -1,
"_code": "zxx"
}
},
"values": {
"_current": [
58.92
]
}
}
]
},
{
"_qualification": {
"characteristic": {
"_key": {
"_entityId": 8000,
"_internalId": "12333",
"_externalId": "\u0027rennetTypeCode\u0027"
},
"_code": "rennetTypeCode"
},
"recordKey": "0000.0000.RK",
"parentRecordKey": "root"
},
"_datatype": "LOOKUP",
"order": {
"_current": 1
},
"_recordLang": [
{
"_qualification": {
"language": {
"_key": -1,
"_code": "zxx"
}
},
"values": {
"_current": [
{
"_entityId": 7300,
"_internalId": "1931@126",
"_externalId": "\u0027VEGETABLE_RENNET\u0027@\u0027rennetTypeCode\u0027"
}
]
}
}
]
}
]
}
}
}
Characteristic Values
Characteristic values are rendered in a specialized structure in order to honor their hierarchical nature.
This structure is not identical to the repository as it is fully hierarchical. This is the reason for extra meta attributes which help to not get in conflict with repository based data.
Additional Meta Attributes
_characteristicRecords
Top level element for all characteristic records_recordLang
Language specific record values. In case the characteristic is not language specific, the qualification for "not language specific" is returned (-1 or xxz)
In case the value of the record is a lookup value and the includeLabels parameter has been set, an additional _label element is provided._children
children of the current characteristic record_datatype
The characteristic data type - to be able to interpret the values even in case the characteristic is no longer in the system_formatPattern
The format pattern of the characteristic - to be able to format the values even in case the characteristic is no longer in the system
Characteristic Records Example
{
"_entity": "Article",
"_entityItem": {
"_internalId": "13989@1120",
"_entityId": 1000,
"_externalId": "\u0027supplierAID-840\u0027@\u0027NEW_CATALOG\u0027"
},
"_revision": {
"_internalId": "1",
"_entityId": 5600,
"_externalId": "\u0027root\u0027"
},
"_container": {
"_internalId": "1120",
"_entityId": 7000,
"_externalId": "\u0027NEW_CATALOG\u0027"
},
"_data": {
"article": {
"identifier": {
"_current": "supplierAID-841"
},
"_characteristicRecords": [
{
"_qualification": {
"characteristic": {
"_key": {
"_entityId": 8000,
"_internalId": "7",
"_externalId": "\u0027AnimalIngredient\u0027"
},
"_code": "AnimalIngredient"
},
"recordKey": "0000.0000.RK",
"parentRecordKey": "root"
},
"_dataType": "LOOKUP",
"order": {
"_current": -32767
},
"_recordLang": [
{
"_qualification": {
"language": {
"_key": -1,
"_code": "zxx"
}
},
"values": {
"_current": [
{
"_entityId": 7300,
"_internalId": "23@5",
"_externalId": "\u0027Down\u0027@\u0027AnimalIngredient\u0027"
}
]
}
}
],
"_children": [
{
"_qualification": {
"characteristic": {
"_key": {
"_entityId": 8000,
"_internalId": "8",
"_externalId": "\u0027CertDown\u0027"
},
"_code": "CertDown"
},
"recordKey": "0000.0000.RK",
"parentRecordKey": "0000.0000.RK"
},
"_dataType": "LOOKUP",
"order": {
"_current": -32766
},
"_recordLang": [
{
"_qualification": {
"language": {
"_key": -1,
"_code": "zxx"
}
},
"values": {
"_current": [
{
"_entityId": 7300,
"_internalId": "25@6",
"_externalId": "\u0027Other\u0027@\u0027CertDown\u0027"
}
]
}
}
],
"_children": [
{
"_qualification": {
"characteristic": {
"_key": {
"_entityId": 8000,
"_internalId": "11",
"_externalId": "\u0027CertDownExpDate\u0027"
},
"_code": "CertDownExpDate"
},
"recordKey": "0000.0000.RK",
"parentRecordKey": "0000.0000.RK"
},
"_dataType": "DATE",
"order": {
"_current": -32765
},
"_recordLang": [
{
"_qualification": {
"language": {
"_key": -1,
"_code": "zxx"
}
},
"values": {
"_current": [
"1977-05-28"
]
}
}
]
}
]
},
{
"_qualification": {
"characteristic": {
"_key": {
"_entityId": 8000,
"_internalId": "8",
"_externalId": "\u0027CertDown\u0027"
},
"_code": "CertDown"
},
"recordKey": "0000.0000.RK",
"parentRecordKey": "0000.0000.RK"
},
"_dataType": "LOOKUP",
"order": {
"_current": -32766
},
"_recordLang": [
{
"_qualification": {
"language": {
"_key": -1,
"_code": "zxx"
}
},
"values": {
"_current": [
{
"_entityId": 7300,
"_internalId": "25@6",
"_externalId": "\u0027Other\u0027@\u0027CertDown\u0027"
}
]
}
}
],
"_children": [
{
"_qualification": {
"characteristic": {
"_key": {
"_entityId": 8000,
"_internalId": "11",
"_externalId": "\u0027CertDownExpDate\u0027"
},
"_code": "CertDownExpDate"
},
"recordKey": "0000.0000.RK",
"parentRecordKey": "0000.0000.RK"
},
"_dataType": "DATE",
"order": {
"_current": -32765
},
"_recordLang": [
{
"_qualification": {
"language": {
"_key": -1,
"_code": "zxx"
}
},
"values": {
"_current": [
"1977-05-28"
]
}
}
]
}
]
}
]
}
],
"_children": [
{
"_qualification": {
"characteristic": {
"_key": {
"_entityId": 8000,
"_internalId": "8",
"_externalId": "\u0027CertDown\u0027"
},
"_code": "CertDown"
},
"recordKey": "0000.0000.RK",
"parentRecordKey": "0000.0000.RK"
},
"_dataType": "LOOKUP",
"order": {
"_current": -32766
},
"_recordLang": [
{
"_qualification": {
"language": {
"_key": -1,
"_code": "zxx"
}
},
"values": {
"_current": [
{
"_entityId": 7300,
"_internalId": "25@6",
"_externalId": "\u0027Other\u0027@\u0027CertDown\u0027"
}
]
}
}
],
"_children": [
{
"_qualification": {
"characteristic": {
"_key": {
"_entityId": 8000,
"_internalId": "11",
"_externalId": "\u0027CertDownExpDate\u0027"
},
"_code": "CertDownExpDate"
},
"recordKey": "0000.0000.RK",
"parentRecordKey": "0000.0000.RK"
},
"_dataType": "DATE",
"order": {
"_current": -32765
},
"_recordLang": [
{
"_qualification": {
"language": {
"_key": -1,
"_code": "zxx"
}
},
"values": {
"_current": [
"1977-05-28"
]
}
}
]
}
]
}
]
}
}
}
Examples
Please see the attached postman example collection for you convenience: ObjectAPI.postman_collection.json
curl --location --request GET
'http://localhost:1512/rest/V1.0/object/Article/14260@1120'
\
--header
'Content-Type: application/json'
\
--header
'Authorization: Basic cmVzdDpoZWlsZXI='
curl --location --request GET
'http://localhost:1512/rest/V1.0/object/Article/'
\
''
supplierAID-
42
'\''
@
'\''
MySupplierCatalog
'\''
' \
--header
'Content-Type: application/xml'
\
--header
'Authorization: Basic cmVzdDpoZWlsZXI='
curl --location --request GET 'http://localhost:1512/rest/V1.0/object/Article/'\''supplierAID-42'\''@'\''MySupplierCatalog'\''?qualificationFilter=language(eng)&entityFilter=ArticleLang' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cmVzdDpoZWlsZXI='