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, 7 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);

Join 200,000 companies around the world that use Campaign Monitor to run email marketing campaigns that deliver results for their business.

Get started for free
1-888-533-8098