aglipanci/postmates-api
最新稳定版本:v1.0.8
Composer 安装命令:
composer require aglipanci/postmates-api
包简介
Postmates API Client for PHP
关键字:
README 文档
README
A PHP client for consuming the Postmates API.
Install
Via Composer
$ composer require aglipanci/postmates-api
Note that the minimum required version of PHP is 5.6
Usage
Create client
$client = new Postmates\PostmatesClient([ 'customer_id' => 'some_customer_id', 'api_key' => 'production_or_test_api_key' ]);
Retrieve an API Key here after creating a developer account.
Get a Delivery Quote
$delivery_quote = new Postmates\Resources\DeliveryQuote($client); $delivery_quote->getQuote('501-525 Brannan St, San Francisco, CA 94107', '6 Colin P Kelly Jr St, San Francisco, CA 94107');
https://postmates.com/developer/docs/endpoints#get_quote
Get Delivery Zones
$delivery_zones = new Postmates\Resources\DeliveryZones($client); $delivery_zones->listZones();
https://postmates.com/developer/docs/endpoints#get_zones
Create a Delivery
$delivery = new Postmates\Resources\Delivery($client); $params = [ 'manifest' => 'test manifest', 'pickup_name' => 'test pickup nanme', 'pickup_address' => '501-525 Brannan St, San Francisco, CA 94107', 'pickup_phone_number' => '222 551 1234', 'dropoff_name' => 'test dropoff name', 'dropoff_address' => '6 Colin P Kelly Jr St, San Francisco, CA 94107', 'dropoff_phone_number' => '222 555 5432', ]; $delivery->create($params);
https://postmates.com/developer/docs/endpoints#create_delivery
List Deliveries
$delivery = new Postmates\Resources\Delivery($client); $delivery->listDeliveries();
https://postmates.com/developer/docs/endpoints#list_deliveries
Get a Delivery
$delivery = new Postmates\Resources\Delivery($client); $delivery->get('del_LAPCo_EAxDv6z-');
https://postmates.com/developer/docs/endpoints#get_delivery
Cancel a Delivery
$delivery = new Postmates\Resources\Delivery($client); $delivery->cancel('del_LAPCo_EAxDv6a-');
https://postmates.com/developer/docs/endpoints#cancel_delivery
Add Tip to a Delivery
$delivery = new Postmates\Resources\Delivery($client); $delivery->addTip('del_LAPCo_EAxDv6a-', 1000); // amount in cents
https://postmates.com/developer/docs/endpoints#tip_delivery
Handing WebHooks
$webhook = new Postmates\PostmatesWebhook('signature_secret_key'); $webhook_request = $webhook->parseRequest() // this will validate and return the webhook request if($webhook_request['kind'] == Delivery::EVENT_DELIVERY_STATUS) { //this is a delivery status event } if($webhook_request['kind'] == Delivery::EVENT_COURIER_UPDATE) { //this is a courrier update event }
if you want to just validate the request but handing it on your own:
$webhook = new Postmates\PostmatesWebhook('signature_secret_key'); $webhook_request_is_valid = $webhook->validateRequest($payload, $key)
https://postmates.com/developer/docs#webhooks
Errors
All requests will throw an Postmates\PostmatesException in case API returns an Error. An Example:
$params = [ 'manifest' => 'test manifest', 'pickup_name' => 'test pickup nanme', 'pickup_address' => '501-525 Brannan St, San Francisco, CA 94107', 'pickup_phone_number' => '222 551 1234', 'dropoff_name' => 'test dropoff name', 'dropoff_address' => '6 Colin P Kelly Jr St, San Francisco, CA 94107', 'dropoff_phone_number' => '222 555 5432', ]; try { $delivery->create($params); } catch (Postmates\PostmatesException $e) { $e->getMessage(); $e->getInvalidParams(); }
Testing
$ ./vendor/bin/phpunit
Credits
WooCommerce Integration
WooCommerce Postmates Integration Plugin
License
The MIT License (MIT).
统计信息
- 总下载量: 20.37k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 16
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-03-01