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 :

  1. Add a MessageDestination record using PLT.MessageDestination_IB inbound interface.

  2. Add a MessageQueue record with the same name as MessageDestination using PLT.MessageQueue_IB inbound interface.

  3. Add a MessageRoute record using PLT.MessageRoute_IB inbound interface which will map recently created MessageDestination to MessageQueue.

  4. 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

  5. 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.