webMethods

webMethods

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only

Connecting to Adobe Analytics from webMethods.io, using Access Tokens and Refresh Token (OAuth 2.0) 

Mon December 27, 2021 05:29 AM

SUMMARY:

In this article we will explore the following:
• Connecting to Adobe custom APIs from webMethods.io, using access and refresh token

PREREQUISITES:

The following should be set up in order to achieve the functionality:
• Adobe Experience Platform account
• Adobe developer account access
webMethods.io Tenant
• Any REST Client (Postman, ARC)

CONTENT:

We cover the below steps in this topic:
• Create a project through Adobe Developer Console
• Test Adobe API from Rest Client (ex: postman, soap ui, etc)
• Invoke Adobe API from webMethods.io

STEPS:

1. Create a project through Adobe Developer Console:

• Login to “Loading... | Adobe Developer Console
• Go to Projects tab, Create new project

• Click on “Add API” and select “Adobe Analytics”

• On the next screen select authentication type as “OAuth”

• Select platform type as “Web” and provide the redirect URI as needed.

Note: For Redirect URI pattern, you must escape “.” using " \ "

• Once the project is created and the Adobe Analytics API is linked to the project, the CLIENT ID and CLIENT SECRET will get generated.

2. Test Adobe API from a Rest Client (Ex-Postman)

• Generate Adobe Auth Token by using the parameters as mentioned below on postman:

Grant Type :- Authorization Code
Callback URL :- project's REDIRECT URI
Auth URL - https://ims-na1.adobelogin.com/ims/authorize/v1
Access Token URL - https://ims-na1.adobelogin.com/ims/token/v1
Client ID :- Project's CLIENT_ID [Obtained in previous step]
Client Secret :- Project's CLIENT_SECRET[Obtained in previous step]
Scope :- openid,AdobeID,read_organizations,additional_info.projectedProductContext,additional_info.job_function
Client Authentication :- Send Client credentials in body

Once you click on the Get New Access Token, it should prompt you to authenticate using the username and password for Adobe.

• Once you authenticate using Adobe Credentials, the access token will be generated.

Note: Access tokens will have a validity of 24 hours and will expire after that.

• Once you receive the token, this can be used to invoke any of Adobe Analytic APIs.

3. Invoke Adobe API from webMethods.io

If the API needs to be invoked on a regular basis or after the token is expired, then a mechanism to re-generate a fresh access token needs to be set up.
This can be done using many ways and below are a few among them:

  • Getting the initial access token from the REST client and saving this token on the Account/Flow Store in webMethods.io
  • Checking for 401 error during the normal execution of the API and then invoking the token generation service followed by re-trying the API invoke with the newly generated token

One such example of using the account store mechanism is as follows:

  • Step 1 – Generate Access/Refresh token from Rest Client (Postman). Once this is done, create a workflow and add an account store from the connectors panel.

  • Step 2 – Configure the account store to set the refresh_token (used in value field in below snapshot).
    image

  • Step 3 – Create a sample workflow to re-generate access token at a regular interval.

URL Parameters:

image

client_id - project clientID                      
refresh_token - fetched from account store
grant_type - refresh_token
client_secret - project clientSecret
Set Body Type - x-www-form-urlencoded
  • Set the newly fetched access token and refresh token to the Store

• Once the token generation mechanism is setup, we can proceed towards invoking Adobe Analytics APIs.
In order to connect to the API, open a new workflow and then select HTTP Request from the connectors list panel.
image

• Configure the HTTP action as below :

Note: URL should be the Adobe API URL that needs to be invoked.

• Under the Headers section fill the values as needed to invoke the API

Please note

  • x-API-key in above screenshot is the Client ID of the Project.
  • For Authorization, the access token needs to be passed in the same format as above – Bearer(OAuth token)

• Once the configuration is completed, run the workflow and check for successful response (Status code 200) from Adobe Analytics API.

Contributors:
@Prasanna.SP
@Udit_Padhi
@Ashutosh_Kumar6


#Integration-Server-and-ESB
#webMethods
#webMethods-io-Integration

Statistics
0 Favorited
0 Views
0 Files
0 Shares
0 Downloads