ajowi/sendy-fulfilment

此包允许您连接到Sendy API以管理货运履约订单

v1.4.0 2023-01-13 16:23 UTC

This package is auto-updated.

Last update: 2024-09-13 20:57:55 UTC


README

Latest Version on Packagist Software License Build Status Total Downloads

此包使得将Sendy履约服务API Sendy Fulfillment 集成到您的PHP应用程序变得简单。

内容

要求

  • 注册 Sendy履约账户
  • 在设置中生成您的API令牌

安装

您可以通过composer安装此包

composer require ajowi/sendy-fulfilment

设置Sendy履约服务

在Laravel中,将您的Sendy API令牌和端点URL添加到您的 config/services.php

// config/services.php
...
'sendy' => [
    'token' => env('SENDY_TOKEN'),
    'endpoint_url' => env('SENDY_ENDPOINT_URL'),
],
...

用法

示例请求:根据取货和送货坐标返回可用价格层级的订单价格报价

    use Ajowi\SendyFulfillment\PriceRequest;

    $data = new array(
        'ecommerce_order' => 'ODR-0000',
        'recepient' => [
                'name' => 'David Ajowi',
                'email' => 'ajowi@daniche.co.ke',
                'phone' => '+254 712345678'
        ],
        'locations' => [
            [
                'type' => 'PICKUP',
                'waypoint_id' => 'd67dbff1-4d57-4266-9c39-481c2d9c76eq',
                'lat' => -1.597429319708498,
                'long' => -1.597429319708498,
                'name' => 'Destination'
            ],
            [
                'type' => 'DELIVERY',
                'waypoint_id' => 'd67dbff1-4d57-4266-9c39-481c2d9c76eq',
                'lat' => -1.597429319708498,
                'long' => -1.597429319708498,
                'name' => 'Destination'
            ]
        ]
    );
    
    /**
     * -----------
     * IMPORTANT
     * -----------
     * If you are not using Laravel, pass the API token/key and Endpoint URL to the constructor like so
     * 
     *  $priceRequest = new PriceRequest('SENDY_API_TOKEN', 'ENDPOINT_URL');
     * 
     */
    $priceRequest = new PriceRequest();
    $priceRequest->initialize($data);

    // Do a price request
    try {
        $response = $priceRequest->send();
        $data = $response->getData();
        echo "Response data : " . print_r($data, true) . "\n";

        if ($response->isSuccessful()) {
            echo "Request was successful!\n";
        }
    } catch (\Exception $e) {
        echo "Message : " . $e->getMessage() . "\n";
    }

可用操作

  • 价格请求:请求订单的价格报价并返回给定取货和送货坐标的可用价格层级
  • 确认订单:在从价格请求端点获取报价后,使用定价UUID促进订单的确认
  • 获取订单:查看给定订单的取货点或路径中的项目
  • 取消订单:促进订单的取消。
  • 跟踪订单:获取有关订单的详细信息,包括跟踪详情、状态、骑手详情等。

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

测试

$ composer test

安全性

如果您发现任何安全问题,请通过电子邮件 :author_email 而不是使用问题跟踪器。

贡献

有关详细信息,请参阅 CONTRIBUTING

鸣谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅 许可证文件