PHPackages                             squareetlabs/laravel-smsup - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. squareetlabs/laravel-smsup

ActiveLibrary[Mail &amp; Notifications](/categories/mail)

squareetlabs/laravel-smsup
==========================

Laravel package to provide SmsUp API integration. Compatible with Laravel 5.5 to 12.x

v2.0.0(11mo ago)31061MITPHPPHP ^7.4|^8.0|^8.1|^8.2|^8.3CI failing

Since Nov 1Pushed 10mo agoCompare

[ Source](https://github.com/squareetlabs/LaravelSmsUp)[ Packagist](https://packagist.org/packages/squareetlabs/laravel-smsup)[ RSS](/packages/squareetlabs-laravel-smsup/feed)WikiDiscussions master Synced yesterday

READMEChangelog (5)Dependencies (11)Versions (8)Used By (0)

Laravel SmsUp - Integración API SmsUp/Gateway360
================================================

[](#laravel-smsup---integración-api-smsupgateway360)

[![Quality Score](https://camo.githubusercontent.com/349ed578c209a8a3af7435bb7e87563c23e521833d2c696b15bcf66b9a220d8b/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f73717561726565746c6162732f4c61726176656c536d7355702f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/squareetlabs/LaravelSmsUp/)[![Code Intelligence](https://camo.githubusercontent.com/fc98a7c8ab665b5d3d03d5dfce4caaec2eac6b681055f5c65e6d9292ac4a5f54/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f73717561726565746c6162732f4c61726176656c536d7355702f6261646765732f636f64652d696e74656c6c6967656e63652e7376673f623d6d6173746572)](https://scrutinizer-ci.com/g/squareetlabs/LaravelSmsUp/)[![Latest Stable Version](https://camo.githubusercontent.com/0ffa622cdbe4887665fd74ec2a1694dea490e1a0cf492a5ddd3c28f4a352e72c/68747470733a2f2f706f7365722e707567782e6f72672f73717561726565746c6162732f6c61726176656c2d736d7375702f762f737461626c65)](https://packagist.org/packages/squareetlabs/laravel-smsup)[![Total Downloads](https://camo.githubusercontent.com/5b5531bf37fd1052b207b4ff7abbeac762b9bde3971db19f91a1bbddac7d9223/68747470733a2f2f706f7365722e707567782e6f72672f73717561726565746c6162732f6c61726176656c2d736d7375702f646f776e6c6f616473)](https://packagist.org/packages/squareetlabs/laravel-smsup) [![License](https://camo.githubusercontent.com/b8edab286dcc30c60cdf9bebe57f892373d78b6382be9c47277d16ba165011b3/68747470733a2f2f706f7365722e707567782e6f72672f73717561726565746c6162732f6c61726176656c2d736d7375702f6c6963656e7365)](https://packagist.org/packages/squareetlabs/laravel-smsup)

Paquete Laravel para integración completa con la API de SmsUp (Gateway360). Compatible con Laravel 5.5 a 12.x.

✨ Características
-----------------

[](#-características)

- ✅ **Compatible con Laravel 5.5 - 12.x**
- ✅ **PHP 7.4 - 8.3**
- ✅ **Envío de SMS individuales y masivos**
- ✅ **Soporte para codificación GSM7 y UCS2 (Unicode)**
- ✅ **Programación de envíos**
- ✅ **SMS con enlaces**
- ✅ **Validación automática de números y mensajes**
- ✅ **Integración con Laravel Notifications**
- ✅ **Manejo avanzado de errores**
- ✅ **Logging configurable**
- ✅ **Eventos para tracking**
- ✅ **Webhooks para reportes de entrega**

📦 Instalación
-------------

[](#-instalación)

```
composer require squareetlabs/laravel-smsup
```

### Publicar Configuración

[](#publicar-configuración)

```
php artisan vendor:publish --tag=smsup-config
```

### Configuración

[](#configuración)

Añade las siguientes variables a tu archivo `.env`:

```
SMSUP_API_KEY=tu_clave_api_aqui
SMSUP_DEFAULT_FROM=TuEmpresa
SMSUP_TEST_MODE=false
SMSUP_ENCODING=GSM7
```

🚀 Uso Rápido
------------

[](#-uso-rápido)

### Envío Simple

[](#envío-simple)

```
use SquareetLabs\LaravelSmsUp\SmsUpMessage;
use SquareetLabs\LaravelSmsUp\Facades\SmsUp;

// Crear y enviar mensaje
$message = SmsUpMessage::create('34666666666', 'Hola mundo!', 'MiEmpresa');
$response = SmsUp::sendMessage($message);

if ($response->isSuccessful()) {
    echo "SMS enviado correctamente";
}
```

### Con Laravel Notifications

[](#con-laravel-notifications)

```
// En tu notificación
public function via($notifiable)
{
    return ['smsup'];
}

public function toSmsUp($notifiable)
{
    return SmsUpMessage::create(
        $notifiable->phone,
        'Tu pedido ha sido confirmado',
        'MiTienda'
    );
}
```

📖 Documentación Completa
------------------------

[](#-documentación-completa)

Para documentación detallada, ejemplos avanzados y todas las características, consulta [USAGE.md](USAGE.md).

🔧 Configuración Avanzada
------------------------

[](#-configuración-avanzada)

El archivo de configuración `config/smsup.php` permite personalizar:

- **API y autenticación**
- **Valores por defecto** (remitente, codificación, etc.)
- **Validaciones** (formato de teléfonos, longitud de mensajes)
- **Logging** (canales, niveles)
- **Timeouts HTTP**
- **Reintentos automáticos**

🎯 Características Principales
-----------------------------

[](#-características-principales)

### Codificaciones Soportadas

[](#codificaciones-soportadas)

- **GSM7**: 160 caracteres por SMS (caracteres básicos)
- **UCS2**: 70 caracteres por SMS (Unicode completo, emojis)

```
$message->gsm7();    // Para caracteres básicos
$message->unicode(); // Para emojis y caracteres especiales
```

### Programación de Envíos

[](#programación-de-envíos)

```
$message->sendInMinutes(30);           // En 30 minutos
$message->sendInHours(2);              // En 2 horas
$message->sendAt(Carbon::tomorrow());  // Fecha específica
```

### Validación Automática

[](#validación-automática)

El paquete valida automáticamente:

- Formato de números de teléfono
- Longitud de mensajes según codificación
- Formato de remitentes
- Campos requeridos

### Manejo de Respuestas

[](#manejo-de-respuestas)

```
$response = SmsUp::sendMessage($message);

echo "Total: " . $response->getMessageCount();
echo "Exitosos: " . $response->getSuccessfulMessageCount();
echo "Fallidos: " . $response->getFailedMessageCount();

// Detalles de cada mensaje
foreach ($response->getResult() as $messageResponse) {
    echo "SMS ID: " . $messageResponse->getSmsId();
    echo "Estado: " . $messageResponse->getStatus();
}
```

🔍 Funciones Adicionales
-----------------------

[](#-funciones-adicionales)

### Verificación de Números

[](#verificación-de-números)

```
$isValid = SmsUp::verifyPhone('34666666666');
```

### Consulta de Balance

[](#consulta-de-balance)

```
$balance = SmsUp::getBalance();
```

### SMS con Enlaces

[](#sms-con-enlaces)

```
$message->text('Visita nuestro sitio: {LINK}')
        ->link('https://www.miempresa.com');
```

📊 Eventos
---------

[](#-eventos)

El paquete dispara eventos para tracking:

- `SmsUpMessageWasSent`: Cuando se envía un mensaje
- `SmsUpReportWasReceived`: Cuando se recibe un reporte de entrega

```
// En EventServiceProvider
protected $listen = [
    \SquareetLabs\LaravelSmsUp\Events\SmsUpMessageWasSent::class => [
        \App\Listeners\LogSmsMessage::class,
    ],
];
```

🛡️ Manejo de Errores
--------------------

[](#️-manejo-de-errores)

```
use SquareetLabs\LaravelSmsUp\Exceptions\CouldNotSendNotification;
use SquareetLabs\LaravelSmsUp\Exceptions\ValidationException;

try {
    $response = SmsUp::sendMessage($message);
} catch (ValidationException $e) {
    // Errores de validación
    foreach ($e->getErrors() as $error) {
        echo "Error: " . $error;
    }
} catch (CouldNotSendNotification $e) {
    // Errores de API o configuración
    echo "Error: " . $e->getMessage();
}
```

🔗 Webhooks
----------

[](#-webhooks)

El paquete incluye un endpoint automático para recibir reportes de entrega:

```
POST /smsup/report

```

Los reportes se procesan automáticamente y disparan eventos.

🧪 Modo de Prueba
----------------

[](#-modo-de-prueba)

Activa el modo de prueba para desarrollo:

```
SMSUP_TEST_MODE=true
```

En modo de prueba, los SMS no se envían realmente pero se procesan normalmente.

📋 Requisitos
------------

[](#-requisitos)

- Laravel 5.5 - 12.x
- PHP 7.4 - 8.3
- Guzzle HTTP 6.2+ o 7.0+
- Extensión JSON de PHP

🤝 Contribuir
------------

[](#-contribuir)

Las contribuciones son bienvenidas. Por favor:

1. Fork el proyecto
2. Crea una rama para tu feature
3. Commit tus cambios
4. Push a la rama
5. Abre un Pull Request

📄 Licencia
----------

[](#-licencia)

Este paquete es open-source bajo la [Licencia MIT](LICENSE.md).

🆘 Soporte
---------

[](#-soporte)

- **Documentación completa**: [USAGE.md](USAGE.md)
- **API de SmsUp**:
- **Issues**:

👥 Autores
---------

[](#-autores)

- **Alberto Rial Barreiro** - [SquareetLabs](https://www.squareet.com)
- **Jacobo Cantorna Cigarrán** - [SquareetLabs](https://www.squareet.com)

---

⭐ Si este paquete te ha sido útil, ¡no olvides darle una estrella en GitHub!

###  Health Score

42

—

FairBetter than 90% of packages

Maintenance54

Moderate activity, may be stable

Popularity14

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity77

Established project with proven stability

 Bus Factor1

Top contributor holds 91.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~341 days

Recently: every ~508 days

Total

7

Last Release

337d ago

Major Versions

v0.1.2 → v1.0.02020-06-30

v1.0.2 → v2.0.02025-06-10

PHP version history (3 changes)v0.1.0-alphaPHP &gt;=7.0

v1.0.2PHP &gt;=8.2.0

v2.0.0PHP ^7.4|^8.0|^8.1|^8.2|^8.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/5f0312df8043f114ad6f9c945a452d4e451bd14cecae570f9772ce937630bce5?d=identicon)[squareetlabs](/maintainers/squareetlabs)

---

Top Contributors

[![jcancig](https://avatars.githubusercontent.com/u/446610?v=4)](https://github.com/jcancig "jcancig (11 commits)")[![alberto-rial](https://avatars.githubusercontent.com/u/57219311?v=4)](https://github.com/alberto-rial "alberto-rial (1 commits)")

---

Tags

laravellaravel-notification-channelslaravel-packagenotificationssmssmsup-laravelsquareetlabslaravelnotificationssmssmsupgateway360

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/squareetlabs-laravel-smsup/health.svg)

```
[![Health](https://phpackages.com/badges/squareetlabs-laravel-smsup/health.svg)](https://phpackages.com/packages/squareetlabs-laravel-smsup)
```

###  Alternatives

[laravel/pulse

Laravel Pulse is a real-time application performance monitoring tool and dashboard for your Laravel application.

1.7k12.1M99](/packages/laravel-pulse)[laravel/cashier

Laravel Cashier provides an expressive, fluent interface to Stripe's subscription billing services.

2.5k25.9M107](/packages/laravel-cashier)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)[laravel-notification-channels/twilio

Provides Twilio notification channel for Laravel

2587.7M12](/packages/laravel-notification-channels-twilio)[laravel-notification-channels/apn

Apple APN Push Notification Channel

2021.9M4](/packages/laravel-notification-channels-apn)[omniphx/forrest

A Laravel library for Salesforce

2724.4M8](/packages/omniphx-forrest)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
