kagaroty / dostavista
Dostavista API client
0.11
2018-05-22 09:24 UTC
Requires
- php: >=7.0
- doctrine/inflector: ^1.1
- guzzlehttp/guzzle: ^6.2
This package is not auto-updated.
Last update: 2025-05-23 10:17:32 UTC
README
Non-official PHP library for the dostavista.ru REST API
Installation
The suggested installation method is via composer:
composer require kagaroty/dostavista
Usage
// Note, that we use sandbox API URL here, change to production one after tests $client = new \Dostavista\Dostavista(new \GuzzleHttp\Client, [ 'baseUrl' => 'https://robotapitest.dostavista.ru/api/business/1.1', 'token' => '...' ]);
Calculate order
use Dostavista\OrderRequest; use Dostavista\Point; use Dostavista\ContactPerson; $orderRequest = (new OrderRequest('Весы')) ->setVehicleType(6) ->setBackpaymentDetails('Карта Сбербанка XXXX, получатель СЕРГЕЙ ИВАНОВИЧ П') ->setPoints([ (new Point( 'Москва, Магистральный пер., 1', new DateTime('17:00'), new DateTime('18:00'), (new ContactPerson([ 'name' => 'Иванов Иван Иванович', 'phone' => '4951234567' ])) )), (new Point( 'Москва, Бобруйская, 28', new DateTime('18:00'), new DateTime('19:00'), (new ContactPerson([ 'phone' => '9261234567' ])) )) ->setTaking(3000), ]); $deliveryFee = $client->calculateOrder($orderRequest);
Create order
use Dostavista\OrderRequest; use Dostavista\Point; use Dostavista\ContactPerson; $orderRequest = (new OrderRequest('Весы')) ->setVehicleType(6) ->setBackpaymentDetails('Карта Сбербанка XXXX, получатель СЕРГЕЙ ИВАНОВИЧ П') ->setPoints([ (new Point( 'Москва, Магистральный пер., 1', new DateTime('17:00'), new DateTime('18:00'), (new ContactPerson([ 'name' => 'Иванов Иван Иванович', 'phone' => '4951234567' ])) )) ->setNote('Комплекс "Сити-Бокс"'), (new Point( 'Москва, Бобруйская, 28', new DateTime('18:00'), new DateTime('19:00'), (new ContactPerson([ 'phone' => '9261234567' ])) )) ->setNote('Дополнительная информация о заказе для курьера: номер офиса или квартиры И Т.Д.') ->setInvisibleMileNavigationInstructions('Инструкция для курьера, как пройти до получателя на месте') ->setTaking(3000), ]); $orderId = $client->createOrder($orderRequest);
Create order
$courier = $client->getCourier(123456);
Cancel order
use Dostavista\CancelRequest; $client->cancelOrder(new CancelRequest(123456));