universal-parcel-scraper 0.1002.0-main.5413 → 0.1002.2-main.5416
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 +1 -1
- package/dist/carriers/ecms-express/statuses.json +1 -0
- package/dist/carriers/epost-global/status.js +2 -0
- package/dist/carriers/epost-global/statuses.json +1 -0
- package/dist/carriers/kyoungdong/parser.js +2 -0
- package/dist/carriers/qatar-post/statuses.json +63 -0
- package/dist/server/openapi.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -163,7 +163,7 @@ the command line's `track --source ParcelsApp` does the same.
|
|
|
163
163
|
<!-- GENERATED:stages -->
|
|
164
164
|
<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">
|
|
165
165
|
|
|
166
|
-
The carrier folders record 19,
|
|
166
|
+
The carrier folders record 19,224 such statuses, each filed under one stage.
|
|
167
167
|
<!-- /GENERATED:stages -->
|
|
168
168
|
|
|
169
169
|
Wording nobody recorded yet goes through a classifier that reads seven European languages.
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
{"wording": "ID information has been reviewed and verified", "stage": "registered", "language": "en", "confirmedBy": "portal", "note": "The consignee's ID for import clearance was checked, before the parcel reached ECMS."},
|
|
9
9
|
{"code": "EVENT_201", "wording": "Shipment arrived at carrier facility.", "stage": "accepted", "language": "en", "confirmedBy": "portal", "note": "First scan at ECMS's origin warehouse."},
|
|
10
10
|
{"wording": "Shipment arrived at origin facility.", "stage": "accepted", "language": "en", "confirmedBy": "portal", "note": "Wording of the newer oms page for the same scan."},
|
|
11
|
+
{"code": "S04N401", "wording": "Parcel has arrived at export distribution warehouse", "stage": "in_transit", "language": "en", "confirmedBy": "live", "note": "ECMS's export warehouse at the origin, the same day as its arrival scan there; seen relayed by ePost Global."},
|
|
11
12
|
{"code": "EVENT_202", "wording": "Shipment departed from carrier facility.", "stage": "in_transit", "language": "en", "confirmedBy": "portal"},
|
|
12
13
|
{"wording": "Shipment departed from origin facility.", "stage": "in_transit", "language": "en", "confirmedBy": "portal", "note": "Wording of the newer oms page."},
|
|
13
14
|
{"code": "EVENT_313", "wording": "Flight departure", "stage": "in_transit", "language": "en", "confirmedBy": "portal"},
|
|
@@ -22,6 +22,8 @@ const STAGES = new Map([
|
|
|
22
22
|
['checked in at origin hub', 'in_transit'],
|
|
23
23
|
['airline delay', 'in_transit'],
|
|
24
24
|
['collected from the airline for processing', 'in_transit'],
|
|
25
|
+
// ECMS Express: its export warehouse at the origin, after ePost Global shipped the parcel.
|
|
26
|
+
['parcel has arrived at export distribution warehouse', 'in_transit'],
|
|
25
27
|
// PostNL, through Spring. Its acceptance comes after ePost Global shipped the parcel.
|
|
26
28
|
['consignment received at the postnl acceptance centre', 'accepted'],
|
|
27
29
|
['the item has been manifested and ready to transport', 'in_transit'],
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
{"code": "OA01", "wording": "Checked in at origin hub", "stage": "in_transit", "language": "en", "confirmedBy": "live", "note": "Relayed from DAI Post, at its US hub after ePost Global shipped the parcel."},
|
|
17
17
|
{"code": "AD01", "wording": "Airline Delay", "stage": "in_transit", "language": "en", "confirmedBy": "live", "note": "Relayed from DAI Post; a delay, not a problem with the parcel."},
|
|
18
18
|
{"code": "DA05", "wording": "Collected from the airline for processing", "stage": "in_transit", "language": "en", "confirmedBy": "live", "note": "Relayed from DAI Post in the destination country."},
|
|
19
|
+
{"code": "S04N401", "wording": "Parcel has arrived at export distribution warehouse", "stage": "in_transit", "language": "en", "confirmedBy": "live", "note": "Relayed from ECMS Express: its export warehouse at the origin, which it reaches after ePost Global shipped the parcel."},
|
|
19
20
|
{"code": "173", "wording": "Consignment received at the PostNL Acceptance Centre", "stage": "accepted", "language": "en", "confirmedBy": "live", "note": "Relayed from PostNL through Spring: PostNL's acceptance, as Spring's own tracker reads it. It comes after ePost Global shipped the parcel, so the parser reads it in transit there."},
|
|
20
21
|
{"code": "1239", "wording": "The item is tied to a MAWB and ready for shipment", "stage": "in_transit", "language": "en", "confirmedBy": "live", "note": "Relayed from PostNL through Spring, after ePost Global shipped the parcel."},
|
|
21
22
|
{"code": "2024", "wording": "The item has been manifested and ready to transport", "stage": "in_transit", "language": "en", "confirmedBy": "live", "note": "Relayed from PostNL through Spring, after ePost Global shipped the parcel."},
|
|
@@ -82,6 +82,8 @@ export function parseKyoungdong(payload, raw) {
|
|
|
82
82
|
const data = payload.data;
|
|
83
83
|
if (payload.result !== 'suc' || !isRecord(data))
|
|
84
84
|
throw new SchemaError(PROVIDER, 'Kyungdong Express returned an unexpected answer');
|
|
85
|
+
if (typeof data.prodCode === 'string' && data.prodCode.length > 64)
|
|
86
|
+
throw new SchemaError(PROVIDER, 'Kyungdong Express returned an oversized waybill');
|
|
85
87
|
const echoed = cleanScalar(data.prodCode, 64);
|
|
86
88
|
if (!echoed)
|
|
87
89
|
throw new SchemaError(PROVIDER, 'Kyungdong Express returned a parcel without its waybill');
|
|
@@ -15,6 +15,69 @@
|
|
|
15
15
|
"language": "en",
|
|
16
16
|
"confirmedBy": "portal"
|
|
17
17
|
},
|
|
18
|
+
{
|
|
19
|
+
"code": "EDI0030",
|
|
20
|
+
"wording": "Received at Qatar Post",
|
|
21
|
+
"stage": "in_transit",
|
|
22
|
+
"language": "en",
|
|
23
|
+
"confirmedBy": "portal"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"code": "EDI0031",
|
|
27
|
+
"wording": "Awaiting Customs Inspection",
|
|
28
|
+
"stage": "customs",
|
|
29
|
+
"language": "en",
|
|
30
|
+
"confirmedBy": "portal"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"code": "EDI0035",
|
|
34
|
+
"wording": "Dispatched to Branch",
|
|
35
|
+
"stage": "in_transit",
|
|
36
|
+
"language": "en",
|
|
37
|
+
"confirmedBy": "portal"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"code": "EDI0036",
|
|
41
|
+
"wording": "Unsuccessful Delivery",
|
|
42
|
+
"stage": "failed_attempt",
|
|
43
|
+
"language": "en",
|
|
44
|
+
"confirmedBy": "portal"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"code": "EDI0037",
|
|
48
|
+
"wording": "Delivered",
|
|
49
|
+
"stage": "delivered",
|
|
50
|
+
"language": "en",
|
|
51
|
+
"confirmedBy": "portal"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"code": "EDI0038",
|
|
55
|
+
"wording": "Cleared from Customs",
|
|
56
|
+
"stage": "in_transit",
|
|
57
|
+
"language": "en",
|
|
58
|
+
"confirmedBy": "portal"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"code": "QPS0042",
|
|
62
|
+
"wording": "Received at Qatar Post",
|
|
63
|
+
"stage": "in_transit",
|
|
64
|
+
"language": "en",
|
|
65
|
+
"confirmedBy": "portal"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"code": "QPS0048",
|
|
69
|
+
"wording": "Dispatched to Destination Country",
|
|
70
|
+
"stage": "in_transit",
|
|
71
|
+
"language": "en",
|
|
72
|
+
"confirmedBy": "portal"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"code": "QPS0305",
|
|
76
|
+
"wording": "Received at Qatar Post",
|
|
77
|
+
"stage": "in_transit",
|
|
78
|
+
"language": "en",
|
|
79
|
+
"confirmedBy": "portal"
|
|
80
|
+
},
|
|
18
81
|
{
|
|
19
82
|
"code": "QPS0055",
|
|
20
83
|
"wording": "Received at Destenation Country",
|
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.1002.
|
|
3
|
+
"version": "0.1002.2-main.5416",
|
|
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",
|