Request a Call
Online Chat
 
Zulu eDM - Original API (wsdl)
Posted by Dave Zulu, Last modified by Dave Zulu on 17 August 2018 02:34 PM
There are no plans to remove this API - it is not extensive but it works fine.
Other resources are available here and GitHub.



1st March 2016

Version 1.0

CONTENTS

OVERVIEW... 

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.

 

OVERVIEW

This 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 ACCESS

The 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

Parameter

Mandatory

Data Type

Example

Description

apikey

Yes

String

kv97ywef97yhw5efh3487xzsdd6wefar

Account API Key

user

Yes

String

John!son1

Username of the Administrator making the request

pass

Yes

String

sdhaGsd&3j#

Password of the Administrator making the request


API KEY

Each eDM account is assigned an individual and unique API Key which identifies which eDM account to access and execute the functions on at the time of receiving the request.

LOGIN CREDENTIALS

Login credentials must be provided in each API request and are the same as those used to login to the web application as normal via your web browser.

API REQUEST PARAMETER ORDER

Please note that for API versions 1.0 (https://api.au.zuluedm.com/api/?wsdl) and 1.1 (https://api.au.zuluedm.com/api/1.1/?wsdl) all parameters listed in this document must be specified in the order as they appear.


GENERIC ERROR RESPONSE CODES

API methods will respond with a designated code dependent on the result of the action requested. There are several “Generic” response codes that can be returned regardless of which API method is called. The details of these response codes are listed below:

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

email

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 
 
 Zulu eDM API Handbook.docx (134.80 KB)
(1 vote(s))
Helpful
Not helpful

Comments (0)

Copyright Zulu Labs Global Pty Ltd, 11 William St Cremorne VIC, Australia 3121. Ph +61 3 9001 1590