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.