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!
Global users that are intended to use the SOAP API or are already used for this purpose should not be used to work in the system interface.
If this is still the case, you run the risk of making the global user a client user by switching to a client via the system interface, until this user switches back to the "Global Overview" via the system interface.
This can affect all methods that require the parameter mandator_id. In this case, this global user who has switched to a client would ignore the parameter mandator_id and use the ID of the client to which he or she has switched instead.
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. For SOAP, libraries are an integral part of many programming languages.
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 email addresses, a validation takes place, which prevents invalid email 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 everywhere 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
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 |