Expand my Community achievements bar.

Announcing the launch of new sub-community for Campaign Web UI to cater specifically to the needs of Campaign Web UI users!
SOLVED

Adobe campaign webapps to directly connect with APIs and fetch/update the related data.

Avatar

Level 4

Hi All,

Is it possible to directly send, get and update any profile details from seibel CRM or a website present details via webapps hosted on adobe campaign [may be via API calls].

-> If it is possible it will be extremely helpful if any sample syntax to connect with external APIs from adobe campaigns' webapps can be shared for directions. 

Our scenario: We want to host an unsubscription webapp in adobe campaign which will be universal for many data sources and should directly update the data [opt-out/opt in profiles] present in the Seibel crm without daily import/export workflows. Apologies for the bits and pieces, but just wanted to confirm if it is possible via adobe campaign hosted webapps.

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hello @Poonam_Dogra 

 

Within your web app, you can write a code to post data to an API once the preferences are updated in the Campaign. 

 

The webApp activities will look like this.

Manoj_Kumar__0-1662352586934.png

 

What is happening in these activities?

  1. The first-page activity is to present the customer with preference options. Once the submit button is clicked the preference values will be updated on the content variables.
  2. Then the javascript activity will check the context variables and update the preferences.
  3. Once the preferences are updated, Then you can post the data to your CRM system via API call.
    You can get the references for the code from these links:
    HttpClientRequest (Class) (adobe.com)
    Make HTTP calls in JS in Adobe Campaign | Blog by Florian Courgey
  4. Once these updates are done then you can display the preferences update page.

 

But you will have to consider things like API request failures. How will you process the backlogs of these failed requests?

 

Another way you can do it is instead of posting the data in the WebApp you can first save this data in the schema and then create a workflow to query the data and then post data to the API via a technical workflow.

 

There is no recommended approach for this kind of scenario

 


     Manoj
     Find me on LinkedIn

View solution in original post

3 Replies

Avatar

Correct answer by
Community Advisor

Hello @Poonam_Dogra 

 

Within your web app, you can write a code to post data to an API once the preferences are updated in the Campaign. 

 

The webApp activities will look like this.

Manoj_Kumar__0-1662352586934.png

 

What is happening in these activities?

  1. The first-page activity is to present the customer with preference options. Once the submit button is clicked the preference values will be updated on the content variables.
  2. Then the javascript activity will check the context variables and update the preferences.
  3. Once the preferences are updated, Then you can post the data to your CRM system via API call.
    You can get the references for the code from these links:
    HttpClientRequest (Class) (adobe.com)
    Make HTTP calls in JS in Adobe Campaign | Blog by Florian Courgey
  4. Once these updates are done then you can display the preferences update page.

 

But you will have to consider things like API request failures. How will you process the backlogs of these failed requests?

 

Another way you can do it is instead of posting the data in the WebApp you can first save this data in the schema and then create a workflow to query the data and then post data to the API via a technical workflow.

 

There is no recommended approach for this kind of scenario

 


     Manoj
     Find me on LinkedIn

Avatar

Employee Advisor

I've done this approach before and it worked. One thing to watch is the total amount of calls per second. I believe ACC can only handle 35 per second on the inbound module. So check your license and the tier you are hosted on. It is possible for Tech Ops to stand up more modules/servers to support the traffic, but you may need an extra contract for it.

Avatar

Level 4

Hi @Manoj_Kumar_ 

Thankyou so much for sharing the details, really grateful for your time and efforts on this.

Thank you @David_Loyd for confirming that the approach worked in the past.

I will try this for our scenario.

Thanks once again!