Creating a new Integration Subscription through files
If a developer wants to generate Integration Subscription records without the UI, they may do so. There are certain steps they need to follow in order to create a new Integration Subscription.
Let's explore these steps one by one :
Add a MessageDestination record using PLT.MessageDestination_IB inbound interface.
Add a MessageQueue record with the same name as MessageDestination using PLT.MessageQueue_IB inbound interface.
Add a MessageRoute record using PLT.MessageRoute_IB inbound interface which will map recently created MessageDestination to MessageQueue.
Add an IntegrationSubscription record using PLT.IntegrationSubscription_IB interface. The interface fields and their brief definitions are listed below.
Table 16.16. PLT.IntegrationSubscription_IB version 1.0
Field
Description
"#* ID (#,###)"
Unique identifier. Any number is fine as long as it is unique
Category
Interface Group name. This interface group should include the outbound interface we are looking for
Outbound Interface
Outbound Interface
Outbound Interface Version
Outbound Interface Version
Favorite Name
If Outbound Interface is Report-based interface, FavoriteName can be provided. The favorite settings will be applied to the final message generated
Favorite Owner Enterprise Name, Favorite Owner Name
Owner(User) of the Favorite
Events
JSON-formatted configuration that defines which actions trigger the Subscription execution. For example, [{"Action":["ZBKS.CreateBook, ZBKS.Publish"], "WRITE":true, "ModelLevelType":"ZBKS.Book"}]. "CREATE" : true indicates that any action of CREATE type will trigger execution of this Subscription. "WRITE" : true indicates that any action of WRITE type will trigger execution of this Subscription. This configuration basically says execution of "ZBKS.CreateBook", "ZBKS.Publish" actions or any action of WRITE type on ZBKS.Book model will trigger this IntegrationSubscription
Schedule
JSON-formatted configuration that defines when to execute this Integration Subscription in a timely manner. Such as [{"HourOfDay":"01","MinuteOfHour":"00"},{"WeekDay":3,"HourOfDay":"07","MinuteOfHour":"30"}]. Note that first JSON object does not have WeekDay. It means "Run Every Day". Day indexes start with Sunday as 0 and end with Saturday as 6
Owning Enterprise Name
Name of the Enterprise which owns this IntegrationSubscription
Owning Platform Instance Name
Name of the PlatformInstance which owns this IntegrationSubscription
Execute As Role Enterprise Name, Execute As Role Name,Execute As Role Organization Name,Execute As Role Site Name, "Execute As Role Value Chain Id (#,###)",Execute As User Enterprise Name,Execute As User Name, "Execute As User Value Chain Id (#,###)"
Execute As is the UserAssociation used to execute outbound interface delivery. Basically all of these fields are denormalized natural keys of UserAssociation model and should be provided.
Ignore Changes Made By Enterprise Name,Ignore Changes Made By Name
Denormalized natural keys of User model. Any Action executed by this User will be ignored and won't trigger IntegrationSubscription execution
Queue Enterprise Name,Queue Name
MessageQueue's natural keys
"Active (0 or 1 [0=false, 1=true])"
Whether IntegrationSubscription is active or not
Once you finish all these steps, Actions which are defined in the Event configuration will trigger the IntegrationSubscription and it will deliver messages. The IntegrationSubscription will also be executed according to the configured schedule within Schedule field.