Собака-посилака є штатною підсистемою абстракції та розсилання повідомлень. На даний момент вона підтримує посилку SMS, Telegram та Email.
Наразі вона, в своєму первозданному вигляді, з коробки підтримує наступні сервіси посилки SMS:
Якщо вашого улюбленого сервісу немає у цьому списку, завжди на замовлення можна дописати його підтримку. Не складно, не довго, дорого. Звертайтесь.
Собака-посилака вмикається наступною опцією alter.ini:
SENDDOG_ENABLED=1
та працює при відповідному виклику з remote API:
*/5 * * * * /bin/ubapi "senddog"
Ви справді думаєте, що для цього потрібна документація?
У випадку, якщо ви не плануєте використовувати всі підтримувані сервіси одночасно (а очевидно, що це так) ви можете вимкнути всі непотрібні вам, просто перерахувавши налаштовані та використовувані вами сервіси через кому у відповідній опції 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 користувацькі Chat ID можна отримати з “контактів бота Telegram” (так, це іконка з лупою). Вони там з'являться, тільки після того, як користувач сам перший що-небудь напише боту. Так влаштований захист від спаму в цьому месенджері. Ми вважаємо, що це дуже круто.