2017 © Pedro Peláez
 

library sms

Send sms with didimo

image

didimo/sms

Send sms with didimo

  • Wednesday, November 22, 2017
  • by ssheduardo
  • Repository
  • 2 Watchers
  • 1 Stars
  • 18 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

DIDIMO SMS - Web API

Clase para enviar sms con la plataforma DIDIMO, (*1)

Latest Stable Version Total Downloads Latest Unstable Version License, (*2)

Requerimientos mínimos

PHP 5.4.0 or superior, (*3)

Créditos

Clase creada por Eduardo Díaz, Madrid 2017, (*4)

Twitter: @eduardo_dx, (*5)

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, (*6)

$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., (*7)

    $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., (*8)

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, (*9)

Changelog

Please see CHANGELOG for more information about what has changed recently., (*10)

Licencia

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

Donación

¿Te gustaría apoyarme? ¿Aprecias mi trabajo? ¿Lo usas en proyectos comerciales?, (*12)

¡Siéntete libre de hacer una pequeña donación! :wink:, (*13)

The Versions

22/11 2017

dev-master

9999999-dev https://github.com/ssheduardo/didimo

Send sms with didimo

  Sources   Download

MIT

The Requires

 

by Eduardo D.

sms didimo didimo sms

22/11 2017

1.0.1

1.0.1.0 https://github.com/ssheduardo/didimo

Send sms with didimo

  Sources   Download

MIT

The Requires

 

by Eduardo D.

sms didimo didimo sms

03/11 2017

1.0.0

1.0.0.0 https://github.com/ssheduardo/didimo

Send sms with didimo

  Sources   Download

MIT

The Requires

 

by Eduardo D.

sms didimo didimo sms