An open API service indexing awesome lists of open source software.

https://github.com/abandroid/cm-sms

Library for sending SMS messages via CM
https://github.com/abandroid/cm-sms

Last synced: 11 months ago
JSON representation

Library for sending SMS messages via CM

Awesome Lists containing this project

README

          

# CM SMS

*By [endroid](https://endroid.nl/)*

[![Latest Stable Version](http://img.shields.io/packagist/v/endroid/cm-sms.svg)](https://packagist.org/packages/endroid/cm-sms)
[![Build Status](https://github.com/endroid/cm-sms/workflows/CI/badge.svg)](https://github.com/endroid/cm-sms/actions)
[![Total Downloads](http://img.shields.io/packagist/dt/endroid/cm-sms.svg)](https://packagist.org/packages/endroid/cm-sms)
[![Monthly Downloads](http://img.shields.io/packagist/dm/endroid/cm-sms.svg)](https://packagist.org/packages/endroid/cm-sms)
[![License](http://img.shields.io/packagist/l/endroid/cm-sms.svg)](https://packagist.org/packages/endroid/cm-sms)

This library enables sending SMS messages using the [CM Telecom SMS service](https://docs.cmtelecom.com/).

## Installation

Use [Composer](https://getcomposer.org/) to install the library.

``` bash
$ composer require endroid/cm-sms
```

### Symfony integration

You can easily integrate the library in Symfony with the [endroid/cm-sms-bundle](https://github.com/endroid/cm-sms-bundle).

## Usage

```php
use Endroid\CmSms\Client;
use Endroid\CmSms\Exception\RequestException;

$client = new Client();

$options = [
'sender' => 'Endroid',
'unicode' => 'auto',
'minimum_number_of_message_parts' => 1,
'maximum_number_of_message_parts' => 3,
];

$message = new Message();
$message->addTo('0600000000');
$message->setBody('SMS Messaging is the future!');

// Send single message (to one or more recipients)
try {
$client->sendMessage($message, $options);
} catch (RequestException $exception) {
// handle exception
}

// Or bulk send multiple messages (to one or more recipients)
try {
$client->sendMessages([$message, ...], $options);
} catch (RequestException $exception) {
// handle exception
}
```

## Options

The following sending options are available.

* sender: default sender
* unicode: unicode handling (auto, force or never)
* minimum_number_of_message_parts: min when splitting up long messages
* maximum_number_of_message_parts: max when splitting up long messages

## Versioning

Version numbers follow the MAJOR.MINOR.PATCH scheme. Backwards compatibility
breaking changes will be kept to a minimum but be aware that these can occur.
Lock your dependencies for production and test your code when upgrading.

## License

This source code is subject to the MIT license bundled in the file LICENSE.