repat / shipping-service-provider-check
Simple trial-and-error library for testing which shipping provider a tracking number belongs to
Installs: 20
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 3
Forks: 0
Open Issues: 0
Type:application
Requires
- php: >=5.6.0
- danielstjules/stringy: ^2.3
- fabpot/goutte: ^3.1
This package is auto-updated.
Last update: 2024-12-20 08:48:59 UTC
README
This is a PHP package for finding out, which shipping service provider a tracking ID belongs to. Since it's used for Germany the service providers available here are the main focus. Contributions are welcome!
It's theoretically possible that a tracking ID is valid at multiple providers. That's why you get an array back that could contain multiple true
s.
Blog Article (German): https://repat.de/2016/07/herausfinden-zu-welchem-versanddienstleister-eine-tracking-id-gehoert/
Supported Providers
- DHL
- GLS
- UPS
- Hermes
- Amazon Logistics for MUC/Germany(?)
How it works
- Scraping the website, try to enter the tracking ID and see what happens OR
- Checking the format of the tracking ID with regular expressions
Installation
Available via composer on Packagist:
composer require repat/shipping-service-providers-check
Usage
Check out src/ShippingServiceProvidersCheck/default_providers.php
for configuration.
use repat\ShippingServiceProvidersCheck\Check; $check = new Check($trackingId); // checks all providers, returns an array like // [ // "dhl" => true, // "gls" => false, // ... // ] $check->checkAll(); // replacing providers or with your own providers, see below $check->checkAll($extraProviders); // gets all available providers $check->getProviders();
Replacing providers and adding your own providers
If you want to add your own provider, you can provide checkAll()
with an array like this. Any contributions are most welcome.
// online check "SPO" => [ 'base_url' => "http://example.com/tracking_id=", 'search_string' => 'This is the string that will be looked for', 'filter' => 'HTML tag to look for', ], // format check "SPF" => [ 'regex' => '/[foo]{1}/' ], // ...
It's a positive lookup, so you will get true
if search_string
was found in the HTML tag filter
. For information on filters, see Goutte.
For documentation on regular expressions in PHP see preg_match.
License
- see LICENSE file
Changelog
- 0.2 added regex for tracking ID recognition and amazon logistics as a provider
- 0.1.1 adding your own providers
- 0.1 fixed to working release (dhl, hermes, gls, ups)
- 0.0.1 initial release for testing
Contact
- Homepage: https://repat.de
- e-mail: repat@repat.de
- Twitter: @repat123