Инструменты пользователя

Инструменты сайта


vrobot:api:start

API

Подключение собственного канала для отправки/получения коротких сообщений (SMS).

web

Авторизация

BASIC

Параметры

Все параметры могут передаваться как методом GET, так и POST. Кодировка UTF8.

Получение списка сообщений к отправке

http[s]:\\myWeb\SMS\sms.php?cannel=1
* cannel=1 - канал по которому работает данный робот.

Вставка сообщения

http[s]:\\myWeb\SMS\status.php?cannel=1&num=79226028866&text=myText
* cannel=1 - канал по которому работает данный робот.
* num=79226028866 номер отправителя. Для сотовых номеров в международном формате опуская +, т.е. для номера +79226028866 -> 79226028866, а не 9226028866, и не 89226028866.
* text=myText - текст сообщения

Вставка сообщения

http[s]:\\myWeb\SMS\insert.php?cannel=1&id=123&status=Ok
* cannel=1 - канал по которому работает данный робот.
* id=123 - id сообщения переданный в списка сообщений
* status=Ok - статус
  * Ok - доставлено
  * - или другое -

Запись в лог

http[s]:\\myWeb\SMS\insert.php?cannel=1&id=0&status=MyError
* cannel=1 - канал по которому работает данный робот.
* id=0 - константа, обозначающая, что это вставка в лог, а не статус сообщения
* status=MyError - текст для записи в лог

СУБД

:USR, :CHANNEL - константы, разные для каждого отправщика.
 --Список СМС к отправке
 SELECT ID
      , RECIPIENT
      , TEXT
   FROM SMSROBOT_SMSOUT_SEND
 WHERE channel=:channel
 --отправляем СМС в очередь чтоб проверить как работет
 EXECUTE PROCEDURE SMSSEND('79226028866', 'TEXT', NULL, NULL, NULL,
 CURRENT_TIMESTAMP, :USR, :CHANNEL)
 --Меняем статус сообщения - на отправлено
 EXECUTE PROCEDURE SMSSTATUS(:ID, :STATUS = {2,3,4,5,6,8}, :CHANNEL)
 --Меняем статус сообщения - на не отправлено
 EXECUTE PROCEDURE SMSSTATUS(:ID, :STATUS = 7, :CHANNEL, :ERRCODE, :ERRORTEXT)
 --В общем случае статус принимает значения
  STATUS
 'ИСХ:
 1 - сформировано
 2 - в обработке
 3 - отправлено (D_SEND)
 4 - получено подтверждение устройства или удалённой стороны что SMS в обработке (D_SEND)
 5 - получено подтверждение отправки (D_SEND)
 6 - получено подтверждение доставки (D_Delivery)
 7 - ошибка доставки
 8 - СМС слишком долго ждало своей участи
 9 - отменено пользователем
 10 - доставлено пользователю и обработан от него ответ
 ВХ:
 -1 - получено
 -2 - обработано автоматически
 -3 - обработано вручную (прочитано)
 -4 - обработано автоматически с ошибкой';
 --отправляем ообщение в лог базы о чём-то не связанном с конкретной СМС
 EXECUTE PROCEDURE LOG_ADD('wa', :TEXT, 10)

Можно отправлять в текстовый лог - я его буду читать клиентом Zabbix

  --Вставка входящего сообщения
  INSERT INTO smsrobot_smsout (USR, SENDER, recipient, TEXT, STATUS, CHANNEL)
  VALUES (:USR, :SENDER, :recipient, :TEXT, -1, :CHANNEL)
  --recipient - задаётся если сообщение отправлено в группу, иначе можно опустить или вставить Null 
 --Список групп которые нужно слушать
 SELECT ID, NAME, COD
   FROM SMSROBOT_SUBSCRIBER
  WHERE CHANNEL=:CHANNEL
    AND VIS='T'
vrobot/api/start.txt · Последние изменения: 2015/07/28 22:40 — xvv