定制 serwersms/serwersms-php-client 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

serwersms/serwersms-php-client

Composer 安装命令:

composer require serwersms/serwersms-php-client

包简介

SerwerSMS API PHP

README 文档

README

Klient PHP do komunikacji zdalnej z API v2 SerwerSMS.pl

W celu autoryzacji za pośrednictwem Tokenu API, należy wygenerować go po stronie Panelu Klienta w menu Ustawienia interfejsów → HTTP API → Tokeny API. Format nagłówka autoryzacyjnego jest zgodna z formatem Bearer token

Wysyłka SMS

require_once('vendor/autoload.php');

try {
    $serwersms = new SerwerSMS\SerwerSMS($token);

    // SMS FULL
    $result = $serwersms->messages->sendSms(
        [
            '+48500600700',
            '+48600700800'
        ],
        'Test FULL message',
        'INFORMACJA',
        [
            'test' => true,
            'details' => true
        ]
    );

    // SMS ECO
    $result = $serwersms->messages->sendSms(
        [
            '+48500600700',
            '+48600700800'
        ],
        'Test ECO message',
        null,
        [
            'test' => true,
            'details' => true
        ]
    );

    // VOICE from text
    $result = $serwersms->messages->sendVoice(
        [
            '+48500600700',
            '+48600700800'
        ],
        [
            'text' => 'Test message',
            'test' => true,
            'details' => true
        ]
    );

    // MMS
    $list = $serwersms->files->index('mms');
    $result = $serwersms->messages->sendMms(
        [
            '+48500600700',
            '+48600700800'
        ],
        'MMS Title',
        [
            'test' => true,
            'file_id' => $list->items[0]->id,
            'details' => true
        ]
    );

    echo 'Skolejkowano: ' . $result->queued . '<br />';
    echo 'Niewysłano: ' . $result->unsent . '<br />';

    foreach ($result->items as $sms) {
        echo 'ID: ' . $sms->id . '<br />';
        echo 'NUMER: ' . $sms->phone . '<br />';
        echo 'STATUS: ' . $sms->status . '<br />';
        echo 'CZĘŚCI: ' . $sms->parts . '<br />';
        echo 'WIADOMOŚĆ: ' . $sms->text . '<br />';
    }

} catch(Exception $e) {
    echo 'ERROR: ' . $e->getMessage();
}

Wysyłka spersonalizowanych SMS

require_once('vendor/autoload.php');

try {
    $serwersms = new SerwerSMS\SerwerSMS($token);

    $messages[] = [
        'phone' => '500600700',
        'text' => 'First message'
    ];
    $messages[] = [
        'phone' => '600700800',
        'text' => 'Second message'
    ];

    $result = $serwersms->messages->sendPersonalized(
        $messages,
        'INFORMACJA',
        [
            'test' => true,
            'details' => true
        ]
    );

    echo 'Skolejkowano: ' . $result->queued . '<br />';
    echo 'Niewysłano: ' . $result->unsent . '<br />';

    foreach ($result->items as $sms) {
        echo 'ID: ' . $sms->id . '<br />';
        echo 'NUMER: ' . $sms->phone . '<br />';
        echo 'STATUS: ' . $sms->status . '<br />';
        echo 'CZĘŚCI: ' . $sms->parts . '<br />';
        echo 'WIADOMOŚĆ: ' . $sms->text . '<br />';
    }

} catch(Exception $e) {
    echo 'ERROR: ' . $e->getMessage();
}

Pobieranie raportów doręczeń

require_once('vendor/autoload.php');

try {
    $serwersms = new SerwerSMS\SerwerSMS($token);

    $result = $serwersms->messages->reports(['id' => ['aca3944055']]);

    foreach ($result->items as $sms) {
        echo 'ID: ' . $sms->id . '<br />';
        echo 'NUMER: ' . $sms->phone . '<br />';
        echo 'STATUS: ' . $sms->status . '<br />';
        echo 'SKOLEJKOWANO: ' . $sms->queued . '<br />';
        echo 'WYSŁANO: ' . $sms->sent . '<br />';
        echo 'DORĘCZONO: ' . $sms->delivered . '<br />';
        echo 'NADAWCA: ' . $sms->sender . '<br />';
        echo 'TYP: ' . $sms->type . '<br />';
        echo 'WIADOMOŚĆ: ' . $sms->text . '<br />';
    }

} catch(Exception $e) {
    echo 'ERROR: ' . $e->getMessage();
}

Pobieranie wiadomości przychodzących

require_once('vendor/autoload.php');

try {
    $serwersms = new SerwerSMS\SerwerSMS($token);

    $result = $serwersms->messages->recived('ndi');

    foreach ($result->items as $sms) {
        echo 'ID: ' . $sms->id . '<br />';
        echo 'TYP: ' . $sms->type . '<br />';
        echo 'NUMER: ' . $sms->phone . '<br />';
        echo 'DATA: ' . $sms->recived . '<br />';
        echo 'CZARNA LISTA: ' . $sms->blacklist . '<br />';
        echo 'WIADOMOŚĆ: ' . $sms->text . '<br />';
    }

} catch(Exception $e) {
    echo 'ERROR: ' . $e->getMessage();
}

Wymagania

php >= 8.3

lib-curl >= 7.88

Dokumentacja

http://dev.serwersms.pl

Konsola api: http://apiconsole.serwersms.pl

Instalacja

Instalacja przez Composera (https://getcomposer.org/):

composer require serwersms/serwersms-php-client

serwersms/serwersms-php-client 适用场景与选型建议

serwersms/serwersms-php-client 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 348.95k 次下载、GitHub Stars 达 9, 最近一次更新时间为 2015 年 01 月 09 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「php」 「api」 「sms」 「serwersms」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 serwersms/serwersms-php-client 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 serwersms/serwersms-php-client 我们能提供哪些服务?
定制开发 / 二次开发

基于 serwersms/serwersms-php-client 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 348.95k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 9
  • 点击次数: 15
  • 依赖项目数: 2
  • 推荐数: 0

GitHub 信息

  • Stars: 9
  • Watchers: 3
  • Forks: 5
  • 开发语言: PHP

其他信息

  • 授权协议: Apache-2.0
  • 更新时间: 2015-01-09