WebMoney

Wiki

INDX API Balance

Метод Balance (Текущий баланс Трейдера).

  • параметры запроса:
    название назначение примечание
    Login логин трейдера получен трейдером на странице доступа к API и используется для подписи запросов к Интернет-бирже
    Password пароль трейдера получен трейдером на странице доступа к API и используется для подписи запросов к Интернет-бирже
    Wmid Wmid трейдера WM идентификатор трейдера при работе с Интернет-биржей
    Culture язык запроса определяет язык сообщения. (ru-RU, en-EN)
    Signature подпись запроса формируется из параметров: Login+ ';' + Password+ ';' + Culture+ ';' +Wmid
  • формат ответа:
    {"code":0,"desc":"Success","value":{"WMID":"","Nickname":","Balance":{"Price":0,"Wmz":0},"Portfolio":[{"Name":"","Count":0,"AveragePrice":0},{"Name":"","Count":0,"AveragePrice":0}]}}
    
  • параметры ответа:
    название назначение примечание
    code код состояния или ошибки 0 - запрос выполнен успешно (остальные значения в таблице код выполнения запроса)
    desc текстовое описание ошибки "строка от 0 до 255 символов, кодировка win-1251"
    value результат содержит ответ взависимости от метода вызова
    WMID Wmid трейдера "строка 12 символов, кодировка win-1251"
    Nickname ник трейдера строка от 0 до 255 символов, кодировка win-1251
    Balance баланс трейдера текущий баланс трейдера на Интернет-бирже, состоящий с цены портфеля (price) и суммы на счету (wmz)
    Portfolio портфель трейдера список принадлежащих инструментов трейдера с указанием названия, количества и средней цены покупки)
  • код выполнения запроса:
    код возврата описание
    0 запрос выполнен успешно
    -1 сервис остановлен
    -2 доступ запрещен
    -3 ошибочный WMID Трейдера
    -4 подпись запроса сформирована не верно
    -5 не корректная дата
    -6 не существующий номер инструмента
    -7 вызов веб сервиса завершился ошибкой
    -8 внутренняя ошибка
    -9 неизвестная ошибка.
    -10 неизвестная ошибка
  • пример C#:
        protected string Login= "Получить на странице доступа к API";
        protected string Password = ""Получить на странице доступа к API";
        protected string Culture ="ru-RU";
    
        var RequestBalance = new { Login = login, Wmid = wmid, Culture = culture, Signature = HashToBase64(String.Format("{0};{1};{2};{3}", login, password, culture, wmid), null)};
        string Response = ITServiceJson.Balance(ForceJson(RequestBalance));
    
        static public string ForceJson(object res)
        {
            JavaScriptSerializer js = new JavaScriptSerializer();
            return ( js.Serialize(res) ); 
        }
    
        static public byte[] Hash(string plainString, Encoding encoding)
        {
          if (plainString == null)
            throw new ArgumentNullException("plainString");
    
          if (encoding == null)
            encoding = Encoding.UTF8;
    
          return Hash(encoding.GetBytes(plainString));
        }
    
        static public byte[] Hash(byte[] bytes)
        {
          if (bytes == null)
            throw new ArgumentNullException("bytes");
          using (SHA256 algorithm = new SHA256Managed())
          {
            byte[] hashBytes = algorithm.ComputeHash(bytes);
            return hashBytes;
          }
        }
    
        public string HashToBase64(string plainString, Encoding encoding)
        {
          if (plainString == null) throw new ArgumentNullException("plainString");
          return Convert.ToBase64String(Hash(plainString, encoding));
        }