SMS API

Описание SMS API для отправки через собственный шлюз

Описание

Используя данное SMS API вы можете настроить отправку сообщений через собственный шлюз.

К примеру:

  • — у вас есть в наличии VOIP GSM ШЛЮЗ GOIP4 и для экономии средств вы хотели бы настроить отправку SMS сообщений через GSM оператора.
  • — вы используете SMS шлюз который не поддерживается нашим сервисом -использую данное SMS API вы можете настроить работу через собственный сервис SMS рассылки

Настройка в WiFi Point

Переходим в меню Настройки/Настройка СМС:

  1. Выбираем SMS шлюз —  Your API SMS
  2. Вводим в поле API Key — ключ который будет ожидать принимающая сторона
  3. Вводим в поле API Host — URL принимающей стороны
  4. Вводим  альфа-имя которые будет передаваться по API
  5. По желанию выбираем операторов на которые можно отправлять смс
  6. Выставляем лимит СМС на сутки.
  7. Выбираем цикл авторизации на который перейти в случае достижении лимита по СМС (актуально для циклов авторизации с испльзованием смс)

Описание API

При отправке СМС  сервисом WiFi Point отправляется POST запрос по ссылке указанной в настройках.

  1. Принимающая сторона должна проверять указанный ключ api_key
  2. Параметры передаются методом POST, все значение параметров в urlencode
  3. Ответы должны отдаваться в JSON формате, кодировка UTF-8

URL запроса:

URLhttps://api.mydomain.com/sms

Параметры запроса:

fromАльфа-имя указанное в настройках
toНомер телефона получателя
messageТекст сообщения
api_keyAPI Key указанный в настройках

Пример ответа при успешной отправке смс:

{"id":234}

где id — уникальный ID транзакции на стороне шлюза

Пример ответа при не успешной отправке смс:

{"error":"Error send SMS"}

где error — описание ошибки

Минимальный пример на PHP

<?php

// Указываем ключ для API
$apiKey = 'ваш_ключ_api';

$response = array();

// Проверим соответствие ключей
if (!empty($_POST['key']) AND $_POST['key'] == $apiKey) {

    $data = array();
    foreach ($_POST AS $key => $value){
        $data[$key]= urldecode($value);
    }

    if(isset($data['from'],$data['to'],$data['message'])){

        // Отправляем СМС
        $result = yourSendFunction($data['from'],$data['to'],$data['message']);

        if($result){
            $response['id'] = 1; // Если успех, то возвращаем ID собощения в вашей системе
        }else{
            $response['error'] = 'Error send SMS';
        }

    }else{
        $response['error'] = 'Error. Empty params';
    }

} else {
    $response['error'] = 'Wrong API Key';
}

// Отправляем ответ
response_json($response);

/**
 * Ваша функция отправки СМС
 * @param $from
 * @param $to
 * @param $message
 * @return bool
 */
function yourSendFunction($from, $to, $message)
{
    #TODO здесь ваш код отправки СМС
    return true;
}

/**
 * Функция отправки ответа JSON
 * @param $response
 */
function response_json($response)
{
    $encoded = json_encode($response);
    header('Content-type: application/json; charset=utf-8');
    exit($encoded);
}