Batch operation used to resolve a heterogeneous list of object references in a single
operation.
Extended description
The response contains a non-null value for
BatchResponse.nodes
if and only if the request contains a non-null value for
ResolveRequest.nodes. The length of the response's
nodes
array is guaranteed to
be exactly the same as the length of the request's
nodes
array. Furthermore,
the order of elements in the response's
nodes
array is guaranteed to be
exactly the same as the order of corresponding reference elements in the request's
nodes
array.
The request's nodes
array must contain between 0 and 100 nodes, inclusive.
Any other size results in an error.
Note that a single large batch is not necessarily the most optimal
request. Smaller batches that are sent in parallel on multiple connections will generally
perform better than a single maximally-sized request. Ideal performance optimization
needs to weigh the trade-off between batch size and request volume.
The response header pros-batch-errors
indicates the number of elements with
errors in the response body.
This header is only returned when the status code is 200 and errors are present in the
response, otherwise the header is omitted.
Example
- Retrieve a list of various nodes from multiple dimensions
Request:
{
"nodes": [
{
"dimName": "PRODUCT",
"nodeName": "Widget1234"
},
{
"dimName": "CUSTOMER",
"nodeID": "fbf4a554-d8b9-4f68-97da-5aa646ba4a9d"
},
{
"dimID": "198498e5-66da-4fdd-97b8-4a7a2ae1ffaf",
"nodeName": "ABCD"
},
{
"dimID": "67313e90-b65b-4d15-a037-bd59faf138b5",
"nodeId": "32b16534-406d-3436-b4c6-c61f24874650"
}
]
}
Response:
HTTP/1.1
200
OK
{
"nodes": [
{
"node": {
"id": "4f5d99bb-5e65-4dd8-b4fa-60a6dad33306",
"name": "Widget1234",
"label": { "locale": "en", "value": "Widget 1234" },
"aspect": { "aspectID": "cddc8c16-ca15-4842-ba2f-5e79915c3fbd" },
"ancestors": [
{
"aspectID": "2b848a8c-c886-3253-921a-77c43cd50aae",
"nodeID": "7baaa4ab-dd43-31a2-9454-ebc60fb910d5"
},
{
"aspectID": "6ddc09dc-4560-31d9-854e-9fe670374eb2",
"nodeID": "7516fd43-adaa-3e0b-8a65-a672c39845d2"
}
]
}
},
{
"node": {
"id": "fbf4a554-d8b9-4f68-97da-5aa646ba4a9d",
"name": "ACME_INC",
"label": { "locale": "en", "value": "ACME Inc." },
"aspect": { "aspectID": "cddc8c16-ca15-4842-ba2f-5e79915c3fbd" },
"ancestors": [
{
"aspectID": "d45d1d99-a27f-471c-8347-3781413f83c3",
"nodeID": "97a63e66-d140-42b6-a320-7d307b123b06"
}
]
}
},
{
"node": {
"id": "cd6f33ab-f28e-43e7-b233-c54677df7a80",
"name": "ABCD",
"label": { "locale": "en", "value": "ABCD" },
"aspect": { "aspectID": "05363db7-b992-4c0f-85d6-e4e6ded4201d" },
"ancestors": [
{
"aspectID": "5877826b-5f79-40ea-87c2-0c3726aecc49",
"nodeID": "5877826b-5f79-40ea-87c2-0c3726aecc49"
}
]
}
},
{
"node": {
"id": "32b16534-406d-3436-b4c6-c61f24874650",
"name": "US-TX-Houston",
"label": { "locale": "en", "value": "Houston" },
"aspect": { "aspectID": "85921462-8431-3951-97c0-558f7b5f8ffc" },
"ancestors": [
{
"aspectID": "2b848a8c-c886-3253-921a-77c43cd50aae",
"nodeID": "7baaa4ab-dd43-31a2-9454-ebc60fb910d5"
},
{
"aspectID": "6ddc09dc-4560-31d9-854e-9fe670374eb2",
"nodeID": "7516fd43-adaa-3e0b-8a65-a672c39845d2"
}
]
}
}
]
}
Example
- Retrieve a list nodes, where some resolutions fail
Request:
{
"nodes": [
{
"dimName": "PRODUCT",
"nodeName": "Widget1234"
},
{
"dimName": "CUSTOMER",
"nodeID": "fbf4a554-d8b9-4f68-97da-5aa646ba4a9d"
},
{
"dimID": "198498e5-66da-4fdd-97b8-4a7a2ae1ffaf",
"nodeName": "ABCD"
},
{
"dimID": "67313e90-b65b-4d15-a037-bd59faf138b5",
"nodeID": "32b16534-406d-3436-b4c6-c61f24874650"
}
]
}
Response:
HTTP/1.1
200
OK
{
"nodes": [
{
"node": {
"id": "4f5d99bb-5e65-4dd8-b4fa-60a6dad33306",
"name": "Widget1234",
"label": { "locale": "en", "value": "Widget 1234" },
"aspect": { "aspectID": "cddc8c16-ca15-4842-ba2f-5e79915c3fbd" },
"ancestors": [
{
"aspectID": "2b848a8c-c886-3253-921a-77c43cd50aae",
"nodeID": "7baaa4ab-dd43-31a2-9454-ebc60fb910d5"
},
{
"aspectID": "6ddc09dc-4560-31d9-854e-9fe670374eb2",
"nodeID": "7516fd43-adaa-3e0b-8a65-a672c39845d2"
}
]
}
},
{
"error": {
"fieldID": "nodeID",
"fieldValue": "fbf4a554-d8b9-4f68-97da-5aa646ba4a9d",
"errorID": "DIM-001201",
"errorMessage": "Sorry, the requested dimension node 'fbf4a554-d8b9-4f68-97da-5aa646ba4a9d' does not exist."
}
},
{
"error": {
"fieldID": "dimID",
"fieldValue": "198498e5-66da-4fdd-97b8-4a7a2ae1ffaf",
"errorID": "DIM-001001",
"errorMessage": "Sorry, the requested dimension '198498e5-66da-4fdd-97b8-4a7a2ae1ffaf' does not exist."
}
},
{
"node": {
"id": "32b16534-406d-3436-b4c6-c61f24874650",
"name": "US-TX-Houston",
"label": { "locale": "en", "value": "Houston" },
"aspect": { "aspectID": "85921462-8431-3951-97c0-558f7b5f8ffc" },
"ancestors": [
{
"aspectID": "2b848a8c-c886-3253-921a-77c43cd50aae",
"nodeID": "7baaa4ab-dd43-31a2-9454-ebc60fb910d5"
},
{
"aspectID": "6ddc09dc-4560-31d9-854e-9fe670374eb2",
"nodeID": "7516fd43-adaa-3e0b-8a65-a672c39845d2"
}
]
}
}
]
}