universal-parcel-scraper 0.26.1-main.369 → 0.28.0-main.371

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.
Files changed (84) hide show
  1. package/README.md +3 -3
  2. package/data/catalog.json +177 -13
  3. package/data/coverage-summary.json +2 -2
  4. package/data/detection-golden.json +939 -130
  5. package/dist/browser/scraper.js +749 -620
  6. package/dist/carriers/aramex/numbers.json +10 -5
  7. package/dist/carriers/blue-dart/numbers.json +10 -5
  8. package/dist/carriers/brt/numbers.json +3 -0
  9. package/dist/carriers/ciblex/numbers.json +1 -0
  10. package/dist/carriers/ctt-express/numbers.json +13 -0
  11. package/dist/carriers/dachser/numbers.json +4 -2
  12. package/dist/carriers/delhivery/numbers.json +4 -0
  13. package/dist/carriers/dhl/carrier.json +2 -7
  14. package/dist/carriers/dhl/numbers.json +68 -13
  15. package/dist/carriers/dhl-ecommerce/carrier.json +7 -3
  16. package/dist/carriers/dhl-ecommerce/numbers.json +121 -7
  17. package/dist/carriers/dhl-ecommerce-es/adapter.d.ts +12 -0
  18. package/dist/carriers/dhl-ecommerce-es/adapter.js +57 -0
  19. package/dist/carriers/dhl-ecommerce-es/carrier.json +85 -0
  20. package/dist/carriers/dhl-ecommerce-es/numbers.json +182 -0
  21. package/dist/carriers/dhl-ecommerce-es/parser.d.ts +8 -0
  22. package/dist/carriers/dhl-ecommerce-es/parser.js +80 -0
  23. package/dist/carriers/dhl-ecommerce-es/status.d.ts +18 -0
  24. package/dist/carriers/dhl-ecommerce-es/status.js +27 -0
  25. package/dist/carriers/dhl-ecommerce-es/statuses.json +20 -0
  26. package/dist/carriers/dhl-ecommerce-nl/adapter.d.ts +12 -0
  27. package/dist/carriers/dhl-ecommerce-nl/adapter.js +48 -0
  28. package/dist/carriers/dhl-ecommerce-nl/carrier.json +78 -0
  29. package/dist/carriers/dhl-ecommerce-nl/numbers.json +78 -0
  30. package/dist/carriers/dhl-ecommerce-nl/parser.d.ts +6 -0
  31. package/dist/carriers/dhl-ecommerce-nl/parser.js +78 -0
  32. package/dist/carriers/dhl-ecommerce-nl/status.d.ts +16 -0
  33. package/dist/carriers/dhl-ecommerce-nl/status.js +28 -0
  34. package/dist/carriers/dhl-ecommerce-nl/statuses.json +372 -0
  35. package/dist/carriers/dhl-ecommerce-pl/adapter.d.ts +19 -0
  36. package/dist/carriers/dhl-ecommerce-pl/adapter.js +83 -0
  37. package/dist/carriers/dhl-ecommerce-pl/carrier.json +82 -0
  38. package/dist/carriers/dhl-ecommerce-pl/numbers.json +93 -0
  39. package/dist/carriers/dhl-ecommerce-pl/parser.d.ts +19 -0
  40. package/dist/carriers/dhl-ecommerce-pl/parser.js +84 -0
  41. package/dist/carriers/dhl-ecommerce-pl/status.d.ts +16 -0
  42. package/dist/carriers/dhl-ecommerce-pl/status.js +31 -0
  43. package/dist/carriers/dhl-ecommerce-pl/statuses.json +10 -0
  44. package/dist/carriers/dhl-ecommerce-uk/adapter.d.ts +12 -0
  45. package/dist/carriers/dhl-ecommerce-uk/adapter.js +39 -0
  46. package/dist/carriers/dhl-ecommerce-uk/carrier.json +79 -0
  47. package/dist/carriers/dhl-ecommerce-uk/numbers.json +293 -0
  48. package/dist/carriers/dhl-ecommerce-uk/parser.d.ts +4 -0
  49. package/dist/carriers/dhl-ecommerce-uk/parser.js +92 -0
  50. package/dist/carriers/dhl-ecommerce-uk/status.d.ts +12 -0
  51. package/dist/carriers/dhl-ecommerce-uk/status.js +13 -0
  52. package/dist/carriers/dhl-ecommerce-uk/statuses.json +10 -0
  53. package/dist/carriers/dhl-express/numbers.json +101 -4
  54. package/dist/carriers/dpd/adapter.js +12 -4
  55. package/dist/carriers/dpd/carrier.json +4 -5
  56. package/dist/carriers/dpd/numbers.json +1 -0
  57. package/dist/carriers/dpd-de/carrier.json +1 -0
  58. package/dist/carriers/dpd-de/numbers.json +3 -0
  59. package/dist/carriers/dpd-fr/numbers.json +2 -0
  60. package/dist/carriers/dpd-uk/numbers.json +26 -2
  61. package/dist/carriers/estafeta/numbers.json +4 -2
  62. package/dist/carriers/gls-de/numbers.json +6 -3
  63. package/dist/carriers/gls-fr/numbers.json +2 -1
  64. package/dist/carriers/hermes-de/numbers.json +6 -1
  65. package/dist/carriers/j-and-t-cargo/numbers.json +2 -1
  66. package/dist/carriers/mondial-relay/numbers.json +6 -3
  67. package/dist/carriers/nova-poshta/numbers.json +3 -0
  68. package/dist/carriers/packeta/numbers.json +4 -2
  69. package/dist/carriers/postlogistics/numbers.json +2 -1
  70. package/dist/carriers/relais-colis/numbers.json +21 -10
  71. package/dist/carriers/seur/numbers.json +2 -0
  72. package/dist/carriers/tipsa/numbers.json +2 -1
  73. package/dist/carriers/unknown/numbers.json +6 -2
  74. package/dist/carriers/usps/numbers.json +5 -1
  75. package/dist/carriers/xpressbees/numbers.json +2 -0
  76. package/dist/core/catalog/inputs.js +14 -2
  77. package/dist/core/catalog/types.d.ts +1 -1
  78. package/dist/data/catalog.json +177 -13
  79. package/dist/generated/catalog.d.ts +112 -13
  80. package/dist/generated/catalog.js +181 -13
  81. package/dist/generated/recognition.js +4 -0
  82. package/dist/generated/registry.js +12 -0
  83. package/dist/server/openapi.json +1 -1
  84. 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: Apache-2.0](https://img.shields.io/badge/core-Apache--2.0-blue.svg)](LICENSE)
14
14
 
15
15
  <!-- GENERATED:summary -->
16
- **3,500+ carriers** through **99 dedicated adapters** and **5 universal fallbacks**
16
+ **3,500+ carriers** through **103 dedicated adapters** and **5 universal fallbacks**
17
17
 
18
- <sub>120 catalog entries · 58 countries represented</sub>
18
+ <sub>124 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)
@@ -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,795 such statuses, each filed under one stage.
152
+ The carrier folders record 2,187 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/catalog.json CHANGED
@@ -449,7 +449,7 @@
449
449
  "checksum": "s10"
