WebMoney

Wiki

INDX API HistoryTrading

Метод HistoryTrading (История торгов Трейдера).

  • URL для передачи запроса – https://secure.indx.ru/api/v1/tradejson.asmx
  • метод – POST
  • accept types: text/json
  • формат запроса:
      {"Login":"","Wmid":"","Culture":"","Signature":"","Trading":{"ID":0,"DateStart":"","DateEnd":""}}
    
  • параметры запроса:
    название назначение примечание
    Login логин трейдера получен трейдером на странице доступа к API и используется для подписи запросов к Интернет-бирже
    Password пароль трейдера получен трейдером на странице доступа к API и используется для подписи запросов к Интернет-бирже
    Wmid Wmid трейдера WM идентификатор трейдера при работе с Интернет-биржей
    Culture язык запроса определяет язык сообщения. (ru-RU, en-EN)
    Signature подпись запроса формируется из параметров: Login + ';' + Password + ';' + Culture + ';' + Wmid + ';' + ID + ';' + DateStart + ';' + DateEnd
    Trading критерии отбора применяется для поиска торгов по номеру инструмента с указанием временного интервала
    ID номер инструмента применяется для поиска инструмента
    DateStart начальная дата временной интервал, формат YYYYMMDD, где YYYY – число года, MM – число месяца, DD – число дня
    DateEnd конечная дата временной интервал, формат YYYYMMDD, где YYYY – число года, MM – число месяца, DD – число дня
  • формат ответа:
    {"code":0,"desc":"","value":[{"ID":,"Stamp":"","Name":"","IsBid":1,"Count":10,"Price":0.1300},...{"ID":,"Stamp":"","Name":"","IsBid":1,"Count":10,"Price":0.1300}]}
    
  • параметры ответа:
    название назначение примечание
    code код состояния или ошибки 0 - запрос выполнен успешно (остальные значения в таблице код выполнения запроса)
    desc текстовое описание ошибки "строка от 0 до 255 символов, кодировка win-1251"
    value результат содержит ответ взависимости от метода вызова
    ID номер инструмента задается целым десятичным числом и содержит не более 18 цифр
    Stamp дата и время проведения операции формат: 11/18/2012 9:33 AM
    Name название инструмента "строка от 0 до 255 символов, кодировка win-1251"
    IsBid тип операции задается целым десятичным числом, 1 -покупка, 0 - продажа
    Count количество количество купленных или проданных инструментов
    Price цена цена за одну единицу купленного или проданного инструмента
  • код выполнения запроса:
    код возврата описание
    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 =     protected int toolID = указать номер инструмента (Метод Tools);
        protected string DateStart = "20110101";
        protected string DateEnd = "20140101";
    
       var RequestHistoryTrading = new { Login = login, Wmid = wmid, Culture = culture, Signature = HashToBase64(String.Format("{0};{1};{2};{3};{4};{5};{6}", login, password, culture, wmid, toolid, datestart, dateend), null), 
                                                      Trading = new { ID = id, DateStart = datestart, DateEnd = dateend } };
          Response = ITServiceJson.HistoryTrading(ForceJson(RequestHistoryTrading));
    
        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));
        }
      
  • тестовая страница: JavaScript, C#: