用于PHP编程中使用ghasedaksms API服务的软件包

v1.0.4 2024-08-11 06:15 UTC

This package is not auto-updated.

Last update: 2024-09-24 07:55:53 UTC


README

Logo

Ghasedak PHP SDK

一个易于使用的SDK,用于在您的PHP项目中实现Ghasedak SMS API。
探索文档

网络服务文档 · REST API . 报告错误 · 请求功能


contributors forks stars issues license

英文文档

目录

安装

最简单的安装方法是通过使用Composer

composer require ghasedaksms/php  

Composer是一个PHP依赖管理器,它允许您声明项目所依赖的库,并将为您管理(安装/更新)它们。如果您不熟悉Composer,您可以通过getcomposer.org阅读其文档并下载。

或者您可以从这里下载Ghasedak SDK并将其解压到您的项目中,然后按照下面的其他说明进行操作。包中还有一个Example文件夹,您可以使用它来了解流程。

用法

要使用API,您需要一个API密钥。为此,您应该有一个Ghasedak账户。注册并获取您的API密钥。

然后,通过调用autoload.php文件来加载所有类和依赖关系。

require __DIR__ . '/vendor/autoload.php';

使用您的API密钥从Ghasedak类创建一个实例

$ghasedaksms = new GhasedaksmsApi('your_api_key');

别忘了将your_api_key替换为您从Ghasedak账户获得的密钥。

发送单个短信

$sendDate = new DateTimeImmutable('now');
$lineNumber = '3000****';
$receptor = '0912*******';
$message = 'test';
try {
    $response = $ghasedaksms->sendSingle(new SingleMessageDTO(
        sendDate: $sendDate,
        lineNumber: $lineNumber,
        receptor: $receptor,
        message: $message
    ));
    var_dump($response);
} catch (Exceptions\GhasedakSMSException $e) {
    var_dump($e->getMessage());
}

发送批量短信

$sendDate = new DateTimeImmutable('now');
$lineNumber = '3000****';
$receptor = ['0912*******','0919*******'];
$message = 'test';
try {
    $response = $ghasedaksms->sendBulk(new BulkMessageDTO(
        sendDate: $sendDate,
        lineNumber: $lineNumber,
        receptors: $receptor,
        message: $message
    ));
    var_dump($response);
} catch (Exceptions\GhasedakSMSException $e) {
    var_dump($e->getMessage());
}

对对发送

$sendDate = new DateTimeImmutable('now');
$lineNumber = '3000****';
$receptor1 = '0912*******';
$receptor2 = '0912*******';
$message1 = 'test1';
$message2 = 'test2';
try {
    $response = $ghasedaksms->sendPairToPair(new PairToPairMessageDTO(
        [
            new SingleMessageDTO(
                sendDate: $sendDate,
                lineNumber: $lineNumber,
                receptor: $receptor1,
                message: $message1
            ),
            new SingleMessageDTO(
                sendDate: $sendDate,
                lineNumber: $lineNumber,
                receptor: $receptor2,
                message: $message2
            )
        ]
    ));
    var_dump($response);
} catch (Exceptions\GhasedakSMSException $e) {
    var_dump($e->getMessage());
}

发送OTP

$sendDate = new DateTimeImmutable('now');
try {
    $response = $ghasedaksms->sendOtp(new OtpMessageDTO(
        sendDate: $sendDate,
        receptors: [
            new ReceptorDTO(
                mobile: '0912*******',
                clientReferenceId: '1'
            )
        ],
        templateName: 'newOtp',
        inputs: [
            new InputDTO(
                param: 'Code',
                value: 'value'
            ),
            new InputDTO(
                param: 'Name',
                value: 'value'
            )
        ]
    ));
    var_dump($response);
} catch (Exceptions\GhasedakSMSException $e) {
    var_dump($e->getMessage());
}

带有参数的OTP发送

$sendDate = new DateTimeImmutable('now');
try {
    $response = $ghasedaksms->sendOtpWithParams(new OtpMessageWithParamsDTO(
        sendDate: $sendDate,
        receptors: [
            new ReceptorDTO(
                mobile: '0912*******',
                clientReferenceId: '1'
            )
        ],
        templateName: 'newOtp',
        param1: 'param1',
        param2: 'param2'
    ));
    var_dump($response);
} catch (Exceptions\GhasedakSMSException $e) {
    var_dump($e->getMessage());
}

检查短信状态

try {
    $response = $ghasedaksms->checkSmsStatus(new CheckSmsStatusDTO(
        ids: ['246*****'],
        type: 1
    ));
    var_dump($response);
} catch (Exceptions\GhasedakSMSException $e) {
    var_dump($e->getMessage());
}

获取账户信息

try {
    $response = $ghasedaksms->getAccountInformation();
    var_dump($response);
} catch (Exceptions\GhasedakSMSException $e) {
    var_dump($e->getMessage());
}

获取接收到的短信

try {
    $response = $ghasedaksms->getReceivedSMSes(
        new GetReceivedSMSesDTO(
            lineNumber: '3000****'
        )
    );
    var_dump($response);
} catch (Exceptions\GhasedakSMSException $e) {
    var_dump($e->getMessage());
}

获取接收短信分页

$startDate = new DateTimeImmutable('now');
$endDate = $startDate->modify('+3 days');
try {
    $response = $ghasedaksms->getReceivedSMSesPaging(
        new GetReceivedSMSesPagingDTO(
            lineNumber: '3000****',
            startDate: $startDate,
            endDate: $endDate,
            pageIndex: 0,
            pageSize: 10
        )
    );
    var_dump($response);
} catch (Exceptions\GhasedakSMSException $e) {
    var_dump($e->getMessage());
}

获取OTP模板参数

try {
    $response = $ghasedaksms->getOtpTemplateParameters(
        new GetOtpTemplateParametersDTO(
            templateName: 'newOtp'
        )
    );
    var_dump($response);
} catch (Exceptions\GhasedakSMSException $e) {
    var_dump($e->getMessage());
}

许可

在MIT许可条款下自由分发。