Фильтр телефонов — различия между версиями

Материал из TaxiMaster
Перейти к: навигация, поиск
(Окно «Фильтры сотовых телефонов»)
(Новый фильтр)
Строка 38: Строка 38:
 
Будьте внимательны!
 
Будьте внимательны!
 
}}
 
}}
 +
 +
== Какое выражение выбрать? ==
 +
Выражение фильтра зависит от того, в каком виде номера хранятся в базе данных.
 +
При попытке отправить номер телефона берется, например, из карточки заказа (по сути, из базы данных) и сравнивается с выражением.
 +
Если номер, на который Такси-Мастер пытается отправить СМС, не подходит под выражение, он считается неподходящим, и отправка ''не происходит''.
 +
 +
Рассмотрим пример.
 +
Если в базе данных номера хранятся в федеральном формате, то есть начинаются с цифры {{code|8}}, то выражение также должно начинаться на {{code|8}}.
 +
Если в международном формате, то есть {{code|+7}}, — то выражение должно начинаться с {{code|+7}}.
 +
Для первого случая подходит фильтр {{code|89\d{9}$}}, для второго — {{code|\+79\d{9}$}}.
 +
Обратите внимание на то, что во втором случае символу {{code|+}} предшествует {{коммент|обратная косая черта|Backslash}} — это диктуется синтаксисом регулярных выражений.
 +
 +
Помните также о том, что если номера телефонов попадают в базу данных из устройства связи посредством [[Модули Такси-Мастер 2|модуля связи]], то на такой номер действуют [[правила преобразования номеров]].
 +
С их помощью вы можете приводить номер из любого вида к тому, который вам нужен для хранения в базе данных.
 +
Рекомендуется хранить номера в федеральном формате.
 +
 +
Еще один момент — когда вы отправляете СМС через [[SMPP]]-сервер.
 +
