Для упрощения интеграции клиентов транспортной компании DPD с их API, нужно реализовать набор инструментов разработки PHP.
Мы разработали библиотеку, в которой представлены шаблоны кодов для выполнения следующих задач:
SDK поддерживает работу с пакетным менеджером composer, что позволяет использовать его функционал для подключения и своевременного обновления SDK.
Для того, чтобы подключить SDK с помощью composer Вам необходимо в своем composer.json файле добавить
"repositories": [ { "type": "vcs", "url": "https://bitbucket.org/DPDinRussia/dpd.sdk"; } ]
После этого, для скачивания и установки SDK достаточно выполнить комманду
composer require ipol/dpd.sdk:dev-master
Так же SDK можно просто скачать в виде обычного архива и подключить его напрямую в Ваш проект
require_once 'path/to/dpd.sdk/src/autoload.php';
SDK имеет многочисленные параметры позволяющие гибко настроить свою работу под специфику различных проектов.
Самыми важными являются настройки подключения к API
В случае если в проекте используется несколько аккаунтов DPD для разных стран СНГ, так же потребуется заполнить:
По умолчанию SDK хранит свои данные во внутренней SQLite БД. Однако данная БД не отличается производительностью и при работе с ней возможны временные задержки.
Для решения этой проблемы SDK позволяет настроить подключение к MYSQL БД, это делается c помощью параметров:
В этом случае SDK автоматически создаст свои таблицы в БД указанной в подключении.
При расчете стоимости доставки SDK оперирует габаритами указанными в конкретных товарах. Но иногда бывает, что у каких-то товаров габариты могут быть не указаны. Для того, чтобы SDK правильно обрабатывало данную ситуацию в настройках можно указать габариты по умолчанию
Полный список параметров и их описание можно увидеть на здесь
SDK поставляется с полным набором различных примеров и подробным описанием функционала.
Все примеры располагаются в директории examples внутри SDK.
В итоге мы имеем SDK (набор средств), который, встраиваясь в любой PHP-проект, предоставляет разработчику удобный интерфейс для взаимодействия с API DPD. При этом часть рутинных операций, такие как расчет габаритов посылки, синхронизация городов обслуживания, поиск подходящего терминала и др, скрыты в SDK, позволяя разработчику сосредоточить все силы на решении бизнес-задачи проекта.