Xbase++
Xbase++
Twilio List Log Messages
See more Twilio Examples
Fetch the log containing information about SMS messages previously sent (or failed to be sent).Chilkat Xbase++ Downloads
LOCAL nSuccess
LOCAL oHttp
LOCAL oSbResponseBody
LOCAL oJson
LOCAL nRespStatusCode
LOCAL cAccount_sid
LOCAL cApi_version
LOCAL cBody
LOCAL cDate_created
LOCAL cDate_sent
LOCAL cDate_updated
LOCAL cDirection
LOCAL cError_code
LOCAL cError_message
LOCAL cFrom
LOCAL cMessaging_service_sid
LOCAL cNum_media
LOCAL cNum_segments
LOCAL cPrice
LOCAL cPrice_unit
LOCAL cSid
LOCAL cStatus
LOCAL cSubresource_urisMedia
LOCAL cSubresource_urisFeedback
LOCAL cV_to
LOCAL nEnd
LOCAL cFirst_page_uri
LOCAL cNext_page_uri
LOCAL nPage
LOCAL nPage_size
LOCAL cPrevious_page_uri
LOCAL nStart
LOCAL cUri
LOCAL i
LOCAL nCount_i
nSuccess := 0
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
oHttp := CreateObject("Chilkat.Http")
// Implements the following CURL command:
// curl -X GET 'https://api.twilio.com/2010-04-01/Accounts/TWILIO_ACCOUNT_SID/Messages.json?PageSize=20' \
// -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
oHttp:Login := "TWILIO_ACCOUNT_SID"
oHttp:Password := "TWILIO_AUTH_TOKEN"
oSbResponseBody := CreateObject("Chilkat.StringBuilder")
nSuccess := oHttp:QuickGetSb("https://api.twilio.com/2010-04-01/Accounts/TWILIO_ACCOUNT_SID/Messages.json?PageSize=20", oSbResponseBody)
IF (nSuccess == 0)
? oHttp:LastErrorText
oHttp:destroy()
oSbResponseBody:destroy()
RETURN
ENDIF
oJson := CreateObject("Chilkat.JsonObject")
oJson:LoadSb(oSbResponseBody)
oJson:EmitCompact := 0
? "Response Body:"
? oJson:Emit()
nRespStatusCode := oHttp:LastStatus
? "Response Status Code = " + Str(nRespStatusCode)
IF (nRespStatusCode >= 400)
? "Response Header:"
? oHttp:LastHeader
? "Failed."
oHttp:destroy()
oSbResponseBody:destroy()
oJson:destroy()
RETURN
ENDIF
// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)
// {
// "end": 1,
// "first_page_uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages.json?To=%2B123456789&From=%2B987654321&DateSent%3E=2008-01-02&PageSize=2&Page=0",
// "next_page_uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages.json?To=%2B123456789&From=%2B987654321&DateSent%3E=2008-01-02&PageSize=2&Page=1&PageToken=PAMMc26223853f8c46b4ab7dfaa6abba0a26",
// "page": 0,
// "page_size": 2,
// "previous_page_uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages.json?To=%2B123456789&From=%2B987654321&DateSent%3E=2008-01-02&PageSize=2&Page=0",
// "messages": [
// {
// "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
// "api_version": "2010-04-01",
// "body": "testing",
// "date_created": "Fri, 24 May 2019 17:44:46 +0000",
// "date_sent": "Fri, 24 May 2019 17:44:50 +0000",
// "date_updated": "Fri, 24 May 2019 17:44:50 +0000",
// "direction": "outbound-api",
// "error_code": null,
// "error_message": null,
// "from": "+12019235161",
// "messaging_service_sid": null,
// "num_media": "0",
// "num_segments": "1",
// "price": "-0.00750",
// "price_unit": "USD",
// "sid": "SMded05904ccb347238880ca9264e8fe1c",
// "status": "sent",
// "subresource_uris": {
// "media": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages/SMded05904ccb347238880ca9264e8fe1c/Media.json",
// "feedback": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages/SMded05904ccb347238880ca9264e8fe1c/Feedback.json"
// },
// "to": "+18182008801",
// "uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages/SMded05904ccb347238880ca9264e8fe1c.json"
// },
// {
// "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
// "api_version": "2010-04-01",
// "body": "look mom I have media!",
// "date_created": "Fri, 24 May 2019 17:44:46 +0000",
// "date_sent": "Fri, 24 May 2019 17:44:49 +0000",
// "date_updated": "Fri, 24 May 2019 17:44:49 +0000",
// "direction": "inbound",
// "error_code": 30004,
// "error_message": "Message blocked",
// "from": "+12019235161",
// "messaging_service_sid": null,
// "num_media": "3",
// "num_segments": "1",
// "price": "-0.00750",
// "price_unit": "USD",
// "sid": "MMc26223853f8c46b4ab7dfaa6abba0a26",
// "status": "received",
// "subresource_uris": {
// "media": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages/MMc26223853f8c46b4ab7dfaa6abba0a26/Media.json",
// "feedback": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages/MMc26223853f8c46b4ab7dfaa6abba0a26/Feedback.json"
// },
// "to": "+18182008801",
// "uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages/MMc26223853f8c46b4ab7dfaa6abba0a26.json"
// }
// ],
// "start": 0,
// "uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages.json?To=%2B123456789&From=%2B987654321&DateSent%3E=2008-01-02&PageSize=2&Page=0"
// }
// Sample code for parsing the JSON response...
// Use the following online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON
nEnd := oJson:IntOf("end")
cFirst_page_uri := oJson:StringOf("first_page_uri")
cNext_page_uri := oJson:StringOf("next_page_uri")
nPage := oJson:IntOf("page")
nPage_size := oJson:IntOf("page_size")
cPrevious_page_uri := oJson:StringOf("previous_page_uri")
nStart := oJson:IntOf("start")
cUri := oJson:StringOf("uri")
i := 0
nCount_i := oJson:SizeOfArray("messages")
DO WHILE i < nCount_i
oJson:I := i
cAccount_sid := oJson:StringOf("messages[i].account_sid")
cApi_version := oJson:StringOf("messages[i].api_version")
cBody := oJson:StringOf("messages[i].body")
cDate_created := oJson:StringOf("messages[i].date_created")
cDate_sent := oJson:StringOf("messages[i].date_sent")
cDate_updated := oJson:StringOf("messages[i].date_updated")
cDirection := oJson:StringOf("messages[i].direction")
cError_code := oJson:StringOf("messages[i].error_code")
cError_message := oJson:StringOf("messages[i].error_message")
cFrom := oJson:StringOf("messages[i].from")
cMessaging_service_sid := oJson:StringOf("messages[i].messaging_service_sid")
cNum_media := oJson:StringOf("messages[i].num_media")
cNum_segments := oJson:StringOf("messages[i].num_segments")
cPrice := oJson:StringOf("messages[i].price")
cPrice_unit := oJson:StringOf("messages[i].price_unit")
cSid := oJson:StringOf("messages[i].sid")
cStatus := oJson:StringOf("messages[i].status")
cSubresource_urisMedia := oJson:StringOf("messages[i].subresource_uris.media")
cSubresource_urisFeedback := oJson:StringOf("messages[i].subresource_uris.feedback")
cV_to := oJson:StringOf("messages[i].to")
cUri := oJson:StringOf("messages[i].uri")
i := i + 1
ENDDO
oHttp:destroy()
oSbResponseBody:destroy()
oJson:destroy()