didimo/sms 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

didimo/sms

Composer 安装命令:

composer require didimo/sms

包简介

Send sms with didimo

README 文档

README

Clase para enviar sms con la plataforma DIDIMO

Latest Stable Version Total Downloads Latest Unstable Version License

Requerimientos mínimos

PHP 5.4.0 or superior

Créditos

Clase creada por Eduardo Díaz, Madrid 2017

Twitter: @eduardo_dx

Instalación y uso

Vía Composer

composer require didimo/sms

¿Cómo usar la clase?

Enviar un sms

include_once('vendor/autoload.php');

use Didimo\Sms\Sms;

$sms = new Sms('USER','PASSWORD');
//Enviar sms desde producción
$sms->setEnvironment('live');

$response = $sms->createMessage('Prueba','34666666666','Esto es una prueba');
if($response->Status == 200) {
    if($response->ResponseCode == 0 && $response->ResponseMessage == 'Operation Success') {
        echo 'Enviado correctamnete';
    }
    else {
        echo 'Error, no se pudo enviar el sms';
    }
}
else {
    print_r($response);
}

Tener en cuenta que para enviar sms de pruebas, tenéis que contactar por vuestro proveedor para que os de de alta. Bastará con cambiar setEnviorement a test

$sms->setEnvironment('test');

Nota: Podemos pasar un tercer parámetro para programar el envío del sms, dicho valor tiene que tener el siguiente formato 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','34666666666','Mensaje con scheduler',$newdate);

Response

stdClass Object
(
    [ResponseCode] => 0
    [ResponseMessage] => Operation Success
    [Id] => cb303162-ee35-4357-98xc-90025a69da00
    [Status] => 200
)

Realizar un envío de 1 o varios mensajes en una sola llamada

include_once('vendor/autoload.php');

use Didimo\Sms\Sms;

$sms = new Sms('USER','PASSWORD');
//Enviar sms desde producción
$sms->setEnvironment('live');

$messages = ['0034666666666' => 'Mensaje personalizado', '0034777777777' => 'Otro mensaje personalizado'];
$response = $sms->createSend('Prueba',$messages);

if($response->Status == 200) {
    if($response->ResponseCode == 0 && $response->ResponseMessage == 'Operation Success') {
        echo 'Enviado correctamente';
    }
    else {
        echo 'Error, no se pudo enviar el sms'.;

    }
}
else {
    print_r($response);
}

Nota: También podemos aplicar un envío programado del sms, como comentamos en el punto anterior.

Response

stdClass Object
(
    [ResponseCode] => 0
    [ResponseMessage] => Operation Success
    [Output] => Array
        (
            [0] => stdClass Object
                (
                    [ResponseCode] => 0
                    [ResponseMessage] => Operation Success
                    [Id] => b9d4e771-82e7-40b0-a338-26653a4scf3h
                    [Mobile] => 0034666666666
                    [Text] => Mensaje personalizado
                )

            [1] => stdClass Object
                (
                    [ResponseCode] => 0
                    [ResponseMessage] => Operation Success
                    [Id] => 51423261-0a9c-41c6-8139-a097304aa240
                    [Mobile] => 0034777777777
                    [Text] => Otro mensaje personalizado
                )

        )
    [Status] => 200
)

Consultar el estado de un mensaje

include_once('vendor/autoload.php');

use Didimo\Sms\Sms;

$sms = new Sms('USER','PASSWORD');

//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);
}

Response

stdClass Object
(
    [ResponseCode] => 0
    [ResponseMessage] => Operation Success
    [StatusCode] => PT0001
    [StatusDescription] => Pendiente - En Bandeja de Salida
    [Status] => 200

)

Consultar saldo disponible para enviar SMS

include_once('vendor/autoload.php');

use Didimo\Sms\Sms;

$sms = new Sms('USER','PASSWORD');

//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);
}

Response

stdClass Object
(
    [ResponseCode] => 0
    [ResponseMessage] => Operation Success
    [Credits] => 8000
    [Status] => 200
)

Documentación oficial

Web API Didimo SMS - Manual de Integracion

Changelog

Please see CHANGELOG for more information about what has changed recently.

Licencia

The MIT License (MIT). Please see License File for more information.

Donación

¿Te gustaría apoyarme? ¿Aprecias mi trabajo? ¿Lo usas en proyectos comerciales?

¡Siéntete libre de hacer una pequeña donación! 😉

统计信息

  • 总下载量: 46
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 1
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 2
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2017-11-03

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固