lapix/celmedia-sms

Celmedia SMS API SDK

1.0.2 2019-08-31 05:41 UTC

README

此存储库包含开源PHP SDK,允许您从PHP应用程序发送短信。

安装

此SDK可以通过composer安装。

$ composer require lapix/celmedia-sms

特殊字符

以下特殊字符被删除或替换

"á", "Á", "é", "É", "í", "Í", "ó", "Ó", "ú", "Ú", "^", "`", "¬", "‘", "“", "*", "#", "ª", "º", ">", "<", "ü", "[", "]", "¿", "¡", "ñ", "Ñ", "{", "}", "\\", "/", "|", "&", "~", ";", "½", "¼", "¾"

相应的替换值如下

"a", "A", "e", "E", "i", "I", "o", "O", "u", "U", "", "", "", "", "", "", "a", "o", "", "", "u", "(", ")", "", "", "n", "N", "(", ")", "", "", "", "Y", "-", ",", "1/2", "1/4", "3/4"

使用方法

<?php

use Lapix\Celmedia\Sms\Client;
use Lapix\Celmedia\Sms\SmsSender;
use Lapix\Celmedia\Sms\SmsFactory;
use Lapix\Celmedia\Sms\JsonEncoder;
use Lapix\Celmedia\Sms\SmsSanitizer;
use Lapix\Celmedia\Sms\CelmediaSmsException;

$sanitizer = new SmsSanitizer();
$createSms = new SmsFactory($sanitizer);

$sender = new SmsSender(
    new Client(
        new \GuzzleHttp\Client(),
        'username',
        'password',
        'apiKey'
    ),
    new JsonEncoder()
);

try {
    // Send multiple sms.'Test méssage' is sent as 'Test message'
    $sender->send([$createSms->createSms('Test méssage', '3111111111', '123456')]);
    // or a single
    $sender->sendSingle($createSms->createSms('Test message', '3111111111', ''));
} catch (CelmediaSmsException $exception) {
    // Internal server error
}

测试

Composer是先决条件。使用以下命令运行单元测试

$ php ./vendor/bin/phpunit

这样运行集成测试

$ INTEGRATION_TEST=true CELMEDIA_USER= CELMEDIA_PASSWORD= CELMEDIA_API_KEY= CELMEDIA_TEST_PHONE= php ./vendor/bin/phpunit

TODO

  • 改进文档
  • 添加测试用例
  • 处理响应异常