Sample code for 30+ languages & platforms
DataFlex

SMSAPI - Send SMS with Multiple Lines of Text

See more SMSAPI Examples

Send an SMS message containing multiple lines of text.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoHttp
    String sMessageContent
    Handle hoSbMessage
    Variant vSbResponseBody
    Handle hoSbResponseBody
    String sTemp1

    Move False To iSuccess

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

    Get Create (RefClass(cComChilkatHttp)) To hoHttp
    If (Not(IsComObjectCreated(hoHttp))) Begin
        Send CreateComObject of hoHttp
    End

    // 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.
    Set ComAuthToken Of hoHttp To "token_api_oauth"

    Move "Hello" + (character(13)) + (character(10)) + "This is a test" + (character(13)) + (character(10)) + "with multiple lines of text." To sMessageContent

    // Given that our message contentn has newlines, we obviously cannot put newlines in a URL without them being URL encoded..
    // Therefore.. URL encode..
    Get Create (RefClass(cComChilkatStringBuilder)) To hoSbMessage
    If (Not(IsComObjectCreated(hoSbMessage))) Begin
        Send CreateComObject of hoSbMessage
    End
    Get ComAppend Of hoSbMessage sMessageContent To iSuccess
    Get ComEncode Of hoSbMessage "url" "utf-8" To iSuccess

    Get ComGetAsString Of hoSbMessage To sTemp1
    Get ComSetUrlVar Of hoHttp "msgContent" sTemp1 To iSuccess

    Get Create (RefClass(cComChilkatStringBuilder)) To hoSbResponseBody
    If (Not(IsComObjectCreated(hoSbResponseBody))) Begin
        Send CreateComObject of hoSbResponseBody
    End
    Get pvComObject of hoSbResponseBody to vSbResponseBody
    Get ComQuickGetSb Of hoHttp "https://api.smsapi.com/sms.do?from=sender_name&to=44123456789&message={$msgContent}&format=json" vSbResponseBody To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoHttp To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Showln "Response body:"
    Get ComGetAsString Of hoSbResponseBody To sTemp1
    Showln sTemp1


End_Procedure