Socket
Socket
Sign inDemoInstall

yz-react-deliveri-newpochta

Package Overview
Dependencies
7
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    yz-react-deliveri-newpochta

API queries for delivery New Post of Ukraine


Version published
0
Maintainers
1
Created
Weekly downloads
 

Readme

Source

API запросы для службы доставки "Новая почта".

Самые необходимые запросы для оформления доставки в одном модуле.

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

Так как "Новая почта" постоянно развивается и расширяется, стало затруднительно отслеживать работающие и новые отделения. К тому же, у некоторых отделений есть ограничения по весу груза.

Я часто использую в своих проектах функцию оформления доставки товаров, поэтому создал этот модуль. В первой версии этого модуля я использую минимальный функционал из того что предлагает API службы.

В этой версии пакета приведены 5 запросов с которых можно построить минимальный алгоритм оформления доставки:

  1. Справочник географических областей Украины (getAreas).
  2. Справочник населенных пунктов Украины (getSettlements).
  3. Справочник городов компании «Новая Почта» (getCities).
  4. Справочник отделений (getWarehouses).
  5. Справочник типов отделений (getWarehouseTypes).

Пакет yz-react-deliveri-newpochta находится на GitHub, где можно посмотреть его изнутри.

Установка

  1. cd <директория-проекта>
  2. npm install yz-react-deliveri-newpochta --save

Как получить API ключ "Новой почты" ?

Для того чтобы подключиться к API «Нова пошта», необходимо зарегистрироваться и сгенерировать ключ API в меню личного кабинета пользователя по ссылке novaposhta, или получить персональный ключ API у Вашего менеджера.

Применение:

// ПРИМЕР КОДА

import ApiNovaPochta from 'yz-react-deliveri-newpochta';

function feedback() {
    
  const apiKey = '<ваш_API_ключ_полученный_на_сайте_новой_почты>';  

  const cb = (data) => { 
     console.log(data);
     // тут должен быть обработчик полученого результата
  };

  const np = new ApiNovaPochta;
  np.getAreas(cb, apiKey);

}

getAreas(cb, apiKey)

####Справочник географических областей Украины

Метод необходим для скачивания справочника географических областей Украины, компании «Новая Почта».

Рекомендуется проводить обновление справочников раз в месяц.

Параметры запроса

ПараметрТип данныхОписание
cbfunctioncallback-функция
apiKeystringAPI ключ
// ПРИМЕР ПОЛУЧЕННОГО РЕЗУЛЬТАТА

{
    "success": true,
    "data": [
        {
            "Description": "АРК",
            "Ref": "71508128-9b87-11de-822f-000c2965ae0e",
            "AreasCenter": "db5c88b7-391c-11dd-90d9-001a92567626"
        },
        {
            "Description": "Вінницька",
            "Ref": "71508129-9b87-11de-822f-000c2965ae0e",
            "AreasCenter": "db5c88de-391c-11dd-90d9-001a92567626"
        },
 
        
        ...
 
 
        {
            "Description": "Чернівецька",
            "Ref": "7150813f-9b87-11de-822f-000c2965ae0e",
            "AreasCenter": "e221d642-391c-11dd-90d9-001a92567626"
        },
        {
            "Description": "Чернігівська",
            "Ref": "71508140-9b87-11de-822f-000c2965ae0e",
            "AreasCenter": "db5c897c-391c-11dd-90d9-001a92567626"
        }
    ],
    "errors": [],
    "warnings": [],
    "info": []
}

getSettlements(cb, apiKey)

####Справочник населенных пунктов Украины

  • Города в которые осуществляется ДОСТАВКА.
  • Наименования на Украинском и Русском языках.

Метод выгружает справочники городов Украины, в которые осуществляется доставка груза компанией «Новая Почта».

Стоит учитывать, что для каждого населенного пункта возвращает область, и район.

Необходимо сохранять копию справочников на стороне клиента и поддерживать ее в актуальном состоянии. Рекомендуется проводить обновление справочников раз в месяц.

Параметры запроса

