Developer: API | Set up    Client Login: Old | New

Spikemail XML API Version 3

Usage

XML post to:

Old server: http://myspikemail.com/sendstudio/xml3.php

New server: http://myspikemail.com/mail/xml3.php

To obtain your username, usertoken, listid and fieldids or to report issues
submit a request to support at spikemail.co.nz/

Please note that when migrating to the new server your usertoken and ids will change.

XML success response

<response>
    <status>SUCCESS</status>
    <data>
        ...
    </data>
</response>

XML error response

<response>
    <status>ERROR</status>
    <errormessage>
        ...
    </errormessage>
</response>

PHP 5 Example

<?php

    $xml 
'<xmlrequest>
        <username>username</username>
        <usertoken>usertoken</usertoken>
        <requesttype>subscribers</requesttype>  
        <requestmethod>IsSubscriberOnList</requestmethod>
        <details>
            <emailaddress>test@spikemail.co.nz</emailaddress>
            <mailinglist>0</mailinglist>
        </details>
    </xmlrequest>'
;


    
$data = array('xml' => $xml );
    
    
$session curl_init('http://myspikemail.com/sendstudio/xml3.php');
    
    
curl_setopt($sessionCURLOPT_RETURNTRANSFERTRUE);  
    
curl_setopt($sessionCURLOPT_POSTTRUE);  
    
curl_setopt($sessionCURLOPT_POSTFIELDS$data);  
    
    
$result curl_exec($session);  
    
    if ( 
$result === false )
    {  
        echo 
curl_error($session);  
    }  
    else
    {
        
$xml_doc simplexml_load_string($result);
        
        echo 
'Status is '$xml_doc->status'<br/>';
        
        if (
$xml_doc->status == 'SUCCESS')
        {  
            echo 
'Subscriber ID is '$xml_doc->data'<br/>';  
        }
        else
        {  
            echo 
'Error is '$xml_doc->errormessage'<br/>';  
        }  
    }  

   
curl_close($session);  

?>

Version 3 Changes

Transaction rollback on errors (new server only).

New APIs to check unsubscribes and bounces.

Add Contact To List

New error message for invalid mailinglist.

Update Contact On List

New error messages for invalid mailinglist, subscriberid, fieldid or value.

Is Contact On List

<xmlrequest>
    <username>username</username>
    <usertoken>usertoken</usertoken>
    <requesttype>subscribers</requesttype>  
    <requestmethod>IsSubscriberOnList</requestmethod>
    <details>
        <emailaddress>test@spikemail.co.nz</emailaddress>
        <mailinglist>0</mailinglist>
    </details>
</xmlrequest>

Response data: subscriberid

Error message: Not on list

Is Contact Unsubscribed From List

<xmlrequest>
    <username>username</username>
    <usertoken>usertoken</usertoken>
    <requesttype>subscribers</requesttype>  
    <requestmethod>IsUnsubscriber</requestmethod>
    <details>
        <emailaddress>test@spikemail.co.nz</emailaddress>
        <mailinglist>0</mailinglist>
    </details>
</xmlrequest>

Response data: subscriberid

Error message: Still subscribed

Error message: Not on list

Is Contact Bounced From List

<xmlrequest>
    <username>username</username>
    <usertoken>usertoken</usertoken>
    <requesttype>subscribers</requesttype>  
    <requestmethod>IsBounceSubscriber</requestmethod>
    <details>
        <emailaddress>test@spikemail.co.nz</emailaddress>
        <mailinglist>0</mailinglist>
    </details>
</xmlrequest>

Response data: subscriberid

Error message: Not bounced

Error message: Not on list

Add Contact To List

<xmlrequest>
    <username>username</username>
    <usertoken>usertoken</usertoken>
    <requesttype>subscribers</requesttype>  
    <requestmethod>AddSubscriberToList</requestmethod>
    <details>
        <emailaddress>test@spikemail.co.nz</emailaddress>
        <mailinglist>0</mailinglist>
        <format>html</format> <!-- html / text -->
        <confirmed>yes</confirmed> <!-- yes / no -->
        <ipaddress>0.0.0.0</ipaddress>
        <customfields> <!-- example fieldids -->
            <item>
                <fieldid>1</fieldid><value>FirstName</value>
            </item>
            <item>
                <fieldid>2</fieldid><value>LastName</value>
            </item>
            <item> <!-- gender radio buttons -->
                <fieldid>3</fieldid><value>m</value>
            </item>
            <item> <!-- country select list -->
                <fieldid>4</fieldid><value>NZ</value>
            </item>
            <item> <!-- interests checkboxes -->
                <fieldid>5</fieldid>
                <value>Interest1</value><value>Interest2</value>
            </item>
        </customfields>
    </details>
</xmlrequest>

Response data: subscriberid

Error message: Invalid mailinglist

Error message: Already subscribed

Update Contact On List

<xmlrequest>
    <username>username</username>
    <usertoken>usertoken</usertoken>
    <requesttype>subscribers</requesttype>  
    <requestmethod>UpdateSubscriberOnList</requestmethod>
    <details>
        <subscriberid>0</subscriberid>
        <mailinglist>0</mailinglist>
        <status>a</status> <!-- a=active u=unsubscribed -->
        <format>html</format> <!-- html / text -->
        <customfields> <!-- example fieldids -->
            <item> <!-- interests checkboxes -->
                <fieldid>5</fieldid>
                <value>Interest1</value><value>Interest3</value>
            </item>
        </customfields>
    </details>
</xmlrequest>

Response data: subscriberid

Use status to set active or unsubscribed.

Error message: Invalid mailinglist or subscriberid

Error message: Invalid fieldid: fieldid

Error message: Invalid value for fieldid: fieldid