Зміст

Собака-посилака

Собака-посилака є штатною підсистемою абстракції та розсилання повідомлень. На даний момент вона підтримує посилку SMS, Telegram та Email.

Наразі вона, в своєму первозданному вигляді, з коробки підтримує наступні сервіси посилки SMS:

Якщо вашого улюбленого сервісу немає у цьому списку, завжди на замовлення можна дописати його підтримку. Не складно, не довго, дорого. Звертайтесь.

Ввімкнення

Собака-посилака вмикається наступною опцією alter.ini:

alter.ini
SENDDOG_ENABLED=1

та працює при відповідному виклику з remote API:

*/5 * * * *     /bin/ubapi "senddog"

Налаштування та використання

Ви справді думаєте, що для цього потрібна документація? =)

У випадку, якщо ви не плануєте використовувати всі підтримувані сервіси одночасно (а очевидно, що це так) ви можете вимкнути всі непотрібні вам, просто перерахувавши налаштовані та використовувані вами сервіси через кому у відповідній опції alter.ini, наприклад, якось так:

alter.ini
SENDDOG_SMS_SERVICES_ENABLED="tsms,tsmshttp"

Просунута собака-посилка

Суттєво відрізняється від стандартної інтерфейсом.

А також привносить можливість “раутингу” СМС повідомлень шляхом призначення кожному користувачеві бажаного СМС сервісу, котрий використовуватиметься для розсилання.

На даний момент маршрутизація підтримується SMSZill'ою у напрямку “Інтернет”, модулем EasySMS та модулем Reminder.

Також “просунутий собака” окремо реалізує підтримку наступних сервісів

Відповідальний за розробку цієї реалізації ось цей мілорд.

Включення просунутої собаки-посилки

Просунута собака-посилка вмикається такими опціями alter.ini:

SENDDOG_ENABLED=1
SMS_SERVICES_ADVANCED_ENABLED=1

Як бачимо, потрібно включення стандартної собаки-посилаки, оскільки просунута собака-посилка все ж таки базується на ньому трохи більше, ніж повністю, і, відповідно, для обробки черги СМС повідомлень достатньо того ж виклику з remote API, який описаний парою абзаців вище.

Також існує необов'язкова опція

SMS_SERVICES_BINDINGS_CACHE_LIFETIME=1800

яка визначає тайм-аут для оновлення кешу зв'язків (так-так, йдеться саме про призначення відданих СМС сервісів для різних сутностей, наприклад інтернет-користувачів, або співробітників (у майбутньому) або ще чого завгодно) просунутої собаки-посилки. За замовчуванням тайм-аут дорівнює 1800 секунд або 30 хвилин.

Основна чудовість просунутої собаки-посилаки (окрім раутингу, звичайно ж) - можливість динамічного додавання СМС сервісів шляхом складання в /api/vendor/sms_services_APIs файлів реалізації API СМС сервісу у вигляді PHP класу що наслідує абстрактний клас SMSServiceApi. Що означає, що якщо підтримки вашого улюбленого необхідного вам СМС провайдера Ubilling поки немає - додати її тепер стало відносно не складно.

Так само це дозволяє додати, наприклад, 2(або 3, або 10) однакових СМС сервісів з різними альфа-іменами або обліковими даними.

Telegram

Єдине що слід відмітити - для відсилання за допомогою Telegram користувацькі Chat ID можна отримати з “контактів бота Telegram” (так, це іконка з лупою). Вони там з'являться, тільки після того, як користувач сам перший що-небудь напише боту. Так влаштований захист від спаму в цьому месенджері. Ми вважаємо, що це дуже круто.