450
450
  },
451
451
  {
452
- "pattern": "^(?:JJD[A-Z0-9]{8,}|JVGL(?![0-9]{20}$)[A-Z0-9]{8,})$",
452
+ "pattern": "^JJD[A-Z0-9]{8,}$",
453
453
  "confidence": "high"
454
454
  },
455
455
  {
@@ -461,12 +461,8 @@
461
461
  "confidence": "high"
462
462
  },
463
463
  {
464
- "pattern": "^0034043[45]\\d{12}$",
464
+ "pattern": "^0034043[345]\\d{12}$",
465
465
  "confidence": "high"
466
- },
467
- {
468
- "pattern": "^JVGL[0-9]{20}$",
469
- "confidence": "low"
470
466
  }
471
467
  ]
472
468
  },
@@ -479,7 +475,6 @@
479
475
  ],
480
476
  "countries": [
481
477
  "DE",
482
- "NL",
483
478
  "US"
484
479
  ],
485
480
  "selectable": true,
@@ -527,7 +522,11 @@
527
522
  "confidence": "low"
528
523
  },
529
524
  {
530
- "pattern": "^JVGL[0-9]{20}$",
525
+ "pattern": "^(?:420\\d{5})?9[23]61\\d{18}$",
526
+ "confidence": "low"
527
+ },
528
+ {
529
+ "pattern": "^0031\\d{27}$",
531
530
  "confidence": "low"
532
531
  }
