Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages

Метод checkSms

Возвращает строку — статус отправки SMS-сообщения.

Принцип использования

Синтаксис и URL для вызова метода
checkSms (int | string sms_id)
https://api.unisender.com/ru/api/checkSms?format=json&api_key=KEY&sms_id=ID
Аргументы
api_key * Ключ доступа к API
sms_id * Код сообщения, возвращённый методом sendSms.

Пример:

      sms_id=2376678.79092020303
	   sms_id=3123
Возвращаемое значение
JSON-объект с единственным строковым полем status, принимающим одно из значений, описанных ниже. В будущем вероятно появление новых значений, но будет соблюдаться принцип: если статус начинается с err_ – значит, доставка не удалась. Если с ok_ – то доставка ещё идёт или удачно завершена. Исключение – статус ‘not_sent’.
not_sent Сообщение пока не отправлено, ждёт отправки. Статус будет изменён после отправки.
ok_sent Сообщение отправлено, но статус доставки пока неизвестен. Статус временный и может измениться.
ok_delivered Сообщение доставлено. Статус окончательный.
err_src_invalid Доставка невозможна, отправитель задан неправильно. Статус окончательный.
err_dest_invalid Доставка невозможна, указан неправильный номер. Статус окончательный.
err_skip_letter Доставка невозможна, т.к. во время отправки был изменён статус телефона, либо телефон был удалён из списка, либо письмо было удалено. Статус окончательный.
err_not_allowed Доставка невозможна, этот оператор связи не обслуживается. Статус окончательный.
err_delivery_failed Доставка не удалась — обычно по причине указания формально правильного, но несуществующего номера или из-за выключенного телефона. Статус окончательный.
err_lost Сообщение было утеряно, отправитель должен переотправить сообщение самостоятельно, т.к. оригинал не сохранился. Статус окончательный.
err_internal внутренний сбой. Необходима переотправка сообщения. Статус окончательный.
Примеры возвращаемого значения:

{"result":{"status":"ok_delivered"}}
{"error":"AK100313-05 [invalid sms id]","code":"unspecified","result":""}

Примеры на PHP

Мы настоятельно рекомендуем использовать POST-запросы, так как это более безопасный метод передачи данных, нежели GET. Используйте SSL-соединение с UniSender. Подробнее о методах соединения здесь.

Пример с использованием POST-запроса

// Ваш ключ доступа к API (из Личного Кабинета)
$api_key = "xxxxxxxxxxxxxx";

// Параметры сообщения
$sms_id = urlencode("123123");

// Создаём POST-запрос
$POST = array (
  'api_key' => $api_key,
  'sms_id' => $sms_id
);

// Устанавливаем соединение
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $POST);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_URL, 
            'https://api.unisender.com/ru/api/checkSms?format=json');
$result = curl_exec($ch);

if ($result) {
  // Раскодируем ответ API-сервера
  $jsonObj = json_decode($result);

  if(null===$jsonObj) {
    // Ошибка в полученном ответе
    echo "Invalid JSON";

  }
  elseif(!empty($jsonObj->error)) {
    // Ошибка получения статуса сообщения
    echo "An error occured: " . $jsonObj->error . "(code: " . $jsonObj->code . ")";

  } else {
    // Статус доставки сообщения получении
    echo "SMS message delivery status: " . $jsonObj->result->status;

  }
} else {
  // Ошибка соединения с API-сервером
  echo "API access error";
}

Пример с использованием GET-запроса

// Ваш ключ доступа к API (из Личного Кабинета)
$api_key = "xxxxxxxxxxxxxxxxxxx";

// Параметры сообщения
$sms_id = urlencode("4542532404.36_79257778822");

// Создаём GET-запрос
$api_url = "https://api.unisender.com/ru/api/checkSms?format=json".
           "&api_key=$api_key&sms_id=$sms_id";

// Делаем запрос на API-сервер
$result = file_get_contents($api_url);

if ($result) {
  // Раскодируем ответ API-сервера
  $jsonObj = json_decode($result);

  if(null===$jsonObj) {
    // Ошибка в полученном ответе
    echo "Invalid JSON";

  }
  elseif(!empty($jsonObj->error)) {
    // Ошибка получения статуса сообщения
    echo "An error occured: " . $jsonObj->error . "(code: " . $jsonObj->code . ")";

  } else {
    // Статус доставки сообщения получении
    echo "SMS message delivery status: " . $jsonObj->result->status;
  }

} else {
  // Ошибка соединения с API-сервером
  echo "API access error";
}