altiria/sms-php-client

Altiria短信PHP客户端

1.0.2 2022-03-25 08:44 UTC

This package is auto-updated.

Last update: 2024-09-28 15:29:03 UTC


README

Altiria,PHP短信发送客户端

Altiria SMS PHP是一个简化的Altiria短信API PHP客户端。

  • 短信发送
    • 简单
    • 连接
    • 交付确认
    • 自定义发送者
  • 信用查询

这个库使用了 composer 并符合 PSR-4 规范。

使用方法

需要有一个Altiria发送账户。如果您还没有一个,

注册一个测试账户

API文档

要求

安装

推荐通过Composer安装Altiria PHP客户端。您可以通过两种方式完成

通过命令行

composer require altiria/sms-php-client

编辑composer.json文件并更新项目

在这种情况下,将以下片段添加到composer.json文件中。

"require": {
	"altiria/sms-php-client": "1.0.2"
}

接下来,通过以下命令行指令更新项目。

composer install

使用示例

短信发送

以下将描述该库如何用于短信发送的各种可能性。

基本示例

这是发送短信的最简单选项。

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

带有发送者的基本示例

这是添加发送者发送短信的最简单选项。在此示例中,演示了如何通过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();
    }
}

使用所有参数的示例

展示了使用setter设置所有参数的示例。

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账户中短信信用的示例。

基本示例

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 联系我们。