PHPackages                             rollun-com/rollun-usps - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. rollun-com/rollun-usps

ActiveProject[HTTP &amp; Networking](/categories/http)

rollun-com/rollun-usps
======================

usps api service

4.0.0(4y ago)01.4k4BSD-3-ClausePHPPHP ^7.1CI failing

Since May 13Pushed 2y ago2 watchersCompare

[ Source](https://github.com/rollun-lc/rollun-usps)[ Packagist](https://packagist.org/packages/rollun-com/rollun-usps)[ Docs](https://github.com/rollun-com)[ RSS](/packages/rollun-com-rollun-usps/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (16)Versions (49)Used By (0)

Rollun-Usps 3.0.0
=================

[](#rollun-usps-300)

Getting Started
---------------

[](#getting-started)

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

Для работы некоторых классов нужно определить PSR-3 логгер, который будет доступен в контейнере под именем `Psr\Log\LoggerInterface`.

### Способы доставки

[](#способы-доставки)

- RM-DS
- RM-PickUp (USPS)
- PU-DS
- PU-PickUp (USPS)
- WPS-DS
- TR-DS
- SLT-DS
- AU-DS
- AU-DS-COVID19

### DataStore: shipping-all-costs

[](#datastore-shipping-all-costs)

Библиотека предоставляет shipping-all-costs DataStore, который возвращает цены по все объявленным (в конфиге) методам доставки.

Примеры запросов:

```
http://SOME_URL/api/datastore/shipping-all-costs?and(eq(ZipOrigination,10005),eq(ZipDestination,91730),eq(Width,2),eq(Length,2),eq(Height,5),eq(Pounds,2),ne(cost,null()))&sort(+cost)&limit(50)
http://SOME_URL/api/datastore/shipping-all-costs?and(eq(ZipOrigination,28790),eq(ZipDestination,91730),eq(Width,2),eq(Length,2),eq(Height,1),eq(Pounds,2),eq(attr_CommodityCode,301),ne(cost,null()))&sort(+cost)&limit(50)
http://SOME_URL/api/datastore/shipping-all-costs?ZipOrigination=91601&ZipDestination=91730&Width=1&Length=10&Height=5&Pounds=0.5&Click_N_Shipp=Priority%20Mail
http://SOME_URL/api/datastore/shipping-all-costs?ZipOrigination=91601&ZipDestination=91730&Width=1&Length=10&Height=5&Pounds=1&like(id,*FtCls*)&limit(2,1)&select(id)

```

Есть возможность отправить в методы доставки дополнительные атрибуты. Для этого в запросе укажите `...,еq(attr_CommodityCode,301),...`, это означает что все методы доставки получат атрибут CommodityCode со значением 301.

### Добавление собственного способа доставки

[](#добавление-собственного-способа-доставки)

Библиотека предоставляет возможность добавлять собственные способы доставки. Все возможные способы доставки должны быть объявлены в **RootShippingProvider**, так как здесь используется древовидная структура и началом дерево является root.

Пример того как при помощи конфигураций добавить способ доставки который будет называтся **FixedPrice1**.

```
