© Tillypad, 2004-2022

© Tillypad, 2004-2022
POST
/get-geo-data?conception-id=23B2306E-611D-574F-8260-42430F966D2F&time=2018-05-17T23:31:00
Идентификатор концепции ресторанов, существующей в базе данных. Обязательный параметр.
Время отложенного звонка. Необязательный параметр.
Обязательный параметр.
<Address><Village></Village><Street></Street><House></House></Address>
"Content-Type: application/xml; charset=UTF-8"
Яндекс,
Google,
OpenStreetMap,
Here.
<Address><Village>Санкт-Петербург</Village><Street>гражданский пр</Street><House>119</House></Address>
http://89.22.216.169:8090 /get-geo-data?conception-id=23B2306E-611D-574F-8260-42430F966D2F&time=2018-05-17T23:31:00
Список GeoIdentifiers
и Divisions
для указанной концепции.
{ "Precision": "number", "RequestedAddressInfo": "Санкт-Петербург, Улица: Гражданский проспект; Дом: 116", "GeoIdentifiers": [ { "GeoIdentifier": "Спб_дп_просвещения_87", "WorkTimeBegin": 660, "WorkTimeEnd": 1350, "WorkDayWeekBegin": "Fri","WorkDayWeekEnd": "Fri",
"RegionID": 601, "Hit": true, "Division": "9D8F4BA3-825D-E441-89BE-6BDDF4391D3F", "CookingTime": 1800, "DeliveryTime": 900 } ], "Location": { "Latitude": 60.034978, "Longitude": 30.418186 }, "Divisions": [ { "GeoIdentifier": "Спб_дп_большевиков_3", "DivisionID": "765FDA14-B027-A441-979A-62717DCDE47C", "Distance": 13458 },
Если параметр времени time
не передается, будет использовано время сервера приложений, с которым работает сервис. Если время передается, то оно будет использовано без каких-либо сдвигов (как передано) и из него будет вычитаться время доставки и готовки. Подразделения, которые не попадают по результату в диапазон работы будут исключены из результата.
В параметр <Village></Village>
теперь всегда нужно передавать название целевого населенного пункта для того, чтобы адрес определялся корректно. Если Village
не передавать, нет гарантии, что геокодер вернет адрес в нужном городе.
Например,
<Address><Village>Санкт-Петербург</Village><Street>Науки</Street><House>14</House></Address>
При запуске сервиса производится поиск геокодера точки обслуживания по умолчанию (dev_ID точки обслуживания хранится в настройках стыка).
Если геокодер найден и отсутствуют критические для работы геокодера ошибки в картах (синтаксис, дублирование координат и т.д), то карты успешно загружаются в сервис для дальнейшей работы с ними.
В противном случае при запросе данных геокодирования (get-geo-data) возвращается ошибка «К точке обслуживания не подключен геокодер».
При каждом изменении в справочнике устройств идет повторная выгрузка карт.
Если геокодер отключить от точки обслуживания по умолчанию - карты в сервисе будут зачищены (в реализации на данный момент).
Если геокодер подключить - сервис тут же совершит выгрузку карт подключенного геокодера.
После перезапуска сервера приложений сервис сразу же совершает выгрузку карт (если у точки обслуживания есть геокодер).
Если при запросе get-geo-data
возникает ошибка «К точке обслуживания не подключен геокодер», а геокодер подключен к точке обслуживания по умолчанию, нужно изменить что-либо в справочнике устройств, чтобы карты выгрузились. Если это не помогло, нужно проверить корректность карт (пропущенные кавычки и так далее).
Обычно запуск геокодера POS помогает выявить проблему с корректностью карт.
Для передачи в адрес буквы здания в AddressFormat
устройства нужно добавить параметр {Letter}
, а к телу запроса добавить элемент
<Letter></Letter>
Крайне желательно, чтобы параметр AddressFormat
{Building}
содержал «к».
Обязательна расшифровка сокращений в настройках устройства вида:
AddressReductions = ( Улица = ул, у Проспект = пр ... )
GET
/get-cities
Без параметров
http://89.22.216.169:8090/get-cities
[ { "id": "Saint-Petersburg" }, { "id": "Moscow" }, ... ]
GET
/get-streets
Идентификатор населенного пункта (из списка городов).
http://89.22.216.169:8090/get-streets?city=Saint-Petersburg
[ { "street": "10-й кв-л", "village": "п.Песочный" }, { "street": "10-я В.О. линия" }, ... { "street": "10-я линия", "village": "г.Павловск, снт.Звездочка" }, ... ]