Οδηγίες για SMS HTTP API

Εκτός από την web εφαρμογή που προσφέρει πολλές δυνατότητες και εμπλουτίζεται με τον καιρό, υπάρχει και μια εναλλακτική δυνατότητα αποστολής SMS.

Μέσω HTTP API.

Ο χρήστης λοιπόν, μπορεί μέσω HTTP requests να αποστέλει τα SMS του (μέσω φυσικά του account που έχει ήδη δημιουργήσει στο SenditNow.gr) από άλλες εφαρμογές (c#, java, php, jscript, visual basic κοκ) και να μπορεί επιπλέον να έχει και αναφορά για το κάθε SMS, βάσει του μοναδικού ID που επιστρέφεται από το web service κατά την αποστολή του SMS.

 

Η κλήση του web service γίνεται μέσω του παρακάτω url:

http://www.senditnow.gr/webservice/sms/sendSMSHTTP.php

 Σε αυτό, με GET request προσθέτουμε και τις απαραίτητες μεταβλητές που είναι οι εξής:

  1. username [alphanumeric] - όνομα χρήστη που έχετε στο SenditNow.gr
  2. password [alphanumeric] - κωδικός χρήστη για το SenditNow.gr
  3. destination [alphanumeric] - Νούμερο κινητού, πχ. για Ελλάδα 306912345678, δηλαδή χωρίς μηδενικά ή το σύμβολο + μπροστά.
  4. sender [alphanumeric] - Όνομα αποστολέα. Μέγιστο πλάτος 11 χαρακτήρες. Δεν επιτρέπεται να είναι τηλ νούμερο.
  5. message [alphanumeric] - Το κείμενο του μηνύματος SMS που θέλετε να στείλετε. Υπόψιν, πως το κείμενο πρέπει να είναι url encoded. Μπορείτε να γράψετε λατινικούς και ελληνικούς χαρακτήρες (πάντα με url encode).
  6. batchuserinfo [alphanumeric(64) - προεραιτικό] - Πεδίο που ο χρήστης - αποστολέας καταχωρεί οποιαδήποτε πληροφορία και αυτό χρησιμεύει στα reports. Μέγιστο μήκος 64 χαρακτήρες
  7. pricecat [integer - προεραιτικό] - Με αυτή τη μεταβλητή επιλέγετε μεταξύ κανονικής τιμολογιακής κατηγορίας - route και εναλλακτικών τιμ. κατηγοριών (πχ. low cost routing). Αν ορίσετε 0 ή δεν συμπεριλάβετε καθόλου αυτή την παράμετρο, το σύστημα θα στέλνει με την κανονική τιμή. Αν ορίσετε 1, το σύστημα θα στέλνει με την low cost τιμή. Οι προορισμοί που υποστηρίζουν low cost φαίνονται στον τιμοκατάλογο του site και στη σελίδα με τις πληροφορίες σχετικά με τις τιμολογιακές κατηγορίες.

Ένα παράδειγμα των παραπάνω είναι:

http://www.senditnow.gr/webservice/sms/sendSMSHTTP.php?username=myusername&password=mypass&
destination=306912345678&sender=MyName&message=Hello%20there


Το παραπάνω request, σε περίπτωση επιτυχίας, θα μας επιστρέψει:

OK ID:<SMS HTTP request ID>

όπου <SMS HTTP request ID> [integer], είναι το μοναδικό ID που αντιστοιχεί σε αυτό το SMS.

ένα παράδειγμα:

OK ID:1234

Σε περίπτωση αποτυχίας λαμβάνουμε κάποιο από τα εξής παρακάτω μηνύματα:

  • Internal Error.
  • Invalid destination or Destination not covered.
  • System error. Please retry.

 

Για τον έλεγχο του status του απεσταλμένου SMS, πρέπει να κάνουμε επίσης ένα GET request στο:

http://www.senditnow.gr/webservice/sms/getSMSStatus.php

Οι μεταβλητές που εισάγουμε σε αυτό το url είναι:

  1. SMSId [integer] - Το ID που μας επέστρεψε το web service κατά την αποστολή του SMS με HTTP API.
  2. username [alphanumeric] - Το username που έχετε στο SenditNow.gr
  3. password [alphanumeric] -Το password για το παραπάνω username

Έτσι, ένα παράδειγμα αποστολής φαίνεται αμέσως παρακάτω:

http://www.senditnow.gr/webservice/sms/getSMSStatus.php?SMSId=1111&usern...

Το αποτέλεσμα αυτής της κλήσης είναι είτε κάποιο μήνυμα λάθους όπως:

  • Error: 1012 - User authendication failure. Username and/or password mismatch.
  • Error: 1027 - No SMS ID given.
  • Error: 1028 - No valid parameters given.

ή ένας πίνακας από τιμές χωρισμένες με τον χαρακτήρα [:], που περιέχει όλα τα στοιχεία της κατάστασης του SMS. Συγκεκριμένα:

<SMSId>:<Submtited On>:<Destination number>:<Delivered On>:<Status number>:<Quantity of SMS>:<Charge amount>

 πχ. 2345:20101212152514:306912345678:20101212152519:2048:1:0.057

  1. SMSId [Integer] - Το ID του SMS που αναζητούμε.
  2. Submited On [String] - Ημερομηνία και ώρα αποστολής του SMS. Είναι της μορφής YYYYMMDDHHmmSS [YYYY:year, MM:month 00~12, DD:day of month 00~31, HH:hour 00~24, mm:minutes 00~59, SS:seconds 00~59].
  3. Destination number [String] - Νούμερο αποστολής.
  4. Delivered On [String] - Ημερομηνία και ώρα παράδοσης του SMS. Είναι της μορφής YYYYMMDDHHmmSS [YYYY:year, MM:month 00~12, DD:day of month 00~31, HH:hour 00~24, mm:minutes 00~59, SS:seconds 00~59].
  5. Status number [Integer] - Αριθμός που υποδηλώνει το status του SMS. Πιθανές τιμές:
    • 1: Queued
    • 2: Queued on SMSC
    • 4: Waiting Validation
    • 8: Unknown subscriber
    • 16: Temporary unavailable
    • 32: Pending
    • 64: Undelivered
    • 128: Expired
    • 256: Non-Delivered to SMSC
    • 512: Error
    • 1024: Unknown error
    • 2048: Delivered
    • 16384: HLR Sent
    • 32768: HLR Completed
  6. Quantity of SMS [Integer] - Αριθμός SMS που χρεώθηκαν
  7. Charge amount [float] - Ποσό που χρεώθηκε στο SMS.

 

Για τον έλεγχο του account balance (διαθέσιμο υπόλοιπο χρημάτων και αριθμός sms) πρέπει να κάνουμε ένα GET request στο:

http://www.senditnow.gr/webservice/sms/getAccountBalance.php
 

Οι απαιτούμενες μεταβλητές για την κλήση αυτού του webservice είναι:

  • username [alphanumeric] - Το username σας για το SenditNow.gr
  • password [alphanumeric] - Το password
  • countryprefix [alphanumeric] - (προεραιτικό) Το πρόθεμα της χώρας για την οποία θέλετε να ελέγξετε το υπόλοιπο της ποσότητας των sms που μένουν ακόμη στο λογαριασμό σας. πχ. Αν δώσε σαν countryprefix το 30 (πρόθεμα Ελλάδας) και έχετε υπόλοιπο 112.90€ και η τιμή του SMS για Ελλάδα είναι 0.024, τότε το webservice θα σας επιστρέψει 4704 διαθέσιμα SMS.

 Οι πιθανές απαντήσεις του webservice είναι:

Status: 1000 - Balance:BalanceInEuro|SmsRemainCount:RemainingSMSCount
 
 σε περίπτωση επιτυχίας, όπου
  • BalanceInEuro, είναι το ποσό που υπάρχει στο λογαριασμό σας
  • RemainingSMSCount, τα SMS που απομένουν για τη χώρα που ρωτάτε - Να σημειωθεί πως αν δεν έχετε βάλει κάποιο πρόθεμα ή το πρόθεμα της χώρας είναι λάθος, τότε το σύστημα σας επιστρέφει την τιμή -9999.

 ενώ σε περίπτωση αποτυχίας οι πιθανές απαντήσεις μπορεί να είναι:

Error: 1001 - No username given.

Error: 1002 - No password given.

Ένα παράδειγμα φαίνεται αμέσως πιο κάτω:

http://www.senditnow.gr/webservice/sms/getAccountBalance.php?username=myusername&password=pass%40%24&countryprefix=30
 
Μη ξεχνάτε οι παράμετροι που δίνετε στο webservice να είναι πάντα url encoded. Προσέξτε σε αυτό το παράδειγμα το url encoded password.
 
 

Powered by Terracom

Positive SSL