

СМС рассылка пишет лог только после доставки?
#1
Отправлено 15 Февраль 2017 - 15:47
Сделал через отправку по фильтру "Новые, которые в поле "Рассылки" не содержат слова "СМС", т.к. шаблон называется "СМС приветствие". Отправка смс каждую минуту, рассылка по фильтру каждый 5 минут. Думал, что успеет отправиться и в лог рассылки прописать слово "СМС", но оказывается в лог рассылки пишется только при получении статуса сообщения DELIVERED или UNDELIVERED. А в случае задержки на стороне смс шлюза скрипт повторно отправляет, т.к. в логе ничего нет. Как быть?
#2
Отправлено 15 Февраль 2017 - 16:30
1. Если sms отправляется пользователю программы, то лучше делать это через напоминание с отправкой sms.
2. Если не пользователю, то есть еще вариант отправки sms через вычисление (пользователю тоже так можно).
Рассылка по фильтру немного для других целей, а именно для массовых рассылок, например раз в сутки, а не для персональных извещений каждые 5 минут.
#3
Отправлено 15 Февраль 2017 - 16:51
это странно, ведь полностью все оформление такое же, как и для email рассылки. в справке также не нашел информации.
Сообщение отредактировал d654525: 15 Февраль 2017 - 16:53
#4
Отправлено 15 Февраль 2017 - 17:43
На форуме да, примеров именно по sendsms не находится, но полно по sendmail (отправка письма), а логика в принципе та же, вы правы.
#5
Отправлено 15 Февраль 2017 - 18:13
мне нужно отправлять смс шаблон с названием "СМС-Авто сообщение - Заявка принята" автоматически при добавлении новой записи через внешнюю форму. новая запись имеет значение "Новая" в поле f3761.
в текст подставляется имя получателя из поля f3711
Сообщение отредактировал d654525: 15 Февраль 2017 - 18:14
#6
Отправлено 16 Февраль 2017 - 11:16
if ($line['f3761'] == "Новая") { sendsms("СМС-Авто сообщение - Заявка принята", $line['f3711']); }
Простейшее вычисление.
#7
Отправлено 16 Февраль 2017 - 11:39
#8
Отправлено 16 Февраль 2017 - 14:48
if ($line['f3761'] == "Заявка: Новая") AND ($line['f7041'] not like "СМС") {
sendsms("СМС-Авто сообщение - Заявка принята", $line['f3711']);
}
#9
Отправлено 16 Февраль 2017 - 15:06
#10
Отправлено 16 Февраль 2017 - 16:04
if (($line['f3761'] == "Заявка: Новая") AND ($line['f7041'] not like "СМС")) {
sendsms("СМС-Авто сообщение - Заявка принята", $line['f3711']);
вычисление такое:
if (($line['Этап'] == "Заявка: Новая") AND ($line['Рассылки'] not like "СМС")) {
sendsms("СМС-Авто сообщение - Заявка принята", $line['Имя']);
}
#11
Отправлено 16 Февраль 2017 - 16:54
Цитата
Оператора "not like" в PHP не существует, вы путаете с SQL. Не понял, зачем вам вообще здесь это условие, я вроде как его не прописывал.
#12
Отправлено 16 Февраль 2017 - 17:50
if (($line['Этап'] == "Заявка: Новая") AND ($line['Рассылки'] == "")) {
sendsms("Текст сообщения", $line['Телефон']);
}
А можно как-то вставить в текст сообщения имя из поля "Имя"?
Сообщение отредактировал d654525: 16 Февраль 2017 - 18:12
#13
Отправлено 16 Февраль 2017 - 18:32
Сообщение отредактировал d654525: 17 Февраль 2017 - 06:54
#14
Отправлено 17 Февраль 2017 - 09:13
Что касается архива рассылок, то все рассылки, отправленные через программу, записываются туда. Так что возможно вы просто не там смотрите. Например, перепутали архив писем и архив смс.
#15
Отправлено 17 Февраль 2017 - 09:52
#16
Отправлено 17 Февраль 2017 - 10:18
$line['Поле лога'] = "СМС отправлено";
#17
Отправлено 17 Февраль 2017 - 11:27
if (($line['Этап'] == "Заявка: Новая") AND ($line['Рассылки'] == "")) {
sendsms("Текст сообщения", $line['Телефон']);
$line['Поле лога'] = "СМС отправлено";
}
#18
Отправлено 17 Февраль 2017 - 14:35
Количество пользователей, читающих эту тему: 3
0 пользователей, 3 гостей, 0 анонимных