ПараметрТип данныхОписание
cbfunctioncallback-функция
apiKeystringAPI ключ
// ПРИМЕР ПОЛУЧЕННОГО РЕЗУЛЬТАТА

{
    "success": true,
    "data": [
        {
            "Ref": "0e451e40-4b3a-11e4-ab6d-005056801329",
            "SettlementType": "563ced13-f210-11e3-8c4a-0050568002cf",
            "Latitude": "0.000000000000000",
            "Longitude": "0.000000000000000",
            "Description": "Абазівка",
            "DescriptionRu": "Абазовка",
            "SettlementTypeDescription": "село",
            "SettlementTypeDescriptionRu": "село",
            "Region": "e4ade6ea-4b33-11e4-ab6d-005056801329",
            "RegionsDescription": "Полтавський р-н",
            "RegionsDescriptionRu": "Полтавский р-н",
            "Area": "dcaadf02-4b33-11e4-ab6d-005056801329",
            "AreaDescription": "Полтавська область",
            "AreaDescriptionRu": "Полтавская область",
            "Index1": "38715",
            "Index2": "38715",
            "Delivery1": "",
            "Delivery2": "",
            "Delivery3": "",
            "Delivery4": "",
            "Delivery5": "",
            "Delivery6": "",
            "Delivery7": ""
   }
 ],
    "errors": [],
    "warnings": [],
    "info": []
}

getCities(cb, apiKey)

####Получение справочника городов компании «Новая Почта».

  • Города с отделениями где можно оформить доставку на отделение.
  • Города с отделениями где можно оформить доставку по адресу.
  • Наименования на Украинском и Русском языках.

Метод загружает справочник населенных пунктов Украины. Стоит учитывать, справочник выгружается только с населенными пунктами где есть отделения "Нова Пошта" и можно оформить доставку на отделение а также на доставку по адресу.

Необходимо сохранять копию справочников на стороне клиента и поддерживать ее в актуальном состоянии. Рекомендуется проводить обновление справочников раз в сутки.

Параметры запроса

ПараметрТип данныхОписание
cbfunctioncallback-функция
apiKeystringAPI ключ
// ПРИМЕР ПОЛУЧЕННОГО РЕЗУЛЬТАТА

{
    "success": true,
    "data": [
        {
            "Description": "Агрономічне",
            "DescriptionRu": "Агрономичное",
            "Ref": "ebc0eda9-93ec-11e3-b441-0050568002cf",
            "Delivery1": "1",
            "Delivery2": "0",
            "Delivery3": "1",
            "Delivery4": "0",
            "Delivery5": "1",
            "Delivery6": "0",
            "Delivery7": "0",
            "Area": "71508129-9b87-11de-822f-000c2965ae0e",
            "Conglomerates": null
        }
    ],
    "errors": [],
    "warnings": [],
    "info": []
}

getWarehouses(cb, apiKey, prop)

####Получение справочника отделений.

Метод загружает справочник отделений «Новая Почта» в рамках населенных пунктов Украины.

Необходимо сохранять копию справочников на стороне клиента и поддерживать ее в актуальном состоянии. Рекомендуется проводить обновление справочников раз в сутки.

//Пример запроса

import ApiNovaPochta from 'yz-react-deliveri-newpochta';

function feedback() {
    
  const apiKey = '<ваш_API_ключ_полученный_на_сайте_новой_почты>';  
  const prop = {"CityName": "Бахмач"};

  const cb = (data) => { 
     console.log(data);
     // тут должен быть обработчик полученого результата
  };

  const np = new ApiNovaPochta;
  np.getWarehouses(cb, apiKey, prop);
}

Параметры запроса

ПараметрТип данныхОписание
cbfunctioncallback-функция
apiKeystringAPI ключ
propjsonДополнительный фильтр

Дополнительный фильтр

ПараметрТип данныхОписание
CityName*string[36]Дополнительный фильтр по имени города
CityRefstring[36]Дополнительный фильтр по идентификатору города
Pageint[10]Страница, до 500 записей на странице
// ПРИМЕР ПОЛУЧЕННОГО РЕЗУЛЬТАТА

