PureBasic
PureBasic
SMSAPI - Send SMS with Multiple Lines of Text
See more SMSAPI Examples
Send an SMS message containing multiple lines of text.Chilkat PureBasic Downloads
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkHttp.pb"
Procedure ChilkatExample()
success.i = 0
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; Implements the following CURL command:
; curl -H "Authorization: Bearer token_api_oauth" \
; "https://api.smsapi.com/sms.do?from=sender_name&to=44123456789&message=message_content&format=json"
; Use the following online tool to generate HTTP code from a CURL command
; Convert a cURL Command to HTTP Source Code
; Adds the "Authorization: Bearer token_api_oauth" header.
CkHttp::setCkAuthToken(http, "token_api_oauth")
messageContent.s = "Hello" + Chr(13) + Chr(10) + "This is a test" + Chr(13) + Chr(10) + "with multiple lines of text."
; Given that our message contentn has newlines, we obviously cannot put newlines in a URL without them being URL encoded..
; Therefore.. URL encode..
sbMessage.i = CkStringBuilder::ckCreate()
If sbMessage.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkStringBuilder::ckAppend(sbMessage,messageContent)
CkStringBuilder::ckEncode(sbMessage,"url","utf-8")
CkHttp::ckSetUrlVar(http,"msgContent",CkStringBuilder::ckGetAsString(sbMessage))
sbResponseBody.i = CkStringBuilder::ckCreate()
If sbResponseBody.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkHttp::ckQuickGetSb(http,"https://api.smsapi.com/sms.do?from=sender_name&to=44123456789&message={$msgContent}&format=json",sbResponseBody)
If success = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbMessage)
CkStringBuilder::ckDispose(sbResponseBody)
ProcedureReturn
EndIf
Debug "Response body:"
Debug CkStringBuilder::ckGetAsString(sbResponseBody)
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbMessage)
CkStringBuilder::ckDispose(sbResponseBody)
ProcedureReturn
EndProcedure