universal-parcel-scraper 0.8.1 → 0.9.0-main.333
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/data/carrier.schema.json +4 -0
- package/data/catalog.json +491 -11
- package/data/coverage-summary.json +5 -5
- package/data/detection-golden.json +338 -54
- package/dist/browser/scraper.js +535 -27
- package/dist/carriers/brt/numbers.json +9 -3
- package/dist/carriers/canada-post/numbers.json +8 -4
- package/dist/carriers/chronopost/numbers.json +13 -0
- package/dist/carriers/ciblex/numbers.json +4 -1
- package/dist/carriers/cne/carrier.json +51 -0
- package/dist/carriers/cne/numbers.json +5 -0
- package/dist/carriers/cne/statuses.json +4 -0
- package/dist/carriers/colis-prive/numbers.json +2 -1
- package/dist/carriers/correos-express/numbers.json +6 -3
- package/dist/carriers/delhivery/numbers.json +9 -3
- package/dist/carriers/dhl-ecommerce/numbers.json +2 -1
- package/dist/carriers/dpd/adapter.d.ts +6 -2
- package/dist/carriers/dpd/adapter.js +71 -17
- package/dist/carriers/dpd/numbers.json +3 -1
- package/dist/carriers/dpd-de/adapter.d.ts +3 -0
- package/dist/carriers/dpd-de/adapter.js +14 -0
- package/dist/carriers/dpd-de/carrier.json +94 -0
- package/dist/carriers/dpd-de/numbers.json +50 -0
- package/dist/carriers/dpd-de/statuses.json +38 -0
- package/dist/carriers/dpd-fr/numbers.json +8 -2
- package/dist/carriers/dpd-uk/carrier.json +59 -0
- package/dist/carriers/dpd-uk/numbers.json +5 -0
- package/dist/carriers/dpd-uk/statuses.json +4 -0
- package/dist/carriers/ekart/adapter.d.ts +12 -0
- package/dist/carriers/ekart/adapter.js +56 -0
- package/dist/carriers/ekart/carrier.json +64 -0
- package/dist/carriers/ekart/numbers.json +29 -0
- package/dist/carriers/ekart/parser.d.ts +3 -0
- package/dist/carriers/ekart/parser.js +58 -0
- package/dist/carriers/ekart/statuses.json +11 -0
- package/dist/carriers/evri/carrier.json +3 -3
- package/dist/carriers/evri/numbers.json +12 -4
- package/dist/carriers/evri-uk/carrier.json +63 -0
- package/dist/carriers/evri-uk/numbers.json +5 -0
- package/dist/carriers/evri-uk/statuses.json +4 -0
- package/dist/carriers/fedex/numbers.json +8 -4
- package/dist/carriers/gls-ch/numbers.json +2 -1
- package/dist/carriers/gls-de/numbers.json +2 -1
- package/dist/carriers/gls-fr/numbers.json +2 -1
- package/dist/carriers/hermes-de/carrier.json +6 -1
- package/dist/carriers/hermes-de/numbers.json +29 -4
- package/dist/carriers/intelcom/adapter.d.ts +11 -0
- package/dist/carriers/intelcom/adapter.js +33 -0
- package/dist/carriers/intelcom/carrier.json +72 -0
- package/dist/carriers/intelcom/numbers.json +18 -0
- package/dist/carriers/intelcom/parser.d.ts +3 -0
- package/dist/carriers/intelcom/parser.js +72 -0
- package/dist/carriers/intelcom/statuses.json +4 -0
- package/dist/carriers/j-and-t/carrier.json +1 -1
- package/dist/carriers/j-and-t/numbers.json +2 -1
- package/dist/carriers/jd-logistics/adapter.d.ts +11 -0
- package/dist/carriers/jd-logistics/adapter.js +40 -0
- package/dist/carriers/jd-logistics/carrier.json +35 -9
- package/dist/carriers/jd-logistics/parser.d.ts +4 -0
- package/dist/carriers/jd-logistics/parser.js +81 -0
- package/dist/carriers/jd-logistics/statuses.json +4 -0
- package/dist/carriers/lbc-express/carrier.json +51 -0
- package/dist/carriers/lbc-express/numbers.json +35 -0
- package/dist/carriers/lbc-express/statuses.json +4 -0
- package/dist/carriers/mrw/numbers.json +2 -1
- package/dist/carriers/nova-poshta/adapter.d.ts +12 -0
- package/dist/carriers/nova-poshta/adapter.js +35 -0
- package/dist/carriers/nova-poshta/carrier.json +63 -0
- package/dist/carriers/nova-poshta/numbers.json +26 -0
- package/dist/carriers/nova-poshta/parser.d.ts +3 -0
- package/dist/carriers/nova-poshta/parser.js +52 -0
- package/dist/carriers/nova-poshta/statuses.json +4 -0
- package/dist/carriers/paack/numbers.json +2 -1
- package/dist/carriers/purolator/numbers.json +6 -3
- package/dist/carriers/sagawa/carrier.json +45 -0
- package/dist/carriers/sagawa/numbers.json +5 -0
- package/dist/carriers/sagawa/statuses.json +4 -0
- package/dist/carriers/seur/numbers.json +6 -2
- package/dist/carriers/sf-express/numbers.json +2 -1
- package/dist/carriers/speedpak/adapter.d.ts +11 -0
- package/dist/carriers/speedpak/adapter.js +33 -0
- package/dist/carriers/speedpak/carrier.json +72 -0
- package/dist/carriers/speedpak/numbers.json +18 -0
- package/dist/carriers/speedpak/parser.d.ts +3 -0
- package/dist/carriers/speedpak/parser.js +76 -0
- package/dist/carriers/speedpak/status.d.ts +2 -0
- package/dist/carriers/speedpak/status.js +18 -0
- package/dist/carriers/speedpak/statuses.json +77 -0
- package/dist/carriers/spx-ph/adapter.d.ts +12 -0
- package/dist/carriers/spx-ph/adapter.js +49 -0
- package/dist/carriers/spx-ph/carrier.json +94 -0
- package/dist/carriers/spx-ph/numbers.json +30 -0
- package/dist/carriers/spx-ph/parser.d.ts +3 -0
- package/dist/carriers/spx-ph/parser.js +73 -0
- package/dist/carriers/spx-ph/statuses.json +4 -0
- package/dist/carriers/sto/carrier.json +1 -1
- package/dist/carriers/sto/numbers.json +2 -1
- package/dist/carriers/tnt/numbers.json +4 -2
- package/dist/carriers/uniuni/numbers.json +13 -0
- package/dist/carriers/unknown/numbers.json +9 -3
- package/dist/carriers/xpressbees/adapter.d.ts +12 -0
- package/dist/carriers/xpressbees/adapter.js +36 -0
- package/dist/carriers/xpressbees/carrier.json +76 -0
- package/dist/carriers/xpressbees/numbers.json +50 -0
- package/dist/carriers/xpressbees/parser.d.ts +3 -0
- package/dist/carriers/xpressbees/parser.js +63 -0
- package/dist/carriers/xpressbees/status.d.ts +2 -0
- package/dist/carriers/xpressbees/status.js +14 -0
- package/dist/carriers/xpressbees/statuses.json +113 -0
- package/dist/carriers/yamato/numbers.json +4 -2
- package/dist/carriers/zto/carrier.json +1 -1
- package/dist/carriers/zto/numbers.json +2 -1
- package/dist/core/catalog/hints.js +3 -3
- package/dist/core/catalog/inputs.js +2 -1
- package/dist/core/catalog/linkRules.d.ts +1 -0
- package/dist/core/catalog/linkRules.js +1 -0
- package/dist/core/catalog/networks.js +1 -1
- package/dist/core/catalog/types.d.ts +3 -1
- package/dist/core/detection/parse.js +2 -1
- package/dist/data/catalog.json +491 -11
- package/dist/generated/catalog.d.ts +311 -12
- package/dist/generated/catalog.js +504 -12
- package/dist/generated/registry.js +29 -1
- package/dist/providers/coverage.json +207 -3
- package/dist/providers/parcelsapp/adapter.js +3 -1
- package/dist/server/openapi.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -13,9 +13,9 @@ The engine behind [Peek](https://peektracker.com) ([GitHub](https://github.com/p
|
|
|
13
13
|
[](LICENSE)
|
|
14
14
|
|
|
15
15
|
<!-- GENERATED:summary -->
|
|
16
|
-
**3,500+ carriers** through **
|
|
16
|
+
**3,500+ carriers** through **94 dedicated adapters** and **5 universal fallbacks**
|
|
17
17
|
|
|
18
|
-
<sub>
|
|
18
|
+
<sub>119 catalog entries · 58 countries represented</sub>
|
|
19
19
|
<!-- /GENERATED:summary -->
|
|
20
20
|
|
|
21
21
|
[Try it](#try-it) · [Ways to run it](#ways-to-run-it) · [Benchmark](#benchmark) · [Carriers](carriers/) · [Add a carrier](CONTRIBUTING.md)
|
|
@@ -33,9 +33,9 @@ its own as a command, a Node library or an HTTP server.
|
|
|
33
33
|
## Benchmark
|
|
34
34
|
|
|
35
35
|
<!-- GENERATED:coverage -->
|
|
36
|
-
In a curated benchmark of
|
|
36
|
+
In a curated benchmark of 113 carriers, dedicated adapters return tracking history for **66**, rising to **79** with all fallbacks enabled. The best single aggregator returns 53.
|
|
37
37
|
|
|
38
|
-
<img src="docs/assets/coverage.svg" alt="Carriers with tracking history: This project, all fallbacks enabled
|
|
38
|
+
<img src="docs/assets/coverage.svg" alt="Carriers with tracking history: This project, all fallbacks enabled 79, This project, dedicated adapters alone 66, ParcelsApp 53, Postal Ninja 43, 17TRACK 40, Ship24 42, UPU 12." width="760">
|
|
39
39
|
<!-- /GENERATED:coverage -->
|
|
40
40
|
|
|
41
41
|
[Method and results per carrier](providers/COVERAGE.md)
|
|
@@ -149,7 +149,7 @@ createTracker({ providers: ['ParcelsApp', 'Ship24', '17TRACK', 'Postal Ninja', '
|
|
|
149
149
|
<!-- GENERATED:stages -->
|
|
150
150
|
<img src="docs/assets/stages.svg" alt="DHL: Die Sendung wurde in das Zustellfahrzeug geladen.; Mondial Relay: En cours de livraison; Correios Brazil: Objeto saiu para entrega ao destinatário; Correos Express: EN REPARTO; Yamato Transport: 配達中; La Poste / Colissimo: DISTOU. All are filed under out_for_delivery." width="760">
|
|
151
151
|
|
|
152
|
-
The carrier folders record 1,
|
|
152
|
+
The carrier folders record 1,730 such statuses, each filed under one stage.
|
|
153
153
|
<!-- /GENERATED:stages -->
|
|
154
154
|
|
|
155
155
|
Wording nobody recorded yet goes through a classifier that reads seven European languages.
|
package/data/carrier.schema.json
CHANGED
package/data/catalog.json
CHANGED
|
@@ -1530,13 +1530,17 @@
|
|
|
1530
1530
|
],
|
|
1531
1531
|
"detectionRules": [
|
|
1532
1532
|
{
|
|
1533
|
-
"pattern": "^H\\d{
|
|
1533
|
+
"pattern": "^H\\d{16,19}$",
|
|
1534
1534
|
"confidence": "high"
|
|
1535
1535
|
},
|
|
1536
1536
|
{
|
|
1537
1537
|
"pattern": "^\\d{14}$",
|
|
1538
1538
|
"confidence": "low",
|
|
1539
1539
|
"checksum": "hermes"
|
|
1540
|
+
},
|
|
1541
|
+
{
|
|
1542
|
+
"pattern": "^H\\d{15}$",
|
|
1543
|
+
"confidence": "low"
|
|
1540
1544
|
}
|
|
1541
1545
|
]
|
|
1542
1546
|
},
|
|
@@ -1772,7 +1776,7 @@
|
|
|
1772
1776
|
"displayName": "Evri",
|
|
1773
1777
|
"color": "#00014d",
|
|
1774
1778
|
"aliases": [
|
|
1775
|
-
"
|
|
1779
|
+
"Evri International"
|
|
1776
1780
|
],
|
|
1777
1781
|
"countries": [
|
|
1778
1782
|
"GB"
|
|
@@ -1786,12 +1790,12 @@
|
|
|
1786
1790
|
"localClocks": true
|
|
1787
1791
|
},
|
|
1788
1792
|
"canaryUrl": "https://globaleco.app/track/",
|
|
1789
|
-
"trackingUrlTemplate": "https://
|
|
1793
|
+
"trackingUrlTemplate": "https://globaleco.app/track",
|
|
1790
1794
|
"linkRules": [],
|
|
1791
1795
|
"detectionRules": [
|
|
1792
1796
|
{
|
|
1793
1797
|
"pattern": "^H[A-Z0-9]{15}$",
|
|
1794
|
-
"confidence": "
|
|
1798
|
+
"confidence": "low"
|
|
1795
1799
|
}
|
|
1796
1800
|
]
|
|
1797
1801
|
},
|
|
@@ -3178,7 +3182,7 @@
|
|
|
3178
3182
|
"mode": "automatic",
|
|
3179
3183
|
"adapter": "universal"
|
|
3180
3184
|
},
|
|
3181
|
-
"canaryUrl": "https://
|
|
3185
|
+
"canaryUrl": "https://www.sto.cn/pc/service-page/iframe_2_21",
|
|
3182
3186
|
"trackingUrlTemplate": "https://www.sto.cn/",
|
|
3183
3187
|
"linkRules": [],
|
|
3184
3188
|
"detectionRules": [
|
|
@@ -3269,7 +3273,7 @@
|
|
|
3269
3273
|
"mode": "automatic",
|
|
3270
3274
|
"adapter": "universal"
|
|
3271
3275
|
},
|
|
3272
|
-
"canaryUrl": "https://
|
|
3276
|
+
"canaryUrl": "https://www.zto.com/check",
|
|
3273
3277
|
"trackingUrlTemplate": "https://www.zto.com/",
|
|
3274
3278
|
"linkRules": [],
|
|
3275
3279
|
"detectionRules": [
|
|
@@ -3289,11 +3293,21 @@
|
|
|
3289
3293
|
"timezone": "UTC",
|
|
3290
3294
|
"tracking": {
|
|
3291
3295
|
"mode": "automatic",
|
|
3292
|
-
"adapter": "
|
|
3296
|
+
"adapter": "jd-logistics",
|
|
3297
|
+
"localClocks": true
|
|
3293
3298
|
},
|
|
3294
|
-
"canaryUrl": "https://
|
|
3295
|
-
"trackingUrlTemplate": "https://www.jingdonglogistics.com/Tracking",
|
|
3296
|
-
"linkRules": [
|
|
3299
|
+
"canaryUrl": "https://www.jingdonglogistics.com/Tracking",
|
|
3300
|
+
"trackingUrlTemplate": "https://www.jingdonglogistics.com/Tracking?waybillCodes={trackingNumber}",
|
|
3301
|
+
"linkRules": [
|
|
3302
|
+
{
|
|
3303
|
+
"domains": [
|
|
3304
|
+
"jingdonglogistics.com"
|
|
3305
|
+
],
|
|
3306
|
+
"params": [
|
|
3307
|
+
"waybillCodes"
|
|
3308
|
+
]
|
|
3309
|
+
}
|
|
3310
|
+
],
|
|
3297
3311
|
"detectionRules": [
|
|
3298
3312
|
{
|
|
3299
3313
|
"pattern": "^VG\\d{11}$",
|
|
@@ -3926,7 +3940,7 @@
|
|
|
3926
3940
|
"mode": "automatic",
|
|
3927
3941
|
"adapter": "universal"
|
|
3928
3942
|
},
|
|
3929
|
-
"canaryUrl": "https://
|
|
3943
|
+
"canaryUrl": "https://www.jtexpress.ph/",
|
|
3930
3944
|
"trackingUrlTemplate": "https://www.jtexpress.ph/track-and-trace?flag=1&waybillNo={trackingNumber}",
|
|
3931
3945
|
"linkRules": [
|
|
3932
3946
|
{
|
|
@@ -3986,6 +4000,36 @@
|
|
|
3986
4000
|
],
|
|
3987
4001
|
"detectionRules": []
|
|
3988
4002
|
},
|
|
4003
|
+
"cne": {
|
|
4004
|
+
"displayName": "CNE Express",
|
|
4005
|
+
"color": "#e83828",
|
|
4006
|
+
"aliases": [
|
|
4007
|
+
"CNE",
|
|
4008
|
+
"递一物流"
|
|
4009
|
+
],
|
|
4010
|
+
"countries": [
|
|
4011
|
+
"CN"
|
|
4012
|
+
],
|
|
4013
|
+
"selectable": true,
|
|
4014
|
+
"timezone": "UTC",
|
|
4015
|
+
"tracking": {
|
|
4016
|
+
"mode": "automatic",
|
|
4017
|
+
"adapter": "universal"
|
|
4018
|
+
},
|
|
4019
|
+
"canaryUrl": "https://www.cne.com/track",
|
|
4020
|
+
"trackingUrlTemplate": "https://www.cne.com/en/track?no={trackingNumber}",
|
|
4021
|
+
"linkRules": [
|
|
4022
|
+
{
|
|
4023
|
+
"domains": [
|
|
4024
|
+
"cne.com"
|
|
4025
|
+
],
|
|
4026
|
+
"params": [
|
|
4027
|
+
"no"
|
|
4028
|
+
]
|
|
4029
|
+
}
|
|
4030
|
+
],
|
|
4031
|
+
"detectionRules": []
|
|
4032
|
+
},
|
|
3989
4033
|
"dhl-express": {
|
|
3990
4034
|
"displayName": "DHL Express",
|
|
3991
4035
|
"color": "#ffcc00",
|
|
@@ -4019,6 +4063,272 @@
|
|
|
4019
4063
|
}
|
|
4020
4064
|
]
|
|
4021
4065
|
},
|
|
4066
|
+
"dpd-de": {
|
|
4067
|
+
"displayName": "DPD Germany",
|
|
4068
|
+
"color": "#dc0032",
|
|
4069
|
+
"aliases": [
|
|
4070
|
+
"DPD Deutschland"
|
|
4071
|
+
],
|
|
4072
|
+
"countries": [
|
|
4073
|
+
"DE"
|
|
4074
|
+
],
|
|
4075
|
+
"selectable": true,
|
|
4076
|
+
"timezone": "Europe/Berlin",
|
|
4077
|
+
"tracking": {
|
|
4078
|
+
"mode": "automatic",
|
|
4079
|
+
"adapter": "dpd-de",
|
|
4080
|
+
"requirements": [
|
|
4081
|
+
{
|
|
4082
|
+
"field": "postcode",
|
|
4083
|
+
"optional": true,
|
|
4084
|
+
"label": "Delivery postcode",
|
|
4085
|
+
"type": "text",
|
|
4086
|
+
"pattern": "^[0-9]{5}$",
|
|
4087
|
+
"maxLength": 5,
|
|
4088
|
+
"inputMode": "numeric",
|
|
4089
|
+
"autoComplete": "postal-code",
|
|
4090
|
+
"help": "Optional. DPD uses it to unlock verified scans and the delivery window.",
|
|
4091
|
+
"validator": "germanyPostcode"
|
|
4092
|
+
}
|
|
4093
|
+
]
|
|
4094
|
+
},
|
|
4095
|
+
"canaryUrl": "https://tracking.dpd.de/status/en_US/parcel/",
|
|
4096
|
+
"trackingUrlTemplate": "https://tracking.dpd.de/status/en_US/parcel/{trackingNumber}",
|
|
4097
|
+
"linkRules": [
|
|
4098
|
+
{
|
|
4099
|
+
"domains": [
|
|
4100
|
+
"tracking.dpd.de"
|
|
4101
|
+
],
|
|
4102
|
+
"path": "^/status/[a-z]{2}_[A-Z]{2}/parcel/(\\d{14})/?$"
|
|
4103
|
+
},
|
|
4104
|
+
{
|
|
4105
|
+
"domains": [
|
|
4106
|
+
"my.dpd.de"
|
|
4107
|
+
],
|
|
4108
|
+
"params": [
|
|
4109
|
+
"parcelno"
|
|
4110
|
+
]
|
|
4111
|
+
}
|
|
4112
|
+
],
|
|
4113
|
+
"detectionRules": [
|
|
4114
|
+
{
|
|
4115
|
+
"pattern": "^\\d{14}$",
|
|
4116
|
+
"confidence": "low"
|
|
4117
|
+
}
|
|
4118
|
+
]
|
|
4119
|
+
},
|
|
4120
|
+
"dpd-uk": {
|
|
4121
|
+
"displayName": "DPD UK",
|
|
4122
|
+
"color": "#dc0032",
|
|
4123
|
+
"aliases": [
|
|
4124
|
+
"DPD United Kingdom"
|
|
4125
|
+
],
|
|
4126
|
+
"countries": [
|
|
4127
|
+
"GB"
|
|
4128
|
+
],
|
|
4129
|
+
"selectable": true,
|
|
4130
|
+
"timezone": "Europe/London",
|
|
4131
|
+
"tracking": {
|
|
4132
|
+
"mode": "automatic",
|
|
4133
|
+
"adapter": "universal"
|
|
4134
|
+
},
|
|
4135
|
+
"canaryUrl": "https://track.dpd.co.uk/",
|
|
4136
|
+
"trackingUrlTemplate": "https://track.dpd.co.uk/?reference={trackingNumber}",
|
|
4137
|
+
"linkRules": [
|
|
4138
|
+
{
|
|
4139
|
+
"domains": [
|
|
4140
|
+
"track.dpd.co.uk",
|
|
4141
|
+
"tracking.dpd.co.uk"
|
|
4142
|
+
],
|
|
4143
|
+
"params": [
|
|
4144
|
+
"reference",
|
|
4145
|
+
"parcelNumber"
|
|
4146
|
+
]
|
|
4147
|
+
}
|
|
4148
|
+
],
|
|
4149
|
+
"detectionRules": [
|
|
4150
|
+
{
|
|
4151
|
+
"pattern": "^\\d{14}$",
|
|
4152
|
+
"confidence": "low"
|
|
4153
|
+
}
|
|
4154
|
+
]
|
|
4155
|
+
},
|
|
4156
|
+
"ekart": {
|
|
4157
|
+
"displayName": "Ekart",
|
|
4158
|
+
"color": "#0074D9",
|
|
4159
|
+
"aliases": [
|
|
4160
|
+
"eKart Logistics"
|
|
4161
|
+
],
|
|
4162
|
+
"countries": [
|
|
4163
|
+
"IN"
|
|
4164
|
+
],
|
|
4165
|
+
"selectable": true,
|
|
4166
|
+
"timezone": "Asia/Kolkata",
|
|
4167
|
+
"tracking": {
|
|
4168
|
+
"mode": "automatic",
|
|
4169
|
+
"adapter": "ekart"
|
|
4170
|
+
},
|
|
4171
|
+
"canaryUrl": "https://www.ekartlogistics.in/track-order",
|
|
4172
|
+
"trackingUrlTemplate": "https://ekartlogistics.com/ekartlogistics-web/shipmenttrack/{trackingNumber}",
|
|
4173
|
+
"linkRules": [
|
|
4174
|
+
{
|
|
4175
|
+
"domains": [
|
|
4176
|
+
"ekartlogistics.com"
|
|
4177
|
+
],
|
|
4178
|
+
"path": "^/(?:ekartlogistics-web/)?shipmenttrack/([A-Z]{4}\\d{10})(?:/|$)"
|
|
4179
|
+
}
|
|
4180
|
+
],
|
|
4181
|
+
"detectionRules": [
|
|
4182
|
+
{
|
|
4183
|
+
"pattern": "^(?:FMP[CP]|MYS[PR])\\d{10}$",
|
|
4184
|
+
"confidence": "high"
|
|
4185
|
+
}
|
|
4186
|
+
]
|
|
4187
|
+
},
|
|
4188
|
+
"evri-uk": {
|
|
4189
|
+
"displayName": "Evri UK",
|
|
4190
|
+
"color": "#00014d",
|
|
4191
|
+
"aliases": [
|
|
4192
|
+
"Hermes UK",
|
|
4193
|
+
"Evri Domestic",
|
|
4194
|
+
"Hermes Domestic UK"
|
|
4195
|
+
],
|
|
4196
|
+
"countries": [
|
|
4197
|
+
"GB"
|
|
4198
|
+
],
|
|
4199
|
+
"selectable": true,
|
|
4200
|
+
"timezone": "Europe/London",
|
|
4201
|
+
"tracking": {
|
|
4202
|
+
"mode": "automatic",
|
|
4203
|
+
"adapter": "universal"
|
|
4204
|
+
},
|
|
4205
|
+
"canaryUrl": "https://www.evri.com/track-a-parcel",
|
|
4206
|
+
"trackingUrlTemplate": "https://www.evri.com/track/parcel/{trackingNumber}/details",
|
|
4207
|
+
"linkRules": [
|
|
4208
|
+
{
|
|
4209
|
+
"domains": [
|
|
4210
|
+
"evri.com",
|
|
4211
|
+
"www.evri.com"
|
|
4212
|
+
],
|
|
4213
|
+
"path": "^/track/parcel/([A-Za-z0-9]{16})/details/?$"
|
|
4214
|
+
}
|
|
4215
|
+
],
|
|
4216
|
+
"detectionRules": [
|
|
4217
|
+
{
|
|
4218
|
+
"pattern": "^H[A-Z0-9]{15}$",
|
|
4219
|
+
"confidence": "low"
|
|
4220
|
+
},
|
|
4221
|
+
{
|
|
4222
|
+
"pattern": "^\\d{16}$",
|
|
4223
|
+
"confidence": "low"
|
|
4224
|
+
}
|
|
4225
|
+
]
|
|
4226
|
+
},
|
|
4227
|
+
"intelcom": {
|
|
4228
|
+
"displayName": "Intelcom / Dragonfly",
|
|
4229
|
+
"color": "#ffda00",
|
|
4230
|
+
"aliases": [
|
|
4231
|
+
"Intelcom",
|
|
4232
|
+
"Dragonfly",
|
|
4233
|
+
"Dragonfly Shipping"
|
|
4234
|
+
],
|
|
4235
|
+
"countries": [
|
|
4236
|
+
"CA"
|
|
4237
|
+
],
|
|
4238
|
+
"selectable": true,
|
|
4239
|
+
"timezone": "UTC",
|
|
4240
|
+
"tracking": {
|
|
4241
|
+
"mode": "automatic",
|
|
4242
|
+
"adapter": "intelcom"
|
|
4243
|
+
},
|
|
4244
|
+
"canaryUrl": "https://dragonflyshipping.ca/en/track-your-package/",
|
|
4245
|
+
"trackingUrlTemplate": "https://dragonflyshipping.ca/en/track-your-package/?tracking-id={trackingNumber}",
|
|
4246
|
+
"linkRules": [
|
|
4247
|
+
{
|
|
4248
|
+
"domains": [
|
|
4249
|
+
"intelcom.ca",
|
|
4250
|
+
"dragonflyshipping.ca"
|
|
4251
|
+
],
|
|
4252
|
+
"params": [
|
|
4253
|
+
"tracking-id"
|
|
4254
|
+
]
|
|
4255
|
+
}
|
|
4256
|
+
],
|
|
4257
|
+
"detectionRules": [
|
|
4258
|
+
{
|
|
4259
|
+
"pattern": "^INTLCM\\d{8,20}$",
|
|
4260
|
+
"confidence": "high"
|
|
4261
|
+
}
|
|
4262
|
+
]
|
|
4263
|
+
},
|
|
4264
|
+
"lbc-express": {
|
|
4265
|
+
"displayName": "LBC Express",
|
|
4266
|
+
"color": "#e30613",
|
|
4267
|
+
"aliases": [
|
|
4268
|
+
"LBC"
|
|
4269
|
+
],
|
|
4270
|
+
"countries": [
|
|
4271
|
+
"PH"
|
|
4272
|
+
],
|
|
4273
|
+
"selectable": true,
|
|
4274
|
+
"timezone": "Asia/Manila",
|
|
4275
|
+
"tracking": {
|
|
4276
|
+
"mode": "automatic",
|
|
4277
|
+
"adapter": "universal"
|
|
4278
|
+
},
|
|
4279
|
+
"canaryUrl": "https://www.lbcexpress.com/track/",
|
|
4280
|
+
"trackingUrlTemplate": "https://www.lbcexpress.com/track/?tracking_no={trackingNumber}",
|
|
4281
|
+
"linkRules": [
|
|
4282
|
+
{
|
|
4283
|
+
"domains": [
|
|
4284
|
+
"lbcexpress.com"
|
|
4285
|
+
],
|
|
4286
|
+
"params": [
|
|
4287
|
+
"tracking_no"
|
|
4288
|
+
]
|
|
4289
|
+
}
|
|
4290
|
+
],
|
|
4291
|
+
"detectionRules": [
|
|
4292
|
+
{
|
|
4293
|
+
"pattern": "^\\d{12}$",
|
|
4294
|
+
"confidence": "low"
|
|
4295
|
+
}
|
|
4296
|
+
]
|
|
4297
|
+
},
|
|
4298
|
+
"nova-poshta": {
|
|
4299
|
+
"displayName": "Nova Poshta (Ukraine)",
|
|
4300
|
+
"color": "#e30613",
|
|
4301
|
+
"aliases": [
|
|
4302
|
+
"Nova Poshta",
|
|
4303
|
+
"Nova Post Ukraine",
|
|
4304
|
+
"Нова Пошта"
|
|
4305
|
+
],
|
|
4306
|
+
"countries": [
|
|
4307
|
+
"UA"
|
|
4308
|
+
],
|
|
4309
|
+
"selectable": true,
|
|
4310
|
+
"timezone": "Europe/Kyiv",
|
|
4311
|
+
"tracking": {
|
|
4312
|
+
"mode": "automatic",
|
|
4313
|
+
"adapter": "nova-poshta"
|
|
4314
|
+
},
|
|
4315
|
+
"canaryUrl": "https://novaposhta.ua/en/tracking/",
|
|
4316
|
+
"trackingUrlTemplate": "https://novaposhta.ua/en/tracking/{trackingNumber}",
|
|
4317
|
+
"linkRules": [
|
|
4318
|
+
{
|
|
4319
|
+
"domains": [
|
|
4320
|
+
"novaposhta.ua"
|
|
4321
|
+
],
|
|
4322
|
+
"path": "^/(?:en/)?tracking/(\\d{14})(?:/|$)"
|
|
4323
|
+
}
|
|
4324
|
+
],
|
|
4325
|
+
"detectionRules": [
|
|
4326
|
+
{
|
|
4327
|
+
"pattern": "^(?:(?:20[4678]|590|595)\\d{11}|(?:21|51)\\d{12})$",
|
|
4328
|
+
"confidence": "low"
|
|
4329
|
+
}
|
|
4330
|
+
]
|
|
4331
|
+
},
|
|
4022
4332
|
"omgo": {
|
|
4023
4333
|
"displayName": "OMGO",
|
|
4024
4334
|
"color": "#8e8e93",
|
|
@@ -4043,5 +4353,175 @@
|
|
|
4043
4353
|
"confidence": "high"
|
|
4044
4354
|
}
|
|
4045
4355
|
]
|
|
4356
|
+
},
|
|
4357
|
+
"sagawa": {
|
|
4358
|
+
"displayName": "Sagawa Express",
|
|
4359
|
+
"color": "#003889",
|
|
4360
|
+
"aliases": [
|
|
4361
|
+
"佐川急便"
|
|
4362
|
+
],
|
|
4363
|
+
"countries": [
|
|
4364
|
+
"JP"
|
|
4365
|
+
],
|
|
4366
|
+
"selectable": true,
|
|
4367
|
+
"timezone": "Asia/Tokyo",
|
|
4368
|
+
"tracking": {
|
|
4369
|
+
"mode": "automatic",
|
|
4370
|
+
"adapter": "universal"
|
|
4371
|
+
},
|
|
4372
|
+
"canaryUrl": "https://www.sagawa-exp.co.jp/send/howto-search.html",
|
|
4373
|
+
"trackingUrlTemplate": "https://k2k.sagawa-exp.co.jp/p/sagawa/web/okurijoinput.jsp",
|
|
4374
|
+
"linkRules": [
|
|
4375
|
+
{
|
|
4376
|
+
"domains": [
|
|
4377
|
+
"sagawa-exp.co.jp"
|
|
4378
|
+
],
|
|
4379
|
+
"params": [
|
|
4380
|
+
"okurijoNo"
|
|
4381
|
+
]
|
|
4382
|
+
}
|
|
4383
|
+
],
|
|
4384
|
+
"detectionRules": []
|
|
4385
|
+
},
|
|
4386
|
+
"speedpak": {
|
|
4387
|
+
"displayName": "SpeedPAK",
|
|
4388
|
+
"color": "#ee7532",
|
|
4389
|
+
"aliases": [
|
|
4390
|
+
"Orange Connex",
|
|
4391
|
+
"OrangeConnex"
|
|
4392
|
+
],
|
|
4393
|
+
"countries": [
|
|
4394
|
+
"CN"
|
|
4395
|
+
],
|
|
4396
|
+
"selectable": true,
|
|
4397
|
+
"timezone": "UTC",
|
|
4398
|
+
"tracking": {
|
|
4399
|
+
"mode": "automatic",
|
|
4400
|
+
"adapter": "speedpak"
|
|
4401
|
+
},
|
|
4402
|
+
"canaryUrl": "https://www.orangeconnex.com/tracking",
|
|
4403
|
+
"trackingUrlTemplate": "https://www.orangeconnex.com/tracking",
|
|
4404
|
+
"linkRules": [
|
|
4405
|
+
{
|
|
4406
|
+
"domains": [
|
|
4407
|
+
"orangeconnex.com",
|
|
4408
|
+
"orangeconnex.cn"
|
|
4409
|
+
],
|
|
4410
|
+
"params": [
|
|
4411
|
+
"trackingNumber",
|
|
4412
|
+
"trackingNumbers"
|
|
4413
|
+
]
|
|
4414
|
+
}
|
|
4415
|
+
],
|
|
4416
|
+
"detectionRules": [
|
|
4417
|
+
{
|
|
4418
|
+
"pattern": "^E[ES][A-Z0-9]{26}$",
|
|
4419
|
+
"confidence": "high"
|
|
4420
|
+
}
|
|
4421
|
+
]
|
|
4422
|
+
},
|
|
4423
|
+
"spx-ph": {
|
|
4424
|
+
"displayName": "SPX Express Philippines",
|
|
4425
|
+
"color": "#ee4d2d",
|
|
4426
|
+
"aliases": [
|
|
4427
|
+
"Shopee Express Philippines",
|
|
4428
|
+
"Shopee Xpress Philippines",
|
|
4429
|
+
"SPX Philippines"
|
|
4430
|
+
],
|
|
4431
|
+
"countries": [
|
|
4432
|
+
"PH"
|
|
4433
|
+
],
|
|
4434
|
+
"selectable": true,
|
|
4435
|
+
"timezone": "Asia/Manila",
|
|
4436
|
+
"tracking": {
|
|
4437
|
+
"mode": "automatic",
|
|
4438
|
+
"adapter": "spx-ph"
|
|
4439
|
+
},
|
|
4440
|
+
"canaryUrl": "https://spx.ph/en",
|
|
4441
|
+
"trackingUrlTemplate": "https://spx.ph/track?{trackingNumber}",
|
|
4442
|
+
"linkRules": [
|
|
4443
|
+
{
|
|
4444
|
+
"domains": [
|
|
4445
|
+
"spx.ph"
|
|
4446
|
+
],
|
|
4447
|
+
"pathPattern": "^/track/?$",
|
|
4448
|
+
"query": "^((?:SPX)?PH\\d{10,16}[A-Z]?)$"
|
|
4449
|
+
},
|
|
4450
|
+
{
|
|
4451
|
+
"domains": [
|
|
4452
|
+
"spx.ph",
|
|
4453
|
+
"shopeexpress.ph"
|
|
4454
|
+
],
|
|
4455
|
+
"params": [
|
|
4456
|
+
"spx_tn",
|
|
4457
|
+
"sls_tracking_number"
|
|
4458
|
+
]
|
|
4459
|
+
},
|
|
4460
|
+
{
|
|
4461
|
+
"domains": [
|
|
4462
|
+
"spx.ph",
|
|
4463
|
+
"shopeexpress.ph"
|
|
4464
|
+
],
|
|
4465
|
+
"path": "^/detail/((?:SPX)?PH\\d{10,16}[A-Z]?)(?:/|$)"
|
|
4466
|
+
},
|
|
4467
|
+
{
|
|
4468
|
+
"domains": [
|
|
4469
|
+
"spx.ph",
|
|
4470
|
+
"shopeexpress.ph"
|
|
4471
|
+
],
|
|
4472
|
+
"fragment": "^/detail/((?:SPX)?PH\\d{10,16}[A-Z]?)(?:$|[?&])"
|
|
4473
|
+
}
|
|
4474
|
+
],
|
|
4475
|
+
"detectionRules": [
|
|
4476
|
+
{
|
|
4477
|
+
"pattern": "^SPXPH\\d{10,16}[A-Z]?$",
|
|
4478
|
+
"confidence": "high"
|
|
4479
|
+
},
|
|
4480
|
+
{
|
|
4481
|
+
"pattern": "^PH\\d{12,14}[A-Z]?$",
|
|
4482
|
+
"confidence": "low"
|
|
4483
|
+
}
|
|
4484
|
+
]
|
|
4485
|
+
},
|
|
4486
|
+
"xpressbees": {
|
|
4487
|
+
"displayName": "Xpressbees",
|
|
4488
|
+
"color": "#f58220",
|
|
4489
|
+
"aliases": [
|
|
4490
|
+
"Xpress Bees",
|
|
4491
|
+
"XpressBees"
|
|
4492
|
+
],
|
|
4493
|
+
"countries": [
|
|
4494
|
+
"IN"
|
|
4495
|
+
],
|
|
4496
|
+
"selectable": true,
|
|
4497
|
+
"timezone": "Asia/Kolkata",
|
|
4498
|
+
"tracking": {
|
|
4499
|
+
"mode": "automatic",
|
|
4500
|
+
"adapter": "xpressbees"
|
|
4501
|
+
},
|
|
4502
|
+
"canaryUrl": "https://www.xpressbees.com/track",
|
|
4503
|
+
"trackingUrlTemplate": "https://shipmentv2.xpressbees.com/orders/tracking/{trackingNumber}",
|
|
4504
|
+
"linkRules": [
|
|
4505
|
+
{
|
|
4506
|
+
"domains": [
|
|
4507
|
+
"shipmentv2.xpressbees.com"
|
|
4508
|
+
],
|
|
4509
|
+
"path": "^/orders/tracking/(\\d{12,16})(?:/|$)"
|
|
4510
|
+
},
|
|
4511
|
+
{
|
|
4512
|
+
"domains": [
|
|
4513
|
+
"xpressbees.com"
|
|
4514
|
+
],
|
|
4515
|
+
"params": [
|
|
4516
|
+
"trackid"
|
|
4517
|
+
]
|
|
4518
|
+
}
|
|
4519
|
+
],
|
|
4520
|
+
"detectionRules": [
|
|
4521
|
+
{
|
|
4522
|
+
"pattern": "^[19]\\d{13}$",
|
|
4523
|
+
"confidence": "low"
|
|
4524
|
+
}
|
|
4525
|
+
]
|
|
4046
4526
|
}
|
|
4047
4527
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"catalog":
|
|
3
|
-
"activeAdapters":
|
|
2
|
+
"catalog": 119,
|
|
3
|
+
"activeAdapters": 94,
|
|
4
4
|
"countries": 58,
|
|
5
|
-
"referenceCarriers":
|
|
5
|
+
"referenceCarriers": 113,
|
|
6
6
|
"comparison": {
|
|
7
|
-
"combined":
|
|
8
|
-
"direct":
|
|
7
|
+
"combined": 79,
|
|
8
|
+
"direct": 66,
|
|
9
9
|
"providers": {
|
|
10
10
|
"ParcelsApp": 53,
|
|
11
11
|
"Postal Ninja": 43,
|