SMS

Для отправки sms воспользуйтесь кодом:

use Lemurro\Api\Core\Helpers\SMS\SMS;

/** @var SMS $sms */
$sms = $this->dic['sms'];

// Отправка через другой шлюз
$other_gateway = new OtherGatewaySMS($this->dic['config']['sms']);
$sms->send('71234567890', 'Сообщение', $other_gateway);

// Отправка через шлюз по умолчанию (sms.ru)
$sms->send('71234567890', 'Сообщение');

По умолчанию настроена работа с сервисом sms.ru

Свой шлюз отправки sms

<?php
use Lemurro\Api\Core\Abstracts\GatewaySMS;

class OtherGatewaySMS implements GatewaySMS
{
    /**
     * Отправка sms
     *
     * @param string $phone   Номер телефона получателя
     * @param string $message Сообщение
     *
     * @return array
     */
    public function send($phone, $message)
    {
        // Код отправки sms, обработки ответа и возврата результата
    }
}
  1. Обязательно наличие публичного метода send
  2. Метод send принимает 2 параметра $phone и $message
  3. В случае успешной отправки возвращается массив
    return [
        'success' => true,
        'message' => 'Сообщение об успешной отправке со служебной информацией (не обязательно)',
    ];
    
  4. В случае ошибки отправки возвращается массив
    return [
        'success' => false,
        'message' => 'Текст ошибки',
    ];
    
  5. Текст из message будет помещён в лог
    <?php
    use Lemurro\Api\Core\Abstracts\GatewaySMS;
    
    class OtherGatewaySMS
    {
        /**
         * Отправка sms
         *
         * @param string $phone   Номер телефона получателя
         * @param string $message Сообщение
         *
         * @return array
         */
        public function send($phone, $message)
        {
            // Код отправки sms, обработки ответа и возврата результата
        }
    }