Author: Aaradhana Sridharan <firstname.lastname@example.org>
Supported versions: webMethods.io B2B 1.2 and above
What is webMethods.io B2B?
webMethods.io B2B is Software AG's secure, format-neutral, business-document gateway that recognizes and processes documents that are exchanged between partners. Through webMethods.io B2B, you can exchange business documents with the partners in your network to relay production information.
webMethods.io B2B allows you to create a B2B network, which is a group of organizations that have agreed to exchange business documents. Participant organizations might include strategic partners, buyers, suppliers, and marketplaces (for example, Ariba Network). These participant organizations are referred to as partners. Business documents that partners typically exchange include purchase orders, order statuses, purchase order acknowledgements, invoices, and other domain-specific documents. webMethods.io B2B enables your corporation to connect to other organizations to form a business-to-business (B2B) network.
Let us consider a use case where a hotel chain, Tastilicious, would like to receive business documents from its partner using webMethods.io B2B. The partner, NutriFoods, is a supplier of organic food items. It uses different document types like purchase orders, invoices and other food industry specific documents.
As an enterprise, Tastilicious should configure webMethods.io B2B to enable the exchange of business documents with its partner. This design time configuration can be performed via the use interface of webMethods.io B2B. This involves creation of:
- Enterprise profile (A profile that represents the hotel chain)
- Partner profile (Profile that represents the partner)
- Partner users
- Communication channels
- Processing rules
Design time configuration
Setting up enterprise and partner profile
Step 1: Create enterprise profile
To setup a profile for the enterprise (Tastilicious), Click Set up my B2B Enterprise on the welcome screen to open the guided wizard.
Enter the Name and Organization unit of the enterprise.
In order to recognize the enterprise profile in a unique manner, identities need to be provided. There are different types of identities available. Here, we choose the DUNS number as the identity type.
Click Add Identity to add information on identities.
The next screens request you to add information about contacts and addresses. This information is necessary for the partner to communicate the enterprise.
Once the enterprise profile is created, you will see that it is set to Active by default.
Step 2: Create partner profile
Partners are a group of organizations that have agreed to exchange business documents. In order to identify these partners, partner profiles need to be created.
To create a new partner, click Add Partner in Partner profiles section.
Create a partner NutriFoods with DUNS number as the identity type.
As you can see, a partner profile is Not Active by default. Once all the required configurations are done, we can activate the profile.
Step 3: Create partner user
Only authorized users of a partner can send documents to webMethods.io B2B.
To create a partner user, click Add Partner User in Partner users section.
Create a partner user sam along with password information.
A channel forms the basis of communication in webMethods.io B2B and facilitates document exchange.
There are two types of channels - Inbound (to receive documents) and Outbound (to send documents).
Step 4: Create inbound channel
In Channels section, click Add Channel and choose Inbound Channel.
Choose the Channel type as HTTP-IN and provide the name and description.
Once the channel is created, you will see that the channel is Active by default. Also, note the HTTP endpoint URL which will be used by the partner to send documents.
Step 5: Associate partner user with partner profile
To send a document to webMethods.io B2B, a partner must have at least one partner user associated with it.
Let us now associate the user sam with partner NutriFoods.
Go the Users section of the profile page of NutriFoods, click Associate User and add the user "sam".
Step 6: Associate inbound channel with partner profile
You should associate an inbound channel with a partner to receive business documents through the configured endpoint.
Here, we need to associate the inbound channel HTTP-Inbound-Channel with partner NutriFoods.
Go the Inbound channels section of the profile page of NutriFoods, click Associate Inbound Channel and add the channel "HTTP-Inbound-Channel".
Step 7: Activate partner profile
Activate the partner profile of NutriFoods by enabling the Active toggle in the partner profile Summary page.
Processing rules specify how you want webMethods.io B2B to process the inbound documents and the specific actions to take after a document matches with the specified criteria. They get executed in the order of precedence.
Step 8: Create processing rule
In order to place the new rule first in the sequence, click on the first rule in the list, click Add Processing Rule and choose Above.
Enter the Name and Description of the rule. Note that the Sequence of the rule is First.
Step 9: Configure criteria
The criteria defines who the sender and receiver should be, the type of document allowed, etc.
Choose the sender as NutriFoods and the receiver as Enterprise (which is Tastilicious, in our case).
Step 10: Configure pre-processing options
These options are used for performing operations prior to the actual processing actions.
Let us continue with the default selection that is present. The selection Defer to business document means the value provided in the business document will be considered.
Step 11: Configure action
These are actions that will be executed once the criteria is met and the pre-processing is completed.
We shall configure the action Call an integration. There are 2 modes for call out - webMethods.io Integration OR External call.
Choosing webMethods.io Integration enables webMethods.io B2B to call a flow service that is designed using webMethods.io Integration. Choosing External call enables webMethods.io B2B to invoke an external service endpoint using basic authentication.
Choose External call mode. Enter the URL of the integration created on webMethods.io Integration, Username and Password. Reliable execution mode is chosen by default (This mode automatically retries failed integration invocation).
Step 12: Activate processing rule
By default, any newly created processing rule is not activated. Activate the processing rule High Priority Rule by enabling the Active toggle in the Summary page.
Sharing details to partners
You need to share the inbound channel endpoint details with the partner in order for them to send documents. A partner can use any HTTP client to send a business document to the endpoint URL.
Step 13: Share endpoint and user details to partner
Details that need to be shared are - Endpoint URL and Partner User Credentials.
You will find the endpoint URL of the inbound channel and user credentials in the partner profile summary page of NutriFoods.
In our example, the endpoint URL is https://b2btenant.webmethodscloud.com/b2b/routes/channel/ebf06578-f698-4675-aeaa-1b6d8742bbf4 and partner user is sam.
Sending document to an inbound channel
Now that we have configured an inbound channel and associated it with a partner profile, we will be able to send an EDI document to this channel's endpoint.
Step 14: Send an EDI document to an inbound channel endpoint
- Open Postman client.
- Select HTTP POST method.
- Specify the HTTP request URL as the inbound channel's endpoint URL.
- Under Authorization, set the Authorization to Basic Auth and specify the username and password configured as the partner user credentials.
- Under Headers, set Content-Type header as application/edi.
- Under Body, choose the type as raw and paste the below document content.
ISA*00* *00* *01*123456789 *01*987654321 *031008*1040*U*00401*000000001*1*P*>~
MSG*THIS PURCHASE ORDER IS SUBJECT TO THE SAME TERMS AND~
MSG*CONDITIONS AS SAFEWAY PURCHASE ORDER FORM 1030~
MSG*PICKUP NO. E450562
N3*16900 West Schulte Road~
N2*NATIONAL SERVICES CENTER~
N3*P.O. BOX 29093~
N1*VN*BEST SUPPLIER INC.*9*1234567890000~
N3*P.O. BOX 11111~
PID*F*08***ITEM DESCRIPTION 1/10 LB~
IEA*1*000000001~Note that the sender identity is highlighted in green and receiver identity is highlighted in blue.
Send or submit the request. You should receive a 200 OK response.
Sender and Receiver identities in the document
The first line of an EDI document contains the identities of the sender and receiver. The document exchange will fail if these identities are incorrect. Some of the supported identities are DUNS number, phone number, etc.
Please note that the identities of the sender and receiver have a length of 15 characters. Even if the identity length is less than 15, the remaining characters need to be filled with spaces.
In our example, the DUNS number of the sender is 123456789 and DUNS number of the receiver is 987654321.
Information about documents exchanged in webMethods.io B2B is available in the Transactions page.
For the document that we sent using Postman client, we see the above 4 entries in the transactions list.
Three of them have the sender as NutriFoods and receiver as Tastilicious. These transactions denote the receipt and processing of the document.
One of them has the sender as Tastilicious and receiver as NutriFoods. This is because of the presence of a native rule called "Deliver Functional Acknowledgement". This rule is used to deliver a functional acknowledgement using the sender's preferred outbound channel. This is an acknowledgement from the receiver to the sender denoting that the document has been received. Since there is no outbound channel configured for the sender (NutriFoods), the processing status is NOT DELIVERED.
Course of transaction and summary
For each transaction, we can view the transaction summary and course of transaction by clicking on the value of "Date received" column.
Course of transaction shows the processing steps that have been executed. In case of any error, detailed message about the error is shown.
Transaction summary contains the document content, attributes and tasks. A task gets created when an integration execution is performed.
Reprocess a document
When you reprocess a document, you send the document back through the processing rules. For example, you will reprocess a document if the document was processed by the wrong processing rule.
Resubmit a document
When you resubmit a document, you send the document to webMethods.io B2B as a new document. For example, you might resubmit a document when the document does not match any type of business document. When you edit a document and resubmit it, webMethods.io B2B creates a new instance of the document, and continues to process it while the original document remains unchanged.
Let us assume that the sender ID present in the document did not match with the sender specified in the processing rule. In this case, the course of transaction will have an error entry.
In order to change the sender ID in the document content, click on EDIdata in the transaction summary, edit the document and resubmit it.
For more information on webMethods.io B2B, please refer the documentation.
You can find the export of the above Postman transaction as a JSON file (Send_EDI_Document.json) as part of attachments.