seregazhuk/smsintel-api

A PHP wrapper for the SmsIntel api. Provides one interface for both XML and JSON API requests.

0.2.1 2019-10-02 13:47 UTC

This package is auto-updated.

Last update: 2024-04-29 03:24:09 UTC


README

SmsIntel PHP Api

68747470733a2f2f7472617669732d63692e6f72672f7365726567617a68756b2f7068702d736d73696e74656c2d6170692e7376673f6272616e63683d6d6173746572 68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f7365726567617a68756b2f7068702d736d73696e74656c2d6170692f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572 68747470733a2f2f636f6465636c696d6174652e636f6d2f6769746875622f7365726567617a68756b2f7068702d736d73696e74656c2d6170692f6261646765732f6770612e737667 68747470733a2f2f636f6465636c696d6174652e636f6d2f6769746875622f7365726567617a68756b2f7068702d736d73696e74656c2d6170692f6261646765732f636f7665726167652e737667 68747470733a2f2f706f7365722e707567782e6f72672f7365726567617a68756b2f736d73696e74656c2d6170692f762f737461626c65 68747470733a2f2f706f7365722e707567782e6f72672f7365726567617a68756b2f736d73696e74656c2d6170692f646f776e6c6f616473

Library provides common interface for making requests to both XML and JSON smsintel API.

Dependencies

Library requires CURL extension and PHP 5.5.9 or above.

Installation

Via Composer:

composer require seregazhuk/smsintel-api

Quick Start

// You may need to amend this path to locate composer's autoloader
require('vendor/autoload.php'); 

use seregazhuk\SmsIntel\SmsIntel;

$sender = SmsIntel::create('login', 'password');

// send sms
$result = $sender->send('phoneNumber', 'From', 'Your message text');

Sending messages

To send message to one phone number:

$result = $sender->send('phoneNumber', 'From', 'Your message text');

You can pass an array of phones:

$phones = [
 '79999999999'
 '79999999991'
 '79999999992'
];
$result = $sender->send($phones, 'From', 'Your message text');

Cancel sms by id:

$result = $sender->cancel($smsId);

Request a source name:

$result = $sender->requestSource('FromPHP');

Groups and contacts

Get contact info by phone number:

$contact = $sender->getPhoneInfo('79999999999');

Get all contacts:

$contacts = $sender->getContacts();

Contacts for specific group:

$groupId = 1;
$contacts = $sender->getContacts($groupId);

Contacts by phone number:

$phone = '79999999999';
$contacts = $sender->getContacts(null, $phone);

// or with group:
$groupId = 1;
$contacts = $sender->getContacts($groupId, $phone);

Create a new contact:

$contactInfo = [
	'idGroup' => 1 // required
	'phone'   => '79999999999' // required
	'f'       => 'Second Name',
	'i'       => 'First Name',
	'o'       => 'Middle Name',
	'bday'    => 'YYYY-mm-dd',
	'sex'     => 1 // 1 - male, 2 - female
];
$result = $sender->addContact($contactInfo);

Remove contact by phone number:

$sender->removeContact('79999999999');

You can pass optionally group id:

$groupId = 1;
$sender->removeContact('79999999999', $groupId);

Get all groups:

$groups = $send->getGroups();

Get group by id or name:

$groups = $sender->getGroups($groupId);
$groups = $sender->getGroups(null, $groupName);

Create a new group of contacts:

$result = $sender->createGroup('NewGroup');

Edit group name by id:

$result = $sender->editGroup($newName, $groupId);

Account

Get account info:

$result = $sender->getAccountInfo();

Get balance:

$result = $sender->getBalance();

Use discount coupon:

$result = $sender->checkCoupon('couponCode');

Only check discount coupon:

$result = $sender->checkCoupon('couponCode', false);

Reports

Get report for period by phone number:

$result = $sender->getReportByNumber($dateFrom, $dateTo, '79999999999');

Get report for period and for all numbers:

$result = $sender->getReportByNumber($dateFrom, $dateTo);

Get report by smsId:

$result = $sender->getReportBySms($smsId);

Get report for period by source:

$result = $sender->getReportBySource($dateFrom, $dateTo, 'FromPHP');

Get report for period for all sources:

$result = $sender->getReportBySource($dateFrom, $dateTo);

How can I thank you?

Why not star the github repo? I'd love the attention!

Thanks!