Expand my Community achievements bar.

SOLVED

Invoking external REST API from Campaign Workflow

Avatar

Level 3

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

Avatar

Correct answer by
Level 10

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

Avatar

Correct answer by
Level 10

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

Avatar

Level 3

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

Avatar

Level 5

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

Avatar

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?

Avatar

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

Avatar

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?

Avatar

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

Avatar

Level 10

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.