Campaign webservices

Naveen_AEM_dev

07-05-2017

I'm trying to integrate AEM with Campaign and part of my use case, I will consume the webservices that are exposed by campaign to add some data to the campaign database. I will be adding fields like username, email etc in a table that stores user information (email recipients).

I'm looking for advise around how the webservices should be implemented - best practices, guidelines etc?

I was able to see examples of consuming the webservices from javascript, is this the industry standard? The webservice access credentials seem to be exposed in the javascript, isn't this an issue?

Any help is appreciated.

Accepted Solutions (1)

Accepted Solutions (1)

Naveen_AEM_dev

14-05-2017

Thanks Amit but I was trying to consume the default webservices that are available OOTB in Campaign. I've now consumed the webservice in AEM, using a java implementation for the webservice client, and I'm able to write successfully to the Campaign database.

Links followed,

https://albertodema.wordpress.com/2015/05/12/integration-with-adobe-marketing-cloud-aka-neolane/

https://albertodema.wordpress.com/2015/12/09/integration-with-adobe-campaign-marketing-aka-neolane-p...

Answers (5)

Answers (5)

Amit_Kumar

MVP

09-05-2017

Naveen AEM dev,

Using adobe campaign from AEM is fairly easy, because when you enable adobe campaign from aem as cloud service your username and passwords are stored in a encrypted way so you need not to provide that inside your service call. refer to this document.

to make a soap call all you have to do is ask your Adobe campaign developer to expose soap method as rest service or as JSSP page the you can write a simple code snippet like

Configuration config = campaignConnector.getWebserviceConfig(page.getContentResource().getParent()); CampaignCredentials credentials = campaignConnector.retrieveCredentials(config); Map<String, String> params = new HashMap<String, String>(); params.put("origin", "AEM"); CallResults results = campaignConnector.callGeneric("< jssp page url goes here>", params, credentials); return results.bodyAsString();

response that you will be receiving will be a json and you can do what ever you want with that. if you need a to make a call then you can call this servlet from from end using js and this servlet will call adobe campaign this will give you added security.

Regards,

Amit

Naveen_AEM_dev

08-05-2017

Hi Vipul,

I'm also a bit confused about which js library is used for the Soap connections etc, are you able to provide some information around that too? I'm not able to determine what library was used for the examples mentioned in https://docs.campaign.adobe.com/doc/AC6.1/en/CFG_API_Web_service_calls.html#Web_service_description-...

Naveen_AEM_dev

08-05-2017

The document seems to be pretty basic and doesn't answer all my questions. Can you direct me towards some examples? And also, are there any challenges with consuming these webservices using java? I'm thinking it maybe easier to consume the services in AEM backend implementation as opposed to using Javascript.

Even for the Logon method, retrieving the session token requires sending the username / pwd in the request.

Vapsy

Employee

07-05-2017

Hi Naveen,

Please refer to official documentation https://docs.campaign.adobe.com/doc/AC6.1/en/CFG_API_Web_service_calls.html

This will help you understand how to configure SOAP endpoints.

Regarding username/password being used for authentication, you can also use session token in place of it.

For session token, please refer to Logon method of xtk:session schema.

Hope this helps.

Regards,

Vipul