Как получить текст полхого выхода кубика и C# работы с СМС сервисами?

Rk61

Client
Регистрация
03.02.2015
Сообщения
114
Благодарностей
125
Баллы
43
Как получить текст полхого выхода кубика и C# работы с СМС сервисами?

Например хотим получить номер, но денег недостаточно
Получаем выход по красной и такую ошибку:


Вопрос: Как получить этот текст? (project.GetLastError его не берёт)
 

kapelan28

Client
Регистрация
22.09.2015
Сообщения
469
Благодарностей
185
Баллы
43
Как получить текст полхого выхода кубика и C# работы с СМС сервисами?

Например хотим получить номер, но денег недостаточно
Получаем выход по красной и такую ошибку:


Вопрос: Как получить этот текст? (project.GetLastError его не берёт)
знакомая проблема, я написал запросы на API сервисов, без использования встроенных методов Зенки, а там ответы можно и в лог вывести и через регулярки чистить, и условия задавать.
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 100
Баллы
113
Ну да, у стандартных кубиков по работе с SMS сервисами есть некоторые неудобства. В том числе не лишним был бы метод по запросу баланса.
В качестве примера, запрос баланса для сервиса SMS-activate.ru
C#:
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();
}
 

Rk61

Client
Регистрация
03.02.2015
Сообщения
114
Благодарностей
125
Баллы
43
У меня есть сниппеты под нужные мне сервисы, но суть в другом, раз уж сделали кубик и метод для смс сервисов - то нужно же как то обрабатывать ошибки.
Сейчас это невозможно.

Например если нету номеров или недостаточный баланс - кубик и c# выходят по красной.
В логе пишут что именно не так, но я не понял как можно получить эту инфу, что выдают в логе.
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 100
Баллы
113

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)