Lua
Lua
Twilio Send SMS (using Chilkat HTTP)
See more Twilio Examples
Send an outgoing SMS message.Chilkat Lua Downloads
local chilkat = require("chilkat")
-- This example assumes the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.
local http = chilkat.Http.new()
-- Implements the following CURL command:
-- (See information about using test credentials and phone numbers: https://www.twilio.com/docs/iam/test-credentials)
-- curl -X POST https://api.twilio.com/2010-04-01/Accounts/TWILIO_ACCOUNT_SID/Messages.json \
-- --data-urlencode "From=+15005550006" \
-- --data-urlencode "Body=body" \
-- --data-urlencode "To=+15005551212" \
-- -u TWILIO_ACCOUNT_SID:TWILIO_AUTH_TOKEN
-- Use the following online tool to generate HTTP code from a CURL command
-- Convert a cURL Command to HTTP Source Code
http.login = "TWILIO_ACCOUNT_SID"
http.password = "TWILIO_AUTH_TOKEN"
local req = chilkat.HttpRequest.new()
req.http_verb = "POST"
req.path = "/2010-04-01/Accounts/TWILIO_ACCOUNT_SID/Messages.json"
req.content_type = "application/x-www-form-urlencoded"
req:add_param("From", "+15005550006")
req:add_param("Body", "body")
req:add_param("To", "+15005551212")
local resp = chilkat.HttpResponse.new()
local success = http:http_req("https://api.twilio.com/2010-04-01/Accounts/TWILIO_ACCOUNT_SID/Messages.json", req, resp)
if not success then
print(http.last_error_text)
return
end
local sbResponseBody = chilkat.StringBuilder.new()
resp:get_body_sb(sbResponseBody)
local jResp = chilkat.JsonObject.new()
jResp:load_sb(sbResponseBody)
jResp.emit_compact = false
print("Response Body:")
print(jResp:emit())
-- A 201 status code indicates success.
local respStatusCode = resp.status_code
print("Response Status Code = " .. respStatusCode)
if respStatusCode >= 400 then
print("Response Header:")
print(resp.header)
print("Failed.")
return
end
-- Sample JSON response:
-- (Sample code for parsing the JSON response is shown below)
-- {
-- "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-- "api_version": "2010-04-01",
-- "body": "body",
-- "date_created": "Thu, 30 Jul 2015 20:12:31 +0000",
-- "date_sent": "Thu, 30 Jul 2015 20:12:33 +0000",
-- "date_updated": "Thu, 30 Jul 2015 20:12:33 +0000",
-- "direction": "outbound-api",
-- "error_code": null,
-- "error_message": null,
-- "from": "+15017122661",
-- "messaging_service_sid": "MGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-- "num_media": "0",
-- "num_segments": "1",
-- "price": null,
-- "price_unit": null,
-- "sid": "MMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-- "status": "sent",
-- "subresource_uris": {
-- "media": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages/SMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Media.json"
-- },
-- "to": "+15558675310",
-- "uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages/SMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.json"
-- }
-- Sample code for parsing the JSON response...
-- Use the following online tool to generate parsing code from sample JSON:
-- Generate Parsing Code from JSON
local account_sid = jResp:string_of("account_sid")
local api_version = jResp:string_of("api_version")
local body = jResp:string_of("body")
local date_created = jResp:string_of("date_created")
local date_sent = jResp:string_of("date_sent")
local date_updated = jResp:string_of("date_updated")
local direction = jResp:string_of("direction")
local error_code = jResp:string_of("error_code")
local error_message = jResp:string_of("error_message")
local from = jResp:string_of("from")
local messaging_service_sid = jResp:string_of("messaging_service_sid")
local num_media = jResp:string_of("num_media")
local num_segments = jResp:string_of("num_segments")
local price = jResp:string_of("price")
local price_unit = jResp:string_of("price_unit")
local sid = jResp:string_of("sid")
local status = jResp:string_of("status")
local subresource_urisMedia = jResp:string_of("subresource_uris.media")
local v_to = jResp:string_of("to")
local uri = jResp:string_of("uri")