MyChat Scripts: mIntegrationTurboSMSViberSendExt, отправить Viber-сообщение с расширенными возможностями
"Для разработчиков", "Серверные скрипты", "Описание функций", "Интеграции", "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"): Скрипт выполнен успешно.
Ещё посмотреть
Справка сервиса TurboSMS по HTTP API, команды, ответы и возможные ошибки