Sample code for 30+ languages & platforms
Java

Clickatell Send SMS Text Message

See more Clickatell Examples

Demonstrate how to send a Clickatell SMS text message.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Http;
import com.chilkatsoft.chilkat2.HttpResponse;
import com.chilkatsoft.chilkat2.JsonObject;
import com.chilkatsoft.chilkat2.StringBuilder;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example assumes the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        Http http = new Http();

        // Implements the following CURL command:

        // curl -i \
        // -X POST \
        // -H "Content-Type: application/json" \
        // -H "Accept: application/json" \
        // -H "Authorization: API_KEY" \
        // -d '{"content": "Test Message Text", "to": ["PHONE_NUMBER"], "from": "FROM_PHONE_NUMBER" }' \
        // -s https://platform.clickatell.com/messages

        // Use this online tool to generate code from sample JSON:
        // Generate Code to Create JSON

        // The following JSON is sent in the request body.

        // {
        //   "content": "Test Message Text",
        //   "to": [
        //     "PHONE_NUMBER"
        //   ]
        // }

        JsonObject json = new JsonObject();
        json.updateString("content", "Test Message Text");
        json.updateString("to[0]", "PHONE_NUMBER");
        json.updateString("from", "FROM_PHONE_NUMBER");

        http.setRequestHeader("Authorization", "API_KEY");
        http.setRequestHeader("Accept", "application/json");
        http.setRequestHeader("Content-Type", "application/json");

        // If the following URL does not work, then try "https://platform.clickatell.com/v1/message"
        HttpResponse resp = new HttpResponse();
        try {
            http.httpJson("POST", "https://platform.clickatell.com/messages", json, "application/json", resp);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        StringBuilder sbResponseBody = new StringBuilder();
        resp.getBodySb(sbResponseBody);
        JsonObject jResp = new JsonObject();
        jResp.loadSb(sbResponseBody);
        jResp.setEmitCompact(false);

        System.out.println("Response Body:");
        System.out.println(jResp.emit());

        int respStatusCode = resp.getStatusCode();
        System.out.println("Response Status Code = " + respStatusCode);
        if (respStatusCode >= 400) {
            System.out.println("Response Header:");
            System.out.println(resp.getHeader());
            System.out.println("Failed.");
            return;
        }

        // Sample JSON response:
        // (Sample code for parsing the JSON response is shown below)

        // {
        //   "messages": [
        //     {
        //       "apiMessageId": "66c06ac68e5c4afb953ea9328babfde6",
        //       "accepted": true,
        //       "to": "16302581871",
        //       "errorCode": null,
        //       "error": null,
        //       "errorDescription": null
        //     }
        //   ],
        //   "errorCode": null,
        //   "error": null,
        //   "errorDescription": null
        // }

        // Sample code for parsing the JSON response...
        // Use the following online tool to generate parsing code from sample JSON:
        // Generate Parsing Code from JSON

        String apiMessageId = "";
        boolean accepted = false;
        String v_to = "";

        String errorCode = jResp.stringOf("errorCode");
        String error = jResp.stringOf("error");
        String errorDescription = jResp.stringOf("errorDescription");
        int i = 0;
        int count_i = jResp.sizeOfArray("messages");
        while (i < count_i) {
            jResp.setI(i);
            apiMessageId = jResp.stringOf("messages[i].apiMessageId");
            accepted = jResp.boolOf("messages[i].accepted");
            v_to = jResp.stringOf("messages[i].to");
            errorCode = jResp.stringOf("messages[i].errorCode");
            error = jResp.stringOf("messages[i].error");
            errorDescription = jResp.stringOf("messages[i].errorDescription");
            i = i + 1;
        }
    }
}