Sample code for 30+ languages & platforms
VBScript

Twilio: Send SMS using Basic Authentication

Demonstrates how to use Twilio to send an SMS message using Basic authentication.

Chilkat VBScript Downloads

VBScript
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
'Create a Unicode (utf-16) output text file.
Set outFile = fso.CreateTextFile("output.txt", True, True)

success = 0

' Demonstrates how to use Basic Authentication in a REST API call for Twilio.
' Sends an SMS text message..

' This example requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.

set rest = CreateObject("Chilkat.Rest")

' Use Basic Authentication.
' Your Twilio Account SID is the username.
' Your Twilio Auth Token is the password.
success = rest.SetAuthBasic("TWILIO_ACCOUNT_SID","TWILIO_AUTH_TOKEN")

' Make the initial connection (without sending a request yet) to Twilio.
bTls = 1
port = 443
bAutoReconnect = 1
success = rest.Connect("api.twilio.com",port,bTls,bAutoReconnect)
If (success <> 1) Then
    outFile.WriteLine(rest.LastErrorText)
    WScript.Quit
End If

' Provide the information for the SMS text message:
success = rest.AddQueryParam("To","+16518675309")
success = rest.AddQueryParam("From","+15005550006")
success = rest.AddQueryParam("Body","Hey Jenny! Good luck on the bar exam!")
success = rest.AddQueryParam("MediaUrl","http://farm2.static.flickr.com/1075/1404618563_3ed9a44a3a.jpg")

' Send the SMS text message.
' Your Twilio Account SID is part of the URI path:
responseJson = rest.FullRequestFormUrlEncoded("POST","/2010-04-01/Accounts/TWILIO_ACCOUNT_SID/Messages.json")
If (rest.LastMethodSuccess <> 1) Then
    outFile.WriteLine(rest.LastErrorText)
    WScript.Quit
End If

' When successful, the response status code will equal 201.
If (rest.ResponseStatusCode <> 201) Then
    ' Examine the request/response to see what happened.
    outFile.WriteLine("response status code = " & rest.ResponseStatusCode)
    outFile.WriteLine("response status text = " & rest.ResponseStatusText)
    outFile.WriteLine("response header: " & rest.ResponseHeader)
    outFile.WriteLine("response body (if any): " & responseJson)
    outFile.WriteLine("---")
    outFile.WriteLine("LastRequestStartLine: " & rest.LastRequestStartLine)
    outFile.WriteLine("LastRequestHeader: " & rest.LastRequestHeader)
    WScript.Quit
End If

' The response is JSON.  We'll show how to get a few bits of information from it.
' A full sample JSON response is shown below..

set json = CreateObject("Chilkat.JsonObject")
json.EmitCompact = 0
success = json.Load(responseJson)

' First show the entire JSON.
outFile.WriteLine(json.Emit())

' Now get some individual pieces of information:
outFile.WriteLine("sid: " & json.StringOf("sid"))
outFile.WriteLine("body: " & json.StringOf("body"))
outFile.WriteLine("media: " & json.StringOf("subresource_uris.media"))

outFile.WriteLine("Success.")

' Sample JSON response:

' {
'   "sid": "MM97ecfd43e9f24e99b0c2c6ee016949e3",
'   "date_created": null,
'   "date_updated": null,
'   "date_sent": null,
'   "account_sid": "112e1111e0151133d11112101111d1111",
'   "to": "+16518675309",
'   "from": "+15005550006",
'   "messaging_service_sid": null,
'   "body": "Sent from your Twilio trial account - Hey Jenny! Good luck on the bar exam!",
'   "status": "queued",
'   "num_segments": "1",
'   "num_media": "0",
'   "direction": "outbound-api",
'   "api_version": "2010-04-01",
'   "price": null,
'   "price_unit": "USD",
'   "error_code": null,
'   "error_message": null,
'   "uri": "/2010-04-01/Accounts/AC2e9b6bc0f51133df24926f07341d3824/Messages/MM97ecfd43e9f24e99b0c2c6ee016949e3.json",
'   "subresource_uris": {
'     "media": "/2010-04-01/Accounts/AC2e9b6bc0f51133df24926f07341d3824/Messages/MM97ecfd43e9f24e99b0c2c6ee016949e3/Media.json"
'   }
' }

outFile.Close