Required message headers

Required message headers must be present in the message. Otherwise the message cannot be delivered or processed.

These message headers are required:

Tenant Id
The Tenant Id identifies the message as belonging to a specific tenant. We recommend that you use uppercase characters. The tenant Id is alphanumeric, maximum length is 22 characters. It must be handled case-insensitive.

See Tenant.

Message Id
The Message Id is the unique identifier of each message object in ION. Message Id is considered to be unique by OneView, in the ConfirmBOD engine. It can be used to refer to the message in ConfirmBOD messages, and logging.

Message Id is alphanumeric, maximum length is 250 characters.

The Message Id can be used to detect some cases of duplication.

See Duplicate message detection.

The Message Id can have these formats:

  • Classic

    The message Id is generated by ION as UUID version 4 format (32 hexadecimal digits). However, as opposed to common format, without separation by hyphens. For example:

    7f78383cd163478683f25c1c1410dcf8

    When the message is handled by intermediate activity, the resulting output message has a new Message Id in the same format. For example:

    39db2b1127ae421caa56e5bd2779fbe5

    Some activities, for example Filtering and Content based routing, do not create a new message and therefore the Message Id is not changed.

  • Extended

    The Message Id header can also be provided by source application, for example in IMS connection point. Then the Message Id from source is cropped to a maximum length of 128 characters. Appended with flag :-ION-: and with the UUID described earlier. This ensures that the provided ID is unique. For example:

    SourceIdFromApplication1234:-ION-:9436bbea68a54aad941eb532a5dbf5b0

    Flag :-ION-: is a visual separator and is not reserved by ION. Therefore, the incoming message can contain the same sequence of characters. In such case the last :-ION-: (characters 33-39 from the end of Message Id), is the flag separating the source part and the UUID part.

    When the message is handled by intermediate activity, the resulting output message has a Message Id with the preserved source Message Id part and newly generated UUID part. For example:

    SourceIdFromApplication1234:-ION-:f46884dd79c0481d8c7f0fc261eed110

    Network connection point considers the Message Id from input message as source message Id. Therefore, if the Message Id is in extended format, the target tenant receives the message in this format:

    SourceIdFromApplication2345:-ION-:UUID1:-ION-:UUID2

Document Name (BODType)
Document Name is the alias for the BODType message header. Both names coexist together. Before using, always consult the manual for the appropriate connection point or activity.

Document name is used in ION to link the messages with the document type and the Object schema as defined in Data Catalog. The document name can be any string, for example My_PurchaseOrder_JSON. It is used in routing algorithms and by client applications to filter messages from the input message queue.

This header is case-sensitive with the maximum length of a Document Name is 100 characters.

For BODs the Document Name header contains the verb and noun contained in the message. The case must follow the verb and noun as used in the OAGIS schema. In the Document Name, verb and noun are connected using a dot, such as:

[verb].[noun]

For example, Process.PurchaseOrder or Sync.Shipment. We recommend that you use a noun name with maximum length of 30 characters. The verb must not exceed 11 characters. Acknowledge is the longest supported verb name

From Logical Id
The Logical Id of the sending application. This Id is used to identify an application. Every application must have a unique identifier so that ION can direct documents to that application.

An example of a logical Id is:

lid://infor.eam.myeaminstance

See Logical Id.

Note: In case of network (tenant-tenant) connection.

When messages are transferred to a different tenant, the original source From Logical Id is replaced with the Logical Id of Network connection point on the target side.

To Logical Id
The Logical Id of the destination application. The Id can be used for implicit message routing.
Note: In case of network (tenant-tenant) connection.

When messages are transferred to a different tenant, the original To Logical Id is replaced with the lid://default value on the target side.

See Logical Id