Sample code for 30+ languages & platforms
C++

SMSAPI - Send SMS with Multiple Lines of Text

See more SMSAPI Examples

Send an SMS message containing multiple lines of text.

Chilkat C++ Downloads

C++
#include <CkHttp.h>
#include <CkStringBuilder.h>

void ChilkatSample(void)
    {
    bool success = false;

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

    CkHttp http;

    //  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.
    http.put_AuthToken("token_api_oauth");

    const char *messageContent = "Hello\r\nThis is a test\r\nwith 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..
    CkStringBuilder sbMessage;
    sbMessage.Append(messageContent);
    sbMessage.Encode("url","utf-8");

    http.SetUrlVar("msgContent",sbMessage.getAsString());

    CkStringBuilder sbResponseBody;
    success = http.QuickGetSb("https://api.smsapi.com/sms.do?from=sender_name&to=44123456789&message={$msgContent}&format=json",sbResponseBody);
    if (success == false) {
        std::cout << http.lastErrorText() << "\r\n";
        return;
    }

    std::cout << "Response body:" << "\r\n";
    std::cout << sbResponseBody.getAsString() << "\r\n";
    }