Zulu eDM - Original API (wsdl)Posted by Dave Zulu, Last modified by Dave Zulu on 04 June 2019 01:31 PM |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
There are no plans to remove this API - it is not extensive but it works fine. Other resources are available here and GitHub.
Version 1.0 CONTENTSOVERVIEW... API ACCESS. API KEY. LOGIN CREDENTIALS. API REQUEST PARAMETER ORDER. GENERIC ERROR RESPONSE CODES. CONTACT OPERATIONS. Contacts.AddContact Contacts.GetContactsByGroup. GROUP OPERATIONS. Groups.AddContactToGroup. Groups.RemoveContactFromGroup. Groups.GetListing. Groups.EditGroup. CAMPAIGN OPERATIONS. Campaigns.GetSentCampaigns. Campaigns.GetCampaignInteractions.
OVERVIEWThis document outlines the functions and operations available via the Zulu eDM API. The API provides access to some of the data and features of your Zulu eDM account via a SOAP based platform. Whilst not all platform data is made available via the API, it is hoped that the available functions will provide some meaningful data endpoints for integrating into your own custom applications. If there is something within the eDM platform you specifically need access too that isn’t specified within the API documentation, please feel free to contact us to see if we can cater for this through either further API development or a custom integrated solution. *Note: The Zulu eDM API is only available on certain versions of the software. Please contact us if you require access to the API to discuss your requirements further.
API ACCESSThe API is accessed via SOAP calls made to various function endpoints (as specified further down in the document). All requests made to the API must include an account API Key as well as valid eDM Username and Password credentials belonging to the account you are trying to access. Common Request Parameters
|
Code |
Description |
201 |
API Key |
202 |
Invalid Username provided |
203 |
Invalid Password provided |
CONTACT OPERATIONS
Listed below are the methods available to interact with the contacts section of the platform.
Contacts.AddContact
Endpoint: https://api.au.zuluedm.com/api/1.1/?wsdl
Description: This function is used to add and edit contacts within the system. (*Note: If an email address that exists is provided in the request, the existing contact record is updated)
*Please note: All parameters specified below in the request parameter table must be built in an associative array format as displayed below and the $data value passed as the first parameter to the API function. E.g.
$data[] = array('field' => 'firstname', 'value' => 'Jason')
$data[] = array('field' => 'lastname', 'value' => 'Mc\'Allindon');
$data[] = array('field' => 'country', 'value' => 'Sudan');
$data[] = array('field' => 'email', 'value' => 'testemail@testemail.org')
/* Add the Contact to the System */
$result = $client->__soapCall('Contacts.AddContact', array(
'apikey' => $apiKey,
'user' => $username,
'pass' => $password,
'data' => $data
));
Request Parameters
Parameter |
Mandatory |
Data Type |
Example |
Description |
title |
No |
String |
Mrs |
Title |
firstname |
No |
String |
Jason |
First Name |
lastname |
No |
String |
Mc’Allindon |
Last Name |
|
Yes |
String |
testemail@testemail.org |
Email Address |
telephone |
No |
String |
(08) 9234 2343 |
Home Phone Number |
workphone |
No |
String |
+7 1930 39302 5 |
Work Phone Number |
mobilephone |
No |
String |
0473938473 |
Mobile Phone Number |
fax |
No |
String |
9372 9403 |
Fax Number |
dateofbirth |
No |
String |
2016-09-04 |
Contacts Date of Birth (YYYY-MM-DD) |
address1 |
No |
String |
51 Yellow Street |
Address Line 1 |
address2 |
No |
String |
|
Address Line 2 |
city |
No |
String |
Murray Bridge |
City of residence |
state |
No |
String |
VIC |
State of residence |
postcode |
No |
String |
7293 |
Postcode of residence |
country |
No |
String |
Sudan |
Country of residence |
companyname |
No |
String |
Mc’Allindon & Co Pty Ltd |
The Company this Contact belongs to |
subscribed |
No |
String |
No |
Email subscription status (Yes or No) |
doubleopted-in |
No |
String |
No |
Contact double opt-in status (Yes or No) |
Fault Codes
Code |
Description |
401 |
Email Address invalid or not provided |
Sample Code
<?php
/* API Credentials */
$apiURL = 'https://api.au.zuluedm.com/api/1.1/?wsdl';
$apiKey = 'apikey';
$username = 'username';
$password = 'password';
/* Create a SOAP Client Object */
$client = new SoapClient($apiURL, array('trace' => 1, 'cache_wsdl' => WSDL_CACHE_NONE));
/* Setup the Contact Array of Details */
$data[] = array('field' => 'firstname', 'value' => 'First Name');
$data[] = array('field' => 'lastname', 'value' => 'Last Name');
$data[] = array('field' => 'country', 'value' => 'Argentina');
$data[] = array('field' => 'email', 'value' => 'testemail@emailtest.com');
$data[] = array('field' => 'telephone', 'value' => '08234723837');
$data[] = array('field' => 'subscribed', 'value' => '1');
$result = null;
try {
/* Add the Contact to the System */
$result = $client->__soapCall('Contacts.AddContact', array(
'apikey' => $apiKey,
'user' => $username,
'pass' => $password,
'data' => $data
));
if ($result->status === '101') {
// Contact Successfully Added/Updated
/* The contactid variable returned is the primary key of the generated or updated user */
//$result->contactid
}
echo '<pre>';
var_dump($result);
echo '</pre>';
} catch (SoapFault $soapFault) {
var_dump($soapFault->faultcode);
}
Sample Response
Contacts.GetContactsByGroup
Endpoint: https://api.au.zuluedm.com/api/?wsdl
Description: This function is used to retrieve contacts within a specified group in the system.
Request Parameters
Parameter |
Mandatory |
Data Type |
Example |
Description |
key |
Yes |
String |
id |
The key to base group contact retrieval on (id or name) |
value |
Yes |
String |
17 |
The key value to use to retrieve contacts for the specified group (A number when using ID as the key and a String when using group name as the key) |
start |
Yes |
Integer |
0 |
Starting point for record limiting (same functionality as the first value of an SQL limit clause) |
limit |
Yes |
Integer |
100 |
Limit of records to retrieve (same functionality as the second value of an SQL limit clause) |
Fault Codes
Code |
Description |
207 |
Invalid record limiting parameters provided |
250 |
Invalid key parameter provided. Only “id” or “name” are valid options |
GROUP OPERATIONS
Listed below are the methods available to interact with the groups section of the platform.
Groups.AddContactToGroup
Endpoint: https://api.au.zuluedm.com/api/1.1/?wsdl
Description: This function is used to add a contact to a group.
Request Parameters
Parameter |
Mandatory |
Data Type |
Example |
Description |
group_id |
Yes |
Integer |
17 |
Group Primary Key |
people_id |
Yes |
Integer |
1652 |
Contact Primary Key |
Fault Codes
Code |
Description |
251 |
Invalid Group ID specified |
402 |
Invalid Contact ID specified |
Sample Code
<?php
/* API Credentials */
$apiURL = 'https://api.au.zuluedm.com/api/1.1/?wsdl';
$apiKey = 'apikey';
$username = 'username';
$password = 'password';
/* Create a SOAP Client Object */
$client = new SoapClient($apiURL, array('trace' => 1, 'cache_wsdl' => WSDL_CACHE_NONE));
$result = null;
try {
/* Add the Contact to the System */
$result = $client->__soapCall('Groups.AddContactToGroup', array(
'apikey' => $apiKey,
'user' => $username,
'pass' => $password,
'group_id' => 3,
'people_id' => 6
));
if ($result->status === '101') {
// Contact Successfully Added to Group
}
echo '<pre>';
var_dump($result);
echo '</pre>';
} catch (SoapFault $soapFault) {
var_dump($soapFault);
}
Sample Response
Groups.RemoveContactFromGroup
Endpoint: https://api.au.zuluedm.com/api/1.1/?wsdl
Description: This function is used to remove a contact from the specified group.
Request Parameters
Parameter |
Mandatory |
Data Type |
Example |
Description |
group_id |
Yes |
Integer |
17 |
Group Primary Key |
people_id |
Yes |
Integer |
1652 |
Contact Primary Key |
Fault Codes
Code |
Description |
406 |
Contact is not a member of the given group |
Groups.GetListing
Endpoint: https://api.au.zuluedm.com/api/?wsdl
Description: This function is used to retrieve the list of groups within the system.
Request Parameters
Parameter |
Mandatory |
Data Type |
Example |
Description |
groupCount |
Yes |
Boolean |
0 |
Whether to include the count of contacts in the groups (1 or 0) |
treeType |
Yes |
String |
h |
Whether to retrieve groups orders by the hierarchy or just alphabetically (“h” for hierarchy, “a” for alphabetical) |
Fault Codes
Code |
Description |
309 |
Invalid Tree Type requested. Only “h” or “a” are valid options |
Groups.EditGroup
Endpoint: https://api.au.zuluedm.com/api/1.1/?wsdl
Description: This function is used to create or edit a group.
Request Parameters
Parameter |
Mandatory |
Data Type |
Example |
Description |
id |
Yes |
Integer |
17 |
Group Primary Key. If 0 or a non-existent id is passed, a new group will be created otherwise the group with the given ID will be edited |
name |
Yes |
String |
My new group |
The name of the group |
description |
Yes |
String |
My new group’s description |
The description of the group |
public |
Yes |
Boolean |
1 |
Whether this group will appear as selectable on the subscription dashboard (1 for public group, 0 for non-public groups) |
parent |
Yes |
Integer |
0 |
The parent group id for this group (0 is a top level group) |
Fault Codes
Code |
Description |
365 |
Group Name must be specified |
CAMPAIGN OPERATIONS
Listed below are the methods available to interact with the campaigns section of the platform.
Campaigns.GetSentCampaigns
Endpoint: https://api.au.zuluedm.com/api/1.1/?wsdl
Description: This function is used to retrieve the list of sent email campaigns in a given folder.
Request Parameters
Parameter |
Mandatory |
Data Type |
Example |
Description |
categoryId |
Yes |
Integer |
0 |
The campaign category to retrieve sent campaigns from |
Fault Codes
Code |
Description |
Campaigns.GetCampaignInteractions
Endpoint: https://api.au.zuluedm.com/api/1.1/?wsdl
Description: This function is used to retrieve all interactions of the given type for the campaign specified.
Request Parameters
Parameter |
Mandatory |
Data Type |
Example |
Description |
campaignId |
Yes |
Integer |
14 |
The Primary Key of the Campaign |
interactionType |
No |
String |
click_throughs |
The type of interaction to retrieve. “click_throughs”, “opens”, “unsubscribes”, “hard_bounces”, “soft_bounces” and “bounces” are the valid options. “opens” is the default value |
Fault Codes
Code |
Description |
720 |
Campaign ID specified doesn’t exist |
Sample Code
Sample Response
Attachments | |
---|---|