2017 © Pedro Peláez
 

library didimo-laravel

Package didimo to send sms with laravel

image

ssheduardo/didimo-laravel

Package didimo to send sms with laravel

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

The README.md

Didimo Laravel - Web API

Laravel Package para enviar sms con la plataforma didimo., (*1)

Latest Stable Version Total Downloads License, (*2)

Créditos

Eduardo Díaz, Madrid 2017, (*3)

Twitter: @eduardo_dx, (*4)

Instalación

Vía Composer

Laravel 5.2, 5.3, 5.4 ``` bash $ composer require "ssheduardo/didimo-laravel=~1.0", (*5)


Ahora debemos cargar nuestro Services Provider dentro del array **'providers'** (config/app.php) ```php Ssheduardo\Didimo\SmsServiceProvider::class

Creamos un alias dentro del array 'aliases' (config/app.php), (*6)

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

En nuestro archivo .env debemos agregar, (*7)

DIDIMO_USER=TU_USER
DIDIMO_PASSWORD=TU_PASSWORD

Eh agregado una variable más de entorno como ayuda por si queréis configurar el environment en tu entorno de test o producción, (*8)

DIDIMO_ENVIRONMENT

Por defecto su valor es test, (*9)

Finalmente publicamos nuestro archivo de configuración por si queremos cambiar la configuración y no hacer eso de las variables de entorno, (*10)

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

Esto nos creara un archivo llamado didimo.php dentro de config,, (*11)

Uso

Enviar un sms

Imaginemos que tenemos esta ruta http://ubublog.com/sms que enlaza con SmsController@index, (*12)

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

Y el contenido del controlador SmsController sería este: ``` php <?php namespace App\Http\Controllers;, (*13)

use Illuminate\Http\Request; use Ssheduardo\Didimo\Facades\Sms;, (*14)

class SmsController extends Controller {, (*15)

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

}, (*16)


> 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 live por test ```php Sms::setEnvironment('test'); //O podemos llamar al valor asignado en el config (test o live) Sms::setEnvironment(config('didimo.environment'));

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

    $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);

Consultar el estado de un mensaje

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

Consultar saldo disponible para enviar SMS

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

Este package se apoya de mi clase principal https://github.com/ssheduardo/didimo., (*18)

Documentación oficial

Web API Didimo SMS - Manual de Integracion, (*19)

Changelog

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

Licencia

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

Donación

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

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

The Versions

22/11 2017

dev-master

9999999-dev

Package didimo to send sms with laravel

  Sources   Download

MIT

The Requires

 

by Eduardo D.

22/11 2017

1.1

1.1.0.0

Package didimo to send sms with laravel

  Sources   Download

MIT

The Requires

 

by Eduardo D.

08/11 2017

1.0

1.0.0.0

Package didimo to send sms with laravel

  Sources   Download

MIT

The Requires

 

by Eduardo D.