sms-php-client / altiria
Altiria 的 PHP SMS 发送客户端
1.0.2
2022-03-25 08:44 UTC
Requires
- php: ^7.0.0
- ext-json: *
- guzzlehttp/guzzle: 6.5.5
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-29 06:28:49 UTC
README
Altiria, PHP SMS 发送客户端
Altiria SMS PHP 是一个简化 Altiria API SMS 集成的 SMS 发送客户端。
- 单个 SMS 发送
- 简单
- 拼接
- 发送确认
- 自定义发送者
- 信用查询
此库使用 composer,并符合 PSR-4 规范。
使用方法
您需要一个 Altiria 的发送账户。如果没有,
要求
- php: ^7.0.0 || ^8.0.0
- composer
安装
推荐通过 Composer 安装 Altiria PHP 客户端。您可以通过以下两种方式之一进行
通过命令行
composer require sms-php-client/altiria
编辑 composer.json 文件并更新项目
在这种情况下,将以下片段添加到 composer.json 文件中。
"require": { "sms-php-client/altiria": "1.0.2" }
然后,通过以下命令行指令更新项目。
composer install
使用示例
发送 SMS
以下将描述如何使用此库进行 SMS 发送的每种可能方法。
基本示例
这是发送 SMS 的最简单选项。
use \AltiriaSmsPhpClient\AltiriaClient; use \AltiriaSmsPhpClient\AltiriaModelTextMessage; use \AltiriaSmsPhpClient\Exception\GeneralAltiriaException; try { //Personaliza las credenciales de acceso $client = new AltiriaClient('user@mydomain.com', 'mypassword'); $textMessage = new AltiriaModelTextMessage('346XXXXXXXX', 'Mensaje de prueba'); $client-> sendSms($textMessage); echo '¡Mensaje enviado!'; } catch (GeneralAltiriaException $exception) { echo 'Mensaje no aceptado:'.$exception->getMessage(); }
带自定义超时的基本示例
允许设置响应时间(毫秒)。如果超过这个时间,将抛出 ConnectionException。默认响应时间是 10 秒,但可以在 1 到 30 秒之间进行调整。
use \AltiriaSmsPhpClient\AltiriaClient; use \AltiriaSmsPhpClient\AltiriaModelTextMessage; try { //Personaliza las credenciales de acceso $client = new AltiriaClient('user@mydomain.com', 'mypassword', false, 5000); $textMessage = new AltiriaModelTextMessage('346XXXXXXXX', 'Mensaje de prueba'); $client-> sendSms($textMessage); echo '¡Mensaje enviado!'; } catch (\AltiriaSmsPhpClient\Exception\AltiriaGwException $exception) { echo 'Mensaje no aceptado:'.$exception->getMessage(); echo 'Código de error: '.$exception->getStatus(); } catch (\AltiriaSmsPhpClient\Exception\JsonException $exception) { echo 'Error en la petición:'.$exception->getMessage(); } catch (\AltiriaSmsPhpClient\Exception\ConnectionException $exception) { if ($exception->getMessage().strpos('RESPONSE_TIMEOUT', 0) != -1) { echo 'Tiempo de respuesta agotado: '.$exception->getMessage(); } else { echo 'Tiempo de conexión agotado: '.$exception->getMessage(); } }
带有发送者的基本示例
这是添加发送者发送 SMS 的最简单选项。在本例中,展示了如何通过 APIKEY 进行认证,其中 "XXXXXXXXXX" 是 apiKey 参数,"YYYYYYYYYY" 是 apiSecret 参数。
use \AltiriaSmsPhpClient\AltiriaClient; use \AltiriaSmsPhpClient\AltiriaModelTextMessage; try { //Personaliza las credenciales de acceso $client = new AltiriaClient('XXXXXXXXXX', 'YYYYYYYYYY', true); $textMessage = new AltiriaModelTextMessage('346XXXXXXXX', 'Mensaje de prueba', 'miRemitente'); $client-> sendSms($textMessage); echo '¡Mensaje enviado!'; } catch (\AltiriaSmsPhpClient\Exception\AltiriaGwException $exception) { echo 'Mensaje no aceptado:'.$exception->getMessage(); echo 'Código de error: '.$exception->getStatus(); } catch (\AltiriaSmsPhpClient\Exception\JsonException $exception) { echo 'Error en la petición:'.$exception->getMessage(); } catch (\AltiriaSmsPhpClient\Exception\ConnectionException $exception) { if ($exception->getMessage().strpos('RESPONSE_TIMEOUT', 0) != -1) { echo 'Tiempo de respuesta agotado: '.$exception->getMessage(); } else { echo 'Tiempo de conexión agotado: '.$exception->getMessage(); } }
带有所有参数的示例
展示了使用 setters 设置所有参数的示例。
use \AltiriaSmsPhpClient\AltiriaClient; use \AltiriaSmsPhpClient\AltiriaModelTextMessage; try { //Personaliza las credenciales de acceso $client = new AltiriaClient('user@mydomain.com', 'mypassword'); $client->setConnectTimeout(1000); $client->setTimeout(5000); $client->setDebug(true); $textMessage = new AltiriaModelTextMessage('346XXXXXXXX', 'Mensaje de prueba'); $textMessage->setSenderId('miRemitente'); $textMessage->setAck(true); $textMessage->setIdAck('idAck'); $textMessage->setConcat(true); $textMessage->setEncoding('unicode'); $textMessage->setCertDelivery(true); $client-> sendSms($textMessage); echo '¡Mensaje enviado!'; } catch (\AltiriaSmsPhpClient\Exception\AltiriaGwException $exception) { echo 'Mensaje no aceptado:'.$exception->getMessage(); echo 'Código de error: '.$exception->getStatus(); } catch (\AltiriaSmsPhpClient\Exception\JsonException $exception) { echo 'Error en la petición:'.$exception->getMessage(); } catch (\AltiriaSmsPhpClient\Exception\ConnectionException $exception) { if ($exception->getMessage().strpos('RESPONSE_TIMEOUT', 0) != -1) { echo 'Tiempo de respuesta agotado: '.$exception->getMessage(); } else { echo 'Tiempo de conexión agotado: '.$exception->getMessage(); } }
信用查询
这里是查询 Altiria 账户 SMS 信用的示例。
基本示例
use \AltiriaSmsPhpClient\AltiriaClient; try { //Personaliza las credenciales de acceso $client = new AltiriaClient('user@mydomain.com', 'mypassword'); $credit = $client-> getCredit(); echo 'Crédito disponible: '.$credit; } catch (\AltiriaSmsPhpClient\Exception\AltiriaGwException $exception) { echo 'Solicitud no aceptada:'.$exception->getMessage(); echo 'Código de error: '.$exception->getStatus(); } catch (\AltiriaSmsPhpClient\Exception\JsonException $exception) { echo 'Error en la petición:'.$exception->getMessage(); } catch (\AltiriaSmsPhpClient\Exception\ConnectionException $exception) { if ($exception->getMessage().strpos('RESPONSE_TIMEOUT', 0) != -1) { echo 'Tiempo de respuesta agotado: '.$exception->getMessage(); } else { echo 'Tiempo de conexión agotado: '.$exception->getMessage(); } }
许可证
此库的许可证为 MIT 类型。有关更多信息,请参阅许可证文件。
帮助
我们使用 GitHub 的问题部分来处理错误和评估新功能。在集成过程中遇到任何问题,请通过电子邮件 soporte@altiria.com 联系。