pankovalxndr / dalli-sdk-php
This is a developer tool for integration with Dalli service.
Installs: 1 865
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 3
Forks: 0
Open Issues: 0
Requires
- php: >=7.4.0
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- doctrine/annotations: ^2.0
- jms/serializer: ^3.17
- nyholm/psr7: ^1.5
- psr/http-client: ^1.0
Requires (Dev)
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.7
- vimeo/psalm: ^5.1
README
Реализация API для службы доставки Dalli. Данная SDK поможет быстрее внедрить в свой проект взаимодействие со службой доставки Dalli.
Полное официальное описание взаимодействия с API Dalli можно найти по ссылке
Возможности SDK:
- Добавить заявку в корзину
- Редактировать заявку в корзине
- Добавить заявку через Почту России
- Показать содержимое корзины
- Очистить корзины
- Отправка в доставку
- Получить акт приема-передачи
- Получить акт передачи денег
- Получить акт возврата
- Получить наклейки
- Получить наклейки из корзины
- Запрос типов доставки
- Запрос интервалов доставки
- Запрос статуса заказов
- Пункты выдачи
- Расчет стоимости доставки
Работа со всеми методами API возможна только при наличии доступов к сервису интеграции, которые выдаются только при обращении по электронной почте it@dalli-service.com
Требования
Нужен 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.