WebMoney  

Веб-сервис Geo.WebMoney.Ru

  1. Geo.WM.Locator
  2. Geo.WM.GeoService

Geo.WM.Locator

Данный интерфейс позволяет производить географическую привязку любых ресурсов (офисов и представительств компании, объектов складской или агентской сети и др.), т.е. всего, что может быть впоследствии отображено на карте. Главная задача интерфейса - предоставление доступа к единой для системы WebMoney Transfer базе геоданных, при использовании которой возможно отображение "географически привязанных" объектов средствами WebMoney GeoService без дополнительной обработки.

Для использования интерфейса необходимо создать и разместить на своем сайте 3 страницы:

  • Страницу подготовки запроса. На данной странице необходимо создать HTML форму или гиперссылки для вызова интерфейса с указанием всех необходимых параметров. Все параметры запроса методом GET.
  • Страницу обработки результатов запроса. Данная страница будет автоматически вызываться сервисом при выборе географического местопожения текущего объекта. Все параметры выбранного населенного пункта передаются на страницу обработки результатов запроса методом GET.
  • Страницу выхода без сохранения результатов запроса. Данная страница будет автоматически вызываться сервисом при прерывании оператором процедуры географической привязки. Передачи параметров в данном случае не происходит.

URL для передачи запроса:  https://geo.webmoney.ru/find/GeoSearchPage.aspx
Метод:  GET


Параметры запроса:

UserId Обязательный параметр. Уникальный номер, выдаваемый администратором сервиса при регистрации пользователя, использующего интерфейс.
Obid Уникальный номер объекта текущего объекта. Задается пользователем при использовании интерфейса для привязки существующих объектов. Этот параметр возвращается
Metro В том случае, если при поиске населенного пункта необходимо уточнить и ближайшие станции метро (максимум 2) , значение Metro должно быть равно 1 (Metro=1). Список станций метро доступен только для Москвы и Санкт-Петербурга. По умолчанию установлено Metro=0
Name Название населенного пункта. Значение параметра Name записывается в спец. поле для поиска.
TargetName Дополнительная информация, например Страна/Регион, адрес или другая информация
CanSelect Принимает параметры 0 или 1, например CanSelect=1. По умолчанию CanSelect=0. При значении CanSelect=1, пользователю позволяется выбирать не только города, но и регионы и страны. При CanSelect=0 завершение диалога выбора и возвращение в исходную форму без выбора города невозможно.  
Addr Адрес объекта. Если передан адрес и выставлено значение Metro=1, при наличии метрополитена в выбранном городе, в списках выбора станций метро будут выставлены ближайшие две станции метро.

Примечание. Все параметры, кроме указанных выше,  которые переданы в форму выбора географического расположения будут возвращены без каких либо изменений.

Параметры ответа (все параметры передаются методом GET):

ObID Уникальный номер объекта текущего объекта. Задается пользователем при подготовке запроса.
CitID Уникальный по базе геоданных номер (ID) выбранного города
City Название выбранного города (русский язык)
CityEn Название выбранного города (английский язык)
Region Название региона (русский язык)
RegionEn Название региона (английский язык)
Country Название страны (русский язык)
CountryEn Название страны (английский язык)
mID1 Уникальный по базе геоданных номер (ID) первой ближайшей станции метро
mID2 Уникальный по базе геоданных номер (ID) второй ближайшей станции метро
Metroname1 Название первой ближайшей станции метро (русский язык)
Metroname1En Название первой ближайшей станции метро (английский язык)
Metroname2 Название второй ближайшей станции метро (русский язык)
Metroname2En Название второй ближайшей станции метро (английский язык)
RegionID Идентификатор выбранного региона
CountryID Идентификатор выбранной страны

Страницa подготовки запроса

<html>
<head>
    <title>Страница подготовки запроса. Вариант с использованием HTML формы</title>
</head>
<body>
    <form action="https://geo.webmoney.ru/find/GeoSearchPage.aspx" method="get">
        <input type="hidden" name="UserID" value="99357E9B-8114-4E04-8949-6BED871EC4A8">
        <input type="hidden" name="Obid" value="11">
        <input type="hidden" name="Metro" value="1">
        <input type="submit" value="Привязать">
    </form>
</body>
</html>

Страница обработки результатов запроса (TestPage.aspx.cs)

