"Для разработчиков", "Серверные скрипты", "Описание функций", "Интеграции", "TurboSMS", "mIntegrationTurboSMSViberSendExt".

 

Отправить сообщение на один или несколько номеров Viber. Как правило, сообщения ставятся в очередь в самом сервисе и отправляются получателю мгновенно либо в течение нескольких минут.

Их статус можно посмотреть в админке TurboSMS. Сообщения отправляются от имени зарегистрированного отправителя. Имя вам должен разрешить сервис TurboSMS, именно его нужно указать в настройках интеграции.

 

Можно указать расширенные параметры: время отложенной отправки, добавить файл к сообщению, включить статистику кликов, показать картинку, заголовок сообщения, указать, что сообщение транзакционное, а не рекламное.

 

Синтаксис

function mIntegrationTurboSMSViberSendExt(const sMsg, sRecipients: string; const dtStart: double; const iTTL: integer;

                                         const sImageURL, sCaption, sAction: string; const iFileID: integer;

                                         const bCountClicks, bIsTransactional: boolean; var sJSONResponse: string): integer;

 

Параметры и возвращаемые значения

Параметр

Тип

Значение

sMsg

string

текст сообщения, максимум 1000 символов в кодировке UNICODE;

sRecipients

string

получатели сообщения, номера телефонов в международном формате через запятую, без ведущего "+" и пробелов, например: "380504451213,380671234587";

dtStart

double

дата и время, когда сообщение следует отправить (не больше 14 дней от текущего времени), либо NoDate, если сообщение надо отправить прямо сейчас;

iTTL

integer

срок жизни сообщения в секундах, от 60 до 86400, по умолчанию 3600. Если в течение этого времени сообщение не будет доставлено, попыток доставки больше не будет;

sImageURL

string

URL картинки, которая будет в сообщении, по умолчанию пустая строка;

sCaption

string

текст в кнопке сообщения, по умолчанию пустая строка;

sAction

string

URL, куда перейдёт пользователь по нажатию на кнопку, по умолчанию пустая строка;

iFileID

integer

id файла, возвращённый методом file/add (документация TurboSMS), по умолчанию 0;

bCountClicks

boolean

true, если нужно включить статистику переходов. По умолчанию false;

bIsTransactional

boolean

флаг транзакционного сообщения, по умолчанию false. Отправка транзакционных сообщений от общего отправителя запрещена;

sJSONResponse

string

JSON-объект, полный ответ сервиса.

 

Результат функции

-2

интеграция выключена, её необходимо включить в настройках;

-3

неправильное значение TTL (должно быть от 60 до 86400);

-4

неправильный FileID;

-5

сообщение слишком длинное;

-6

сообщение пустое;

-7

список получателей сообщения пустой;

-8

дата отложенной отправки меньше текущей даты или больше 14 дней от текущего времени;

800, 801, 802, 803

сообщение успешно отправлено, детали смотрите в полном ответе сервиса.

 

Пример

Отправка тестового Viber-сообщения на один номер телефона, используется стандартный тестовый отправитель в настройках ("Mobibon"), вы должны зарегистрировать своё имя отправителя.

Добавлена картинка, кнопка и URL для перехода на сайт при нажатии на кнопку.

var
  iResult: integer;
  sJSONResponse: string;
begin
  iResult := mIntegrationTurboSMSViberSendExt('Viber ext test message from MyChat',
                                              '380504452169', 
                                              NoDate,
                                              3600,
                                              'https://nsoft-s.com/img/logo.png',
                                              'About MyChat',
                                              'https://nsoft-s.com/aboutmychat.html',
                                              0,
                                              false,
                                              false,
                                              sJSONResponse);
     
  mLogScript('Result: ' + IntToStr(iResult), '');
  mLogScript(sJSONResponse, '');
end.

Результат работы скрипта

[16:59:50] (Log "TurboSMSViberSendExt"): Result: 800

[16:59:50] (Log "TurboSMSViberSendExt"): {"response_code":800,"response_status":"SUCCESS_MESSAGE_ACCEPTED","response_result":[{"phone":"380504452169","message_id":"55630390-60a1-0ca9-a739-d72cb9358aac","response_code":0,"response_status":"OK"}]}

[16:59:50] (Run "TurboSMSViberSendExt"): Время выполнения скрипта: 1293 мс

[16:59:50] (Run "TurboSMSViberSendExt"): Скрипт выполнен успешно.

 

Расширенное сообщение в Viber, отправленное из MyChat с помощью сервиса TurboSMS

 

Ещё посмотреть

Справка сервиса TurboSMS по HTTP API, команды, ответы и возможные ошибки

IntToStr

mLogScript