ClientSMS

При выборе данного канала в качестве оператора выступает сам клиент и разработанный им сервис для отправки сообщений.

Схема передачи сообщения получается следующей: Агбис Агент - Сервер сообщений Message Control - Сервер клиента

Особенности работы:

Требования к скриптам:

Статусы

Типы сообщений (type)

Структура файлов:
SendMsg.php вход:

SendIn.json
{"messages":[{"msg_id":"1","from":"Himchistka","message":"тест 1","type":"5","to":"+79999999991"},
             {"msg_id":"2","from":"Himchistka","message":"тест 2","type":"5","to":"+79999999992"]}

SendMsg.php выход:

SendOut.json
{"messages":[{"msg_id":"1","status":1,"to":"+79999999991"},
             {"msg_id":"2","status":2,"to":"+79999999992"}]}

SendMsg.php выход (ошибка авторизации):

SendError.json
{"error_code":3}

GetMsg.php вход:

GetIn.json
{"messages":[{"msg_id":"1"},{"msg_id":"2"}]}

GetMsg.php выход:

GetOut.json
{"messages":[{"msg_id":"1","status":0,"to":"+79999999991"},
             {"msg_id":"2","status":1,"to":"+79999999992"}]}

GetMsg.php выход (ошибка авторизации):

GetError.json
{"error_code":3}

Пример скрипта SendMsg.php:

SendMsg.php
<?php
 
$login = "login";
$password = "pass";
 
if(isset($_SERVER['PHP_AUTH_USER']) && ($_SERVER['PHP_AUTH_PW']==$password) && (strtolower($_SERVER['PHP_AUTH_USER'])==$login)){
 
    $data_post = file_get_contents('php://input');
    $request_json = json_decode($data_post, true);
 
    $msg = array();
 
    foreach($request_json["messages"] as $messages) {
        $message_id = $messages["msg_id"];
        $sms_name_sender = $messages["from"];
        $sms_text = $messages["message"];
        $sms_type_sms = $messages["type"];
        $sms_telephone = $messages["to"];
 
        $msg[]= array("msg_id" => "$message_id",
                      "status" => 1,
                      "to" => "$sms_telephone"
        );
    }
 
    $response_messages = array("messages" => $msg);
 
    echo json_encode($response_messages);
} else {
    $response_messages = array("error_code" => 3);
    echo json_encode($response_messages);
}

Пример скрипта GetMsg.php:

GetMsg.php
<?php
 
$login = "login";
$password = "pass";
 
if(isset($_SERVER['PHP_AUTH_USER']) && ($_SERVER['PHP_AUTH_PW']==$password) && (strtolower($_SERVER['PHP_AUTH_USER'])==$login)){
 
    $data_post = file_get_contents('php://input');
    $request_json = json_decode($data_post, true);
 
    $msg = array();
 
    foreach($request_json["messages"] as $messages) {
        $message_id = $messages["msg_id"];
 
        $sms_telephone = "+777777777";
        $status_id = 0;
 
        $msg[]= array("msg_id" => "$message_id",
            "status" => $status_id,
            "to" => "$sms_telephone"
        );
    }
 
    $response_messages = array("messages" => $msg);
 
    echo json_encode($response_messages);
} else {
    $response_messages = array("error_code" => 3);
    echo json_encode($response_messages);
}