Classic ASP Sample Code Needed

Highlighted
New Member

Classic ASP Sample Code Needed

Hello all,

I'm trying to create a signup box and use the CC API to add contacts to a list.

Is there somewhere I can find some classic ASP sample code for this?

thanks in advance
Eric
20 REPLIES 20
Highlighted
Moderator

RE: Classic ASP Sample Code Needed

I'm not sure what Classic ASP Sample Code means, but we do have a very basic C# sample here that can be used in an ASP sign up form here. Hope this helps
Dave Berard
Senior Product Manager, Constant Contact
Highlighted
New Member

Sorry. I mean asp/vbscript

Sorry.

I mean asp/vbscript which was used before .Net came about.

and by sample code I meant a sample of how to add a contact.
Eric
Highlighted
Moderator

Unfortunately we do not have

Unfortunately we do not have any VBScript code samples. The closest we offer is the C# example which shows how to use .NET classes ( converting to VB.NET is very easy).
Dave Berard
Senior Product Manager, Constant Contact
Highlighted
Developer

re: Classic ASP

A sample was posted here.
Tom M
Group Product Manager – Content Editing
Constant Contact
Highlighted
Occasional Participant

Classic ASP

wrote this up today. amalgamation of what worked in PHP and the ASP classic winHTTP methods. fully reusable function..

<%
FirstName="Contact_First_Name" //Your Contact's First Name
LastName="Contact_Last_Name" //Your Contact's Last Name
EmailAddress="Contact_Email" //Your Contact's Email Address
PostalCode="Contact_Zip_Code" //Your Contact's Zip Code
UN = "ConstantContact_User_Name" //Your Account Username
PW = "ConstantContact_Password" //Your Account Password
OptInSource="ACTION_BY_CUSTOMER" //The Actoin Type, usually as listed
API_Key = "ConstantContact_API_Key" //Your API Key
List_ID="1" //Your Particular List ID,,1,2,3 & etc. (Default is 1, first user created would be 2, and so on)




response.write(PostDataToURL(List_ID,FirstName,LastName,EmailAddress,PostalCode, "POST", UN,PW,API_Key))







Function PostDataToURL(List_ID,FirstName,LastName,EmailAddress,PostalCode, strMethod, UN,PW,API_Key)
Dim lngTimeout
Dim strUserAgentString
Dim intSslErrorIgnoreFlags
Dim blnEnableRedirects
Dim blnEnableHttpsToHttpRedirects
Dim strHostOverride
Dim strLogin
Dim strPassword
Dim strResponseText
Dim objWinHttp
Dim entry
Dim Base_URL
Dim UpdateTimeStamp
Base_URL="http://api.constantcontact.com/ws/customers/"&UN&"/"

