kilylabs / dostavista
Dostavista API客户端
0.13
2022-01-13 14:51 UTC
Requires
- php: ^7.0
- doctrine/inflector: ^1.1
- guzzlehttp/guzzle: ^7.0
README
非官方的dostavista.ru REST API的PHP库
安装
建议的安装方法是使用Composer
composer require gietos/dostavista
用法
// 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/bapi', 'clientId' => '...', 'token' => '...' ]);
计算订单
use Dostavista\OrderRequest; use Dostavista\Point; $orderRequest = (new OrderRequest('Весы')) ->setRequireCar(OrderRequest::DELIVERY_TYPE_FOOT) ->setBackpaymentMethod(OrderRequest::BACKPAYMENT_CARD) ->setBackpaymentDetails('Карта Сбербанка XXXX, получатель СЕРГЕЙ ИВАНОВИЧ П') ->setPoints([ (new Point( 'Москва, Магистральный пер., 1', new DateTime('17:00'), new DateTime('18:00'), '4951234567' )), (new Point( 'Москва, Бобруйская, 28', new DateTime('18:00'), new DateTime('19:00'), '9261234567' )) ->setTaking(3000), ]); $deliveryFee = $client->calculateOrder($orderRequest);
创建订单
use Dostavista\OrderRequest; use Dostavista\Point; $orderRequest = (new OrderRequest('Весы')) ->setRequireCar(OrderRequest::DELIVERY_TYPE_FOOT) ->setBackpaymentMethod(OrderRequest::BACKPAYMENT_CARD) ->setBackpaymentDetails('Карта Сбербанка XXXX, получатель СЕРГЕЙ ИВАНОВИЧ П') ->setPoints([ (new Point( 'Москва, Магистральный пер., 1', new DateTime('17:00'), new DateTime('18:00'), '4951234567' )) ->setContactPerson('Менеджер Склада Иван') ->setNote('Комплекс "Сити-Бокс"'), (new Point( 'Москва, Бобруйская, 28', new DateTime('18:00'), new DateTime('19:00'), '9261234567' )) ->setContactPerson('Анна Иванова') ->setNote('кв.66, домоф.1234') ->setTaking(3000), ]); $orderId = $client->createOrder($orderRequest);
取消订单
use Dostavista\CancelRequest; $client->cancelOrder(new CancelRequest( 123456, CancelRequest::SUBSTATUS_NOT_NEEDED ));