承接 aglipanci/postmates-api 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

aglipanci/postmates-api

最新稳定版本:v1.0.8

Composer 安装命令:

composer require aglipanci/postmates-api

包简介

Postmates API Client for PHP

README 文档

README

Build Status

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

Agli Panci

WooCommerce Integration

WooCommerce Postmates Integration Plugin

License

The MIT License (MIT).

统计信息

  • 总下载量: 20.37k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 16
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 16
  • Watchers: 1
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2017-03-01