ssheduardo/

didimo-laravel

didimo 包用于使用 Laravel 发送短信

1.1 2017-11-22 17:40 UTC

This package is auto-updated.

Last update: 2024-09-16 03:11:12 UTC


README

Laravel 包用于使用 didimo 平台发送短信。

Latest Stable Version Total Downloads License

致谢

Eduardo Díaz, 马德里 2017

Twitter: @eduardo_dx

安装

通过 Composer

Laravel 5.2, 5.3, 5.4

$ composer require "ssheduardo/didimo-laravel=~1.0"

现在我们需要在数组 'providers'(config/app.php) 中加载我们的 Services Provider

Ssheduardo\Didimo\SmsServiceProvider::class

在数组 'aliases'(config/app.php) 中创建一个别名

'Sms'   => Ssheduardo\Didimo\Facades\Sms::class,

在我们的 .env 文件中添加以下内容

DIDIMO_USER=TU_USER
DIDIMO_PASSWORD=TU_PASSWORD

我们添加了一个额外的环境变量,以帮助您在测试或生产环境中配置环境

DIDIMO_ENVIRONMENT

默认值是 test

最后,我们发布了配置文件,以防您想更改配置而不使用环境变量

php artisan vendor:publish --provider="Ssheduardo\Didimo\SmsServiceProvider"

这将在 config 文件夹中创建一个名为 didimo.php 的文件

使用

发送短信

假设我们有一个这个路由 http://ubublog.com/sms,它连接到 SmsController@index

Route::get('/sms', ['as' => 'sms', 'uses' => 'SmsController@index']);

SmsController 控制器的内容如下

<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Ssheduardo\Didimo\Facades\Sms;

class SmsController extends Controller
{

    public function index()
    {
        //Enviar sms desde producción
        Sms::setEnvironment('live');

        $response = Sms::createMessage('Test','[NUMERO_DESTINO]','Mensaje de prueba');
        if($response->Status == 200) {
            if($response->ResponseCode == 0 && $response->ResponseMessage == 'Operation Success') {
                echo "Enviado correctamente, id status: {$response->Id}";
            }
            else {
                echo 'Error, no se pudo enviar el sms';
            }
        }
        else {
            print_r($response);
        }
    }
}

请注意,为了发送测试短信,您需要联系您的提供商以获取权限。只需将 live 改为 test 即可

Sms::setEnvironment('test');
//O podemos llamar al valor asignado en el config (test o live)
Sms::setEnvironment(config('didimo.environment'));

注意:我们可以传递第三个参数来安排短信发送,该值必须具有以下格式 Y-m-d\TH:i:s。

    $now = date('Y-m-d H:i:s');
    $newdate = date('Y-m-d\TH:i:s', strtotime('+1 hour', strtotime($now)));
    Sms::createMessage('Prueba','[NUMERO_DESTINO]','Mensaje con scheduler',$newdate);

查询短信状态

<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Ssheduardo\Didimo\Facades\Sms;

class SmsController extends Controller
{

    public function index()
    {
        //Consultar en producción
        Sms::setEnvironment('live');

        $id='c366018b-97ba-4a78-8183-0d975bd2620b';
        $response = Sms::getMessageStatus($id);
        if($response->Status == 200) {
            if($response->ResponseCode == 0 && $response->ResponseMessage == 'Operation Success') {
                echo "Estatus: ".$response->StatusDescription;
            }
            else {
                echo 'Error al obtener estatus';
            }
        }
        else{
            print_r($response);
        }
    }
}

查询可发送短信的余额

<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Ssheduardo\Didimo\Facades\Sms;

class SmsController extends Controller
{

    public function index()
    {
        //Consultar en producción
        Sms::setEnvironment('live');

        $response = Sms::getCredits();
        if($response->Status == 200) {
            if($response->ResponseCode == 0 && $response->ResponseMessage == 'Operation Success') {
                echo "Total saldo: ".$response->Credits;
            }
            else {
                echo 'Error al obtener saldo';
            }
        }
        else {
            print_r($response);
        }
    }
}

此包依赖于我的主类 https://github.com/ssheduardo/didimo

官方文档

Didimo SMS Web API - 集成手册

变更日志

请参阅 CHANGELOG 了解最近更改的详细信息。

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。

捐赠

您想支持我吗?您欣赏我的工作吗?您在商业项目中使用它吗?

请随意进行小额 捐赠!😉