Αν δεν σας ενδιαφέρει να στέλνετε μαζικά sms από την ιστοσελίδα μας, αλλά θέλετε να ενσωματώσετε την δυνατότητα αποστολής sms στην δικιά σας ιστοσελίδα ή εφαρμογή, τότε μπορείτε να χρησιμοποιήσετε το HTTP SMS API. Χρειάζονται κάποιες βασικές γνώσεις προγραμματισμού.
Το SMS API μας είναι σχεδιασμένο να παρέχει τη μεγαλύτερη ευκολία για να στείλετε web sms μέσα από τη δική σας εφαρμογή, με χρήση της δική σας γλώσσας προγραμματισμού, πχ PHP, JAVA κ.α.
Σε αυτή τη σελίδα θα βρείτε όλο το HTTP SMS API μας για αποστολή sms. Επίσης μπoρείτε να το κατεβάστε και σε μορφή PDF την παλαιότερη έκδοση του SMS API.
"Για να δοκιμάσετε την αποστολή sms μέσω SMS API πρέπει πρώτα να έχετε εγγραφεί στην υπηρεσία μας."
Μπορείτε να στείλετε sms σε οποιαδήποτε αλφάβητο με μέχρι 100 παραλήπτες ανά κλήση πολύ εύκολα. Μετά από κάθε αποστολή με το SMS API το σύστημα μας θα σας απαντήσει πίσω δίνοντάς σας πληροφορίες για την αποστολή σας.
Με αυτή τη λειτουργικότητα μπορείτε να πάρετε πληροφορίες για την κατάσταση των απεσταλμένων σας sms. Το μόνο που χρειάζεστε είναι το id της αποστολής σας.
Αν θέλετε μπορείτε να προγραμματίσετε την αποστολή μέσω του api για κάποια στιγμή στο μέλλον. Η προγραμματισμένη αποστολή είναι πολύ εύκολη και μπορεί να ακυρωθεί εξίσου εύκολα.
Ο χρήστης του SMS API μπορεί να μάθει το διαθέσιμο υπόλοιπο του λογαριασμού του και να το χρησιμοποιήσει όπως του χρειάζεται στην ανάπτυξη της εφαρμογής του.
Για μεγαλύτερη ασφάλεια στην επικοινωνία με τους server του smsbox ο χρήστης μπορεί να κάνει χρήση του sesskey. H διαδικασία είναι απλή, αντί να στέλνει σε κάθε κλήση το username και το password τα στέλνει μία φορά, ο server του επιστρέφει ένα sesskey το οποίο και χρησιμοποιεί έπειτα για τη μεταξύ τους επικοινωνία.
Με λίγες γραμμές κώδικα μπορείτε να στέλνετε sms με το SMS API μας, να προγραμματίσετε αποστολές για αργότερα, να λαμβάνετε αναφορές παράδοσης ή να ρωτάτε το υπόλοιπο σε sms του λογαριασμού σας.
Για να μπορέσετε να αρχίσετε να στέλνετε sms μέσω του HTTP API πρέπει πρώτα να φτιάξετε ένα λογαριασμό στην υπηρεσία μαζικής αποστολής smsbox. Η διαδικασία είναι πολύ απλή και τα μόνα που χρειάζεστε είναι ένα κινητό τηλέφωνο και ένας λογαριασμός email.
Με τη δημιουργία του λογαριασμού παίρνετε δωρεάν 20 sms για να δοκιμάσετε την αποστολή sms μέσω του SMS API.
Για να κάνετε μία αποστολή sms μέσω του SMS API χρειάζεστε τα παρακάτω:
Παρακάτω δίνεται μία επεξήγηση για τις πληροφορίες που πρέπει να περνάτε σε μία κλήση του HTTP SMS API αν θέλετε να
κάνετε μια αποστολή sms.
Χρήσιμες πληροφορίες μπορείτε να βρείτε και στη σελίδα Συχνές Ερωτήσεις.
(1),(2) Τα username και το password είναι αυτά που παίρνετε κατά τη δημιουργία του λογαριασμού σας.
(3) Αποστολέας είναι το κείμενο που θα φαίνεται στο τηλέφωνο αυτού που θα λάβει το sms (πριν το ανοίξει). Σαν όνομα αποστολέα μπορείτε να βάλετε μέχρι 11 λατινικούς χαρακτήρες ή μέχρι 13 ψηφία.
(4) Παραλήπτης είναι το κινητό που θα λάβει το sms. Μπορεί να είναι σε μορφή 69xxxxxxxx ή 3069xxxxxxxx ή +3069xxxxxxxx
(5) Το κείμενο του sms μπορεί να είναι μέχρι 612 ελληνικοί ή λατινικοί χαρακτήρες. Η χρέωση είναι διπλή για τα μηνύματα από 161 έως 306 χαρακτήρες, τριπλή από 307 έως 459 και τετραπλή από 460 έως 612. Οι χαρακτήρες : € , [ , ], { , } , ~ , ^ , | και \ απαιτούν μεγαλύτερο μέγεθος και λαμβάνονται σαν 2 χαρακτήρες (χρεώνονται σαν 2 ο καθένας).
Κάτι ακόμα που πρέπει να γνωρίζεται για το κείμενο του sms είναι πως αυτό μετατρέπεται αυτόματα στα κεφαλαία αν εσείς στέλνετε στα ελληνικά. Ο λόγος για τον οποίον γίνεται αυτό είναι για να εκμεταλλευτείτε το πλήθος των 160 χαρακτήρων για κάθε μονό sms.
Αν για κάποιον λόγο θέλετε να στείλετε sms μέσω SMS API με μικρούς ελληνικούς χαρακτήρες ή χαρακτήρες άλλων αλφαβήτων πλην του λατινικού, θα πρέπει να κάνετε αποστολή με την επιλογή Unicode (εξηγούμε πως γίνεται παρακάτω), Το μειονέκτημα σε αυτήν την περίπτωση είναι πως το μέγεθος του sms από 160 χαρακτήρες πέφτει στους 70 και το συνολικό μήκος του μηνύματος μπορεί να είναι μέχρι 268 χαρακτήρες.
(6) Τα sms πρέπει να τα έχετε διαθέσιμα στο λογαριασμό σας πριν από κάθε αποστολή. Αν δεν έχετε το απαραίτητο υπόλοιπο στον λογαριασμό σας και κάνετε μία αποστολή τότε θα αποσταλούν τόσα sms όσα και το διαθέσιμο υπόλοιπό σας. Δεν υπάρχει χρονικός περιορισμός για το μέχρι πότε πρέπει να έχετε στείλει τα sms του λογαριασμού σας. Διαβάστε περισσότερα σχετικά με την αγορά sms και τις πληρωμές εδώ
[http:// ή https://] www.smsbox.gr/httpapi/sendsms.php
GET, POST
Παράμετροι | Επεξήγηση |
---|---|
'username' | Τα username και το password είναι αυτά που παίρνετε κατά τη δημιουργία του λογαριασμού σας. |
'password' | Τα username και το password είναι αυτά που παίρνετε κατά τη δημιουργία του λογαριασμού σας. |
'from' | Αποστολέας είναι το κείμενο που θα φαίνεται στο τηλέφωνο αυτού που θα λάβει το sms (πριν το ανοίξει).
Σαν όνομα αποστολέα μπορείτε να βάλετε μέχρι 11 λατινικούς χαρακτήρες ή μέχρι 13 ψηφία. |
'to' | Παραλήπτης είναι το κινητό που θα λάβει το sms. Μπορεί να είναι σε μορφή 69xxxxxxxx ή 3069xxxxxxxx ή +3069xxxxxxxx
Μπορείτε να προσθέσετε μέχρι 100 τηλέφωνα σε κάθε κλήση στη μορφή: 6971111111,6972222222,6973333333,… |
'text' | Το κείμενο του sms μπορεί να είναι μέχρι 612 ελληνικοί ή λατινικοί χαρακτήρες. Η χρέωση είναι διπλή για τα
μηνύματα από 161 έως 306 χαρακτήρες, τριπλή από 307 έως 459 και τετραπλή από 460 έως 612. Οι χαρακτήρες : € , [ , ], { , } , ~ , ^ , |
και \ απαιτούν μεγαλύτερο μέγεθος και λαμβάνονται σαν 2 χαρακτήρες (χρεώνονται σαν 2 ο καθένας).
Κάτι ακόμα που πρέπει να γνωρίζεται για το κείμενο του sms είναι πως αυτό μετατρέπεται αυτόματα στα κεφαλαία αν εσείς στέλνετε στα ελληνικά. Ο λόγος για τον οποίον γίνεται αυτό είναι για να εκμεταλλευτείτε το πλήθος των 160 χαρακτήρων για κάθε μονό sms. Αν για κάποιον λόγο θέλετε να στείλετε sms μέσω SMS API με μικρούς ελληνικούς χαρακτήρες ή χαρακτήρες άλλων αλφαβήτων πλην του λατινικού, θα πρέπει να κάνετε αποστολή με την επιλογή Unicode (εξηγούμε πως γίνεται παρακάτω), Το μειονέκτημα σε αυτήν την περίπτωση είναι πως το μέγεθος του sms από 160 χαρακτήρες πέφτει στους 70 και το συνολικό μήκος του μηνύματος μπορεί να είναι μέχρι 268 χαρακτήρες. |
Παράμετροι | Επεξήγηση |
---|---|
'encoding' | Αν θέλουμε να στείλουμε sms με ελληνικούς χαρακτήρες θέτουμε αυτή τη παράμετρο ίση με UTF8.
Το κείμενο μετατρέπεται αυτόματα από μικρούς χαρακτήρες σε κεφαλαίους. Προσοχή δεν μπορείτε να έχετε ταυτόχρονα τις προαιρετικές παραμέτρους encoding και unicode σε μία κλήση του SMS API, γιατί ο server θα σας επιστρέψει μήνυμα σφάλματος. |
'coding' | To coding είναι το ίδιο ακριβώς με το encoding αλλά χρησιμοποιείται για λόγους συμβατότητας προς τα πίσω.
Η τιμή που μπορεί να πάρει είναι UTF8.
Το coding όπως και το encoding δεν μπορεί να χρησιμοποιηθεί στην ίδια κλήση μαζί με το Unicode. |
'unicode' | Η τιμή που παίρνει το unicode είναι 1.
Την χρησιμοποιείτε αν για κάποιον λόγο θέλετε να στείλετε sms μέσω SMS API με μικρούς ελληνικούς χαρακτήρες ή χαρακτήρες άλλων αλφαβήτων πλην του λατινικού. |
'datetosend' | Την παράμετρο αυτή τη χρησιμοποιείτε όταν θέλετε να κάνετε προγραμματισμένη αποστολή.
Η τιμή που πρέπει να της δώσετε έχει τη μορφή: 2018-10-29-11:51 |
// Request sending
$url = "http://www.smsbox.gr/httpapi/sendsms.php";
$username = 'yourUsername';
$password = 'yourPassword';
// Originator of sms (what the user see)
$from = "SMSBOX Test";
// We can send up to 100 sms at the same time with one HTTP SMS API call
// This is done by dividing the phones with commas. The phones can be in 69... or 3069... format
$to = "6977xxxxxx";
$encoding ="UTF8";
// All the small Greek letters are converted into uppercase, so the message has a
//maximum of 160 characters
// Sms message
$sms_text = "Ένα μήνυμα. Tεστ api.";
// To send all unicode characters (Greek small characters and characters from other foreign
// language alphabets),
// uncomment the following line and make comment "$encoding = "UTF8";"
//$unicode = "1";
// * When we send unicode sms have up to 70 characters per sms and a total of up to 4 sms
// Caution. You do not allow to have encoding = UTF8 and unicode = 1 at the same time!
$postfields = array(
'username' => "$username",
'password' => "$password",
'from' => "$from",
'to' => "$to",
//old approach, but it continues to work ok
//'coding' => "$encoding",
//new approach
'encoding' => "$encoding",
'text' => "$sms_text"
// Caution: only unicode or encoding!
//'unicode' => "$unicode",
);
if (!$curld = curl_init()) {
exit;
}
curl_setopt($curld, CURLOPT_POST, true);
curl_setopt($curld, CURLOPT_POSTFIELDS, $postfields);
curl_setopt($curld, CURLOPT_URL,$url);
curl_setopt($curld, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($curld);
curl_close ($curld);
// Handle some server error response
if ($output == "originator > 11 chars") {
echo "Error: '$output'. Ο αποστολέας μπορεί να είναι μέχρι 11
λατινικούς χαρακτήρες ή 13 ψηφία.";
die;
}
else if ($output == "originator > 13 digits") {
echo "Error: '$output'. Ο αποστολέας μπορεί να είναι μέχρι 11
λατινικούς χαρακτήρες ή 13 ψηφία.";
die;
}
else if ($output == "wrong parameters") {
echo "Error: '$output'. Έχετε δώσει λάθος παραμέτρους. Παρακαλώ δείτε το SMS API.";
die;
}
// Handle successful server response
echo "Result: $output";
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
public class SmsboxApiExample {
private static HttpURLConnection con;
public static void main(String[] args) throws IOException {
String url = "http://www.smsbox.gr/httpapi/sendsms.php";
String urlParameters = "username=yourUsername&password=yourPassword&text=Ένα μήνυμα. Tεστ api.&
from=SMSBOX Test 12345&to=697xxxxxxx&encoding=UTF8";
byte[] postData = urlParameters.getBytes(StandardCharsets.UTF_8);
try {
URL myurl = new URL(url);
con = (HttpURLConnection) myurl.openConnection();
con.setDoOutput(true);
con.setRequestMethod("POST");
try (DataOutputStream wr = new DataOutputStream(con.getOutputStream())) {
wr.write(postData);
}
StringBuilder content;
try (BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()))) {
String line;
content = new StringBuilder();
while ((line = in.readLine()) != null) {
content.append(line+"\n");
}
}
if (content.toString().equals("originator > 11 chars")) {
System.out.println("Ο αποστολέας μπορεί να είναι μέχρι 11
λατινικούς χαρακτήρες ή 13 ψηφία.");
}
else if (content.toString().equals("originator > 13 digits")) {
System.out.println("Ο αποστολέας μπορεί να είναι μέχρι 11 λατινικούς
χαρακτήρες ή 13 ψηφία.");
}
else if (content.toString().equals("wrong parameters")) {
System.out.println("Έχετε δώσει λάθος παραμέτρους. Παρακαλώ δείτε το SMS API.");
}
} finally {
con.disconnect();
}
}
}
var request = require('request');
// Set the headers
var headers = {
'User-Agent': 'Super Agent/0.0.1',
'Content-Type': 'application/x-www-form-urlencoded'
}
// Configure the request
var options = {
url: 'http://www.smsbox.gr/httpapi/sendsms.php',
method: 'POST',
headers: headers,
form: { 'username': 'yourUsername',
'password': 'yourPassword',
'from':'SMSBOX Test',
'to':'697xxxxxxx',
'encoding':'UTF8',
'text':'Ένα μήνυμα. Tεστ api.'
}
}
// Start the request
request(options, function (error, response, body) {
if (!error && response.statusCode == 200) {
// Print out the response body (error)
console.log(body)
}
else {
console.log("ok: "+body)
}
})
using System;
using System.IO;
using System.Net;
using System.Text;
namespace C_
{
class Program
{
static void Main(string[] args)
{
// Create a request using a URL that can receive a post.
WebRequest request = WebRequest.Create ("http://www.smsbox.gr/httpapi/sendsms.php");
// Set the Method property of the request to POST.
request.Method = "POST";
// Create POST data and convert it to a byte array.
string postData = "username=yourUsername&password=yourPassword&
from=smsbox 1&to=697xxxxxxx&text=test sms with C#&encoding=UTF8";
byte[] byteArray = Encoding.UTF8.GetBytes (postData);
// Set the ContentType property of the WebRequest.
request.ContentType = "application/x-www-form-urlencoded";
// Set the ContentLength property of the WebRequest.
request.ContentLength = byteArray.Length;
// Get the request stream.
Stream dataStream = request.GetRequestStream();
// Write the data to the request stream.
dataStream.Write (byteArray, 0, byteArray.Length);
// Close the Stream object.
dataStream.Close ();
// Get the response.
WebResponse response = request.GetResponse();
// Display the status.
Console.WriteLine (((HttpWebResponse)response).StatusDescription);
// Get the stream containing content returned by the server.
dataStream = response.GetResponseStream();
// Open the stream using a StreamReader for easy access.
StreamReader reader = new StreamReader(dataStream);
// Read the content.
string responseFromServer = reader.ReadToEnd();
// Display the content.
Console.WriteLine(responseFromServer);
// Clean up the streams.
reader.Close();
dataStream.Close();
response.Close();
}
}
}
# For Python v3 ONLY!
from urllib.parse import urlencode
from urllib.request import Request, urlopen
# Set destination URL here
url = 'http://www.smsbox.gr/httpapi/sendsms.php'
# Set POST fields here
post_fields = { 'username': 'yourUsername',
'password': 'yourPassword',
'to': '697xxxxxxx',
'from': 'SMSBOX Test',
'text': 'Ένα μήνυμα. Tεστ api.',
'encoding' : 'UTF8'
}
request = Request(url, urlencode(post_fields).encode())
json = urlopen(request).read().decode()
print(json)
20 9534538 306941231231
20 9534539 306971231231
20 9534540 306931231231
41 9534541 094123123123
Μόνο στην περίπτωση που η κατάσταση ενός μηνύματος είναι 20
χρεώνεστε για το μήνυμα αυτό.
Κείμενο (string) | Επεξήγηση |
---|---|
originator > 11 chars | Ο αποστολέας έχει μήκος μεγαλύτερο των 11 χαρακτήρων. |
originator > 13 digits | Ο αποστολέας έχει μήκος μεγαλύτερο των 13 ψηφίων (όταν σας αποστολέα έχετε βάλει αριθμό). |
wrong parameters | Έχετε περάσει στην ίδια κλήση του SMS API τις παραμέτρους 'encoding' = UTF8 και 'unicode' = 1. |
missing username/password | Δεν έχετε περάσει στην κλήση του SMS API το username ή το password του λογαριασμού σας. |
wrong username/password | Έχετε καλέσει το SMS API με λάθος username ή password. |
service is down | Η υπηρεσία της αποστολής sms μέσω SMS API είναι προσωρινά εκτός λειτουργίας. |
wrong or old sesskey | To sesskey που περάσατε είναι λάθος ή έχει λήξει. |
ERROR | Ο λογαριασμός σας έχει απενεργοποιηθεί για κάποιο λόγο, παρακαλούμε επικοινωνήστε μαζί μας. |
Wrong not changed Password | Το σύστημα σας ζητά να αλλάξετε τον κωδικό του λογαριασμού σας. Μπορείτε να το κάνετε μέσω Web. |
not permitted, please contact us | Επικοινωνήστε μαζί μας αν σας εμφανίζει αυτό το μήνυμα σφάλματος. |
not active account | Δεν είναι ενεργοποιημένος ο λογαριασμό σας, επικοινωνήστε μαζί μας. |
out_of_credits | Δεν έχετε διαθέσιμα sms στο λογαριασμό σας. |
missing text | Δεν έχετε περάσει το κείμενο του sms στην κλήση του SMS API. |
missing originator | Δεν έχετε ορίσει τον αποστολέα κατά την κλήση του SMS API. |
missing to | Δεν έχετε ορίσει παραλήπτες κατά την κλήση του SMS API. |
empty text | Το κείμενο του sms που περάσατε στην κλήση του SMS API είναι κενό. |
sms text > 612 chars | Το κείμενο του μηνύματος υπερβαίνει το όριο των 612 χαρακτήρων (4 συνενωμένα μηνύματα). |
unicode sms text > 268 chars | Το κείμενο του μηνύματος υπερβαίνει το όριο των 268 χαρακτήρων για unicode sms (4 συνενωμένα μηνύματα). |
no valid phone | Το τηλέφωνο του παραλήπτη δεν είναι έγκυρο. |
phones > 100 | Ο αριθμός των τηλεφώνων είναι μεγαλύτερος των 100. |
[http:// ή https://] www.smsbox.gr/httpapi/getreports.php
GET, POST
Παράμετροι | Επεξήγηση |
---|---|
'username' | Τα username και το password είναι αυτά που παίρνετε κατά τη δημιουργία του λογαριασμού σας. |
'password' | Τα username και το password είναι αυτά που παίρνετε κατά τη δημιουργία του λογαριασμού σας. |
'ids' | Η παράμετρος ids είναι τα id των μηνυμάτων (μέχρι 100 χωρισμένα με κόμματα) τα οποία έχει επιστρέψει ο server κατά την αποστολή των μηνυμάτων. |
// Request sending
$url = "http://www.smsbox.gr/httpapi/getreports.php";
$username = 'yourUsername';
$password = 'yourPassword';
$ids = "42841532,42837170";
$postfields = array(
'username' => "$username",
'password' => "$password",
'ids' => "$ids"
);
if (!$curld = curl_init()) {
exit;
}
curl_setopt($curld, CURLOPT_POST, true);
curl_setopt($curld, CURLOPT_POSTFIELDS, $postfields);
curl_setopt($curld, CURLOPT_URL, $url);
curl_setopt($curld, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($curld);
curl_close($curld);
// Handle successful server response
echo "Result: $output";
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
public class SmsboxApiReportsExample {
private static HttpURLConnection con;
public static void main(String[] args) throws IOException {
String url = "http://www.smsbox.gr/httpapi/getreports.php";
String urlParameters = "username=yourUsername&password=yourPassword&ids=72228718,72214270";
byte[] postData = urlParameters.getBytes(StandardCharsets.UTF_8);
try {
URL myurl = new URL(url);
con = (HttpURLConnection) myurl.openConnection();
con.setDoOutput(true);
con.setRequestMethod("POST");
try (DataOutputStream wr = new DataOutputStream(con.getOutputStream())) {
wr.write(postData);
}
StringBuilder content;
try (BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()))) {
String line;
content = new StringBuilder();
while ((line = in.readLine()) != null) {
content.append(line+"\n");
}
}
// Print server response
System.out.print(content.toString());
// Handle some server error response
if (content.toString().equals("missing username/password")) {
System.out.println("Error: Δεν έχετε δώσει όνομα χρήση ή κωδικό στην κλήση του SMS API.");
}
else if (content.toString().equals("wrong username/password")) {
System.out.println("Error: Το όνομα χρήστη ή ο κωδικός δεν είναι σωστός.");
}
} finally {
con.disconnect();
}
}
}
var request = require('request');
// Set the headers
var headers = {
'User-Agent': 'Super Agent/0.0.1',
'Content-Type': 'application/x-www-form-urlencoded'
}
// Configure the request
var options = {
url: 'http://www.smsbox.gr/httpapi/getreports.php',
method: 'POST',
headers: headers,
form: { 'username': 'yourUsername',
'password': 'yourPassword',
'ids':'72228718,72214270'
}
}
// Start the request
request(options, function (error, response, body) {
if (!error && response.statusCode == 200) {
// Print out the response body
console.log(body)
}
else {
console.log("ok: "+body)
}
})
using System;
using System.IO;
using System.Net;
using System.Text;
namespace C_
{
class Program
{
static void Main(string[] args)
{
// Create a request using a URL that can receive a post.
WebRequest request = WebRequest.Create ("http://www.smsbox.gr/httpapi/getreports.php");
// Set the Method property of the request to POST.
request.Method = "POST";
// Create POST data and convert it to a byte array.
string postData = "username=yourUsername&password=yourPassword&ids=72228718,72214270";
byte[] byteArray = Encoding.UTF8.GetBytes (postData);
// Set the ContentType property of the WebRequest.
request.ContentType = "application/x-www-form-urlencoded";
// Set the ContentLength property of the WebRequest.
request.ContentLength = byteArray.Length;
// Get the request stream.
Stream dataStream = request.GetRequestStream ();
// Write the data to the request stream.
dataStream.Write (byteArray, 0, byteArray.Length);
// Close the Stream object.
dataStream.Close ();
// Get the response.
WebResponse response = request.GetResponse ();
// Display the status.
Console.WriteLine (((HttpWebResponse)response).StatusDescription);
// Get the stream containing content returned by the server.
dataStream = response.GetResponseStream ();
// Open the stream using a StreamReader for easy access.
StreamReader reader = new StreamReader (dataStream);
// Read the content.
string responseFromServer = reader.ReadToEnd ();
// Display the content.
Console.WriteLine (responseFromServer);
// Clean up the streams.
reader.Close ();
dataStream.Close ();
response.Close ();
}
}
}
# In Python v3
from urllib.parse import urlencode
from urllib.request import Request, urlopen
# Set destination URL here
url = 'http://www.smsbox.gr/httpapi/getreports.php'
# Set POST fields here
post_fields = { 'username': 'yourUsername',
'password': 'yourPassword',
'ids': '72228718,72214270'
}
request = Request(url, urlencode(post_fields).encode())
json = urlopen(request).read().decode()
print(json)
42837170 1 306947576421
42841532 1 306947992731
Δηλαδή σε κάθε γραμμή υπάρχει το id του μηνύματος, το status και ο αριθμός του παραλήπτη του μηνύματος.
Οι αναφορές θα αποθηκεύονται στον δικό μας server για τουλάχιστον ένα χρόνο, από την ημερομηνία αποστολής.
"Η υπηρεσία αυτή ονομάζεται Call Back URL και προσφέρεται χωρίς επιπλέον χρέωση."
"http://yourserver.gr/getsmsstatus.php"
Για παράδειγμα για το πρώτο μήνυμα, όταν παραδοθεί στο κινητό του παραλήπτη θα καλέσουμε ένα url της μορφής:
"http://yourserver.gr/getsmsstatus.php?id=9534538&status=1"
Το 9534538 είναι το id που σας επέστρεψε ο server όταν στείλατε το μήνυμα και το status 1 σημαίνει ότι το μήνυμα παραδόθηκε στο κινητό του παραλήπτη.
Οι καταστάσεις (status) που σας δίνουμε με τις αναφορές παράδοσης είναι οι εξής:
1: το μήνυμα παραδόθηκε στο κινητό του παραλήπτη (Πετυχημένη Παράδοση SMS)Για να γίνει αυτό καλείτε το api όπως στην αποστολή sms απλά βάζετε μια επιπλέον παράμετρο, την datetosend. Η παράμετρος αυτή θα έχει σαν τιμή την ημερομηνία και την ώρα που θέλετε τελικά να σταλούν τα μηνύματα. Η ημερομηνία/ώρα πρέπει να είναι στο μέλλον και στην παρακάτω μορφή: datetosend=2011-10-29-11:51. Δηλαδή, έτος-μήνας-ημέρα-ώρα:λεπτά.
Αν η ημερομηνία που δώσετε έχει περάσει, τα μηνύματα δεν στέλνονται και ο server σας επιστρέφει : "past date"
"http://www.smsbox.gr/httpapi/sendsms.php?
username=yourUsername&password=yourPassword&text=my second sms&from=mysite&to=6971231231,306991231231,6931231231&datetosend=2013-11-26-10:26"
Sessionid 231055
10 49858279 306971231231
10 49858280 306991231231
10 49858281 306931231231
10 49858282 306941231231
Δηλαδή στην πρώτη γραμμή υπάρχει το Sessionid που είναι ένας μοναδικός αριθμός, αφορά όλα τα μηνύματα της συγκεκριμένης κλήσης (1-100) και υπάρχει αν χρειαστεί ο χρήστης να ακυρώσει την προγραμματισμένη αυτή αποστολή πριν βέβαια σταλεί. Μετά σε κάθε γραμμή υπάρχει ο αριθμός 10, το id του μηνύματος και ο αριθμός του παραλήπτη. Ο αριθμός 10 σημαίνει ότι έχει γίνει σωστά ο προγραμματισμός του μηνύματος.
Για να ακυρώσετε κάποια προγραμματισμένα μηνύματα, χωρίς βέβαια να χρεωθείτε για αυτά, πρέπει να έχετε αποθηκεύσει το sessionid που αναφέρεται παραπάνω.
[http:// ή https://] www.smsbox.gr/httpapi/cancelsms.php
GET, POST
Παράμετροι | Επεξήγηση |
---|---|
'username' | Τα username και το password είναι αυτά που παίρνετε κατά τη δημιουργία του λογαριασμού σας. |
'password' | Τα username και το password είναι αυτά που παίρνετε κατά τη δημιουργία του λογαριασμού σας. |
'sessionid' | Το sessionid που σας έχει επιστρέψει ο server όταν κάνατε την κλήση SMS API για προγραμματισμένη αποστολή sms. |
"http://www.smsbox.gr/httpapi/cancelsms.php?username=yourUsername&password=yourPassword&sessionid=231055"
Ο server επιστρέφει 1 αν γίνει η ακύρωση και 0 αν δεν γίνει (πχ λάθος sessionid ή ήδη ακυρωμένα sms).
Επίσης για να δείτε τα προγραμματισμένα μηνύματα μπορείτε να κάνετε login στον λογαριασμό σας, από το web στο smsbox.gr και να πατήσετε στο “προγραμματισμένα sms”. Από εκεί μπορείτε επίσης, πατώντας στο Χ , να ακυρώσετε τα προγραμματισμένα μηνύματα.
[http:// ή https://] www.smsbox.gr/httpapi/getbalance.php
GET, POST
Παράμετροι | Επεξήγηση |
---|---|
'username' | Τα username και το password είναι αυτά που παίρνετε κατά τη δημιουργία του λογαριασμού σας. |
'password' | Τα username και το password είναι αυτά που παίρνετε κατά τη δημιουργία του λογαριασμού σας. |
"http://www.smsbox.gr/httpapi/getbalance.php?username=yourUsername&password=yourPassword"
O server θα σας επιστρέψει έναν αριθμό που είναι το υπόλοιπο του λογαριασμού σας σε sms.
Μπορείτε αν θέλετε, να μην βάζετε σε κάθε κλήση της sendsms.php τις
παραμέτρους username και password.
Για να γίνει αυτό θα πρέπει να καλέσετε
πριν
την auth.php με παραμέτρους το
username και password:
[http:// ή https://] www.smsbox.gr/httpapi/auth.php
GET, POST
Παράμετροι | Επεξήγηση |
---|---|
'username' | Τα username και το password είναι αυτά που παίρνετε κατά τη δημιουργία του λογαριασμού σας. |
'password' | Τα username και το password είναι αυτά που παίρνετε κατά τη δημιουργία του λογαριασμού σας. |
"https://www.smsbox.gr/httpapi/auth.php?username=yourUsername&password=yourPassword"
O server θα επιστρέψει ένα κλειδί (sesskey) στην μορφή: ΟΚ ab23523c90349d2340v0a09
Το ab23523c90349d2340v0a09 είναι το sesskey. Αυτό το κλειδί είναι ενεργό για 2 ώρες.
Στην συνέχεια μπορείτε να στείλετε sms απλά χρησιμοποιώντας το sesskey αντί για username, password στην sendsms.php,
"http://www.smsbox.gr/httpapi/sendsms.php?sesskey=ab23523c90349d2340v0a09&text=x&from=x&to=x"
Το ίδιο μπορεί να γίνει και με τις getbalance.php και getreports.php. Κάθε φορά που καλείται μια από αυτές ανανεώνεται ο χρόνος των 2 ωρών για το κλειδί.