|
Net::SMS::BulkSMS - send SMS messages via provider bulksms.co.uk |
send_sms - send an SMS text message
| required parameters | |
| message: max 160 chars, 280 for 8bit | |
| msisdn: comma separated list of recipient phone numbers |
| optional parameters | |
| sender: sender id (if alphanumeric, max 11 characters). This facility has to be specifically enabled for your account on request. Alphanumeric sender id is a route-specific feature. | |
| msg_class: currently 0 (flash SMS) or 2 (normal SMS), default 2 | |
| dca: Data Coding Alphabet: 7bit,8bit or 16bit, default 7bit (normal text message). For 8bit (ringtones,logos) or 16bit (Unicode), a message containing only hexadecimal octets, to a maximum of 280 characters (140 octet pairs), must be submitted. Currently, concatenation is not supported for Unicode messages. 16-bit is a route-specific feature. | |
| want_report: 0 or 1, default 0 | |
| cost_route: 1 or 2, default 1 (future functionality - always use 1 for now, if used) | |
| msg_id: a unique id generated by yourself, to reduce risk of duplicate submissions - future functionality, currently unused. |
| returns | |
| status_code|status_description|message_id (where message_id is optional, depending on the error) |
| status codes | |
| 0: In progress (a normal message submission, with no error encountered so far). | |
| 22: Internal fatal error | |
| 23: Authentication failure | |
| 24: Data validation failed | |
| 25: You do not have sufficient credits | |
| 26: Upstream credits not available | |
| 27: You have exceeded your daily quota | |
| 28: Upstream quota exceeded | |
| 40: Temporarily unavailable |
get_report - report status of a sent SMS text message
required parameters msg_id: message id return by send_sms optional parameter msisdn: supply if querying the status of a single recipient.
| returns on failure | |
| desc: ``request_status_code: desc'' formatted request status code and description | |
| code: 0 | |
| result: undefined |
possible request status codes
23: Authentication failure
24: Data validation failed
1001: Error - message not found (msg_id incorrect)
| returns on success | |
| desc: ``request status code: description'', code 1000, description | |
| ``Results to follow\n'' followed by one or more newline-separated items in the format: | |
| ``msisdn|status_code|status_description'' | |
| code: 1 | |
| result: pointer to results hash indexed by msisdn (phone number), | |
| each entry a pointer to hash of {code,desc} |
status codes and descriptions:
0: In progress (a normal message submission, with no error encountered so far).
10: Delivered upstream
11: Delivered to mobile
22: Internal fatal error
23: Authentication failure
24: Data validation failed
25: You do not have sufficient credits
26: Upstream credits not available
27: You have exceeded your daily quota
28: Upstream quota exceeded
29: Message sending cancelled
30: Test complete (you should never see this)
40: Temporarily unavailable
50: Delivery failed - generic failure
51: Delivery to phone failed
52: Delivery to network failed
60: Transient upstream failure (transient)
61: Upstream status update (transient)
62: Upstream cancel failed (transient)
70: Unknown upstream status
Net::SMS::BulkSMS - send SMS messages via provider bulksms.co.uk
use Net::SMS::BulkSMS;
my ($sms,$msg,$code,$result_hp,$msg_id,$credits);
$sms = Net::SMS::BulkSMS->new (username=>"aaaaaaaaaaaa", password=>"bbbbbbbbbbbb", sender => "SomeCoUk"); or $sms = Net::SMS::BulkSMS->new (test => 1, test_form_url => "mycompany.co.uk/cgi-bin/form.pl/");
($credits,$code) = $sms->get_credits; ($credits,$code) = $sms->quote_sms (message=>"Testing", msisdn=>"44123123456"); ($credits,$code) = $sms->quote_sms (message=>"Testing", msisdn=>"44123123456", msg_class=>"0"); ($msg_id,$code) = $sms->send_sms (message=>"Testing 1", msisdn=>"44123123456"); ($msg_id,$code) = $sms->send_sms (message=>"Testing 2", msisdn=>"44123123456,44567567890"); ($msg,$code,$result_hp) = $sms->get_report (msg_id=>$msg_id); ($msg,$code,$result_hp) = $sms->get_report (msg_id=>$msg_id, msisdn=>"44123123456");
This module provides an SMS transport mechanism for the gateway bulksms.co.uk. You will need to create an account at www.bulksms.co.uk and obtain a username and password, then you can use this module to send and query the status of SMS messages. The transport mechanism is via the HTTP API published at http://www.bulksms.co.uk/docs/eapi/current/.
Net::SMS::BulkSMS provides a calling interface and transport to send SMS text messages via the gateway bulksms.co.uk.
Create a new BulkSMS object:
The remaining parameters are optional and override built-in defaults.
The following methods work with a created BulkSMS object.
Returns
success: (credits,1) credits is a string representation of credit balance to two floating points
failure: ("errorcode: errormessage",0)
Takes exactly the same parameters as the send_sms method, and quotes how many credits it would take to fulfil the request via send_sms.
Returns
success: (credits,1) credit is a string representation of number of credits required to send a
message with the specified parameters
failure: ("errorcode: errormessage",0)
| Required parameters | |
| message: max 160 chars, 280 for 8bit | |
| msisdn: comma separated list of recipient phone numbers |
| Optional parameters | |
| sender: sender id (if alphanumeric, max 11 characters). This facility has to be specifically enabled for your account on request. Alphanumeric sender id is a route-specific feature. | |
| msg_class: currently 0 (flash SMS) or 2 (normal SMS), default 2 | |
| dca: Data Coding Alphabet: 7bit,8bit or 16bit, default 7bit (normal text message). For 8bit (ringtones,logos) or 16bit (Unicode), a message containing only hexadecimal octets, to a maximum of 280 characters (140 octet pairs), must be submitted. Currently, concatenation is not supported for Unicode messages. 16-bit is a route-specific feature. | |
| want_report: 0 or 1, default 1 | |
| cost_route: 1 or 2, default 1 (future functionality - always use 1 for now, if used) | |
| msg_id: a unique id generated by yourself, to reduce risk of duplicate submissions - future functionality, currently unused. |
| Returns | |
| success: ($msg_id, 1) | |
| failure: (``errorcode: errormessage'', 0) |
error codes
0: In progress (a normal message submission, with no error encountered so far).
22: Internal fatal error
23: Authentication failure
24: Data validation failed
25: You do not have sufficient credits
26: Upstream credits not available
27: You have exceeded your daily quota
28: Upstream quota exceeded
40: Temporarily unavailable
| Required parameters | |
| msg_id: message id returned from send_sms |
| Optional parameter | |
| msisdn: comma separated list of phone no.s by which to restrict report |
| Returns | |
| failure: (``errorcode: errormessage'',1,undef) | |
| success: ($msg,0,$result_hash_ptr) | |
| $msg is eapi message, $result_hash_ptr is eapi message broken down | |
| to a hash of entries by phone no. containing { code, desc } from this table |
0: In progress (a normal message submission, with no error encountered so far).
10: Delivered upstream
11: Delivered to mobile
22: Internal fatal error
23: Authentication failure
24: Data validation failed
25: You do not have sufficient credits
26: Upstream credits not available
27: You have exceeded your daily quota
28: Upstream quota exceeded
29: Message sending cancelled
30: Test complete (you should never see this)
40: Temporarily unavailable
50: Delivery failed - generic failure
51: Delivery to phone failed
52: Delivery to network failed
60: Transient upstream failure (transient)
61: Upstream status update (transient)
62: Upstream cancel failed (transient)
70: Unknown upstream status
Net::SMS::BulkSMS was developed by Peter Edwards <peterdragon@users.sourceforge.net>.
Copyright 2006 Peter Edwards <peterdragon@users.sourceforge.net>.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
|
Net::SMS::BulkSMS - send SMS messages via provider bulksms.co.uk |