{{
     "success": true,
     "data": [
         {
             "Description": "Відділення №1: вул. М. Грушевського, 3",
             "DescriptionRu": "Отделение №1: ул. М. Грушевского, 3",
             "Phone": "(0342) 59-13-42",
             "TypeOfWarehouse": "9a68df70-0267-42a8-bb5c-37f427e36ee4",
             "Ref": "39931b80-e1c2-11e3-8c4a-0050568002cf",
             "Number": "1",
             "CityRef": "20982d74-9b6c-11e2-a57a-d4ae527baec3",
             "CityDescription": "Заболотів (Снятинський р-н)",
             "CityDescriptionRu": "Заболотов (Снятинский р-н)",
             "Longitude": "25.299652300000000",
             "Latitude": "48.470805500000000",
             "TotalMaxWeightAllowed": 0,
             "PlaceMaxWeightAllowed": 0,
             "Reception": {
                 "Monday": "15:30-18:00",
                 "Tuesday": "-",
                 "Wednesday": "15:30-18:00",
                 "Thursday": "-",
                 "Friday": "15:30-18:00",
                 "Saturday": "-",
                 "Sunday": "-"
             },
             "Delivery": {
                 "Monday": "09:00-15:00",
                 "Tuesday": "-",
                 "Wednesday": "09:00-15:00",
                 "Thursday": "-",
                 "Friday": "09:00-15:00",
                 "Saturday": "-",
                 "Sunday": "-"
             },
             "Schedule": {
                 "Monday": "09:00-18:00",
                 "Tuesday": "09:00-18:00",
                 "Wednesday": "09:00-18:00",
                 "Thursday": "09:00-18:00",
                 "Friday": "09:00-18:00",
                 "Saturday": "09:00-15:00",
                 "Sunday": "-"
             }
         }
     ],
     "errors": [],
     "warnings": [],
     "info": []
 }

getWarehouseTypes(cb, apiKey)

####Получение справочника типов отделений.

Метод загружает справочник типов отделений «Новая Почта» в рамках населенных пунктов Украины.

Необходимо сохранять копию справочников на стороне клиента и поддерживать ее в актуальном состоянии. Рекомендуется проводить обновление справочников раз в сутки.

//Пример запроса

import ApiNovaPochta from 'yz-react-deliveri-newpochta';

function feedback() {
    
  const apiKey = '<ваш_API_ключ_полученный_на_сайте_новой_почты>';  

  const cb = (data) => { 
     console.log(data);
     // тут должен быть обработчик полученого результата
  };


  const np = new ApiNovaPochta;
  np.getWarehouseTypes(cb, apiKey);
}

Параметры запроса

ПараметрТип данныхОписание
cbfunctioncallback-функция
apiKeystringAPI ключ
// ПРИМЕР ПОЛУЧЕННОГО РЕЗУЛЬТАТА

{ success: true,
  data: 
   [ { Ref: '6f8c7162-4b72-4b0a-88e5-906948c6a92f',
       Description: 'Parcel Shop' },
     { Ref: '841339c7-591a-42e2-8233-7a0a00f0ed6f',
       Description: 'Поштове відділення' },
     { Ref: '95dc212d-479c-4ffb-a8ab-8c1b9073d0bc',
       Description: 'Поштомат приват банку' },
     { Ref: '9a68df70-0267-42a8-bb5c-37f427e36ee4',
       Description: 'Вантажне відділення' },
     { Ref: 'cab18137-df1b-472d-8737-22dd1d18b51d',
       Description: 'Поштомат InPost' },
     { Ref: 'f9316480-5f2d-425d-bc2c-ac7cd29decf0',
       Description: 'Поштомат' } ],
  errors: [],
  warnings: [],
  info: [],
  messageCodes: [],
  errorCodes: [],
  warningCodes: [],
  infoCodes: [] 
}

License

MIT

Keywords

FAQs

Last updated on 01 Nov 2016

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc