Introduction
This article explains how webmethods.io B2B can be used for routing the inbound transaction based on Channel ID
Audience
It is assumed that readers of this article know
• How to setup B2B enterprise profile and partner on Webmethods.io B2B platform.
• How to create the flow service on webmethods.io integration.
Pre-Requisites
• Set up B2B enterprise profile, partner profile, Business Document.
Topics Covered
• Create Partner specific channel
• Channel assignment to the partner
• Create the custom document
• Create the webmethods.io integration flow service.
• Creating the processing Rule
• Invoke the webmethods.io integration under processing rule action.
• Update the user status based on ChannelID
Why do we need Channel ID for Identification?
• In many cases submitted payload doesn’t have unique value to identify the sender for example: If we have custom xml which doesn’t have any unique value in content to identify the sender or receiver, then in these scenarios channel ID can be used to identify the sender.
• Identify the B2B transaction sender without referring the payload
Points to remember
• When using Channel ID to identify the sender, then receiver will always be selected as Enterprise profile.
• Channel ID and channel name b2b attributes will be added to system, when the document is submitted.
• Above channel information (Channel ID and channel Name) will be available as metadata when the request is submitted to webmethods.io integration.
• Each Partner specific inbound channel can only be assigned to one partner.
• Below screenshot from B2B transaction monitoring page shows where we can verify the attributes added to the system
Use Case:
• In our case we will submit the custom invoice xml using Http protocol using Http channel exposed by B2B.
• Processing rule will invoke to process the request.
• Submitted transaction will be identified based on the channel ID.
• Under processing rule action webmethods.io integration is invoked
• This webmethods.io integration is responsible for updating the user status based on channel name.
Create Partner Specific Channel
• Login to webmethods.io B2B dashboard
• Navigate to channel tab on left hand side.
• Create inbound channel.
• Set the partner specific channel to “YES”
Note:
- Partner specific channel option is not available for SFTP protocol
- Partner specific channel cannot be modified later.
Channel Assignment to partner
• Navigate to the partner profile
• Go the inbound channel tab within the partner profile.
• Select the newly created channel.
Create custom document
• Navigate to webmethods.io B2B business document tab.
• Click on Add document and select the XML type
• Provide the name of document, in our case it is “InvoiceData”.
• Import the document and click save.
• Activate the document.
Create flow service in webmethods.io Integration
• Navigate to webmethods.io integration
• Under flow service section create the new flow service, In our case it is Rcv_Invoice_UpdateStatus.
• Under input tab set the b2b metadata document.
• Set the below operation under the flow service
• In our case we have put the logic to check the channel name and if it matches the update status in B2B using Change user status operation in B2B Application.
• In our case we are updating the status as “Custom Completed Status”.
• Enable the flow service so that it can be invoked over Http
Create the processing rule
• Navigate to the processing rule.
• Click on create new processing rule
• Under criteria select the sender as partner profile and receiver as Enterprise profile
• Select the document type as custom document we created in above steps.
• Under action tab select the webmethods.io integration.
• Select the project and then select the flowService from drop down menu.
End to End Testing
• Submit the transaction using postman client.
• Verify the transaction webmethods.io B2B on monitoring Page
Monitoring on webmethods.io Integration
• Below screenshot shows the details logged at webmethods.io integration monitor page
Note: Attach the webmethods.io integration flowService used in above Demo. Rcv_Invoice_UpdateStatus.zip (8.8 KB)