Batch Processing
The transmissions
resource is available for submitting multiple
resources messages for a mix of resources and operations. This resource
will only be supported for Asynchronous processing.
The transmissions
resource is a Singular Resource structure
with child resources to hold Transmission Reference Numbers (refnums
resource), Process Groups
(processGroups
resource)
and Transactions (transactions
resource). The transactions resource can also contain Transaction
Reference Numbers (refnums
resource).
A transmissions
resource only supports the POST method and application/json content
type and on creation will automatically be staged for processing using
the existing Transmission Manager framework. The progress of the transmission
and any transactions can be monitored via the Transmission Manager
user interface.
The REST API Batch resource also has access to the same capabilities as other inbound integration including:
- Process in Sequence
- Data Queue assignment including priority
- Process Groups
- Transmission Reference Numbers
For example,
{
"senderTransmissionId" : "ABCDEFGH",
"dataQueueGid" : "GUEST.CUST_INTEGRATION_IN",
"dataQueuePriority" : 9,
"processInSequence" : true,
"refnums" : {
"items" : [
{
"iTransmissionRefnumQualGid": "GUEST.REST-REFNUM",
"refnumValue": "NEW REFNUM"
}
]
},
"transactions": {
"items": [
{
...transactions resource object structure
}
]
}
}
Transaction
Each transactions item within the transmission
will contain header properties and optionally a message body. The
header properties will declare the content type of the message body,
if present, the HTTP method which should be used to process the message
and a resource URL relative to the REST API application including
version i.e. relative to /logisticsRestApi/resources/{version}
.
In some use cases, the URL may start with the "/" path character therefore any uses of the value must accept the optional presence of the character without change of meaning.
Note:
The URI may in future become an absolute value i.e. containing the full origin server and web application address.
For example,
{
"contentType": "application/vnd.oracle.resource+json;type=singular",
"httpMethod": "POST",
"resourceUrl": "locations",
"body": {
"locationXid": "REST-LOC-001",
"countryCode3Gid": "USA",
...etc...
"domainName": "GUEST"
}
}
The above transaction will create the new Location.
The DELETE method (if supported by the resource) does not require a message body.
Child Resources
The Transaction body may also only contain child resources as defined by the resourceUrl property.
For example,
{
"contentType": "application/vnd.oracle.resource+json;type=collection",
"httpMethod": "POST",
"resourceUrl": "locations/GUEST.REST-LOC-001/refnums",
"body": {
"items": [
{
...location refnum 1 attributes...
},
{
...location refnum 2 attributes...
}
]
}
}
The above message will add two new reference numbers to the GUEST.REST-LOC-001 location.