Реализация API для службы доставки Dalli. Данная SDK поможет быстрее внедрить в свой проект взаимодействие со службой доставки Dalli.
Полное официальное описание взаимодействия с API Dalli можно найти по ссылке
Возможности SDK:
- Добавить заявку в корзину
- Редактировать заявку в корзине
- Добавить заявку через Почту России
- Показать содержимое корзины
- Очистить корзины
- Отправка в доставку
- Получить акт приема-передачи
- Получить акт передачи денег
- Получить акт возврата
- Получить наклейки
- Получить наклейки из корзины
- Запрос типов доставки
- Запрос интервалов доставки
- Запрос статуса заказов
- Пункты выдачи
- Расчет стоимости доставки
Работа со всеми методами API возможна только при наличии доступов к сервису интеграции, которые выдаются только при обращении по электронной почте [email protected]
Нужен PHP 7.4 или выше.
Данный SDK использует спецификацию PSR-18 (HTTP-client). Это значит в качестве HTTP-клиента можно использовать любой - клиент, поддерживающий данную спецификацию. Если у вашего клиента нет поддержки этой спецификации, можно посмотреть имеющиеся адаптеры для большинства популярных HTTP-клиентов
Установка осуществляется с помощью менеджера пакетов Composer
composer require pankovalxndr/dalli-sdk-php
$client = new Client(new \GuzzleHttp\Client(), 'my_awsome_token', Endpoint::MSK);
$items = [];
$item = new Item();
$order = new Order();
$receiver = new Receiver();
$receiver->setAddress('ул. Константина Константинопольского, д.1 к1')
->setTown('г. Москва')
->setPerson('Константин Константинопольский')
->setPhone('+7 000 000 00 00')
->setDate(new DateTime('2022-12-25'))
->setTimeMin('9:00')
->setTimeMax('22:00');
$item->setQuantity(2)
->setName('Моя тестовая товарная позиция')
->setWeight(3.15)
->setRetPrice(50.0)
->setInshPrice(5.0)
->setOriginCountry('RU')
->setGtd('10702030')
->setSuppCompany('Компания поставщик')
->setSuppPhone('+7 000 000 00 00')
->setSuppInn('3664069397')
->setType(1);
$items[] = $item;
$order->setNumber('sdk-001')
->setReceiver($receiver)
->setService(1)
->setWeight(3.15)
->setQuantity(1)
->setPayType(PayType::CASH)
->setPrice(150.0) // стоимость товарных позиций + стоимость доставки
->setPriced(50.0)
->setInshPrice(500.0)
->setInstruction('Максимально аккуратно')
->setItems($items);
$request = new CreateBasketRequest();
$request->addOrder($order);
$response = $client->sendCreateBasketRequest($request);
foreach ($response as $order) {
$error = $order->getErrors();
$success = $order->getSuccess();
if ($success)
echo $success->getBarcode() . PHP_EOL; // Штрих-код заказа в системе Dalli
}
Запуск тестов:
composer test
Данный проект распространяется под лицензией MIT.