sms bounty luosimao yql

JavaScript

// Luosimao via YQL

var LuosimaoSMS = (function($) {

  var apiKey = '26b3f6cfe7313aab10cb4204fc1689ec'; // Use your own key here
  var endpoint = 'http://sms-api.luosimao.com/v1/send.json';

  var yqlTable = 'http://kuagoso.b0.upaiyun.com/aux-files-dom/yql.auth.basic.xml';

  var sendMessage = function(to, body, successCallback, failCallback) {
    var postData = 'mobile=' + to + '&message=' + encodeURIComponent(body);

    $.getJSON("https://query.yahooapis.com/v1/public/yql", {
        q: 'USE "' + yqlTable + '" AS basicauth;' +
          'select * from basicauth where url="' + endpoint + '" ' +
          ' and username="api" and password="key-' + apiKey + '" ' +
          ' and postdata="' + postData + '"',
        format: "json",
        //debug: true,
        //diagnostics: true
      })
      .done(function(data) {
        console.log("Response JSON: " + JSON.stringify(data.query.results));
        
        // Check error code
        if (!data || 
        	data.query.results.json && data.query.results.json.error != 0) {
          if (typeof failCallback == 'function') {
            failCallback(data);
          }
        }
        else if (typeof successCallback == 'function') {
          successCallback(data.query.results.json);
        }
      })
      .fail(function() {
        console.log("Fail: %o", arguments);

        if (typeof failCallback == 'function') {
          failCallback(arguments);
        }
      });

  }; //sendMessage

  return {
    sendMessage: sendMessage
  };

})(jQuery);


// USAGE

LuosimaoSMS.sendMessage(
  '18600847083',
  'Send message use luosimao!【luosimao】',

  function ok() {
    console.log("Message sent!");
  },
  function fail() {
    console.log("Failed to send your message!");
  }
);