universal-parcel-scraper 0.3.1-main.313 → 0.3.2-main.314
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/data/catalog.json +4 -0
- package/data/detection-golden.json +14 -28
- package/dist/browser/scraper.js +4 -0
- package/dist/carriers/la-poste/adapter.js +3 -2
- package/dist/carriers/la-poste/carrier.json +5 -0
- package/dist/carriers/la-poste/numbers.json +18 -21
- package/dist/data/catalog.json +4 -0
- package/dist/generated/catalog.d.ts +3 -0
- package/dist/generated/catalog.js +4 -0
- package/dist/server/openapi.json +1 -1
- package/package.json +1 -1
package/data/catalog.json
CHANGED
|
@@ -2677,40 +2677,26 @@
|
|
|
2677
2677
|
},
|
|
2678
2678
|
{
|
|
2679
2679
|
"input": "87000918244878",
|
|
2680
|
-
"carrier": "
|
|
2681
|
-
"confidence": "
|
|
2680
|
+
"carrier": "la-poste",
|
|
2681
|
+
"confidence": "high",
|
|
2682
2682
|
"candidates": [
|
|
2683
|
-
"
|
|
2684
|
-
"ciblex",
|
|
2685
|
-
"hermes-de",
|
|
2686
|
-
"seur",
|
|
2687
|
-
"brt",
|
|
2688
|
-
"delhivery"
|
|
2689
|
-
],
|
|
2690
|
-
"asked": [
|
|
2691
|
-
"dpd",
|
|
2692
|
-
"seur",
|
|
2693
|
-
"brt",
|
|
2694
|
-
"hermes-de",
|
|
2695
|
-
"ciblex"
|
|
2683
|
+
"la-poste"
|
|
2696
2684
|
]
|
|
2697
2685
|
},
|
|
2698
2686
|
{
|
|
2699
2687
|
"input": "87000918635108",
|
|
2700
|
-
"carrier": "
|
|
2701
|
-
"confidence": "
|
|
2688
|
+
"carrier": "la-poste",
|
|
2689
|
+
"confidence": "high",
|
|
2702
2690
|
"candidates": [
|
|
2703
|
-
"
|
|
2704
|
-
|
|
2705
|
-
|
|
2706
|
-
|
|
2707
|
-
|
|
2708
|
-
|
|
2709
|
-
"
|
|
2710
|
-
|
|
2711
|
-
"
|
|
2712
|
-
"brt",
|
|
2713
|
-
"ciblex"
|
|
2691
|
+
"la-poste"
|
|
2692
|
+
]
|
|
2693
|
+
},
|
|
2694
|
+
{
|
|
2695
|
+
"input": "870012345678901",
|
|
2696
|
+
"carrier": "la-poste",
|
|
2697
|
+
"confidence": "high",
|
|
2698
|
+
"candidates": [
|
|
2699
|
+
"la-poste"
|
|
2714
2700
|
]
|
|
2715
2701
|
},
|
|
2716
2702
|
{
|
package/dist/browser/scraper.js
CHANGED
|
@@ -70,9 +70,10 @@ export function normalizeLaPosteTrackingNumber(raw) {
|
|
|
70
70
|
const value = raw.toLocaleUpperCase('en-US').replace(/[\s.-]/g, '');
|
|
71
71
|
const domestic = /^[A-Z0-9]{2}\d{11}$/.test(value);
|
|
72
72
|
const international = /^[A-Z]{2}\d{9}[A-Z]{2}$/.test(value);
|
|
73
|
+
const numericMail = /^\d{14,15}$/.test(value);
|
|
73
74
|
const foreignExpress = /^\d{14}[A-Z]$/.test(value);
|
|
74
|
-
if (!domestic && !international && !foreignExpress) {
|
|
75
|
-
throw new InvalidInputError('La Poste', 'La Poste tracking numbers must use a supported 13- or 15-character format');
|
|
75
|
+
if (!domestic && !international && !numericMail && !foreignExpress) {
|
|
76
|
+
throw new InvalidInputError('La Poste', 'La Poste tracking numbers must use a supported 13-, 14- or 15-character format');
|
|
76
77
|
}
|
|
77
78
|
return value;
|
|
78
79
|
}
|
|
@@ -35,18 +35,10 @@
|
|
|
35
35
|
"url": "https://marketplace.fnacdarty.com/s/article/Dois-je-obligatoirement-renseigner-un-num%C3%A9ro-de-suivi-tracking-pour-ma-commande?language=fr_BE"
|
|
36
36
|
},
|
|
37
37
|
"expect": {
|
|
38
|
-
"carrier": "
|
|
39
|
-
"confidence": "
|
|
40
|
-
"candidates": [
|
|
41
|
-
"dpd",
|
|
42
|
-
"ciblex",
|
|
43
|
-
"hermes-de",
|
|
44
|
-
"seur",
|
|
45
|
-
"brt",
|
|
46
|
-
"delhivery"
|
|
47
|
-
]
|
|
38
|
+
"carrier": "la-poste",
|
|
39
|
+
"confidence": "high"
|
|
48
40
|
},
|
|
49
|
-
"note": "Published integration example, not a real shipment.
|
|
41
|
+
"note": "Published integration example, not a real shipment."
|
|
50
42
|
},
|
|
51
43
|
{
|
|
52
44
|
"number": "87000918635108",
|
|
@@ -56,17 +48,10 @@
|
|
|
56
48
|
"url": "https://marketplace.fnacdarty.com/s/article/Dois-je-obligatoirement-renseigner-un-num%C3%A9ro-de-suivi-tracking-pour-ma-commande?language=fr_BE"
|
|
57
49
|
},
|
|
58
50
|
"expect": {
|
|
59
|
-
"carrier": "
|
|
60
|
-
"confidence": "
|
|
61
|
-
"candidates": [
|
|
62
|
-
"dpd",
|
|
63
|
-
"ciblex",
|
|
64
|
-
"seur",
|
|
65
|
-
"brt",
|
|
66
|
-
"delhivery"
|
|
67
|
-
]
|
|
51
|
+
"carrier": "la-poste",
|
|
52
|
+
"confidence": "high"
|
|
68
53
|
},
|
|
69
|
-
"note": "Published integration example, not a real shipment.
|
|
54
|
+
"note": "Published integration example, not a real shipment."
|
|
70
55
|
},
|
|
71
56
|
{
|
|
72
57
|
"number": "88000019255788Y",
|
|
@@ -135,6 +120,18 @@
|
|
|
135
120
|
"confidence": "high"
|
|
136
121
|
},
|
|
137
122
|
"note": "Made-up number that follows the published format."
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"number": "870012345678901",
|
|
126
|
+
"role": "shipment",
|
|
127
|
+
"evidence": "synthetic",
|
|
128
|
+
"derivedFrom": "official_shape",
|
|
129
|
+
"shapeConfirmed": "2026-10-04",
|
|
130
|
+
"expect": {
|
|
131
|
+
"carrier": "la-poste",
|
|
132
|
+
"confidence": "high"
|
|
133
|
+
},
|
|
134
|
+
"note": "Made-up numeric tracked-mail identifier; La Poste documents fifteen-character tracked mail."
|
|
138
135
|
}
|
|
139
136
|
]
|
|
140
137
|
}
|
package/dist/data/catalog.json
CHANGED
|
@@ -611,6 +611,9 @@ export declare const CARRIER_CATALOG: {
|
|
|
611
611
|
readonly detectionRules: readonly [{
|
|
612
612
|
readonly pattern: "^[68][A-Z]\\d{11}$";
|
|
613
613
|
readonly confidence: "high";
|
|
614
|
+
}, {
|
|
615
|
+
readonly pattern: "^870\\d{11,12}$";
|
|
616
|
+
readonly confidence: "high";
|
|
614
617
|
}, {
|
|
615
618
|
readonly pattern: "^[A-Z0-9]{2}\\d{11}$";
|
|
616
619
|
readonly confidence: "low";
|
|
@@ -999,6 +999,10 @@ export const CARRIER_CATALOG = {
|
|
|
999
999
|
"pattern": "^[68][A-Z]\\d{11}$",
|
|
1000
1000
|
"confidence": "high"
|
|
1001
1001
|
},
|
|
1002
|
+
{
|
|
1003
|
+
"pattern": "^870\\d{11,12}$",
|
|
1004
|
+
"confidence": "high"
|
|
1005
|
+
},
|
|
1002
1006
|
{
|
|
1003
1007
|
"pattern": "^[A-Z0-9]{2}\\d{11}$",
|
|
1004
1008
|
"confidence": "low"
|
package/dist/server/openapi.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "universal-parcel-scraper",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2-main.314",
|
|
4
4
|
"description": "Self-hosted parcel tracking: carrier detection, dedicated scrapers and optional universal providers.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|