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!

Edit the API response

Avatar

Level 2

We are looking to optimize our integration with the Adobe Campaign API and are wondering if we are able to change the response Adobe Campaign is giving on certain calls. I.e. for retrieving a session token, the response is quite big and bloated. Is there a way to trim this down and only give back the session token?

Thanks!

5 Replies

Avatar

Community Advisor

Hi,

Create your own API using a schema def, proxied to the desired API via js/jsapi.

Thanks

-Jon

Thanks! That does make a lot of sense.

In this case I would like to do it for the initial call for retrieving a session token. Can I get the .js somewhere, so I can repurpose it and don't need to write everything from scratch?

Avatar

Community Advisor

Hi,

For schema cus:api, use this js:

function cus_api_Logon (login, password, parameters) {

    return xtk.session.Logon.apply(this, arguments).sessionToken;

}

Thanks,

-Jon

Thanks Jon,

So I've done the following:

  • Copied the xtk:session schema and made a cus:cusomtSession one
  • Changed the logon method name to cus_api_Logon
  • Added the library attribute cus:api.js in the method
  • Copy/pasted the javascript code in the newly made cus:api.js

Now I'm getting the following error:

   <faultstring xsi:type='xsd:string'>SOP-330011 Error while executing the method 'cus_api_Logon' of service 'cus:customSession'.</faultstring>

            <detail xsi:type='xsd:string'>JST-310001 Error while evaluating a JavaScript code, line 1: (void 0) is not a function.</detail>

Even if I just put a log in the js file it doesn't seem to work. Anything I missed?

Thanks!

Avatar

Level 4

Hi jeromen49554524​,

The name of the function must be "namespace_name_methodName". In your case, if your schema is named "cus:cusomtSession", the JavaScript function must be named "cus_cusomtSession_Logon".

Example:

- Schema namespace: cus

- Schema name: example

- Method name in the schema: getToken

- JavaScript function name: cus_example_getToken

Hope that will help you,

Best Regards,

Geoffrey.