API Subscriber.Add bug? (PHP)

I have a very basic subscribe form using the API Subscriber.Add (PHP). The form just has the 'name' and 'email' fields.

I can subscribe a new address without any problem - I can see the address in the control panel. I can also unsubscribe the address using Subscriber.Unsubscribe API without problem - I can see that the address is given 'Unsubscribed' status in the control panel

The problem is when I try to re-subscribe the address using Subscriber.Add. The API returns a 0 code and 'Success' message, but the email address sill remains in the unsubscribed state in the control panel. I just can't seem to get the API to re-subscribe it. The only way to re-subscribe the address is to do it manually in the control panel.

I can re-subscribe the address using the standard subscribe form provided by the control panel, so it must be an issue with the API itself. Why is it returning a 'Success' message if it isn't actually re-subbing the address?

I note that the API updates the 'name' field data if I change it, as it should, but it is refusing to re-add the email address into the subscribers list. Very odd.

I'm using the PHP scripts provided, unaltered.

Here's a copy of the debug:


campaignmonitor Object (
[api] => xxx
[campaign_id] =>
[client_id] =>
[list_id] => xxx
[method] => get
[url]=> http://api.createsend.com/api/api.asmx
[soapAction] => http://api.createsend.com/api/
[curl] => 1
[curlExists] => 1
[debug_level] => 1
[debug_request] =>
[debug_response] =>  0  Success 
[debug_url] => http://api.createsend.com/api/api.asmx/Subscriber.Add?ApiKey=xxx&ListID=xxx&Email=someaddress%40gmail.com&Name=John%20Smith
[debug_info] => Array ( [url]=> http://api.createsend.com/api/api.asmx/Subscriber.Add?ApiKey=xxx&ListID=xxx&Email=someaddress%40gmail.com&Name=John%20Smith
[content_type] => text/xml; charset=utf-8
[http_code] => 200
[header_size] => 310
[request_size] => 249
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 0.226481
[namelookup_time] => 3.6E-05
[connect_time] => 0.11083
[pretransfer_time] => 0.11088
[size_upload] => 0
[size_download] => 245
[speed_download] => 1081
[speed_upload] => 0
[download_content_length] => 245
[upload_content_length] => 0
[starttransfer_time] => 0.226447
[redirect_time] => 0
[headers_sent] => Array ( [0] => User-Agent: CMBase URL Handler 1.5 ) ) [show_response_headers] => 0 )
galway, 8 years ago

From support:

When you use our subscriberAdd PHP function, you need to specify if you want Add and Resubscribe. ie. instead of using:

$result = $cm->subscriberAdd('someaddress@gmail.com', 'John Smith');

use

$result = $cm->subscriberAdd('someaddress@gmail.com', 'John Smith', $list_id, true);

200,000 companies around the world can't be wrong.

From Australia to Zimbabwe, and everywhere in between, companies count on 
Campaign Monitor for email campaigns that drive real business results.

Get started for free
1-888-533-8098