Catapulto подстраивают адреса к требованиям API 20 служб доставки
- Catapulto — агрегатор курьерских служб
- У разных служб доставки — разные требования к адресам в API-запросах
- Задача — подстраивать адреса к требованиям API 20 служб доставки. Для этого нужно делить адреса на компоненты, определять индексы и координаты
- Решение. «Подсказки» «Дадаты» присылают индексы, координаты и компоненты введенных адресов
- Как подключить «Подсказки»
Задача. На сайте Catapulto люди вводят адреса, сервис отправляет эти адреса службам доставки — по API. У разных служб доставки — разные требования к тому, как присылать адреса в API-запросах. Чтобы подстраиваться к требованиям любого перевозчика, нужно:
- Разделять на компоненты адреса, введенные одной строкой.
- Находить индексы для введенных адресов.
- Определять координаты.
Решение. Подключили «Подсказки» «Дадаты» ко вводу адресов на сайте. Сервис помогает клиентам вводить адреса быстро и без ошибок, присылает компоненты адресов, индексы и координаты. Из этих элементов Catapulto составляют форматы адресов, которые требуют перевозчики.
У разных служб доставки — разные требования к адресам в API-запросах
Catapulto работает как посредник между клиентами и курьерскими службами.
Клиент указывает, какой груз хочет доставить, откуда и куда. Catapulto же узнает тарифы перевозчиков и передает заказ той курьерской службе, которую человек выберет.
Со службами доставки Catapulto общается по API — автоматически. Отправляет запросы и получает ответы. Вот как все работает:
На сайте Catapulto клиент указывает параметры груза, адреса получателя и отправителя.
Catapulto отправляет курьерским службам запрос на расчет тарифа. В этот запрос упаковывает введенные клиентом сведения. Службы доставки отвечают на запрос — присылают цены и сроки.
Выбранному перевозчику Catapulto отправляет запрос на создание заказа. Туда снова упаковывает адреса и параметры груза, которые ввел человек. Служба доставки обрабатывает заявку и присылает ответ: мол, принято. Затем выполняет заказ.
Сложность в том, что Catapulto одновременно общается с 20 разными службами доставки. А у них — разные требования к тому, как присылать адреса в API-запросах.
СДЭК требует индексы для расчета тарифов.
Pony Express рассчитает тарифы и примет заказ, если адреса пришлют в двух частях: «Город» и «Улица, дом».
«Достависта» хочет адреса одной строкой в формате «Город, улица, дом».
«Яндекс Доставка» пришлет цены и примет заказ, только если вместе с адресом отправить координаты.
Если не подстроиться под требования того или иного перевозчика, он не пришлет тарифы и не примет заказ. Или же примет, но не сможет обработать автоматически — отправит на ручную обработку. Тогда доставка затянется, клиент будет волноваться, Catapulto придется разбираться с задержкой.
Задача — подстраивать адреса к требованиям API 20 служб доставки. Для этого нужно делить адреса на компоненты, определять индексы и координаты
«Подсказки»
Помогают вводить данные в формах на сайтах, в CRM, мобильных и приложениях. Быстро и без ошибок. Присылают вагон полезной информации об адресах.
РазузнатьЗадача Catapulto — подстраивать адреса, которые вводит клиент, под требования 20 перевозчиков.
Это возможно, если для каждого введенного адреса знать:
- компоненты — город, улицу, дом по отдельности;
- индекс;
- координаты.
Из перечисленных элементов можно составить такой формат адреса, который подойдет любой службе доставки:
Задачу можно разделить на три части:
1. Нужно автоматически разбивать адреса на компоненты. На сайте Catapulto люди вводят адреса в одном из двух форматов: в отдельных полях или одной строкой. Адреса строкой нужно разбить на части.
2. Нужно автоматически определять индексы для адресов. Индексы часто нужны, чтобы получить тарифы курьерских служб. Поэтому индекс в Catapulto — одно из обязательных адресных полей. Но порой клиенты не знают индексов, поэтому вводят их как попало, а это опасно.
Скажем, человек хочет доставить документы из Санкт-Петербурга в Краснодар. Это, например, стоит 800 ₽.
В поле «Индекс» клиент вводит «111111» — несуществующий индекс. На API-запрос с таким индексом перевозчик пришлет цену 400 ₽. Клиент закажет доставку, а потом получит счет на 800 ₽: перевозчик получит заказ, пересчитает стоимость и увеличит цену.
Или же клиент ввел «125009» — это существующий Московский индекс. Перевозчик пришлет тариф на доставку из Москвы, а не из Питера — 600 ₽. Клиент закажет доставку и вновь получит счет на бо́льшую сумму.
Надежнее определять индексы автоматически — за человека.
3. Нужно автоматически определять координаты адресов. В Catapulto люди не вводят координаты — никто не знает широту и долготу адресов. При этом координаты обязательны, чтобы работать с «Яндекс Доставкой». Без них не рассчитать тариф и не заказать перевозку.
Решение. «Подсказки» «Дадаты» присылают индексы, координаты и компоненты введенных адресов
К формам ввода адресов на сайте Catapulto подключили сервис «Подсказки» «Дадаты». На внедрение потратили один день.
Основная функция «Подсказок» — сделать так, чтобы люди вводили адреса быстро и без ошибок. В отдельной статье мы рассказали, почему это важно для Catapulto. Тут расскажем о другой функции сервиса — обогащении данных.
Стоит клиенту ввести первые буквы города или улицы, как сервис предложит варианты адресов. Человеку остается выбрать подходящий.
Для выбранного адреса «Подсказки» присылают вагон полезной информации. В частности, компоненты, индекс, широту и долготу. Это как раз нужные Catapulto элементы.
«Подсказки» работают по API:
- человек пишет первые буквы адреса;
- Catapulto отправляет эти буквы запросом «Дадате». Мол, пришли нам подходящие варианты;
- «Дадата» присылает ответ — список подходящих адресов с дополнительными сведениями о каждом;
- человек выбирает адрес;
- специальный скрипт достает из ответа «Дадаты» компоненты выбранного адреса, индекс и координаты. И расставляет по нужным полям формы.
Дальше дело техники — собрать адрес по требованиям курьерских служб.