Skip to content
This repository has been archived by the owner on Nov 23, 2022. It is now read-only.
/ zipomagic Public archive

Select Region and City (post office city) by russian postal code

Notifications You must be signed in to change notification settings

Syrnik/zipomagic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Плагин автоматического заполнения полей Регион и Город для Shopscript5

Описание

Плагин позволяет автоматически заполнить поля контактной формы "Регион" и "Город" при оформлении заказа на этапе ввода контактной информации. Упрощает оформление заказа, позволяет правильно заполнить поле с населенным пунктом.

Плагин срабатывает только в случае, когда покупатель не менял содержимое полей "Регион" и "Город" вручную.

Плагин работает только для почтовых индексов, регионов и населенных пунктов Российской Федерации.

Плагин корректно работает только с регионами и странами из стандартной настройки Webasyst Framework. Если в структуру стран и регионов вносились изменения, изменялись коды страны или регионов возможно неправильное заполнение соответствующих полей контктной формы.

Особенности

В базе данных, поставляемой с плагином, хранятся все индексы почтовых отделений РФ. Вернее почти все — исключены почтовые отделения ПР в Абхазии, на Байконуре, сортировочного центра в Берлине. Плагин не зависит от внешних сервисов, их доступности, не требует ключей API.

Полуостров Крым

Чтобы срабатывала подстановка регионов «Севастополь» и «Крым», эти регионы необходимо самостоятельно добавить в конфигурацию и присвоить им коды: 92 для Севастополя и 91 для Крыма.

Запросы к плагину

Плагин можно использовать из других плагинов. Достаточно отправить GET-запрос следующего формата:

/shop_frontend_url/zipomagic?zip=NNNNNN

где:

  • shop_frontend_url - адрес фронтенда магазина
  • NNNNNN - шестизначный почтовый индекс РФ

Ответ будет в формате json. Если регион и населенный пункт определены успешно:

{
    status: "ok",
    data:{
        id:"<ID>",
        zip:"<postcode>",
        region_code:"<region_code>",
        city:"<city>",
        actdate:"<act_date>"
    }
}

где:

  • <ID> - ID Записи в БД (может меняться при обновлениях
  • <postcode> - индекс, для которого выполнен поиск. На всякий случай.
  • <region_code> - код региона РФ
  • <city> - назвние населенного пункта
  • <act_date> - дата внесения записи в список индексов ПР. Не играет роли, просто для любопытства. Формат YYYY-MM-DD

В случае любых ошибок ответ в формате json:

{
    status: "fail",
    errors: [<ошибка>]
}

В массиве errors врядли будет более одного элемента. Ошибки возвращаются при невозможности определить регион или населенный пункт, неверном индексе и т.д.

Авторы

Сергей Родовниченко sergerod@gmail.com

About

Select Region and City (post office city) by russian postal code

Resources

Stars

Watchers

Forks

Packages

No packages published