tschiemer / aspsms
Service clients for sending SMS through aspsms.com
1.1.1
2014-05-13 10:40 UTC
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2025-02-18 20:53:47 UTC
README
Service clients for sending SMS through aspsms.com. CodeIgniter Adapter/demo included.
Features
- Interface abstractions for SOAP, HTTP and XML aspsms.com services
- Simple Interface for the lazy (hurray!), either for single service or composite.
- Library adapter for CodeIgniter (with extensive demo)
- Clear-ish documentation of simple interfaces
Available aspsms.com Functionality
- Sending of Text SMS
- Retrieval of delivery status
- Originator (Sender) testing and unlocking
- Token sending and validation (also see http://www.asptoken.com)
- Binary SMS: VCard
Requirements
- PHP 5.3
- CURL Extension (iff using HTTP or XML driver)
- SOAP Extension (iff using SOAP driver)
Todos
- XML driver: alternating servers on failure
- XML services: sendPicture, sendLogo, sendGroupLogo, sendRingtone, sendBinaryData
- Error/Exception handling, in particular: differentiate between service fail and negative reply
- Understand: Short Message Service Centre 4.0 EMI - UCP Interface Specification Short Message Service Centre (SMSC) External Machine Interface (EMI) Description, EmiSpec_44a.pdf
Documentation
Sample use
Please refer to CodeIgniter Adapter for a more extended demo.
use \tschiemer\Aspsms as Aspsms;
require_once 'lib/tschiemer/autoload.php';
$config = array(
'userkey' => 'my-key',
'password' => 'my-password',
'originator' => 'my-originator'
);
$aspsms = new Aspsms\SimpleClient($config);
// Send trackable SMS
try {
$success = $aspsms->sendText(array(
'100' => '0041xxxxxxxx',
'101' => '0031xxxxxxxx'
), 'Hello pretty!');
}
catch (Aspsms\ServiceException $e){
die('ASPSMS service error: '.$e->getMessage());
}
if ( ! $success )
{
$statusCode = $aspsms->getLastStatusCode();
$statusDescription = $aspsms->getStatusDescription($statusCode);
// or alternatively
$statusDescription = statusDescriptionString($statusCode);
die('Unexpected server response status '.$statusCode. ': '.$statusDescription);
}
// Get delivery information
try {
$status = $aspsms->getDeliveryStatus(array('100','101'));
}
catch (Aspsms\ServiceException $e){
die('ASPSMS service error: '.$e->getMessage());
}
print_r($status);
echo Aspsms\Strings::deliveryStatus($status['100']['status']);
echo Aspsms\Strings::reasonCode($status['100']['reason']);
Outputs
array(2) {
[100]=>
array(6) {
[nr]=>"100",
[status]=>"0",
[submissionDate]=>"12022014123834",
[deliveryDate]=>"12022014123840",
[reason]=>"000",
[other]=>""
},
[101]=>
array(6) {
[nr]=>"101",
[status]=>"0",
[submissionDate]=>"12022014123833",
[deliveryDate]=>"12022014123838",
[reason]=>"000",
[other]=>""
}
}
Delivered
Unknown subscriber
Revision History
1.1.0
- PSR-0 namespace compatibility and composer/packagist registration
- minor filename/class renaming
Official Documentation
https://webservice.aspsms.com/aspsmsx2.asmx http://www.aspsms.com/xml/doc/xmlsvr191.pdf http://www.aspsms.de/vbscript_class/doc.htm http://www.aspsms.de/newsletter/html/en/200905/