andreshg112 / hablame-sms
用于与Háblame哥伦比亚的SMS API通信的客户端。
v1.0.1
2020-05-25 01:51 UTC
Requires
- php: ^7.1
- codedungeon/phpunit-result-printer: ^0.26.1
- guzzlehttp/guzzle: ^6.3
Requires (Dev)
- illuminate/notifications: ^5.3
- illuminate/support: ^5.1|^5.2|^5.3
- orchestra/testbench: ^3.8
- phpunit/phpunit: ^7.0
This package is auto-updated.
Last update: 2024-09-09 12:20:16 UTC
README
此包简化了与Háblame SMS API的连接,以发送短信和查询余额。此外,它还允许通过Laravel的通知系统发送短信通知。
要求
- PHP >= 7.1
- Laravel >= 5.3(如果使用外观或通知通道则必需)。
安装
您可以通过composer安装此包。
composer require andreshg112/hablame-sms
使用
/** * Crear instancia. * * $client: Número de cliente. * $api: Clave de la API. * $guzzle: [opcional] Sirve para pasar un cliente de Guzzle (\GuzzleHttp\Client) configurado, * por ejemplo, en pruebas unitarias. */ $hablame = new \Andreshg112\HablameSms\Client($client, $api, $guzzle); /** * Consultar saldo. * * Retorna un array con la respuesta del servidor de Háblame. */ $response = $hablame->checkBalance(); /** * Enviar mensaje. * * $phoneNumbers: Número(s) telefónico(s) separados por coma. * $sms: Cuerpo del mensaje. * $datetime: [opcional] Fecha a enviar el mensaje. Formato en PHP: 'Y-m-d H:i:s' * $referencia: [opcional] Nombre de campaña. * * Retorna un array con la respuesta del servidor de Háblame. */ $response = $hablame->sendMessage($phoneNumbers, $sms, $datetime, $reference);
Laravel
外观和别名
在Laravel中,您可以使用外观或别名来执行上述功能。首先,您需要将Háblame的凭证添加到config/services.php
中,如下所示:
return [ // ... 'hablame_sms' => [ 'api' => env('HABLAME_API', ''), 'cliente' => env('HABLAME_CLIENTE', ''), /** * Si deseas agregar tu propio cliente de Guzzle, en vez de usar uno por defecto, * haz que el callback retorne el respectivo cliente. * Si quieres usar uno por defecto, quita este parámetro o asígnalo null. */ 'guzzle' => function (): \GuzzleHttp\Client { return createHttpClient(logger()); }, ], // ... ];
现在您可以这样做:
$response = \Andreshg112\HablameSms\Facade::checkBalance(); $response = \Andreshg112\HablameSms\Facade::sendMessage($phoneNumbers, $sms, $datetime, $reference); // o $response = \Hablame::checkBalance(); $response = \Hablame::sendMessage($phoneNumbers, $sms, $datetime, $reference);
如果您使用的是Laravel < 5.5,则必须将
\Andreshg112\HablameSms\HablameSmsServiceProvider::class
添加到config/app.php
中的providers
数组中。
通知
您可以使用Laravel内建的通知系统来发送通知,该系统简化了流程并组织了代码。请注意,在使用此功能之前,您需要了解如何实现Laravel通知。
在您的通知中,将HablameChannel::class
添加到返回via()
函数的数组中。
use Andreshg112\HablameSms\HablameChannel; public function via($notifiable) { return [HablameChannel::class]; }
然后,在您的类中创建一个名为toHablameNotification()
的方法
use Andreshg112\HablameSms\HablameMessage; public function toHablameNotification($notifiable) { return (new HablameMessage) ->phoneNumbers($phoneNumbers) ->sms($sms) ->datetime($datetime) ->reference($reference); // o return new HablameMessage($phoneNumbers, $sms, $datetime, $reference); }
测试
composer test
变更记录
请查看版本历史以获取有关最近更改的更多信息。
贡献
请查看贡献指南(英文)以获取详细信息。
安全
如果您发现任何漏洞,请通过andreshg112@gmail.com与我联系,而不是使用GitHub问题跟踪。
致谢
许可证
MIT许可证。请查看许可证文件以获取更多信息。
PHP包模板
此包是使用PHP包模板生成的。