afiqiqmal/parcel-track

包裹跟踪API

1.13.0 2019-10-01 08:01 UTC

README

Build Status Coverage Packagist Packagist Donate

本地快递包裹追踪器。基本上,它只是爬取快递网站或现有的API。在失败发生前,需要定期监控Web/API的变化。


顺便说一句,目前可用(成功抓取)

  1. Post Laju
  2. GDEX
  3. ABX Express
  4. DHL Express
  5. DHL E-Commerce
  6. SkyNet Express
  7. CityLink Express
  8. FedEx Express
  9. LEL Express
  10. KTM Distribution Sdn Bhd
  11. UPS

仅在PHP 7.1中测试过

安装

步骤1:从Composer安装

composer require afiqiqmal/parcel-track

或者,您可以在项目现有的composer.json文件中将其指定为依赖项

{
   "require": {
      "afiqiqmal/parcel-tracker": "^1.0"
   }
}

使用方法

安装后,您需要要求Composer的自动加载器并添加您的代码。

require_once __DIR__ .'/../vendor/autoload.php';

Post Laju示例

$data = parcel_track()
	->postLaju()
	->setTrackingNumber("ER157080065MY")
	->fetch();

GDex示例

$data = parcel_track()
	->gdex()
	->setTrackingNumber("4941410530")
	->fetch();

Abx Express示例

$data = parcel_track()
	->abxExpress()
	->setTrackingNumber("EZP843055940197")
	->fetch();

DHL Express示例

$data = parcel_track()
	->dhlExpress()
	->setTrackingNumber("5176011131")
	->fetch();

检查哪个承运商的跟踪号码属于的示例

$data = parcel_track()
	->setTrackingNumber("5176011131")
	->checkCourier();

方法

结果

检查结果

对于检查以下类似的承运商响应

{
    "code": 200,
    "error": false,
    "possible_carrier": [
        "ABX Express Sdn Bhd",
        "City Link Express"
    ],
    "generated_at": "2018-05-14 08:53:35",
    "footer": {
        "developer": {
            "name": "Hafiq",
            "homepage": "https://github.com/afiqiqmal"
        }
    }
}
追踪结果

您应该得到类似以下的数据追踪

{
    "code": 200,
    "error": false,
    "tracker": {
        "tracking_number": "4941410530",
        "provider": "gdex",
        "delivered": true,
        "checkpoints": [
            {
                "date": "2016-11-30 17:41:10",
                "timestamp": 1480527670,
                "process": "Outbound from KBR station",
                "type": "item_received",
                "event": "Kota Bharu"
            },
            {
                "date": "2016-11-30 17:47:00",
                "timestamp": 1480528020,
                "process": "Picked up by courier",
                "type": "dispatch",
                "event": "Kota Bharu"
            },
            {
                "date": "2016-12-01 03:25:11",
                "timestamp": 1480562711,
                "process": "In transit",
                "type": "facility_process",
                "event": "Petaling Jaya"
            },
            {
                "date": "2016-12-01 10:00:16",
                "timestamp": 1480586416,
                "process": "Inbound to JHB station",
                "type": "facility_process",
                "event": "Johor Bharu"
            },
            {
                "date": "2016-12-02 10:10:00",
                "timestamp": 1480673400,
                "process": "Delivered",
                "type": "delivered",
                "event": "Sungai Tiram"
            }
        ]
    },
    "generated_at": "2018-05-03 02:07:20",
    "footer": {
        "source": "GD Express Sdn Bhd",
        "developer": {
            "name": "Hafiq",
            "homepage": "https://github.com/afiqiqmal"
        }
    }
}

待办事项

  • 努力获取其他包裹数据
  • 如果任何包裹数据发生变化,请保持更新

问题

  • 如果出现问题,如API始终在与真实站点交叉检查后返回空数组[],请告诉我 =)

Pftt.. 我不知道为什么,Travis CI失败了。这是由于`gnutls_handshake()`失败。在我的本地环境中,所有测试单元都通过了。我首先禁用了它,因为总是在travis-ci.org上失败 =)
## 更新日志 - 请参阅changelog.md

许可证

许可协议为MIT许可证

捐赠