Download the PHP package sima-land/delivery-calculator without Composer
On this page you can find all versions of the php package sima-land/delivery-calculator. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download sima-land/delivery-calculator
More information about sima-land/delivery-calculator
Files in sima-land/delivery-calculator
Package delivery-calculator
Short Description Delivery calculator for sima-land.ru
License BSD-3
Homepage https://github.com/sima-land/delivery-php-calculator
Informations about the package delivery-calculator
Расчет стоимости доставки www.sima-land.ru
Основным способом расчета стоимости доставки является использование API https://www.sima-land.ru/api/v3/help/#Стоимость-доставки
Однако в ряду случаев предпочтительно рассчитывать стоимость доставки без использования API. Например:
- Количество запросов к API не укладывается в установленные лимиты.
- Требуемая скорость работы не позволяет ожидать ответа от API.
В описанных выше случаях рекомендуется использовать данный компонент, который позволяет вычислять стоимость доставки "на лету".
Для расчета стоимости доставки товара необходимо три сущности:
- Точка доставки - объект, реализующий PointInterface
- Товар - объект, реализующий ItemInterface
- Источник данных о коэффициентах упаковки - объект, реализующий VolumeFactorSourceInterface
Для того, чтобы произвести расчёт стоимости доставки товара, необходимо создать объект класса калькулятора с указанием точки доставки и коэффициентов упаковки.
Третий аргумент обозначает признак "локальности" точки по отношению к складу. Если , то доставка будет считаться бесплатной для всех товаров кроме тех, у которых метод возвращает
Для добавления товара к расчёту стоимости доставки используется функция , для получения результатов - . Для того, чтобы обнулить результат, используйте . В случае ошибки метод вернет false. Информацию об ошибках после этого можно посмотреть с помощью метода .
Пример:
Точка доставки
Точку доставки представляет объект, реализующий PointInterface, данные по большинству городов доставки можно получить по API https://www.sima-land.ru/api/v3/help/#Города-доставки
Особые случаи:
- Расчёт стоимости доставки до пункта самовывоза в г. Москва осуществляется с помощью класса MoscowPointAbstract. Нужно расширить этот класс, переопределив метод
- При расчёте доставки в г. Екатеринбург признак "локальности" должен быть
Товар
Все данные для реализации ItemInterface можно получить по API https://www.sima-land.ru/api/v3/help/#Товар
Данные о коэффициентах упаковки
Данные о коэффициентах упаковки представляет объект, реализующий VolumeFactorSourceInterface. Можно воспользоваться готовой реализацией модели DefaultVolumeFactorSource