WebMoney

Wiki

INDX API OfferList

Метод OfferList (Список текущих заявок по инструменту на покупку/продажу на бирже).

  • URL для передачи запроса – https://secure.indx.ru/api/v1/tradejson.asmx
  • метод – POST
  • accept types: text/json
  • формат запроса:
      {"Login":"","Wmid":"","Culture":"","Signature":"","Trading":{"ID":0}}
    
  • параметры запроса:
    название назначение примечание
    Login логин трейдера получен трейдером на странице доступа к API и используется для подписи запросов к Интернет-бирже
    Password пароль трейдера получен трейдером на странице доступа к API и используется для подписи запросов к Интернет-бирже
    Wmid Wmid трейдера WM идентификатор трейдера при работе с Интернет-биржей
    Culture язык запроса определяет язык сообщения. (ru-RU, en-EN)
    Signature подпись запроса формируется из параметров: Login+ ';' + Password+ ';' + Culture+ ';' + Wmid + ';' + ID
    Trading критерии отбора применяется для поиска торгов по номеру инструмента с указанием временного интервала
    ID номер инструмента применяется для поиска инструмента
  • формат ответа:
    {"code":0,"desc":"Success","value":[{"Incoming":1,"Price":1.0670,"Count":1,"Nickname":""}..{"Incoming":1,"Price":0.5000,"Count":2,"Nickname":""}]}
    
  • параметры ответа:
    название назначение примечание
    code код состояния или ошибки 0 - запрос выполнен успешно (остальные значения в таблице код выполнения запроса)
    desc текстовое описание ошибки "строка от 0 до 255 символов, кодировка win-1251"
    value результат содержит ответ взависимости от метода вызова
    Incoming тип операции задается целым десятичным числом, 1 -покупка, 0 - продажа
    Price цена цена за одну единицу купленного или проданного инструмента
    Count количество количество купленных или проданных инструментов
    Nickname ник трейдера строка от 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";
        protected string wmid="указать свой WMID Трейдера зарегистрированного на бирже";
        protected int ID = указать номер инструмента (Метод Tools);
        protected string DateStart = "20110101";
        protected string DateEnd = "20140101";
    
        var RequestOfferList = new { Login = login, Wmid = wmid, Culture = culture, Signature =  HashToBase64(String.Format("{0};{1};{2};{3};{4}", login, password, culture, wmid, toolid), null), Trading = new { ID = ID, DateStart = datestart, DateEnd = dateend } };
        Response = ITServiceJson.OfferList(ForceJson(RequestOfferList));
    
        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));
        }