Проверка соответствия адреса указанному почтовому индексу до оформления заказа
Несовпадение почтового индекса и города в форме заказа выглядит мелкой опечаткой, пока не превращается в доставку совсем в другую часть страны.
Доставка в постамат как более дешёвая альтернатива работает, только если покупатели могут быстро найти действительно удобный для них постамат. Первая версия этой функции у одного интернет-магазина, простой список адресов постаматов, отсортированный по городам, с этой задачей в основном не справлялась: у покупателя не было простого способа понять, какой из тридцати постаматов в его городе на самом деле находится рядом, не открывая отдельную карту для каждого.
Магазин перестроил функцию вокруг расстояния, используя тот же подход, что и в поиске магазинов, но встроив его прямо в процесс оформления заказа, а не на отдельную страницу. Каждый адрес постамата, полученный от логистического партнёра магазина, был один раз геокодирован через /v1/forward пакетным заданием, в котором каждый адрес постамата считался одной оплачиваемой позицией. Так вся сеть постаматов получила фиксированный набор координат для дальнейшей работы.
При оформлении заказа покупатель, разрешивший определение местоположения, получал начальную точку от /v1/ip: его IP-адрес преобразовывался в приблизительные координаты, и страница оформления заказа сразу показывала несколько ближайших постаматов, не прося покупателя ничего вводить. Если покупатель предпочитал искать по собственному адресу, этот адрес геокодировался через тот же эндпоинт, что и сеть постаматов, и затем точно так же сопоставлялся с ней по расстоянию.
Результат был встроен прямо в шаг выбора способа доставки: вместо общего варианта «постамат», который вёл на отдельную страницу поиска, процесс оформления заказа показывал один ближайший постамат с названием и расстоянием прямо среди вариантов доставки, с простой возможностью посмотреть следующие ближайшие, если первый вариант по какой-то причине не подходил, например из-за неудобного графика или если постамат казался слишком маленьким для крупного заказа.
Благодаря этому самовывоз оставался реально конкурентоспособным по сравнению с доставкой на дом в тот момент, когда покупатель выбирал между ними, и магазин не терял покупателей в пользу доставки на дом по умолчанию только потому, что поиск постамата требовал дополнительных усилий, которые покупатель не хотел тратить посреди оформления заказа. Данные магазина показали, что доля заказов с доставкой в постамат заметно выросла, когда ближайший вариант стал показываться прямо в процессе оформления заказа, а не требовал отдельного шага поиска. Магазин объяснил этот рост именно устранением этого препятствия, а не какими-либо изменениями в самой услуге постаматов.
Магазин относился к определённому начальному местоположению так, как следует при любом ответственном использовании геолокации по IP: как к удобному значению по умолчанию, а не к гарантии, с заметной возможностью искать по другому адресу для покупателя, чьё реальное предпочтение по месту получения не совпадало с текущим местом просмотра сайта, например для того, кто заказывает подарок с получением рядом с адресом родственника в другом городе.
Объём зависел именно от сессий оформления заказа, число которых меньше общего трафика сайта, поэтому большую часть года функция спокойно укладывалась в бесплатный дневной лимит, а обычный вариант с предоплатой покрывал пиковые периоды покупок без какого-либо специального планирования заранее.
Документация по соответствующим эндпоинтам находится на /docs/forward-geocoding/ и /docs/ipv4-lookup/.