Εκτός από την web εφαρμογή που προσφέρει πολλές δυνατότητες και εμπλουτίζεται με τον καιρό, υπάρχει και μια εναλλακτική δυνατότητα αποστολής SMS, μέσω HTTP API.
Ο χρήστης λοιπόν, μπορεί μέσω HTTP requests να αποστέλει τα SMS του (μέσω φυσικά του account που έχει ήδη δημιουργήσει στο liveall.eu) από άλλες εφαρμογές (c#, java, php, jscript, visual basic κοκ) και να μπορεί επιπλέον να έχει και αναφορά για το κάθε SMS, βάσει του μοναδικού ID που επιστρέφεται από το web service κατά την αποστολή του SMS. Οι κλήσεις στο HTTP API γίνονται κατά κόρον από web-sites, e-shops και εφαρμογές desktop ή web.
Για τη περίπτωση που θέλετε να στέλνετε πάνω από 1 SMS (μαζικά) ανά κλήση, αλλά με διαφορετικό κείμενο για τον κάθε αριθμό που στέλνετε, σας προτείνουμε να χρησιμοποιήσετε το API με JSON HTTP requests, όπως φαίνεται εδώ.
Για την αποστολή μέσω HTTP API, χρησιμοποιείτε το παρακάτω URL με POST requests:
https://sms.liveall.eu/apiext/Sendout/SendSMS
Οι μεταβλητές που μπορείτε να χρησιμοποιήσετε είναι οι παρακάτω:
Μεταβλητή | Περιγραφή |
---|---|
apitoken | Ένα μοναδικό hash code που δημιουργείται αυτόματα για κάθε λογαριασμό και αποτελεί την ταυτότητά σας για κάθε request. Τον κωδικό αυτό μπορείτε να τον βρείτε στο λογαριασμό σας και στην web εφαρμογή. |
destination |
Νούμερο κινητού, πχ. για Ελλάδα 306912345678, δηλαδή χωρίς μηδενικά ή το σύμβολο + μπροστά. Αν θέλουμε να στείλουμε το ίδιο μήνυμα σε περισσότερους αποδέκτες, τότε σε αυτό το πεδίο βάζουμε όλους τους αριθμούς που θέλουμε να στείλουμε, χωρισμένους με κάποιος delimiter, πχ.
; ΠΡΟΣΟΧΗ! Συστήνεται, όταν θέλετε να στείλετε SMS σε πολλά νούμερα, να στέλνετε με μία μόνο κλήση, και να παραθέτετε τους αριθμούς σε αυτό το πεδίο, χωρισμένους με τον delimiter. Θα αποσταλλούν πολύ πιο γρήγορα. |
senderid | Όνομα αποστολέα. Μέγιστο πλάτος 11 λατινικούς χαρακτήρες. |
message | Το κείμενο το SMS |
sendon [optional] |
(ΠΡΟΕΡΑΙΤΙΚΟ) - Χρονοπρογραμματισμός - Η μεταβλητή αυτή είναι τύπου unsigned integer και ορίζετε την ημερομηνία και ώρα που θέλετε να σταλεί το SMS. Η ώρα και ημερομηνία είναι τύπου unix timestamp και περισσότερα μπορείτε να βρείτε στο παρακάτω link: https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_unix-timestamp Έτσι, πχ. αν θέλουμε να ορίσουμε σαν ημερομηνία αποστολής την 2016-07-06 12:17:45, η τιμή που θα δώσουμε είναι η: 1467796665 |
pricecat [optional] | Με αυτή τη μεταβλητή επιλέγετε μεταξύ κανονικής τιμολογιακής κατηγορίας - route και εναλλακτικών τιμ. κατηγοριών (πχ. low cost routing). Αν ορίσετε 0 ή δεν συμπεριλάβετε καθόλου αυτή την παράμετρο, το σύστημα θα στέλνει με την κανονική τιμή. Αν ορίσετε 1, το σύστημα θα στέλνει με την low cost τιμή. Οι προορισμοί που υποστηρίζουν low cost φαίνονται στον τιμοκατάλογο του site και στη σελίδα με τις πληροφορίες σχετικά με τις τιμολογιακές κατηγορίες. |
Μπορείτε να κάνετε τις δοκιμές σας και να ελέγξετε την ορθότητα των http request που στέλνετε από την εφαρμογή σας, συγκρίνοντάς την με αυτά που στέλνει η
σελίδα δοκιμών του HTTP API.
Σε περίπτωση σφάλματος, η μορφή του αποτελέσματος είναι η ακόλουθη:
Error: <Error code> - <Error message>
όπου:
Και σε περίπτωση επιτυχίας, για έναν αριθμό:
OK ID:123456789
και για 2 ή περισσότερους:
OK ID:123456787|OK ID:123456788|OK ID:123456789
Για να ελέγξετε το status του απεσταλμένου SMS, πρέπει να γίνει ένα επίσης POST REQUEST στο endpoint:
https://sms.liveall.eu/apiext/Sendout/GetSMSStatus
Οι μεταβλητές που εισάγουμε σε αυτό το URL είναι:
Μεταβλητή | Περιγραφή |
---|---|
apitoken | Ένα μοναδικό hash code που δημιουργείται αυτόματα για κάθε λογαριασμό και αποτελεί την ταυτότητά σας για κάθε request. Τον κωδικό αυτό μπορείτε να τον βρείτε στο λογαριασμό σας και στην web εφαρμογή. |
smsids |
Παραθέτετε το(α) smsid(s) από τις αποστολές σε αριθμούς, που θέλετε να ελέγξετε. Στην περίπτωση ενός SMS ID, απλώς δίνουμε τον αριθμό που έχουμε λάβει από την αποστολή με τον endpoint apiext/Sendout/SendSMS. Στην περίπτωση που θέλουμε να ελέγξουμε περισσότερες αποστολές - αριθμούς, εκεί παραθέτουμε τα sms ids χωρισμένα με κάποιο delimiter (ισχύει το ίδιο όπως και για την αποστολή) |
Σε περίπτωση σφάλματος, η μορφή του αποτελέσματος είναι όπως εδώ
Και σε περίπτωση επιτυχίας, το αποτέλεσμα (για ένα SMS) θα είναι όπως το παρακάτω:
<SMSId>:<Submtited On>:<Last status datetime>:<Destination number>:<Status number>:<Status text>:<Quantity of SMS>:<Charge amount>
Για παράδειγμα:
20817547:1465021934:1465021977:306912456789:200000:Delivered:1:0.0379
ΣΗΜΕΙΩΣΗ: Για την περίπτωση που δώσετε πάνω από 1 SMS ID, θα πάρετε σαν αποτέλεσμα σαν το παραπάνω, με τη διαφορά ότι, θα είναι χωρισμένα με το σύμβολο | :
20817547:1465021934:1465021977:306912456789:200000:Delivered:1:0.0379|20818326:1467226402:0:306912345789:100007:Queued:1:0
Παρακάτω εξηγούνται τα μέρη του αποτελέσματος:
Μεταβλητή | Περιγραφή |
---|---|
SMSId [Integer] | Το ID του SMS που αναζητούμε |
Submited On [Integer] | Ημερομηνία και ώρα αποστολής του SMS. Είναι της μορφής unix timestamp, όπως εξηγείται εδώ |
Last status datetime [Integer] | Τελευταία ώρα-ημερομ. του status του SMS. Είναι της μορφής unix timestamp, όπως εξηγείται εδώ |
Destination number [String] | Νούμερο αποστολής |
Status number [Integer] | Αριθμός που υποδηλώνει το status του SMS. |
Status description [String] | Περιγραφή που υποδηλώνει το status του SMS. |
Quantity of SMS [Integer] | Αριθμός SMS που χρεώθηκαν |
Charge amount [float] | Ποσό που χρεώθηκε στο SMS. |
Για τον έλεγχο του account balance (διαθέσιμο υπόλοιπο χρημάτων και αριθμός sms) πρέπει να κάνετε ένα POST request στο:
https://sms.liveall.eu/apiext/Sendout/GetAccountBalance
Οι απαιτούμενες μεταβλητές για την κλήση αυτού του webservice είναι:
Μεταβλητή | Περιγραφή |
---|---|
apitoken | Ένα μοναδικό hash code που δημιουργείται αυτόματα για κάθε λογαριασμό και αποτελεί την ταυτότητά σας για κάθε request. Τον κωδικό αυτό μπορείτε να τον βρείτε στο λογαριασμό σας και στην web εφαρμογή. |
countryprefix [optional] | Ο Κωδικός χώρας για τον οποίο θέλετε να ελέγξετε πόσα διαθέσιμα SMS έχετε. Ορίζοντας αυτή τη παράμετρο, από τη διαίρεση του ποσού που έχουμε στο λογαριασμό μας δια της τιμής του SMS γι' αυτή τη χώρα, βρίσκουμε το πόσα SMS έχουμε υπόλοιπο (normal Á low cost). |
Οι πιθανές απαντήσεις του webservice είναι:
OK Balance:169.64|SmsRemainCount:-1|LCSmsRemainCount:-1
OK Balance:169.64|SmsRemainCount:4475|LCSmsRemainCount:5317
σε περίπτωση επιτυχίας, όπου:
Balance | το ποσό που υπάρχει στο λογαριασμό σας |
SmsRemainCount | τα SMS που απομένουν για τη χώρα που ρωτάτε - Να σημειωθεί πως αν δεν έχετε βάλει κάποιο πρόθεμα ή το πρόθεμα της χώρας είναι λάθος, τότε το σύστημα σας επιστρέφει την τιμή -1. |
LCSmsRemainCount | τα Low cost SMS που απομένουν. |
Σε περίπτωση σφάλματος, η μορφή του αποτελέσματος είναι όπως εδώ
Το API σας δίνει τη δυνατότητα να εξάγετε τα απεσταλμένα SMS για κάποια ημερομηνία, συν τη δυνατότητα να ορίσετε κάποια επιπλέον φίλτρα. Για να το πετύχετε αρκεί να κάνετε ένα POST web request στο URL:
https://sms.liveall.eu/apiext/Sendout/GetSMSHistory
Οι απαιτούμενες και προεραιτικές μεταβλητές είναι οι παρακάτω:
Μεταβλητή | Περιγραφή |
---|---|
apitoken (string) | Ένα μοναδικό hash code που δημιουργείται αυτόματα για κάθε λογαριασμό και αποτελεί την ταυτότητά σας για κάθε request. Τον κωδικό αυτό μπορείτε να τον βρείτε στο λογαριασμό σας και στην web εφαρμογή. |
submit_date (string) | Η ημερομηνία που θέλουμε να ανακτήσουμε από το ιστορικό. Πρέπει να είναι της μορφής yyyyMMdd, όπου yyyy: έτος με 4 ψηφία, MM: μήνας με 2 ψηφία και dd ημέρα του μήνα με 2 ψηφία. Για παράδειγμα για 25 Μαρτίου 2020 ορίζουμε: 20200325 |
timezone_offset (integer) [optional] | Το timezone offset που βρισκόμαστε. Αν είμαστε στην Ελλάδα αυτό δεν χρειάζεται να το ορίσετε. Αν βρισκόμαστε σε διαφορετικό timezone, πχ. στη Ρώμη, αυτό θα πρέπει να είναι 1 για χειμερινή ώρα και 2 για θερινή. Αν είμαστε στη Νέα Υόρκη θα πρέπει να το ορίσουμε στην τιμή -5 για χειμερινή και -4 για θερινή ώρα |
senderid (string) [optional] | Όνομα αποστολέα |
destination (string) [optional] | νούμερο κινητού που θέλουμε να φιλτράρουμε |
sms_id (integer) [optional] | κάποιο συγκεκριμένο sms id |
batch_id (integer) [optional] | batch id κάποιας αποστολής που έχει σταλεί |
gt_sms_id (integer) [optional] | αν ορίσουμε κάποιο sms id σε αυτό το πεδίο τότε θα λάβουμε τα sms με sms id μεγαλύτερο από αυτό. Αν για παράδειγμα χωρίς φίλτρα υπάρχουν τα SMS με ιδ 1, 2, 3, 4, 5 και ορίσουμε στο gt_sms_id τιμή 3, τότε θα λάβουμε μόνο τα 4 και 5 |
Σε περίπτωση επιτυχίας το web-service θα επιστρέψει τόσες γραμμές όσα SMS έχουν βρεθεί. Αν δεν υπάρχει κανένα, τότε δε θα υπάρχει κάποια γραμμή.
οι γραμμές χωρίζονται με το χαρακτήρα \n
Σε περίπτωση σφάλματος έχουμε 2 περιπτώσεις.
Η μορφή του αποτελέσματος είναι όπως παρακάτω:
47680777|8350040|terracom|306912345678|1585742558|Delivered|1|0.0379|UNDEFINED 47680768|8350041|Liveall.eu|306912345679|1585742462|Delivered|1|0.0379|UNDEFINED
Επεξήγηση στηλών αποτελεσμάτων - το κάθε πεδίο χωρίζεται με το χαρακτήρα |