Sample code for 30+ languages & platforms
PHP Extension

Clickatell Send SMS Text Message

See more Clickatell Examples

Demonstrate how to send a Clickatell SMS text message.

Chilkat PHP Extension Downloads

PHP Extension
<?php

include("chilkat.php");

$success = false;

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

$http = new CkHttp();

// 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"
//   ]
// }

$json = new CkJsonObject();
$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"
$resp = new CkHttpResponse();
$success = $http->HttpJson('POST','https://platform.clickatell.com/messages',$json,'application/json',$resp);
if ($success == false) {
    print $http->lastErrorText() . "\n";
    exit;
}

$sbResponseBody = new CkStringBuilder();
$resp->GetBodySb($sbResponseBody);
$jResp = new CkJsonObject();
$jResp->LoadSb($sbResponseBody);
$jResp->put_EmitCompact(false);

print 'Response Body:' . "\n";
print $jResp->emit() . "\n";

$respStatusCode = $resp->get_StatusCode();
print 'Response Status Code = ' . $respStatusCode . "\n";
if ($respStatusCode >= 400) {
    print 'Response Header:' . "\n";
    print $resp->header() . "\n";
    print 'Failed.' . "\n";
    exit;
}

// 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

$errorCode = $jResp->stringOf('errorCode');
$error = $jResp->stringOf('error');
$errorDescription = $jResp->stringOf('errorDescription');
$i = 0;
$count_i = $jResp->SizeOfArray('messages');
while ($i < $count_i) {
    $jResp->put_I($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;
}


?>