passshift
@passshift
php, js, html5, css

Кто-нибудь работает с SMSsync?

Здравствуйте!

Установил приложение на смарт smssync.ushahidi.com

Закинул на хостинг файл sms.php, в него вбил код примера smssync.ushahidi.com/developers

Создал в корне файл text.txt с правами 777 (на время теста)

Настроил приложение, секретный ключ как в примере 123456

Обращаюсь вот так:

http://сайт.ру/sms.php?from=номер отправителя&message=test&secret=123456&sent_to=номер получателя


В файл text.txt падают 3 строки:

From: номер отправителя
Message: test
Sent to: номер получателя


Скрипт выдает:

{"payload":{"success":true,"task":"send","secret":"123456","messages":[{"to":"номер получателя","message":"Your message has been received","uuid":"1ba368bd-c467-4374-bf28"}]}}{"payload":{"success":true,"error":null}}


Ну и собственно все...

SmsSync все это время выдает "Шлюз запущен"
в логах только настройки которые я менял
список ожидания пуст
отправленных нет
ну и соответственно ничего никуда не уходит

Помогите разобраться, пожалуйста
  • Вопрос задан
  • 2916 просмотров
Пригласить эксперта
Ответы на вопрос 2
Sawell
@Sawell
Артур, приветствую. Вы разобрались с этим сервисом?
Ответ написан
@dobryshkin
Разобрался молясь
во первых надо включить в настройках автосинхронизацию, проверку заданий, и если нужен будет результат отправки result API,
после этого будет отправляться сообщение из шаблона на номер +0000000000 при каждой провеке заданий.
в функции send_task формируется само сообщение
а функция get_sent_message_uuids непосредственно делает отправку

что бы забирать сообщения из mysql(пример)
function send_task()
{
    /**
     * Comment the code below out if you want to send an instant
     * reply as SMS to the user.
     *
     * This feature requires the "Get reply from server" checked on SMSsync.
     */
    if (isset($_GET['task']) AND $_GET['task'] === 'send')
    {
	$q = mysql_query ('SELECT * FROM test WHERE status=0') or die (mysql_error());
	if (mysql_num_rows($q)>0){
	while($get = mysql_fetch_assoc($q)) {

        $message = $get['msg'];
        //$f = "+000-000-0000";
        $to = $get['phone'];
        $seccess = "true";
		$uuid = $get['msg_id'];
        $reply[] = [
            "to" => $to,
            "message" => $message,
            "uuid" => $uuid
        ];
		mysql_query('UPDATE test SET status=1 WHERE msg_id="'.$uuid.'"');
        // Send JSON response back to SMSsync
	}
        $response = json_encode(
            ["payload"=>[
                "success"=>$seccess,
                "task"=>"send",
                "secret" => "123456",
                "messages"=>array_values($reply)]
            ]);
        send_response($response);

    }
}
}

далее насколько я понял
send_messages_uuids_for_sms_delivery_report для создание в самом приложении сообщений во вкладке ожидающие/отправленные, если эту функцию выключить в приложениии всё пусто, даже при успешной отправки

get_message обработка входящих сообщений
get_sms_delivery_report получить рузультат конкретного сообщения по uuid(если оно существует в приложении ожидающие/отправленные, иначе пусто придёт)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы