string api_key = project.Variables["api_key"].Value; // ключ АПИ
bool showInPoster = true; // показывать сообщения в ZennoPoster (true - да, false - нет)
string url = string.Format("http://sms-activate.ru/stubs/handler_api.php?api_key={0}&action=getBalance", api_key);
// GET запрос на получение баланса
string resultRequest = ZennoPoster.HttpGet(url);
// Проверка на удачное получение баланса
if (resultRequest.Contains("ACCESS_BALANCE")) {
double balance = double.Parse(resultRequest.Split(':')[1].Replace(".", ","));
// Проверка баланса (если баланс меньше X рублей)
if (balance < 30) {
project.SendWarningToLog("Недостаточный баланс", showInPoster);
throw new Exception();
}
project.SendInfoToLog("Баланс: " + balance.ToString().Replace(",", ".") + " руб.", showInPoster);
return balance;
}
// Проверка на возможные ответы сервиса и ошибки
switch (resultRequest) {
case "BAD_KEY":
project.SendErrorToLog("Неверный API-ключ", showInPoster);
throw new Exception();
case "ERROR_SQL":
project.SendErrorToLog("Закончился баланс", showInPoster);
throw new Exception();
default:
project.SendErrorToLog("Неизвестная ошибка при запросе баланса", showInPoster);
throw new Exception();
}