Search

API Interface to Cloudsuite Distribution Enterprise

Business Problem

Push procured requisition data to Infor M3 for product integrations, starting workflows and issuing alerts by leveraging ION Messaging Service.

This tutorial helps users without any prior experience with Infor M3 or who don’t have access to the system, to push procured requisition data to M3 for performing specific actions like integrating ERP/Non-ERP applications, starting workflows, and issuing alerts. The tutorial describes how the user can leverage ION messaging Service APIs to send requisition data or any BOD to Infor OS.

Components

Requirements

  • Access to an Infor Cloud suite
  • User privileges to ION DESK, ION API, M3

Tutorial

Configuration

STEP 1: Create an authorized app of Backend Service Type in ION API.

  1. Download the ionapi file which serves as a credential at a later point.
  2. Refer to the video below for how to create an Authorized App and download the credentials.
Authorized App

STEP 2: Create an IMS connection point. The user must create an IMS connection point to send data to ION

NOTE: Users can skip this section if they have a predefined connection point


1.    Go to ION Desk. Select Connect and Connection points. 
2.    Click on “+” symbol and then select “IMS via ION API”.
3.    Refer to the video below for further steps.
 

Connection Point

STEP 3: Create a Document flow

NOTE: Users can skip this section if they have a predefined Document Flow.

1.    Go to IONDESK. Select “Connect” and then “Data Flows” 
2.    Click on “+” symbol and select “Document Flow”. Populate the name, description etc. fields. Drag two application blocks between START and END
3.    Name the application blocks and add the connector by clicking on “+” symbol.
4.    The First application is the connection point which was created in the previous step. 
5.    Second application which receives documents is M3. It is a predefined connector in ION.
6.    Click on document symbol between two applications and add the predefined documents /object schemas. 
7.    Refer to the video below for above steps.
8.    Activate the Document flow.

Document Flow

SECTION 2 : CALLING IMS API USING POSTMAN

STEP 1: Generating Access Token: An Access token must be generated as the IMS API uses OAuth 2.0 authorization.

1.    In Postman, create a new request.
2.    In the Authorization tab, select type as “OAuth 2.0” and fill in the details from the ‘.ionapi’ file.

  • Token Name – <Readable Name>
  • Grant Type – Password Credentials
  • Access Token URL – Value of “pu”+ “ot” from the downloaded IONAPI file.
  • Client ID – Value of “ci” from the downloaded IONAPI file.
  • Client Secret – Value of “cs” from the downloaded IONAPI file.
  • Username – Value of “saak” from the downloaded IONAPI file.
  • Password – Value of “sask” from the downloaded IONAPI file.

3. Click on “Get new Access Token” button, which generates a token and then Click on “Use token”

STEP 2: Call the IMS API

1.    Change the request method to POST and enter the Request URL for IMS. 

Request URL: https://mingle-ionapi.inforcloudsuite.com/<tenantName>/CustomerApi/IMSV3Wrapper/Messaging/v3/multipartMessage   
2.    In the Request Body, select the format as “form-data”.
3.    For the first parameter, fill the KEY as “ParameterRequest” and VALUE is a file. This file “InputHeaders’ should be in JSON format, created by specifying the parameters along with their values as described below:

  • “documentName”: Name of the file/document to be sent to ION
  • “messageId”         :A unique number for user identification
  • “fromLogicalId”   : LogicalId of the connection point created in step 3
  • “toLogicalId”       :default
  • “charset”             :”UTF-8″

For Example below is skeleton

{

“documentName” : “Sync.Requisition”,

“messageId” : “123456”,

“fromLogicalId” : “lid://infor.ims.build_ims”,

“toLogicalId” : “lid://default”,

“encoding” : “NONE”,

“characterSet” : “UTF-8”

}

4.    For the second parameter, fill the KEY as “MessagePayload” and for VALUE, select the file to be sent into ION which would be a BOD XML. Set the ‘CONTENT TYPE’ header to ‘application/octet-stream’.

5.    Click on “Send”. The Response Body will be displayed with Status Code.

 This completes the end-end simulation for this particular business problem

Appendix

  • This tutorial assumes the user intends to send a Standard pre-defined BOD in ION to M3. However, if the user intends to send a custom BOD/Document to ION, they require to follow the below additional step as step 2 and continue with the remaining steps.

STEP 2: Create an Object Schema. The user must define the document which must be sent to ION.
1.    Go to ION Desk, select Data Catalog and Object Schemas.
2.    The Object Schema for the Purchase Order or Requisition which must be sent to IMS is defined here.
3.    Click on “+”symbol and then select “Generate From Sample Data”.
4.    Select the file to upload.
5.    Refer to the video below for further steps.

  • This tutorial explains how to make API calls to IMS V3 Multipart Messaging service, however, the user may choose to use IMS V2 Messaging service(https://mingle-ionapi.inforcloudsuite.com/DEVMRKT_DEV/CustomerApi/IMSWrapper/send/v2/message) for these API calls based upon his/her requirement.

Troubleshooting

Common errors and troubleshooting tips for errors generated in Postman

  1. Error:  401 Unauthorized:  If the user faces this error, he/she has to select “Authorization” tab, select OAuth2 and generate a proper access token and use it before proceeding with the API call as mentioned in step 1: Generating Access Token.
  2. Error: 404 Not Found: This error occurs when the Request URL is wrong and User has to include value of “Content-Type” as “application/octet-stream” for “MessagePayload” in the Request Body and also the user has to ensure that the “BODY” of the call is properly defined before proceeding with the API Call.
  3. 400 Bad Request: Invalid client ID: This error occurs when the user doesn’t enter the client ID generated in .ionapi file in the client Id field of Connection point and the user must ensure the client ID in for authorization in the POSTMAN call matches the client ID value in the connection point. Confirm the “ci” value from downloaded .ionapi file.