Basically, you need three things to use the web services in Optimizely Campaign:
- A functional SOAP 1.1 client environment
- A valid Optimizely Campaign account that has the permission to access the SOAP API (provided by Optimizely)
- A client ID (provided by Optimizely)
A session is always valid for 20 minutes, i.e., after this time the so-called sessionId becomes invalid and you must request a new one. To do so, use the login method.
Currently, all web services are deployed RPC-encoded only. Each web service is deployed under a URL of the form. We recommend always using an encrypted SSL connection using the HTTPS protocol:
Replace [WebserviceName] with the name of the actual web service without the term webservice. For example, the SessionWebservice is deployed under the URL http://api.campaign.episerver.net/soap11/RpcSession.
The WSDLs for the CouponBlock and CouponCode web service of the coupon system can be found under the following links:
These web services are not part of the standard distribution of our SOAP API. They must be activated separately. To do this, you need the Optimizely Campaign add-on coupon system. Contact [email protected] if you want to use this function.
Throughout the whole API, errors are reported as exceptions (SOAP faults). So you should implement some kind of error handling on the client side.
Due to updates on the API, HTTP responses will no longer contain the default reason phrase (status description) appended to the HTTP status code, such as HTTP 200 "OK" or HTTP 404 "NOT FOUND". If your API client relies on the reason phrase, and to avoid system failures, please adjust your API response handling to ignore the reason phrase until 2021-12-31. See also HTTP specification RFC 7230 3.1.2.
Here is a short example (written in pseudo Java syntax) that illustrates the process flow of a web service session:
// Login to the client 1234 // The session ID obtained by this call is needed to call any other webservice's method. // A session is valid for 20 minutes. String sessionID = SessionWebservice.login(1234, "myusername", "mypassword"); // Call some methods. In this example we retrieve the ids of all regular mailings available. long mailingIds = MailingWebservice.getIds(sessionId, "regular"); // Now do something with the mailingIds ... // Finally logout SessionWebservice.logout (sessionId);
Updated 3 months ago