HTTP ΑΡΙ για αποστολή SMS
Αποτελεί τον απλούστερο τρόπο διασύνδεσης με το πρόγραμμα μαζικής αποστολής sms της ez4usms. Το μόνο που χρειάζεται να κάνετε είναι μια HTTP κλήση χρησιμοποιώντας όποια γλώσσα επιθυμείτε.
- Υποστηρίζει κείμενο, UTF8 και flash μηνύματα.
- Υποστηρίζει όλες τις γλώσσες με ειδικούς χαρακτήρες (Αραβικά, Ελληνικά, Κινέζικα κτλ)
- Υποστήριξη ενοποιημένων μηνυμάτων (concatenated, long SMS)
- Υποστήριξη μαζικών αποστολών
- Δυνατότητα ορισμού ταυτότητας αποστολέα
- Αναφορές
- Εύκολο στη χρήση
Πως να συνδεθείτε μέσω ΗΤΤΡ
Ανοίξτε ένα λογαριασμό απο εδώ. Χρησιμοποιήστε τα δωρεάν credits που σας προσφέρουμε για να πραγματοποιήσετε τις δοκιμές σας.
Για την αποστολή SMS χρειάζεται να γίνει ένα get request στο παρακάτω URL:
http://ez4usms.com/api/http/send.php
Οι παράμετροι για αυτό το request είναι:
username (απαιτείται), το όνομα χρήστη
password (απαιτείται), ο κωδικός χρήστη
from (απαιτείται), η ταυτότητα αποστολέα του μηνύματος
to (απαιτείται), οι παραλήπτες του μηνύματος χωρισμένοι με κόμμα χωρίς κενά
message (προαιρετικό), το κείμενο του μηνύματος
coding (προαιρετικό), η κωδικοποίηση με την οποία θα σταλεί το μήνυμα. Δυνατές επιλογές: GSM, UTF-8. Προεπιλεγμένη μορφή: GSM.
flash (προαιρετικό), αν το μήνυμα θα είναι flash sms ή όχι. Δυνατές τιμές: 0 ή 1. Προεπιλεγμένη τιμή: 0.
Όλες οι τιμές των παραπάνω παραμέτρων θα πρέπει να είναι url encoded
Παράδειγμα ενός request:
http://ez4usms.com/api/http/send.php?username=xxx&password=xxx&from=myself&message=text+at+utf8+format&to=306912345678,306998765432
Κάθε επιτυχής κλήση επιστρέφει ένα ID
π.χ. ID:0008FABD Το αναγνωριστικό του μηνύματος αυτού
Το request αυτό μπορεί να επιστρέψει τα εξής μηνύματα λάθους:
Error: Authentication error.
Error: No recipients.
Error: Invalid sender identity.
Error: Insufficient credits.
Error: Invalid scheduling date.
Προγραμματισμός SMS μέσω HTTP API
Στο τελος της HTTP κλήσης σας προσθέστε την παράμετρο schedule:
πχ : &schedule=SCHEDULE_DATE_TIME
Παραδείγματα για το SCHEDULE_DATE_TIME:
2011-07-17
2011-05-11 14:40
2011-04-22 17:47:55
11 June 2011 11:00:00
+1 day
+1 week
+1 week 2 days 4 hours 2 seconds
next Thursday
last Monday
Εάν υπάρχει κάποιο λάθος στην παράμετρο schedule το σύστημα θα επιστρέψει:
Error: Invalid scheduling date.
Δηλώστε το URL στο οποίο θα σας επιστρέφει η αναφορά παράδοσης
Στο τελος της HTTP κλήσης σας προσθέστε την παράμετρο dlr-url
πχ : &dlr-url=ENCODED_URL
Η τιμή dlr-url θα πρέπει να είναι url encoded
Έλεγχος κατάστασης απεσταλμένου μηνύματος
Για τον έλεγχο της κατάστασης ενός μηνύματος χρειάζεται να γίνει ένα get request στο παρακάτω URL:
http://ez4usms.com/api/http/query.php
Οι παράμετροι για αυτό το request είναι:
username (απαιτείται), το όνομα χρήστη
password (απαιτείται), ο κωδικός χρήστη
mid (απαιτείται), το αναγνωριστικό του ερωτήματος
mobile (απαιτείται), το τηλέφωνο του παραλήπτη
Όλες οι τιμές των παραπάνω παραμέτρων θα πρέπει να είναι url encoded
Παράδειγμα ενός request:
http://ez4usms.com/api/http/query.php?username=xxx&password=xxx&mid=0008FABD&mobile=306912345678
Το request αυτό μπορεί να επιστρέψει τα εξής μηνύματα:
Status: Queued
Status: Pending
Status: Delivered
Status: Failed
Το request αυτό μπορεί να επιστρέψει τα εξής μηνύματα λάθους:
Error: Authentication error.
Error: No message ID defined.
Error: No mobile defined.
Error: No such message or recipient.
<?php
$url = 'ez4usms.com';
// open a socket to ez4usms server
$socket = fsockopen($url, 80, $errorno, $error, 30);
if( $socket == false )
{
// something went wrong!
}
else
{
// initialize request variables
$username = urlencode('x');
$password = urlencode('x');
$from = urlencode('x');
$to = urlencode('306991231111,6941236546');
$message = urlencode('test message');
// construct the request path with all required parameters
$path = '/api/http/send.php?';
$path .= "username={$username}&";
$path .="password={$password}&";
$path .="from={$from}&";
$path .="to={$to}&";
$path .="message={$message}";
// create request headers
$req = "GET {$path} HTTP/1.1\r\n";
$req .= "Host: {$url}\r\n";
$req .= "Connection: Close\r\n\r\n";
$output = '';
// make request
if( fputs($socket, $req) === false )
{
// something went wrong with the request
return;
}
// read server response
while( !feof($socket) )
$output .= fgets($socket, 1024);
// manage response
$lines = explode("\n", $output);
$result = end($lines);
$parts = explode(":", $result);
if( $parts[0] == 'Error' )
{
// an error occured
// output the error message
echo $parts[1];
}
else if( $parts[0] == 'ID' )
{
// message was successfully sent to recipients
// output the ID of the message
echo $parts[1];
}
}
?>