Altiria 的 PHP SMS 发送客户端

1.0.2 2022-03-25 08:44 UTC

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 的发送账户。如果没有,

注册以创建一个测试账户

API 文档

要求

安装

推荐通过 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 联系。