Introduction
The SOAP API represents the primary interface with read and write access. It can be used to query and change data on an object-specific basis. The scope of functions is oriented to the functions of the system, so that remote control of the system is possible to a limited extent.
Please note!
Always use a separate global user to use the SOAP API. You should never use this user to work in Evalanche!
Otherwise there is a risk of the global user becoming a client user when switching to a client. This status remains until the user switches back to the "Global overview" via the system interface.
This affects all methods that require the mandator_id parameter. Here, the global user who has switched to a client ignores the mandator_id parameter and instead uses the ID of the client to which they have switched.
Use of the API
Authentication
The authentication is done via Basic Auth. The necessary steps are usually taken over by the libraries used.
The user used to access the API requires the system right Webservices 2.0. You can find out how to configure roles and rights in our article "Configuring roles and rights".
Supported Protocols
The SOAP protocol is language independent, server and clients can be implemented in any language such as Java, Perl, Python, PHP or Ruby.
Details on libraries can be found at https://de.wikipedia.org/wiki/SOAP#Implementierungen .
Access to objects or resources
The following object types can be processed via the interface:
- Article
- Article Templates
- Article Types
- Container
- Container Types
- File
- Form
- Form Alias
- Picture
- eMailings
- eMailing template
- Pool
- Pool Data Miner
- Report
- Target group
Restrictions
Please note that individually the request via the API must not exceed 10MB. This is a security policy. Larger requests have to be transmitted splitted.
E-mail Validation
When entering e-mail addresses, a validation takes place, which prevents invalid e-mail addresses from being entered into a pool. The following criteria are checked:
- e-mail syntax correct
- e-mail not available in blacklist
- domain has valid A-record
- domain has valid MX record
General use
EvalancheHashMaps are used where lists of key-value pairs are needed, but the keys are only determinable at runtime.
Since the property of the individual EvalancheHashMapItem must be of type string, the following rules apply for deviating data types:
Multi-line input (formatted / HTML editor)
Valid XHTML with optional root node, for example:
Foo & Bar
or
<div>foo & bar>/div>
Invalid XHTML can result in the article being uneditable via the interface. Mailings that contain such an article may not be sent!
Integer
Passed as a string representation (in PHP through strval($integer_value).
True/False
True is passed as a string containing 1, False as a string containing 0.
Single selections
The option id of the value is passed as a string representation.
Date & Date with time
Unix timestamp as string representation.
Date values can also be transferred as a string (e.g.: 2020-01-01), but this means that the profile change date is also set for updates with already existing date values.
Use with articles and containers
Multiple selections: The list of selected Option Ids as a list of Ids separated by "|", e.g. 123|456|789
Links (List): List of objects with the properties text and url JSON serialized, e.g. [{"text":"DuckDuckGo","url":"https://ddg.gg"},{"text":"Google","url":"http://www.google.com"}].
Values (list): List of objects with the properties key and value JSON serialized, e.g. [{"key":"foo","value":"bar"},{"key":"herp","value":"derp"}].
Picture (List): The list of selected picture IDs as a JSON serialized list, e.g. ("[1233,1234,1235]")
Container (List): The list of selected container IDs as a JSON serialized list, for example ("[1233,1234,1235]")
Use with profiles
Multiple selections: The list of selected Options-Ids as a string serialized with | ("pipe"), e.g. ("|1233|1234|1235|")
Single selections: The selected option id is also shown as a string serialized with | ("pipe"), e.g. ("|1233|")
UID: The encrypted ID of a profile can be queried via the virtual attribute "SID". methods that return all profile data, the virtual attribute "SID" is automatically present.
WSDL (Web Services Description Language)
See the following table for information on access points and WSDL files:
Port | WSDL Document/literal | WSDL RPC/encoded |
---|---|---|
Article | [LOGIN_DOMAIN]/soap.php/wsdl/article | [LOGIN_DOMAIN]/soap.php/wsdlcompat/article |
Article template | [LOGIN_DOMAIN]/soap.php/wsdl/articletemplate | [LOGIN_DOMAIN]/soap.php/wsdlcompat/articletemplate |
Articletype | [LOGIN_DOMAIN]/soap.php/wsdl/articletype | [LOGIN_DOMAIN]/soap.php/wsdlcompat/articletype |
Blacklist | [LOGIN_DOMAIN]/soap.php/wsdl/blacklist | [LOGIN_DOMAIN]/soap.php/wsdlcompat/blacklist |
Campaign | [LOGIN_DOMAIN]/soap.php/wsdl/campaign | [LOGIN_DOMAIN]/soap.php/wsdlcompat/campaign |
Category | [LOGIN_DOMAIN]/soap.php/wsdl/category | [LOGIN_DOMAIN]/soap.php/wsdlcompat/category |
Container | [LOGIN_DOMAIN]/soap.php/wsdl/container | [LOGIN_DOMAIN]/soap.php/wsdlcompat/container |
Container type | [LOGIN_DOMAIN]/soap.php/wsdl/containertype | [LOGIN_DOMAIN]/soap.php/wsdlcompat/containertype |
Document | [LOGIN_DOMAIN]/soap.php/wsdl/document | [LOGIN_DOMAIN]/soap.php/wsdlcompat/document |
Form | [LOGIN_DOMAIN]/soap.php/wsdl/form | [LOGIN_DOMAIN]/soap.php/wsdlcompat/form |
Image | [LOGIN_DOMAIN]/soap.php/wsdl/image | [LOGIN_DOMAIN]/soap.php/wsdlcompat/image |
Mailing | [LOGIN_DOMAIN]/soap.php/wsdl/mailing | [LOGIN_DOMAIN]/soap.php/wsdlcompat/mailing |
Mailing template | [LOGIN_DOMAIN]/soap.php/wsdl/mailingtemplate | [LOGIN_DOMAIN]/soap.php/wsdlcompat/mailingtemplate |
Mandator | [LOGIN_DOMAIN]/soap.php/wsdl/mandator | [LOGIN_DOMAIN]/soap.php/wsdlcompat/mandator |
Milestone | [LOGIN_DOMAIN]/soap.php/wsdl/milestone | [LOGIN_DOMAIN]/soap.php/wsdlcompat/milestone |
Pool | [LOGIN_DOMAIN]/soap.php/wsdl/pool | [LOGIN_DOMAIN]/soap.php/wsdlcompat/pool |
Pooldataminer | [LOGIN_DOMAIN]/soap.php/wsdl/pooldataminer | [LOGIN_DOMAIN]/soap.php/wsdlcompat/pooldataminer |
Profiles | [LOGIN_DOMAIN]/soap.php/wsdl/profile | [LOGIN_DOMAIN]/soap.php/wsdlcompat/profile |
Report | [LOGIN_DOMAIN]/soap.php/wsdl/report | [LOGIN_DOMAIN]/soap.php/wsdlcompat/report |
Scoring | [LOGIN_DOMAIN]/soap.php/wsdl/scoring | [LOGIN_DOMAIN]/soap.php/wsdlcompat/scoring |
Smartlink | [LOGIN_DOMAIN]/soap.php/wsdl/smartlink | [LOGIN_DOMAIN]/soap.php/wsdlcompat/smartlink |
Target Group | [LOGIN_DOMAIN]/soap.php/wsdl/targetgroup | [LOGIN_DOMAIN]/soap.php/wsdlcompat/targetgroup |
User | [LOGIN_DOMAIN]/soap.php/wsdl/user | [LOGIN_DOMAIN]/soap.php/wsdlcompat/user |