533
532
  ]
@@ -818,15 +817,14 @@
818
817
  "requirements": [
819
818
  {
820
819
  "field": "postcode",
821
- "validator": "swissPostcode",
820
+ "validator": "internationalPostcode",
822
821
  "optional": true,
823
822
  "label": "Delivery postcode",
824
823
  "type": "text",
825
- "placeholder": "8000",
826
824
  "help": "Optional. DPD uses it to unlock verified scans and the delivery window.",
827
- "pattern": "^[0-9]{4}$",
828
- "maxLength": 4,
829
- "inputMode": "numeric",
825
+ "pattern": "^(?=.{3,12}$)(?=.*[0-9])[A-Za-z0-9]+(?:[ \\-][A-Za-z0-9]+)*$",
826
+ "maxLength": 12,
827
+ "inputMode": "text",
830
828
  "autoComplete": "postal-code"
831
829
  }
832
830
  ],
@@ -4139,6 +4137,171 @@
4139
4137
  }
4140
4138
  ]
4141
4139
  },
4140
+ "dhl-ecommerce-es": {
4141
+ "displayName": "DHL eCommerce Iberia",
4142
+ "color": "#ffcc00",
4143
+ "aliases": [
4144
+ "DHL Parcel Spain",
4145
+ "DHL Parcel Iberia",
4146
+ "DHL eCommerce Spain",
4147
+ "DHL Parcel Portugal"
4148
+ ],
4149
+ "countries": [
4150
+ "ES",
4151
+ "PT"
4152
+ ],
4153
+ "selectable": true,
4154
+ "timezone": "Europe/Madrid",
4155
+ "tracking": {
4156
+ "mode": "automatic",
4157
+ "adapter": "dhl-ecommerce-es",
4158
+ "recognitionRank": 19,
4159
+ "localClocks": true
4160
+ },
4161
+ "canaryUrl": "https://clientesparcel.dhl.es/LiveTracking/",
4162
+ "trackingUrlTemplate": "https://clientesparcel.dhl.es/LiveTracking/ModificarEnvio/{trackingNumber}",
4163
+ "linkRules": [
4164
+ {
4165
+ "domains": [
4166
+ "clientesparcel.dhl.es"
4167
+ ],
4168
+ "path": "^/LiveTracking/ModificarEnvio/([^/?#]+)/?$"
4169
+ }
4170
+ ],
4171
+ "detectionRules": [
4172
+ {
4173
+ "pattern": "^\\d{10}$",
4174
+ "confidence": "low"
4175
+ },
4176
+ {
4177
+ "pattern": "^[A-Z]{2}\\d{7}0$",
4178
+ "confidence": "low"
4179
+ }
4180
+ ]
4181
+ },
4182
+ "dhl-ecommerce-nl": {
4183
+ "displayName": "DHL eCommerce Netherlands",
4184
+ "color": "#ffcc00",
4185
+ "aliases": [
4186
+ "DHL Parcel Netherlands",
4187
+ "DHL Parcel Benelux",
4188
+ "DHL eCommerce Benelux"
4189
+ ],
4190
+ "countries": [
4191
+ "NL",
4192
+ "BE"
4193
+ ],
4194
+ "selectable": true,
4195
+ "timezone": "Europe/Amsterdam",
4196
+ "tracking": {
4197
+ "mode": "automatic",
4198
+ "adapter": "dhl-ecommerce-nl",
4199
+ "recognitionRank": 22
4200
+ },
4201
+ "canaryUrl": "https://my.dhlecommerce.nl/home/tracktrace",
4202
+ "trackingUrlTemplate": "https://my.dhlecommerce.nl/home/tracktrace/{trackingNumber}",
4203
+ "linkRules": [
4204
+ {
4205
+ "domains": [
4206
+ "dhlecommerce.nl",
4207
+ "dhlparcel.nl",
4208
+ "dhlecommerce.be",
4209
+ "dhlparcel.be"
4210
+ ],
4211
+ "path": "^/home/tracktrace/([^/?#]+)/?$"
4212
+ }
4213
+ ],
4214
+ "detectionRules": [
4215
+ {
4216
+ "pattern": "^JVGL[A-Z0-9]{8,}$",
4217
+ "confidence": "high"
4218
+ }
4219
+ ]
4220
+ },
4221
+ "dhl-ecommerce-pl": {
4222
+ "displayName": "DHL eCommerce Poland",
4223
+ "color": "#ffcc00",
4224
+ "aliases": [
4225
+ "DHL Parcel Poland",
4226
+ "DHL Parcel Polska",
4227
+ "DHL eCommerce Polska"
4228
+ ],
4229
+ "countries": [
4230
+ "PL"
4231
+ ],
4232
+ "selectable": true,
4233
+ "timezone": "Europe/Warsaw",
4234
+ "tracking": {
4235
+ "mode": "automatic",
4236
+ "adapter": "dhl-ecommerce-pl",
4237
+ "recognitionRank": 18
4238
+ },
4239
+ "canaryUrl": "https://mojdhl.pl/tracking",
4240
+ "trackingUrlTemplate": "https://mojdhl.pl/tracking?paczki={trackingNumber}",
4241
+ "linkRules": [
4242
+ {
4243
+ "domains": [
4244
+ "mojdhl.pl"
4245
+ ],
4246
+ "params": [
4247
+ "paczki"
4248
+ ]
4249
+ },
4250
+ {
4251
+ "domains": [
4252
+ "sprawdz.dhl.com.pl"
4253
+ ],
4254
+ "params": [
4255
+ "sn"
4256
+ ]
4257
+ }
4258
+ ],
4259
+ "detectionRules": [
4260
+ {
4261
+ "pattern": "^\\d{11}$",
4262
+ "confidence": "low"
4263
+ }
4264
+ ]
4265
+ },
4266
+ "dhl-ecommerce-uk": {
4267
+ "displayName": "DHL eCommerce UK",
4268
+ "color": "#ffcc00",
4269
+ "aliases": [
4270
+ "DHL Parcel UK",
4271
+ "DHL eCommerce United Kingdom",
4272
+ "UK Mail"
4273
+ ],
4274
+ "countries": [
4275
+ "GB"
4276
+ ],
4277
+ "selectable": true,
4278
+ "timezone": "Europe/London",
4279
+ "tracking": {
4280
+ "mode": "automatic",
4281
+ "adapter": "dhl-ecommerce-uk",
4282
+ "recognitionRank": 17
4283
+ },
4284
+ "canaryUrl": "https://track.dhlecommerce.co.uk/",
4285
+ "trackingUrlTemplate": "https://track.dhlecommerce.co.uk/?con={trackingNumber}",
4286
+ "linkRules": [
4287
+ {
4288
+ "domains": [
4289
+ "track.dhlecommerce.co.uk",
4290
+ "track.dhlparcel.co.uk"
4291
+ ],
4292
+ "params": [
4293
+ "con",
4294
+ "consignmentnumber"
4295
+ ]
4296
+ }
4297
+ ],
4298
+ "detectionRules": [
4299
+ {
4300
+ "pattern": "^\\d{14}$",
4301
+ "confidence": "low"
4302
+ }
4303
+ ]
4304
+ },
4142
4305
  "dhl-express": {
4143
4306
  "displayName": "DHL Express",
4144
4307
  "color": "#ffcc00",
@@ -4194,6 +4357,7 @@
4194
4357
  "optional": true,
4195
4358
  "label": "Delivery postcode",
4196
4359
  "type": "text",
4360
+ "placeholder": "10115",
4197
4361
  "pattern": "^[0-9]{5}$",
4198
4362
  "maxLength": 5,
4199
4363
  "inputMode": "numeric",
@@ -1,6 +1,6 @@
1
1
  {
2
- "catalog": 120,
3
- "activeAdapters": 99,
2
+ "catalog": 124,
3
+ "activeAdapters": 103,
4
4
  "countries": 58,
5
5
  "referenceCarriers": 113,
6
6
  "comparison": {