lngTimeout = 59000
strUserAgentString = "http_requester/0.1"
intSslErrorIgnoreFlags = 0 ' 13056: ignore all err, 0: accept no err
blnEnableRedirects = True
blnEnableHttpsToHttpRedirects = True
strHostOverride = ""
strLogin = API_Key & "%" & UN
strPassword = PW
UpdateTimeStamp date()
strPostData="<entry xmlns=""http://www.w3.org/2005/Atom"">"&vbcrlf&_
"<title type=""text""> </title>"&vbcrlf&_
"<updated>"&UpdateTimeStamp&"</updated>"&vbcrlf&_
"<author></author>"&vbcrlf&_
"<id>data:,none</id>"&vbcrlf&_
"<summary type=""text"">Contact</summary>"&vbcrlf&_
"<content type=""application/vnd.ctct+xml"">"&vbcrlf&_
"<Contact xmlns=""http://ws.constantcontact.com/ns/1.0/"">"&vbcrlf&_
"<EmailAddress>"&EmailAddress&"</EmailAddress>"&vbcrlf&_
"<FirstName>"&FirstName&"</FirstName>"&vbcrlf&_
"<LastName>"&LastName&"</LastName>"&vbcrlf&_
"<PostalCode>"&PostalCode&"</PostalCode>"&vbcrlf&_
"<OptInSource>"&OptInSource&"</OptInSource>"&vbcrlf&_
"<ContactLists>"&vbcrlf&_
"<ContactList id="""&Base_URL&"lists/"&List_ID&""" />"&vbcrlf&_
"</ContactLists>"&vbcrlf&_
"</Contact>"&vbcrlf&_
"</content>"&vbcrlf&_
"</entry>"


Set objWinHttp = Server.CreateObject("WinHttp.WinHttpRequest.5.1")
objWinHttp.SetTimeouts lngTimeout, lngTimeout, lngTimeout, lngTimeout
objWinHttp.Open strMethod,Base_URL&"contacts"
If strMethod = "POST" Then
objWinHttp.setRequestHeader "Content-type", _
"application/atom+xml"
End If
If strHostOverride <> "" Then
objWinHttp.SetRequestHeader "Host", strHostOverride
End If
objWinHttp.Option(0) = strUserAgentString
objWinHttp.Option(4) = intSslErrorIgnoreFlags
objWinHttp.Option(6) = blnEnableRedirects
objWinHttp.Option(12) = blnEnableHttpsToHttpRedirects
If (strLogin <> "") And (strPassword <> "") Then
objWinHttp.SetCredentials strLogin, strPassword, 0
End If
On Error Resume Next
objWinHttp.Send(strPostData)
If Err.Number = 0 Then
If objWinHttp.Status = "200" Then
PostDataToURL = objWinHttp.ResponseText
Else

select case objWinHttp.Status
case "409"
PostDataToURL="2"&vbtab&":Contact Already Exists"
case "201"
PostDataToURL="1"&vbtab&":Contact Successfully added"
case "400"
PostDataToURL="0"&vbtab&":Bad Request. Check Submitted Data: "
case else
PostDataToURL = "0"&vbtab&":" & objWinHttp.Status & " " &objWinHttp.StatusText
end select
End If
Else
PostDataToURL = "Error " & Err.Number & " " & Err.Source & " " & _
Err.Description
End If
On Error GoTo 0
Set objWinHttp = Nothing
End Function


%>
Highlighted
Occasional Participant

Re: Classic ASP

This is cool but I haven't been able to make it work. The problem may have more to do with the CC/Mashable auth business than how I'm trying to use the code. I already have an ASP page that imports downloaded web orders into our customer service database (none of this stufff was written by me). What I'd like to do is use this code to, while each order is being imported, stuff the customer info into a CC list for an auto-response email. I'm a programmer, but I don't have a lot of ASP experience, so I'm just figuring out things as I go along. But if I try to run this code as a test, it always fails with a 403 error. Which makes me think the API key/account info is what's causing it to fail. We're running IIS6, BTW.

 

This is basically just an internal bit of automation so that our customer service people don't have to query new order info into a spreadsheet and import that into a CC list.

 

Pete @ Clark Labs

CTCT Employee

Re: Classic ASP

Hi Pete,

 

The 403 is most often received when there is a mismatch between the username provided in the XML payload to us, and the username provided in the authentication details.

 

This code was written against our V1 API, which now has a limited shelf life (it will most likely be retired in 2014 or possibly later this year).  If you try to use a Mashery (V2) API key with code written for the V1 API, you will get a 401 error, so go to this page to generate a V1 API Key if you'd still like to use this example as a starting point.

 

Best Regards,

Shannon W.

API Support Specialist

Highlighted
Occasional Participant

Re: Classic ASP

I'm past the auth issue - my Base_URL needed https

 

Now I'm getting in but I think my XML is funky, I'm getting:

 

0 :Bad Request. Check Submitted Data

Highlighted
CTCT Employee

Re: Classic ASP

Hi Laurie,

 

See my response to your post here.  This XML was written a little outside of what I'd consider normal.  You probably want to either change the optinsource to action_by_customer, to move the contact to 'removed' status, or you want to add a contactList node so that the contact can actually be on a list.

 

Best Regards,

Shannon W.

API Support Specialist

Developer Portal

View API documentation, code samples, get your API key.

Constant Contact would like to hear from you

We want to hear from customers like you about your favorite features and how they have helped your business or organization. Tell us by answering a few questions in...

Read More
Featured