1

Hi I have a custom unsubscribe page on which i have a checkbox with submit button.

By using these i want to unsubscribe the subscriber from All subscribers. I am using the below code code and getting 500 internal server error.

%%[
    IF not empty(requestParameter("submit")) THEN

//SET @subkey = RequestParameter("Subscriberkey")
   // SET @email = RequestParameter("EmailAddress")

     SET @subkey = "hardcoded for testing"
    SET @email = "hardcoded for testing"

   /* Unsubscribe Subscriber in ET All Subscribers */
SET @sub = CreateObject("Subscriber")
SetObjectProperty(@sub,"SubscriberKey", @subkey)
SetObjectProperty(@sub,"Status", "Unsubscribed")

Set @options = CreateObject("UpdateOptions")
Set @save = CreateObject("SaveOption")
SetObjectProperty(@save,"SaveAction","UpdateAdd")
SetObjectProperty(@save,"PropertyName","*")
AddObjectArrayItem(@options,"SaveOptions", @save)

/* Here is where we actually update the Subscriber object */
Set @ll_statusCode = InvokeUpdate(@sub, @ll_statusMsg, @update_sub_errorcode, @options)

    IF @ll_statusCode == "OK" THEN
        Redirect("https://pub.s4.exacttarget.com/ts2vjt4qghl")
    ELSE
        RaiseError(@ll_statusMsg, 0, @ll_statusCode, @errorCode)
    ENDIF

ENDIF
]%%
1

I got this solution to work. I was using same submit button name with in the page it's throwing error . I changed the submit button name.

<!--%%[
var @subkey
var @email
IF not empty(requestParameter("Update")) THEN

SET @subkey = RequestParameter("Subscriberkey")
SET @email = RequestParameter("EmailAddress")    

/* Unsubscribe Subscriber in ET All Subscribers */
SET @sub = CreateObject("Subscriber")
SetObjectProperty(@sub,"SubscriberKey", @subkey)
SetObjectProperty(@sub,"Status", "Unsubscribed")

Set @options = CreateObject("UpdateOptions")
Set @save = CreateObject("SaveOption")
SetObjectProperty(@save,"SaveAction","UpdateAdd")
SetObjectProperty(@save,"PropertyName","*")
AddObjectArrayItem(@options,"SaveOptions", @save)

/* Here is where we actually update the Subscriber object */
Set @ll_statusCode = InvokeUpdate(@sub, @ll_statusMsg, @update_sub_errorcode, @options)

    IF @ll_statusCode == "OK" THEN
        Redirect("https://pub.s4.exacttarget.com/ts2vjt4qghl")
    ELSE
        RaiseError(@ll_statusMsg, 0, @ll_statusCode, @errorCode)
    ENDIF

ENDIF
]%%

-->

Unsubscribe From All

Text goes here

I no longer wish to receive any future publications.

0

I believe you will want to use LogUnsubEvent instead of Subscriber Object.

Why Use the LogUnsubEvent?
Execute Call Use this call when you create your own landing page or profile center functionality. Previously, you could unsubscribe a subscriber, but you could not create and log the UnsubEvent.

Sample SOAP

<soap-ENV:Body>
    <ExecuteRequestMsg xmlns="http://exacttarget.com/wsdl/partnerAPI">
        <Requests>
            <Name>LogUnsubEvent</Name>
            <Parameters>
                <Name>SubscriberID</Name>
                <Value>123456</Value>
            </Parameters>
            <Parameters>
                <Name>SubscriberKey</Name>
                <Value>Key for username@example.com</Value>
            </Parameters>
            <Parameters>
                <Name>EmailAddress</Name>
                <Value>help@example.com</Value>
            </Parameters>
            <Parameters>
                <Name>JobID</Name>
                <Value>18099</Value>
            </Parameters>
            <Parameters>
                <Name>ListID</Name>
                <Value>17914</Value>
            </Parameters>
            <Parameters>
                <Name>BatchID</Name>
                <Value>0</Value>
            </Parameters>
        </Requests>
    </ExecuteRequestMsg>
</SOAP-ENV:Body>
2
  • Hi Gortonington thanks for the response. I got the subscriber object code to work it was the requestParameter submit. With in the same page there was another button with the same name that's the root cause for the issue i have. – deepak reddy Aug 31 '17 at 15:38
  • 1
    Glad you were able to find the solution. Perhaps to help others that have a similar issue, if you could post an answer with your solution and then later accept as the correct answer so that others can reference it. – Gortonington Aug 31 '17 at 18:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.