承接 bahricanli/netgsm-php 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

bahricanli/netgsm-php

最新稳定版本:1.0.1

Composer 安装命令:

composer require bahricanli/netgsm-php

包简介

A PHP client library for Netgsm API

README 文档

README

Latest Version on Packagist Software License Build Status StyleCI Scrutinizer Code Quality Code Coverage Total Downloads

This package provides an easy to use Netgsm service which can be used with both XML and Http apis.

Bu paket, hem XML hem Http API ile çalışan kullanımı kolay bir Netgsm servisi sağlar.

Dokümanın türkçe hali için: BENIOKU

Contents

Installation

You can install this package via composer:

composer require bahricanli/Netgsm-php

Setting up the Netgsm service

You will need to register to Netgsm to use this channel.

Usage

First, boot the NetgsmService with your desired client implementation.

  • NetgsmXmlClient
  • NetgsmHttpClient (This is actually a Rest-Like client but the vendor names their API that way.)
require __DIR__ . '/../vendor/autoload.php';

use BahriCanli\Netgsm\NetgsmService;
use BahriCanli\Netgsm\NetgsmService;
use BahriCanli\Netgsm\ShortMessageFactory;
use BahriCanli\Netgsm\Http\Clients\NetgsmXmlClient;
use BahriCanli\Netgsm\Http\Clients\NetgsmHttpClient;
use BahriCanli\Netgsm\ShortMessageCollectionFactory;

$service = new NetgsmService(new NetgsmXmlClient(
    'sms.Netgsm.net/xml',
    'username',
    'password',
    'outboxname'
), new ShortMessageFactory(), new ShortMessageCollectionFactory());

// ya da

$service = new NetgsmService(new NetgsmHttpClient(
    new GuzzleHttp\Client(),
    'https://sms.Netgsm.net/http',
    'username',
    'password',
    'outboxname'
), new ShortMessageFactory(), new ShortMessageCollectionFactory());

Available methods

After successfully booting your NetgsmService instance up; use one of the following methods to send SMS message(s).

One Message - Single or Multiple Recipients:

$response = $service->sendShortMessage(['5530000000', '5420000000'], 'This is a test message.');

if($response->isSuccessful()) {
    // storeGroupIdForLaterReference is not included in the package.
    storeGroupIdForLaterReference($response->groupId());
} else {
    var_dump($response->message());
    var_dump($response->statusCode());
    var_dump($response->status());
}

Multiple Messages - Multiple Recipients:

Please not that if you have using that method, every message should only have one receiver. (This is also an API limitation which I didn't hack.)

$response2 = $service->sendShortMessages([[
    'recipient' => '5530000000',
    'message' => 'This is a test.',
], [
    'recipient' => '5420000000',
    'message' => 'This is another test.',
]]);

if($response2->isSuccessful()) {
    // storeGroupIdForLaterReference is not included in the package.
    storeGroupIdForLaterReference($response2->groupId());
} else {
    var_dump($response2->message());
    var_dump($response2->statusCode());
    var_dump($response2->status());
}

Cross Reference

$response->groupId() will throw BadMethodCallException if the client is NetgsmHttpClient. $response->messageReportIdentifiers() will throw BadMethodCallException if the client is NetgsmXmlClient.

change client implementation with caution.

Changelog

Please see CHANGELOG for more information what has changed recently.

Testing

$ composer test

Security

If you discover any security related issues, please email bahri@bahri.info instead of using the issue tracker.

Contributing

Please see CONTRIBUTING for details.

Credits

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 29
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-04-04