Download the PHP package rollun-com/rollun-usps without Composer
On this page you can find all versions of the php package rollun-com/rollun-usps. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package rollun-usps
Rollun-Usps 3.0.0
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
Библиотека предоставляет shipping-all-costs DataStore, который возвращает цены по все объявленным (в конфиге) методам доставки.
Примеры запросов:
Есть возможность отправить в методы доставки дополнительные атрибуты. Для этого в запросе укажите , это означает что все методы доставки получат атрибут CommodityCode со значением 301.
Добавление собственного способа доставки
Библиотека предоставляет возможность добавлять собственные способы доставки. Все возможные способы доставки должны быть объявлены в RootShippingProvider, так как здесь используется древовидная структура и началом дерево является root.
Пример того как при помощи конфигураций добавить способ доставки который будет называтся FixedPrice1.
API USPS
Для работы с API USPS нужно указать USPS_API_PASS в .env (требуется только в dev режиме)
USPS_API_PASS="112233445566"
Библиотека проводит калькулацию данных самостоятельно, вместе с тем есть возможность проверить совпадают ли внутренняя калькуляция с ответом с API. Для этого нужно просто запустить unit tests. Для более детального изучения смотрите phpunit
Механизм упаковки посылки
Контейнер rollun\Entity\Product\Container\Box
в методах проверки возможности упаковать посылку в контейнер использует PackagePacker.
PackagePacker это микросервис которые предоставляет API для https://github.com/betterwaysystems/packer.
Укажите PACKAGE_PACKER_API_URL
в env для того чтобы библиотека могла получать данные по API.
Получение названия зоны доставки с помощью USPS API
Метод взят с страницы https://postcalc.usps.com/DomesticZoneChart (вторая вкладка). Метод позволяет получить зону в которой находится zip получателя относительно zip отправителя.
Пример curl запроса
Обязательные параметры
- origin - zip отправителя
- destination - zip получателя
- shippingDate - дата отправки
- _ - текущий timestamp с миллисекундами (пример - 1607610825151). Без этого параметра запрос работает, но сайт USPS его шлет.
Код ответа всегда ожидается 200, даже при неправильных параметрах.
Пример ответа -
ZoneInformation - Название зоны всегда будет первым предложением и будет в формате (по крайней мере судя по тестам).
Пример ответа с ошибкой, при не указаной дате -
USPS_PACKAGE_COSTS Generator
Скрипт для генерации массивов с ценами коробок под размер bin/UspsPackageCostsGenerator.php
На вох даем csv в формате выходящего массива (примеры есть в data директории), на выход он печатает нужным массив который потом вставляем в класс.
All versions of rollun-usps with dependencies
ext-curl Version *
ext-json Version *
ext-mbstring Version *
code-tool/jaeger-client-php Version ^2.16
guzzlehttp/guzzle Version ^6.5
rollun-com/rollun-callback Version ^5.2||^6
rollun-com/rollun-datastore Version ^6
symfony/dotenv Version ^4.2
vinceg/usps-php-api Version ^1.0
zendframework/zend-component-installer Version ^2.1.1
zendframework/zend-config-aggregator Version ^1.0
zendframework/zend-servicemanager Version ^3.3
zendframework/zend-stdlib Version ^3.1