Created
September 7, 2023 09:34
-
-
Save camrobert/e7db1dea9c2ad985cd39b6b516e4d38f to your computer and use it in GitHub Desktop.
Cloud Page Code from https://www.youtube.com/watch?v=Q82LJvdar6A
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
%%[ | |
SET @fname = RequestParameter('fname') | |
SET @lname = RequestParameter('lname') | |
SET @email = RequestParameter('email') | |
IF NOT EMPTY(RequestParameter('pref1')) THEN | |
SET @Cats = "true" | |
ELSE | |
SET @Cats = "false" | |
ENDIF | |
IF NOT EMPTY(RequestParameter('pref2')) THEN | |
SET @Dogs = "true" | |
ELSE | |
SET @Dogs = "false" | |
ENDIF | |
SET @showform = 1 | |
IF NOT EMPTY(@fname) AND NOT EMPTY(@lname) AND NOT EMPTY(@email) THEN | |
/*success*/ | |
SET @message = "Thanks, you are now subscribed!" | |
SET @showform = 0 | |
SET @subkey = GUID() | |
]%% | |
<script runat="server"> | |
Platform.Load("Core","1"); | |
var payload = { | |
"grant_type": "client_credentials", | |
"client_id": "xxxxxxxxxxxxxx", | |
"client_secret": "xxxxxxxxxxxxxxxxxxx" | |
}; | |
var authurl = "https://xxxxxxxxxxxxxxx.auth.marketingcloudapis.com/v2/token"; | |
var result = HTTP.Post(authurl, 'application/json', Stringify(payload)); | |
if (result.StatusCode == 200) { | |
var responseJson = Platform.Function.ParseJSON(result.Response[0]); | |
var accessToken = responseJson.access_token; | |
var restUrl = responseJson.rest_instance_url; | |
} else { | |
throw new Error("Error fetching access token"); | |
} | |
Write(result.Response[0]); //payload response | |
Write(accessToken); //token | |
var subkey = Variable.GetValue("@subkey"); | |
var email = Variable.GetValue("@email"); | |
var fname = Variable.GetValue("@fname"); | |
var lname = Variable.GetValue("@lname"); | |
var Cats = Variable.GetValue("@Cats"); | |
var Dogs = Variable.GetValue("@Dogs"); | |
var payloada = { | |
"ContactKey": subkey, | |
"EventDefinitionKey":"APIEvent-xxxxxxxxxxxxxxxxxxxxxxxx", | |
"Data": { | |
"SubscriberKey":subkey, | |
"EmailAddress":email, | |
"FirstName":fname, | |
"LastName":lname, | |
"Cats":Cats, | |
"Dogs":Dogs } | |
}; | |
var headerNames = ["Authorization"]; | |
var headerValues = ["Bearer "+accessToken]; | |
var results = HTTP.Post(restUrl+'interaction/v1/events', 'application/json', Stringify(payloada), headerNames, headerValues); | |
Write(results.StatusCode + '<br>'); | |
Write(results.Response); | |
</script> | |
%%[ | |
/* | |
SET @records = UpsertData('Welcome Journey DE',1,'SubscriberKey',GUID(),'EmailAddress',@email,'FirstName',@fname,'LastName',@lname,'Cats',@Cats,'Dogs',@Dogs) | |
*/ | |
ELSE | |
/*fail*/ | |
SET @message = "Opps, there was an error!" | |
ENDIF | |
]%% | |
Output Values:<br> | |
fname = %%=v(@fname)=%%<br> | |
lname = %%=v(@lname)=%%<br> | |
email = %%=v(@email)=%%<br> | |
Cats = %%=v(@Cats)=%%<br> | |
Dogs = %%=v(@Dogs)=%%<br> | |
%%[ | |
IF @showform == 1 THEN | |
]%% | |
<form method="post"> | |
<label for="fname">First name: </label><input type="text" id="fname" name="fname" value="%%=v(@fname)=%%"><br> | |
<label for="lname">Last name: </label><input type="text" id="lname" name="lname" value="%%=v(@lname)=%%"><br> | |
<label for="email">Email: </label><input type="text" id="email" name="email" value="%%=v(@email)=%%"><br> | |
<input type="checkbox" id="pref1" name="pref1" value="Cats"> <label for="pref1"> I like cats</label><br> | |
<input type="checkbox" id="pref2" name="pref2" value="Dogs"> <label for="pref2"> I like dogs</label><br> | |
<input type="submit"> | |
</form> | |
%%[ | |
ENDIF | |
]%% | |
<br><br> | |
%%=v(@message)=%% | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment