Sample code for 30+ languages & platforms
Xojo Plugin

Clickatell Send SMS Text Message

See more Clickatell Examples

Demonstrate how to send a Clickatell SMS text message.

Chilkat Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

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

Dim http As New Chilkat.Http

// Implements the following CURL command:

// curl -i \
// -X POST \
// -H "Content-Type: application/json" \
// -H "Accept: application/json" \
// -H "Authorization: API_KEY" \
// -d '{"content": "Test Message Text", "to": ["PHONE_NUMBER"], "from": "FROM_PHONE_NUMBER" }' \
// -s https://platform.clickatell.com/messages

// Use this online tool to generate code from sample JSON:
// Generate Code to Create JSON

// The following JSON is sent in the request body.

// {
//   "content": "Test Message Text",
//   "to": [
//     "PHONE_NUMBER"
//   ]
// }

Dim json As New Chilkat.JsonObject
success = json.UpdateString("content","Test Message Text")
success = json.UpdateString("to[0]","PHONE_NUMBER")
success = json.UpdateString("from","FROM_PHONE_NUMBER")

http.SetRequestHeader "Authorization","API_KEY"
http.SetRequestHeader "Accept","application/json"
http.SetRequestHeader "Content-Type","application/json"

// If the following URL does not work, then try "https://platform.clickatell.com/v1/message"
Dim resp As New Chilkat.HttpResponse
success = http.HttpJson("POST","https://platform.clickatell.com/messages",json,"application/json",resp)
If (success = False) Then
    System.DebugLog(http.LastErrorText)
    Return
End If

Dim sbResponseBody As New Chilkat.StringBuilder
success = resp.GetBodySb(sbResponseBody)
Dim jResp As New Chilkat.JsonObject
success = jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False

System.DebugLog("Response Body:")
System.DebugLog(jResp.Emit())

Dim respStatusCode As Int32
respStatusCode = resp.StatusCode
System.DebugLog("Response Status Code = " + Str(respStatusCode))
If (respStatusCode >= 400) Then
    System.DebugLog("Response Header:")
    System.DebugLog(resp.Header)
    System.DebugLog("Failed.")
    Return
End If

// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)

// {
//   "messages": [
//     {
//       "apiMessageId": "66c06ac68e5c4afb953ea9328babfde6",
//       "accepted": true,
//       "to": "16302581871",
//       "errorCode": null,
//       "error": null,
//       "errorDescription": null
//     }
//   ],
//   "errorCode": null,
//   "error": null,
//   "errorDescription": null
// }

// Sample code for parsing the JSON response...
// Use the following online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON

Dim errorCode As String
Dim error As String
Dim errorDescription As String
Dim i As Int32
Dim count_i As Int32
Dim apiMessageId As String
Dim accepted As Boolean
Dim v_to As String

errorCode = jResp.StringOf("errorCode")
error = jResp.StringOf("error")
errorDescription = jResp.StringOf("errorDescription")
i = 0
count_i = jResp.SizeOfArray("messages")
While i < count_i
    jResp.I = i
    apiMessageId = jResp.StringOf("messages[i].apiMessageId")
    accepted = jResp.BoolOf("messages[i].accepted")
    v_to = jResp.StringOf("messages[i].to")
    errorCode = jResp.StringOf("messages[i].errorCode")
    error = jResp.StringOf("messages[i].error")
    errorDescription = jResp.StringOf("messages[i].errorDescription")
    i = i + 1
Wend