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

Adobe Campaign Classic - How to identify all inbound api services

Avatar

Avatar
Validate 1
Level 1
Ken_Qrious
Level 1

Like

1 like

Total Posts

35 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 1
View profile

Avatar
Validate 1
Level 1
Ken_Qrious
Level 1

Like

1 like

Total Posts

35 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 1
View profile
Ken_Qrious
Level 1

30-05-2021

We are trying to identify all inbound api services exposed by our adobe campaign classic.  At present we use two main api interfaces.

  1. Data oriented api, where the interface is defined in a data schema and accessed via https://<campaign instance>/nl/jsp/soaprouter.jsp
  2. Rest api, where interface is defined in a jssp

Is there an easy way to get a list of available api's for external users?

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar
Boost 10
Level 3
CedricRey
Level 3

Likes

24 likes

Total Posts

62 posts

Correct Reply

11 solutions
Top badges earned
Boost 10
Applaud 5
Boost 5
Affirm 5
Give Back
View profile

Avatar
Boost 10
Level 3
CedricRey
Level 3

Likes

24 likes

Total Posts

62 posts

Correct Reply

11 solutions
Top badges earned
Boost 10
Applaud 5
Boost 5
Affirm 5
Give Back
View profile
CedricRey
Level 3

31-05-2021

Hi,

I think you have the 2 main ways to expose APIs from Adobe Campaign.

One other way to expose content from ACC is to publish webForm/webApp/report, but it seems difficult to me to use it as API.

Here a code to list all the methods of your instance schemas (but it'll always go through the soaprouter.jsp url). You can execute it in a javascript into a workflow.

var query = xtk.queryDef.create("<queryDef schema='xtk:schema' fullLoad='true' operation='select'><where><condition expr=\"data NOT LIKE '%' + 'extendedSchema=&quot;' + '%'\"/></where><orderBy> <node expr='[@namespace]||[@name]'/></orderBy></queryDef>");
var schemas = query.ExecuteQuery();
for each ( var schema in schemas.schema)
{
  var schemaName = schema.@namespace + ":" + schema.@name;  
  var methodCollection =  schema.methods.method;
  for each(method in methodCollection)
    logInfo( schemaName + ":" + method.@name + ' (' + (method.@static.toString() == 'true' ? 'static' : 'non static' ) + ') - ' + method.help );
}

You can remove informations from the "logInfo" if not needed. It will output the result to the workflow logs.

 

Cédric

Answers (1)

Answers (1)

Avatar

Avatar
Contributor
MVP
Milan_Vucetic
MVP

Likes

166 likes

Total Posts

383 posts

Correct Reply

135 solutions
Top badges earned
Contributor
Springboard
Shape 1
Validate 25
Validate 10
View profile

Avatar
Contributor
MVP
Milan_Vucetic
MVP

Likes

166 likes

Total Posts

383 posts

Correct Reply

135 solutions
Top badges earned
Contributor
Springboard
Shape 1
Validate 25
Validate 10
View profile
Milan_Vucetic
MVP

31-05-2021

Hi @Ken_Qrious  you can download WSDL file for each schema in AC and import it in SoapUI and you will see the all methods within chosed schema.

Milan_Vucetic_0-1622445559403.png

You can start from schema xtk:session which has a lot of different APIs.

Regards,

Milan