WebMoney

Wiki

INDX API Tools

Метод Tools (Список инструментов биржи).

  • параметры запроса:
    название назначение примечание
    Login логин трейдера получен трейдером на странице доступа к API и используется для подписи запросов к Интернет-бирже
    Wmid Wmid трейдера WM идентификатор трейдера при работе с Интернет-биржей
    Culture язык запроса определяет язык сообщения. (ru-RU, en-EN)
    Signature подпись запроса формируется из параметров: Login+ ';' + Password+ ';' + Culture
  • формат ответа:
    {"code":0,"desc":"","value":[{"ID":0,"Name":""},{"ID":1,"Name":""},{"ID":2,"Name":""}]}
    
  • параметры ответа:
    название назначение примечание
    code код состояния или ошибки 0 - запрос выполнен успешно
    desc текстовое описание ошибки "строка от 0 до 255 символов, кодировка win-1251"
    value результат содержит ответ взависимости от метода вызова
    ID номер инструмента используется для обращения к инструментам в методах: HistoryTrading, HistoryTransaction, OfferMy и т.д.
    Name название инструмента строка от 0 до 255 символов, кодировка win-1251
  • код выполнения запроса:
    код возврата описание
    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 RequestTools = new { Login = login,  Culture = culture, Signature = HashToBase64(String.Format("{0};{1};{2}", login, password, culture), null) };
          Response = ITServiceJson.Tools(IndxWebsite.Api.V1.Lib.Trade.ForceJson(RequestTools));
    
        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));
        }