В этом случае [[#Пример выражения для SMPP|выражение имеет дополнительные параметры]].
  
 
=== Примеры выражений ===
 
=== Примеры выражений ===

Версия 17:14, 21 июня 2010

Фильтр сотовых телефонов — выражение, определяющее набор номеров сотовых телефонов. Фильтры задаются в окне «Фильтры сотовых телефонов». Синтаксис выражений, определяющих фильтры, совпадает с синтаксисом регулярных выражений.

Окно «Фильтры сотовых телефонов»

В Такси-Мастер 2 окно «Фильтры телефонов» выглядит так:

Картинка
Окно Фильтры телефонов в ТМ2.png

В этом окне, как и в других, есть панель инструментов и таблица. В таблице отображается список фильтров телефонов.

Открывается окно «Фильтры телефонов» через главное меню:

Картинка
Пункт Фильтры телефонов в главном меню.png

Новый фильтр

Файл:New-filter-for-phones.png
Создание нового фильтра

Чтобы создать новый фильтр, откройте окно фильтров и нажмите кнопку «Добавить запись», либо клавишу Insert. В открывшемся окне заполните все необходимые поля:

  1. В поле «Наименование» укажите характеризующее фильтр наименование.
  2. В поле «Приоритет» укажите приоритет действия фильтра (чем меньше число, тем ниже приоритет).
  3. В поле «ИД устройства» укажите номер устройства (только для модуля СМС, см. ниже).
  4. В поле «Выражение» укажите непосредственно выражение фильтра.
  5. В поле «Параметры» укажите параметры работы фильтра (см. ниже).
  6. В поле «Описание» введите краткое описание фильтра.
  7. Нажмите «OK».

Создайте столько фильтров, сколько вам нужно. Перезапустите Такси-Мастер, чтобы измененные параметры вступили в силу.

Предупреждение!

В поле «ИД устройства» необходимо указывать порядковый номер устройства, начиная с нулевого. В то же время, в конфигураторе отчет идет с первого, а не с нулевого. Это значит, что, например, на вкладке «Устройство #4» в конфигураторе находится устройство, ИД которого — 3 (всегда на 1 меньше).

Будьте внимательны!

Какое выражение выбрать?

Выражение фильтра зависит от того, в каком виде номера хранятся в базе данных. При попытке отправить номер телефона берется, например, из карточки заказа (по сути, из базы данных) и сравнивается с выражением. Если номер, на который Такси-Мастер пытается отправить СМС, не подходит под выражение, он считается неподходящим, и отправка не происходит.

Рассмотрим пример. Если в базе данных номера хранятся в федеральном формате, то есть начинаются с цифры «8», то выражение также должно начинаться на «8». Если в международном формате, то есть «+7», — то выражение должно начинаться с «+7». Для первого случая подходит фильтр «89\d{9}$», для второго — «\+79\d{9}$». Обратите внимание на то, что во втором случае символу «+» предшествует обратная косая черта? — это диктуется синтаксисом регулярных выражений.

Помните также о том, что если номера телефонов попадают в базу данных из устройства связи посредством модуля связи, то на такой номер действуют правила преобразования номеров. С их помощью вы можете приводить номер из любого вида к тому, который вам нужен для хранения в базе данных. Рекомендуется хранить номера в федеральном формате.

Еще один момент — когда вы отправляете СМС через SMPP-сервер. В этом случае выражение имеет дополнительные параметры.

Примеры выражений

Чаще всего используются лишь несколько выражений:

  1. «89\d{9}$» — выражение, которому соответствуют все номера, начинающиеся на «89» и содержащие 11 цифр («89» и еще девять цифр), то есть все сотовые.
  2. «8909\d{7}$» — этому выражению соответствуют все номера, которые начинаются на «8909» (оператор МТС Приволжского района), за которыми следуют 7 любых цифр.

В связи с синтаксисом регулярных выражений знак «+», с которого могут начинаться сотовые телефоны (например, «+7909...»), не может быть указан в таком виде, поскольку является спецсимволом. Его нужно «закрывать» (escape) обратной косой чертой (backslash) таким образом: «\+79\d{9»}.

Пример выражения для SMPP

Фильтр для SMPP в Такси-Мастер 1 (ИД устройства — «0», так как в конфигураторе это устройство находится на вкладке «Устройство #1»)

Провайдер СМС, с которым СМС-сервер работает по протоколу SMPP, может накладывать ограничение на номера телефонов получателей СМС. Чаще всего провайдер требует, чтобы номер был в международном формате — для России, к примеру, он начинается с «7» (а не с «8», как это принято). Чтобы не исправлять все номера в базе данных, вы можете настроить фильтр следующим образом:

  • «Выражение»«89\d{9}$» (все номера, начинающиеся с 8, например, 89120123456).
  • В поле «Параметры» укажите параметры таким образом, чтобы бралась значащая часть номера (последние десять знаков), и к ней подставлялся префикс «7».

В поле «Параметры» нужно указать следующее:

Prefix=7
Sign=10

После этого всем номерам, которые начинаются с «8» и содержат 11 знаков, вместо «8» будет подставляться «7».

Параметры

В карточке фильтра присутствует поле «Параметры». Это поле доступно только тогда, когда к Такси-Мастер подключен модуль СМС. Его назначение — указать дополнительные параметры редактируемому фильтру, причем для разных типов устройств параметры различаются.

Параметры фильтра для mail-гейта

Для mail-гейта существует несколько параметров:

  1. Параметр «EMail» содержит адрес получателя или его конечный фрагмент, например, «sms.beemail.ru» или «gonzalo-fast@mail.ru». Это зависит от параметра «EMailRecipient».
  2. Параметр «EMailRecipient» определяет, будет ли складываться адрес получателя из номера телефона и значения параметра «EMail», или же адрес получателя будет целиком взят из параметра «EMail».
    • Если параметр установлен в «0», то номер телефона будет подставляться к значению «EMail» следующим способом: «НОМЕР@EMail», где «НОМЕР» - номер телефона получателя (например, «79097159561»), а «EMail» - значение параметра «EMail» (например, «sms.beemail.ru»).
    • Если же параметр установлен в «1», то сообщения отправляются на адрес, указанный параметром «EMail», например, «gonzalo-fast@mail.ru».
  3. Параметр «Prefix» определяет префикс номера телефона, на который отправляется сообщение.
    • Например, если Вы храните номера телефонов без указания кода оператора (например, «79159561» вместо «89097159561»), или mail-гейт накладывает какие-то требования к адресу получателя. Например, если Вы указали префикс «7909», то ко всем номерам телефонов слева будут подставляться цифры «7909».
  4. Параметр «Sign» указывает, сколько знаков с конца номера телефона нужно взять для того, чтобы собрать номер получателя. Этот параметр удобно использовать вместе с параметром «Prefix» для замены первых цифр телефонов.
    • Например, если значение параметра «Prefix»«7», а значение параметра «Sign»«10», то от номера «89097159561» будут отделены последние 10 цифр («9097159561»), а затем к нему будет приставлен префикс «7», и результат будет «79097159561».

Рассмотрим пример использования. Допустим, в справочниках постоянных клиентов, водителей и других хранятся номера в федеральном формате — они начинаются с «8», затем содержат код оператора и номер абонента (например, «89097159561»). Все водители подключены к оператору Билайн, который предоставляет возможность отправлять SMS-сообщения через mail-гейт в формате «7ТЕЛЕФОН@sms.beemail.ru», где «ТЕЛЕФОН» — десять последних цифр номера телефона, то есть федеральный номер без «8». Настроим фильтр так, чтобы можно было отправлять сообщения через mail-гейт Билайн. Для этого в поле «Параметры» введем следующее:

EMail=sms.beemail.ru
EMailRecipient=0
Prefix=7906
Sign=7

Ссылки