public partial class TestPage : Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        /*
         * Доступные через Request.QueryString параметры
         * 
         * ObID Уникальный номер объекта текущего объекта. Задается пользователем при 
         * подготовке запроса. 
         * CitID Уникальный по базе геоданных номер (ID) выбранного города 
         * City Название выбранного города (русский язык) 
         * CityEn Название выбранного города (английский язык) 
         * RegionID Идентификатор региона
         * Region Название региона (русский язык) 
         * RegionEn Название региона (английский язык) 
         * CountryID Идентификатор страны
         * Country Название страны (русский язык) 
         * CountryEn Название страны (английский язык) 
         * mID1 Уникальный по базе геоданных номер (ID) первой ближайшей станции метро 
         * mID2 Уникальный по базе геоданных номер (ID) второй ближайшей станции метро 
         * Metroname1 Название первой ближайшей станции метро (русский язык) 
         * Metroname1En Название первой ближайшей станции метро (английский язык) 
         * Metroname2 Название второй ближайшей станции метро (русский язык) 
         * Metroname2En Название второй ближайшей станции метро (английский язык) 
         */

        int objectId = -1;
        int cityId = -1;
        int tempValue;

        if(!string.IsNullOrEmpty(Request.QueryString["ObID"]) && 
           !string.IsNullOrEmpty(Request.QueryString["CitID"]))
        {
            if (int.TryParse(Request.QueryString["ObID"], out tempValue))
            {
                objectId = tempValue; 
                //Уникальный номер объекта. 
            }
            if (int.TryParse(Request.QueryString["CitID"], out tempValue))
            {
                cityId = tempValue; 
                //Уникальный по базе геоданных номер (ID) выбранного города 
            }
            if(objectId > 0 && cityId > 0)
            {
                //достаем из базы нужный нам объект
                GeoWMObject geoObject = DataLevel.Get("GeoWMObject", objectId); 
                if(geoObject != null) 
                {
                    geoObject.CityId = cityId; //Устанавливаем город для объекта
                    DataLevel.Save(geoObject);//Сохраняем в базе 
                }
            }
        }
    }
}

Страница выхода без сохранения результатов запроса

<html> 
<head> 
    <title>Страница выхода без сохранения результатов запроса.</title> 
</head> 
    <body> 
        Операция географической привязки прервана! 
    </body> 
</html> 


Geo.WM.GeoService

Веб-сервис Geo.WM.GeoService позволяет:

  1. получать списки стран, регионов и городов из базы данных Geo.WebMoney.Ru
  2. выполнять поиск по названию населенного пункта
  3. типизировать адрес для дальнейшего получения географических координат
  4. определять географические координаты по адресу
  5. определять ближайщие две станции метро по координатам
  6. определять ближайщие две станции метро по адресу

Для использования сервиса необходимо пройти процедуру регистрации. После регистриации вы плучите GUID (уникальный идентификатор пользователя) и пароль. Каждый метод веб-сервиса принимает два дополнительных параметра GUID и пароль, для авторизации и введения логов.

  • AddressGeoCoding Гео-кодирует адрес, предварительно обработав методом ParseAddress. Возвращает географические координаты. Эквивалент GeoCoding, желательно использовать AddressGeoCoding, если адрес не структурирован.
    подробнее
  • GeoCoding Гео-кодирует заданный адрес, возвращает объект GeoWMObject
    подробнее
  • GetCityList Возвращает список городов и населенных пунктов. Задается идентификатор региона.
    подробнее
  • GetCountryList Возвращает список стран
    подробнее
  • GetNearestMetro Возвращает список станций метро, отсортированный по удаленности от заданных координат. Задаются гео-координаты.
    подробнее
  • GetNearestMetro2 Возвращает список станций метро, отсортированный по удаленности от адреса. Задаются идентификатор города и адрес.
    подробнее
  • GetRegionList Возвращает список регионов. Задается идентификатор страны.
    подробнее
  • ParseAddress Очищает адрес, возвращает соответствующий структурированный адрес из классификатора адресов КЛАДР. При неудачном парсинге возвращает строку NOT_FOUND
    подробнее
  • SearchCity Поиск города или населенного пункта в заданном регионе и стране. Если не задавать идентификатор региона (указать -1), ищет по всей стране, соответственно, если не задан идентификатор страны (указать -1), ищет по всей базе
    подробнее