Infor Application Connector (IMS)

This section explains the adoption procedures that applications must fulfill to integrate with ION through the ION Messaging Service, (IMS), connection point.

IMS is a connector that allows applications to integrate with ION through REST/JSON APIs. Unlike the IO Box connector, IMS does not require direct access to an application’s database. Instead, IMS communicates through the secured https protocol, through OAuth 1.0, or through API Gateway for authentication. Therefore, IMS is a loosely coupled connector that makes integrations easier.

IMS specifications include well defined API methods. These methods are implemented by ION and must be implemented by the concerned application. After this, they can push messages to each other through the APIs.

IMS can send and receive multiple message requests in parallel. Therefore, sequence of message transport is not guaranteed when using the IMS connector. If sequencing is important, you must use, for example, a VariationID.

The current IMS protocol supports three versions: v1, v2, and v3. March 2020, IMS protocol v3 was introduced. New adopters should use the v3 protocol. The v1 and v2 protocols are not described in this document.

In June 2023, a new IMS v3 message/multipart is introduced. The difference in the IMS v3 multipartMessage method is that the new method contains only one body for the payload. All message parameters are moved to the HTTP header and query parameters. Except for this change, the new method works similar (functionality, responses, HTTP status codes, etc.) to the existing multipartMessage method.

API specifications

For details on the API methods that are mentioned in this guide, see the swagger documentation for IMS.

This documentation is available through API Gateway.

In API Gateway, select Available APIs. Then, search for the Infor ION suite and open the details for the ION Messaging Service endpoint.

Note: You cannot make IMS API calls through the swagger 'Try it out!' option because the IMS side verifies the authentication of the calling side. Therefore, for an IMS through API Gateway, the ClientId of the API Gateway authorized application must be included in the request; the swagger cannot take care of this. Instead, use a client such as Postman to make the call to API Gateway and use the authorized application credentials.

Encoding

For transport performance reasons, especially where it involves larger messages, you can compress the message before sending. In that case you can use the DEFLATE or GZIP encoding. ION ensures the message is decompressed before it is delivered to the receiving application.

ION internals are DEFLATE-optimized. Therefore, we recommend the use of DEFLATE over GZIP.