Coyote — программный проект с открытым исходным кодом, разработанный для предоставления возможности бесплатной отправки коротких текстовых сообщений (SMS) на мобильные телефоны множества операторов. Проект возник как попытка объединить доступные сетевые ресурсы и протоколы для доставки сообщений пользователям без необходимости использования коммерческих SMS‑шлюзов. Coyote реализует серверную часть для формирования, очереди и маршрутизации сообщений, а также компоненты для интеграции с внешними сервисами и локальными базами данных абонентов.
Исторические данные о происхождении и авторстве Coyote разрозненны: в открытых репозиториях встречаются различные форки и локальные реализации с поправками под региональные требования и доступные шлюзы. В документации и обсуждениях сообществ обычно указывается, что проект ориентирован на гибкость конфигурации и поддержку множества транспортных каналов (HTTP API, SMPP, SMTP и прочие), при этом конкретный функционал и набор поддерживаемых операторов зависят от версии и настроек конкретной сборки. При отсутствии официальной централизованной вики или единого руководства в тексте следует учитывать, что детали могут отличаться между реализациями.
- Назначение: упрощение массовой и индивидуальной отправки SMS через доступные сетевые интерфейсы и шлюзы.
- Архитектура: модульная серверная архитектура с очередями сообщений, планировщиком и адаптерами для разных транспортов.
- Поддержка протоколов: возможная интеграция с SMPP, HTTP(S) API, SMTP и другими протоколами в зависимости от сборки.
- Конфигурация: настраиваемые правила маршрутизации, ограничений и повторных попыток доставки.
- Локализация и кодировка: обработка различных кодировок текста (включая GSM 03.38 и UCS‑2) и разбивка длинных сообщений на части.
- Отчётность: формирование статусов доставки, логирование и опциональные уведомления о результатах отправки.
- Интеграция: API и интерфейсы для встраивания в сторонние системы управления пользователями и CRM.
- Безопасность и контроль доступа: механизмы аутентификации и ограничения по объёму отправляемых сообщений для предотвращения злоупотреблений.
- Расширяемость: поддержка плагинов и скриптов для адаптации к специфическим требованиям оператора или региона.
- Лицензия: обычно распространяется под одной из общеизвестных свободных лицензий, но конкретная лицензия зависит от репозитория и форка.