Download the PHP package cri2net/sms-client without Composer
On this page you can find all versions of the php package cri2net/sms-client. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package sms-client
README
Эта библиотека предназначена как основа для других библиотек, которые отправляют SMS через сторонний SMS шлюз.
На текущий момент поддерживаются следующие SMS шлюзы:
- sms-fly.com через пакет cri2net/sms-fly
- letsads.com через пакет cri2net/sms-letsads
Установка
Установка библиотеки
В базовом случае библиотека установится сама при установке библиотеки для конкретного шлюза. Но всегда можно выполнить установку через команду:
Таблица в БД
Для лучшей интеграции будет удобно создать таблицу в базе данных. Однако это не обязательно для работы.
Не забывайте просматривать файл install.sql при обновлениях версии.
Также, поддерживаются автоматические SQL миграции на основе пакета placebook/framework-selfupdate
Текущее содержимое:
Описание полей:
- id: Идентификатор записи
- status: Статус отправки
- to: Номер получателя в международном формате
- created_at: unix время создания записи
- updated_at: unix время последнего изменения записи
- send_at: unix время фактической отправки sms
- min_sending_time: unix время минимального момента времени, когда можно отправлять смс - для отложенной отправки
- replace_data: JSON строка с правилами замен
- raw_text: текст сообщения, есть поддержка "макросов"
- processing: ключ (название) sms шлюза, который отправил (или должен отправить) sms
- processing_data: JSON с данными для шлюза
- processing_status: статус отправки, полученный от шлюза
- additional: предназначено для дополнительной информации в JSON. Библиотека не использует это поле и логика его работы целиком зависит от пользователей библиотеки
Использование
Описание методов
Библиотека имеет лишь интерфейс и абстрактный класс, так что нельзя создать экземпляр предоставляемого класса напрямую и использовать его.
Тут приведены лишь базовые методы, в том числе абстрактные, которые будут доступны в классе конкретного sms шлюза. Если метод будет переопределён в дочернем классе, об этом будет написано в описании к дочернему классу
- getBalance() — получение текущего остатка денег в аккаунте на шлюзе
- checkStatus($campaignID, $recipient) — проверка текущего статуса отправленного сообщения по ID кампании отправки (от шлюза) и номеру телефона получателя в международном формате
- sendSMS($recipient, $text) — отправка sms, параметры: номер в международном формате и текст
- processPhone($international_phone) — В силу того, что некоторые SMS шлюзы могут не работать с международным форматом номера телефона, этот метод адаптирует номер в международном формате к тому виду, в котором его может использовать шлюз
- checkStatusByCron() — метод предназначен для проверки статусов отправленных сообщений по расписанию (через crontab)
- sendSmsByCron() — отправка подготовленных sms, которые сохранены в БД