DebtMart API DebtDetails

Метод DebtDetails - Детали обязательства

Параметры обращения в формате Json:

Параметры обращения в формате Xml:

  • параметры запроса:
    Название Назначение Примечание
    Login Логин Получен на странице доступа к API и используется для подписи запросов к бирже Debtmart
    Password Пароль Получен на странице доступа к API и используется для подписи запросов к бирже Debtmart
    wmid WMID WM идентификатор при работе с бирже Debtmart
    Culture Язык запроса Определяет язык сообщения. (ru-RU, en-EN)
    Signature Подпись запроса Формируется из параметров: Login+ ';' + Password+ ';' + Culture+ ';' +Wmid
    DebtID Номер обязательства Содержит целое десятичное число
  • формат ответа (Json):
    {"code":0,"desc":"Success","value":{"id":0,"ownerwmid":"","wmid":"","debtor":"","date":"","amount":"","max":"","paymernumber":"","tid":100,"isatt":0,"ispsp":0,"isaddres":0,"lastprice":"","passport":"","postaladdress":"","registeraddress":"","mphone":"",
    "email":"","website":"","events":"","offers":[{"wmid":"","percent":"1.00","vol":"0.11"}]}} 
    
  • формат ответа (Xml):
    <Response>
    <сode>0</сode>
    <desc>Success</desc>
    <value>
    <id>0</id>
    <ownerwmid></ownerwmid>
    <wmid></wmid>
    <debtor></debtor>
    <date></date>
    <amount></amount>
    <max></max>
    <paymernumber></paymernumber>
    <tid>100</tid>
    <isatt>0</isatt>
    <ispsp>0</ispsp>
    <isaddres>0</isaddres>
    <lastprice></lastprice>
    <passport></passport>
    <postaladdress></postaladdress>
    <registeraddress></registeraddress>
    <mphone></mphone>
    <email></email>
    <website></website>
    <events></events>
    <offers>
    <wmid></wmid>
    <percent>1.00</percent>
    <vol>0.11</vol>
    </offers>
    </value>
    </Response> 
    
  • параметры ответа:
    Название Назначение Примечание
    code Код состояния или ошибки 0 - запрос выполнен успешно (остальные значения в таблице код выполнения запроса)
    desc Текстовое описание ошибки Содержит строку от 1 до 255 символов
    value Результат содержит ответ в зависимости от метода вызова
    id Номер обязательства Номер обязательства. Содержит целое десятичное число
    ownerwmid WMID WM идентификатор владельца обязательства. Содержит строку 12 символов
    wmid WMID WM идентификатор должника. Содержит строку 12 символов
    debtor ФИО ФИО должника. Содержит строку от 1-255 символов
    date Дата и время сделки Временной интервал, формат DD/MM/YYYY HH:MM, где YYYY – число года, MM – число месяца, DD – число дня, HH - часы, MM - минуты
    amount Сумма обязательства, WMZ Число с плавающей точкой (разделитель - .(точка) )
    max Максимальная цена продажи обязательства, WMZ Число с плавающей точкой (разделитель - .(точка) )
    paymernumber Номер Paymer-обязательства Содержит строку
    paymercode Код Paymer-обязательства Содержит строку
    tid Тип аттестата Тип аттестата кому принадлежит обязательство. Содержит целое десятичное число
    isatt Статус выдачи аттестата Допустимые значения: 0 / 1 - аттестат выдан по нотариально заверенным документам
    ispsp Статус проверки аттестата Допустимые значения: 0 / 1 - владелец данного WMID предоставил скан (фотокопию) своего паспорта и этот документ был сверен с персональными данными его аттестата
    isdoc Статус документов Допустимые значения: 0 / 1 - документы для скачивания доступны
    isaddres Статус проверки фактического адреса должника Допустимые значения: 0 / 1 - Фактический адрес проверен
    lastprice Последняя цена продажи Число с плавающей точкой (разделитель - .(точка) )
    passport Паспортные данные Содержит строку с паспортными данными (номер, кем и когда выдан паспорт)
    postaladdress Почтовый адрес Содержит строку с почтовым адресом должника
    registeraddress Почтовый адрес Содержит строку с адресом регистрации должника
    mphone Мобильный телефон Содержит строка от 1 до 20 символов
    email E-mail Содержит строка от 1 до 100 символов
    website Веб сайт Ссылка на сайт должника. Содержит строка от 1 до 255 символов
    events Аватар Ссылка на аватар должника. Содержит строка от 1 до 255 символов
    offers Предложения по покупке Предложения по покупке этого обязательства
  • код выполнения запроса:
    код возврата описание
    0 запрос выполнен успешно
    -1 Вызов веб сервиса завершился ошибкой
    -2 Пользователь не аутентифицирован
    -3 Ошибочная подпись запроса
    -4 Сервис не доступен
    -5 Внутренняя ошибка
    -6 Неизвестная ошибка
    -7 Неверный аргумент (передан хотя бы один некорректный аргумент)
    -8 Сервис временно не доступен
    -9 Доступ запрещен
    -10 Некорректный временной интервал
    -11 Ошибочные формат запроса
    -12 Ошибочные сontent- type запроса
  • пример C#:
    protected string Login= "Получить на странице доступа к API";
    protected string Password = ""Получить на странице доступа к API";
    protected string Culture ="ru-RU";
    protected  string Url = "https://debtmart.wmtransfer.com/api/v1/debtmart.asmx/";
    var RequestDebtDetails   = new { Login = login, Wmid = wmid, Culture = culture, Signature = HashToBase64(String.Format("{0};{1};{2};{3}", login, password, culture, wmid)),  DebtID = debtid  };

   string Response = Handler("DebtDetails", ForceJson(RequestDebtDetails   ));

   public string Handler(string method, string json)
    {
      Stream receiveStream = null;
      Stream requestStream = null;
      StreamReader readStream = null;
      StringWriter swXml = null;
      HttpWebResponse response = null;
      try
      {
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url + method);

        if (Proxy.Length > 0)
        {
          request.Proxy = new WebProxy(Proxy, true);
          request.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
          request.PreAuthenticate = true;
        }
        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";
        request.Accept = "text/json";
        byte[] body = Encoding.UTF8.GetBytes( Server.UrlEncode(json));
        request.ContentLength = body.Length;

        requestStream = request.GetRequestStream();
        requestStream.Write(body, 0, body.Length);
        requestStream.Close();

        using ( response = (HttpWebResponse)request.GetResponse())
        {
          receiveStream = response.GetResponseStream();
          using (swXml = new StringWriter())
          {
            using (readStream = new StreamReader(receiveStream, Encoding.UTF8))
            {
              swXml.Write(readStream.ReadToEnd());
            }
            return (swXml.GetStringBuilder().ToString());
          }
        }
      }
      catch (WebException we)
      {
        return string.Empty;
      }
      finally {
        if (requestStream != null) requestStream.Close();
        if (receiveStream != null) receiveStream.Close();
        if (readStream != null) readStream.Close();
        if (swXml != null) swXml.Close();
        if ( response != null )  response.Close();
      }
    }

    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