Сценарии использования

Проверка адреса доставки до отправки

Сорванная доставка мебели обходится дорого так, как не обходится сорванная доставка посылки. Грузовик, бригада из двух человек и запланированное окно доставки пропадают впустую, если адрес в заказе никуда толком не ведёт, и мебельный магазин, доставлявший крупные товары в запланированные окна, нёс такие расходы несколько раз в неделю.

Большинство сбоев сводилось к одной и той же первопричине: адрес, который, по мнению клиента, был введён правильно, на деле не соответствовал месту, куда можно доставить заказ. Причиной были опечатка в названии улицы, почтовый индекс, не совпадающий с указанным городом, или полностью пропущенный номер квартиры. Ничего из этого не видно, если просто читать текст адреса. Всё это становится очевидным, только когда что-то пытается сопоставить адрес с реальными географическими данными.

Магазин добавил проверку при подтверждении заказа, ещё до того как заказ передавался в систему планирования доставок. Введённый клиентом адрес отправлялся в /v1/forward, который пытается найти совпадение и возвращает местоположение вместе с показателем качества совпадения, то есть показывает, насколько уверенно распознан адрес, а не делает вид, что любые входные данные одинаково надёжны. Отдельно введённый клиентом почтовый индекс проверялся через /v1/postcode, который определяет, чему соответствует этот индекс. Так выявлялся конкретный случай, когда почтовый индекс и название города не согласовывались между собой: такое несоответствие клиент легко допускает из-за ошибки автозаполнения, а заметить его при чтении формы заказа очень трудно.

Заказы, по которым обе проверки прошли чисто, сразу переходили к планированию. Заказы, в которых адрес совпал лишь частично или почтовый индекс не согласовывался с городом, отмечались для быстрого подтверждающего звонка или письма ещё до бронирования окна доставки. Этот единственный дополнительный шаг, выполняемый автоматически и срабатывающий до того, как возникали какие-либо расходы на грузовик, переносил исправление на более ранний этап: вместо «обнаружено бригадой, стоящей не по тому адресу» стало «решено письмом в тот же день, когда был оформлен заказ».

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

Поскольку проверка выполнялась один раз на заказ, а не на каждый просмотр страницы, объём легко прогнозировался и с большим запасом укладывался в бесплатную дневную квоту для магазина такого размера, а предоплаченный баланс покрывал любые превышения во время распродаж. Отдача от изменения проявилась напрямую в меньшем числе потерянных окон доставки, а эти расходы легко измерить и легко обосновать на фоне очень низкой цены за запрос.

Документация по обоим эндпоинтам, включая то, как представлено качество совпадения, находится на /docs/forward-geocoding/ и /docs/postal-code-lookup/.