ABI (метод)

Материал из post-API.ru
Перейти к: навигация, поиск

Данный метод (аббр. - Address By Index) предназначен для автозаполнения адресной информации при вводе пользователем только своего индекса (в случае, если клиент не знает свой индекс, можно использовать метод IBC (метод)). Преимущества использования этого метода для Интернет-магазина:

  • Возможность для клиента заполнить адрес доставки в три действия (ввести индекс, выбрать из списка улицу и дом).
  • Снижение ошибок ввода адреса - основные поля заполняются автоматически, в соответствии с правилами написания адресов Почты России.
  • Унифицированные записи адресов в базе данных, что облегчает формирование аналитических выборок (по практике, совпадение адресной информации, введенной разными пользователями составляет 60-65%).


Версия API

 Версия 2.0

Вызов

 http://post-api.ru/api/v3/php/abi.php?p=656056&e=1&apikey=dev&d=1

Параметры

Ключ Обязательный Описание
p О Почтовый индекс. Должен состоять из 6 цифр.
e Н Исключить из результирующей выборки объекты адресного уровня 90 и более. "0" - включено (значение по умолчанию), "1" - исключено.
apikey О Ключ доступа к API.
d Н Отладочный режим.


Возвращаемое значение

С этим методом связаны следующие массивы-ответы: ABIv2_content, route, mkad.

При успешном выполнении запроса возвращается следующий массив-ответ.

   [id] => ABI                        // Тип результирующей структуры
   [api_ver] => 3.0                   // Входит в семейство методов версии 3.0
   [status] => ok                     // Результат вызова метода. Может быть error и ok
   [access] => active                 // Статус ключа доступа к post-API.ru
   [access_status] => ok              // Статус доступа с использованием ключа
   [executed_time] => 0.22709         // Время исполнения скрипта (без учета сетевых задержек)
   [source] => Array                  // Исходные данные, передаваемый в базу данных (контроль)
       (
           [postalcode] => 656056
           [exclude] => 1
       )
   [content] =>                       // структура ABIv2_content

При не успешном выполнении метода возвращается массив-ответ с ошибкой

   [id] => ABI
   [api_ver] => 3.0
   [access] => active
   [access_status] => ok
   [executed_time] => 0
   [status] => error
   [content] => Array
       (
           [msg] => Неправильный формат почтового индекса (65605)
           [err] => abi_wrongpostalcode
       )


Особенности

  1. В возвращаемой структуре номера домов отсортированы по возрастанию.
  2. Названия домов и интервалы домов записаны в разные структуры в результирующей структуре. Необходимо обратить на это внимание, и обрабатывать их по разному. При выборе пользователем интервала, необходимо дополнительным диалоговым окном уточнять номер дома.

Обсуждение

 Форум для обсуждения метода ABI

Примеры использования

Фрагменты кода

нет

История

  • 05.11.2016 - Добавлены адреса Республики Крым.
  • 16.08.2013 - Добавлен необязательный ключ cf в вызов метода.
  • 29.07.2013 - Исправлена ошибка. Для сортировки улиц средствами СУБД осуществляется преобразование номера дома к целочисленному виду (например, 34/6 преобразуется в 34). Однако по одному из индексов встретился номер дома "П-36", преобразование которого возвращало пустую строку, а попытка перевести пустую строку в INT приводило к ошибке.
  • 01.06.2013 - Добавлен порядок вывода городов и улиц
  • 14.04.2013 - Добавлен ключ abc, определяющий порядок сортировки номеров домов в выборке.
  • 14.04.2013 - Визуальное имя дома типа "6, корп.2" изменено на "6 корп.2".