Фильтр телефонов — различия между версиями
(→Новый фильтр) |
(→Ссылки) |
||
Строка 113: | Строка 113: | ||
Sign=7 | Sign=7 | ||
</pre> | </pre> | ||
+ | |||
+ | {{Окна ТМ2}} | ||
== Ссылки == | == Ссылки == |
Версия 16:49, 1 июля 2010
Фильтр сотовых телефонов — выражение, определяющее набор номеров сотовых телефонов. Фильтры задаются в окне «Фильтры сотовых телефонов». Синтаксис выражений, определяющих фильтры, совпадает с синтаксисом регулярных выражений.
Содержание
Окно «Фильтры сотовых телефонов»
В Такси-Мастер 2 окно «Фильтры телефонов» выглядит так:
В этом окне, как и в других, есть панель инструментов и таблица. В таблице отображается список фильтров телефонов.
Открывается окно «Фильтры телефонов» через главное меню:
Новый фильтр
Чтобы создать новый фильтр, откройте окно фильтров и нажмите кнопку Добавить запись , либо клавишу Insert. В открывшемся окне заполните все необходимые поля:
- В поле Наименование укажите характеризующее фильтр наименование.
- В поле Приоритет укажите приоритет действия фильтра (чем меньше число, тем ниже приоритет).
- В поле ИД устройства укажите номер устройства (только для модуля СМС, см. ниже).
- В поле Выражение укажите непосредственно выражение фильтра.
- В поле Параметры укажите параметры работы фильтра (см. ниже).
- В поле Описание введите краткое описание фильтра.
- Нажмите OK .
Создайте столько фильтров, сколько вам нужно. Перезапустите Такси-Мастер, чтобы измененные параметры вступили в силу.
В поле ИД устройства необходимо указывать порядковый номер устройства, начиная с нулевого. В то же время, в конфигураторе отчет идет с первого, а не с нулевого. Это значит, что, например, на вкладке Устройство #4 в конфигураторе находится устройство, ИД которого — 3 (всегда на 1 меньше).
Будьте внимательны!
Какое выражение выбрать?
Выражение фильтра зависит от того, в каком виде номера хранятся в базе данных. При попытке отправить номер телефона берется, например, из карточки заказа (по сути, из базы данных) и сравнивается с выражением. Если номер, на который Такси-Мастер пытается отправить СМС, не подходит под выражение, он считается неподходящим, и отправка не происходит.
Рассмотрим пример. Если в базе данных номера хранятся в федеральном формате, то есть начинаются с цифры обратная косая черта? — это диктуется синтаксисом регулярных выражений.
8 , то выражение также должно начинаться на 8 . Если в международном формате, то есть +7 , — то выражение должно начинаться с +7 . Для первого случая подходит фильтр 89\d{9}$ , для второго — \+79\d{9}$ . Обратите внимание на то, что во втором случае символу + предшествуетПомните также о том, что если номера телефонов попадают в базу данных из устройства связи посредством модуля связи, то на такой номер действуют правила преобразования номеров. С их помощью вы можете приводить номер из любого вида к тому, который вам нужен для хранения в базе данных. Рекомендуется хранить номера в федеральном формате.
Еще один момент — когда вы отправляете СМС через SMPP-сервер. В этом случае выражение имеет дополнительные параметры.
Примеры выражений
Чаще всего используются лишь несколько выражений:
- 89\d{9}$ — выражение, которому соответствуют все номера, начинающиеся на 89 и содержащие 11 цифр ( 89 и еще девять цифр), то есть все сотовые.
- 8909\d{7}$ — этому выражению соответствуют все номера, которые начинаются на 8909 (оператор МТС Приволжского района), за которыми следуют 7 любых цифр.
В связи с синтаксисом регулярных выражений знак
+ , с которого могут начинаться сотовые телефоны (например, +7909... ), не может быть указан в таком виде, поскольку является спецсимволом. Его нужно «закрывать» (escape) обратной косой чертой (backslash) таким образом: \+79\d{9 }.Пример выражения для SMPP
Провайдер СМС, с которым СМС-сервер работает по протоколу SMPP, может накладывать ограничение на номера телефонов получателей СМС. Чаще всего провайдер требует, чтобы номер был в международном формате — для России, к примеру, он начинается с 7 (а не с . Чтобы не исправлять все номера в базе данных, вы можете настроить фильтр следующим образом: 8 , как это принято)
- Выражение — 89\d{9}$ (все номера, начинающиеся с 8, например, 89120123456).
- В поле Параметры укажите параметры таким образом, чтобы бралась значащая часть номера (последние десять знаков), и к ней подставлялся префикс 7 .
В поле Параметры нужно указать следующее:
Prefix=7 Sign=10
После этого всем номерам, которые начинаются с
8 и содержат 11 знаков, вместо 8 будет подставляться 7 .Параметры
В карточке фильтра присутствует поле Параметры . Это поле доступно только тогда, когда к Такси-Мастер подключен модуль СМС. Его назначение — указать дополнительные параметры редактируемому фильтру, причем для разных типов устройств параметры различаются.
Параметры фильтра для mail-гейта
Для mail-гейта существует несколько параметров:
- Параметр EMail содержит адрес получателя или его конечный фрагмент, например, sms.beemail.ru или gonzalo-fast@mail.ru . Это зависит от параметра EMailRecipient .
- Параметр
- Если параметр установлен в 0 , то номер телефона будет подставляться к значению EMail следующим способом: НОМЕР@EMail , где НОМЕР - номер телефона получателя (например, 79097159561 ), а EMail - значение параметра EMail (например, sms.beemail.ru ).
- Если же параметр установлен в 1 , то сообщения отправляются на адрес, указанный параметром EMail , например, gonzalo-fast@mail.ru .
EMailRecipient определяет, будет ли складываться адрес получателя из номера телефона и значения параметра EMail , или же адрес получателя будет целиком взят из параметра EMail .
- Параметр
- Например, если Вы храните номера телефонов без указания кода оператора (например, 79159561 вместо 89097159561 ), или mail-гейт накладывает какие-то требования к адресу получателя. Например, если Вы указали префикс 7909 , то ко всем номерам телефонов слева будут подставляться цифры 7909 .
Prefix определяет префикс номера телефона, на который отправляется сообщение.
- Параметр
- Например, если значение параметра Prefix — 7 , а значение параметра Sign — 10 , то от номера 89097159561 будут отделены последние 10 цифр ( 9097159561 ), а затем к нему будет приставлен префикс 7 , и результат будет 79097159561 .
Sign указывает, сколько знаков с конца номера телефона нужно взять для того, чтобы собрать номер получателя. Этот параметр удобно использовать вместе с параметром Prefix для замены первых цифр телефонов.
Рассмотрим пример использования. Допустим, в справочниках постоянных клиентов, водителей и других хранятся номера в федеральном формате — они начинаются с Параметры введем следующее:
8 , затем содержат код оператора и номер абонента (например, 89097159561 ). Все водители подключены к оператору Билайн, который предоставляет возможность отправлять SMS-сообщения через mail-гейт в формате 7ТЕЛЕФОН@sms.beemail.ru , где ТЕЛЕФОН — десять последних цифр номера телефона, то есть федеральный номер без 8 . Настроим фильтр так, чтобы можно было отправлять сообщения через mail-гейт Билайн. Для этого в полеEMail=sms.beemail.ru EMailRecipient=0 Prefix=7906 Sign=7
Ссылки
- http://ru.wikipedia.org/wiki/Регулярные_выражения — о регулярных выражениях на Википедии.
- http://taxidev.blogspot.com/2009/12/smpp.html — коротко о быстрой настройке отправки СМС через SMPP.