Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

Invoking external REST API from Campaign Workflow

garchit
Level 2
Level 2

We have a requirement where we need to make an external API call from Campaign Workflow for initiating a third-party service. The external REST API is protected by OAuth 2.0. Can you please help suggest if there any OOTB activity that can used for this purpose, if not, then what possible options do we have? We are on Campaign V7.

1 Accepted Solution
Amit_Kumar
Correct answer by
Community Advisor
Community Advisor

Hi,

You have three options:

1. Use web download, if you are using rest call to dowwnla something to campaign server. Read more Web download.

2. Use JS to make the call example:

  • var http = new HttpClientRequest("https://...");
  •   http.header["UserName"] = strLogin;
  •   http.header["Password"] = strPwd;
  •   http.method = "GET"
  •   http.execute();
  •   var resp = http.response;

3. if you have a website server than make this rest as soap call and use Loading (SOAP).

Regards,

Amit

View solution in original post

8 Replies
Amit_Kumar
Correct answer by
Community Advisor
Community Advisor

Hi,

You have three options:

1. Use web download, if you are using rest call to dowwnla something to campaign server. Read more Web download.

2. Use JS to make the call example:

  • var http = new HttpClientRequest("https://...");
  •   http.header["UserName"] = strLogin;
  •   http.header["Password"] = strPwd;
  •   http.method = "GET"
  •   http.execute();
  •   var resp = http.response;

3. if you have a website server than make this rest as soap call and use Loading (SOAP).

Regards,

Amit

View solution in original post

garchit
Level 2
Level 2

Thank you Amit. This is exactly what I was looking for. Option 2 should work for us.

davidl14970702
Level 5
Level 5

Did you get it working? Could you provide an example of how you parsed the response and saved/used it?

harishs16
Level 1
Level 1

Hi Amit, I couldn't able to see any JS activity in Adobe Campaign Standard, please let us know how can I make external API call for Standard?

Adhiyan
Employee
Employee

Hi Harish,

For ACS , you need use a REST Client like Postman and then follow the documentation given here :

Adobe Campaign Standard API

Using this , you can make external REST calls using the Campaign standard APIs

Regards,
Adhiyan

harishs16
Level 1
Level 1

Thanks Adhlyan for quick reply,

The above documentation giving info about how can we make a calls to ACS API's through REST. But my requirement is, Need to call third-party API's from ACS workflows. In Classic I used to call third-party API's through JS activity in workflow like as below JS snippet

  • var http = new HttpClientRequest("https://...");
  •   http.header["UserName"] = strLogin;
  •   http.header["Password"] = strPwd;
  •   http.method = "GET"
  •   http.execute();
  •   var resp = http.response;

In Standard am not able to see any JS activity. Is there any other approaches to call third-party API's from ACS workflows?

aforabhishek
Level 1
Level 1

Hey Amit_Kumar​,

I have this use-case to call external API for every recipient in a campaign and use the response to personalise the email for them. Do you think Adobe Campaign can handle that? If we have, say 1m users in the target audience, would we be able to call the API 1m times without affecting overall performance?

Abi

Amit_Kumar
Community Advisor
Community Advisor

No, Adobe is not designed to scale for API calls like this. imagine if you have 100 million users in your database in a year number of email will reach 2 billion. so you need 2 billion API calls. Adobe can not scale to such levels.

It's best to redesign the API to support Bulk operations or Change the approach.