universal-parcel-scraper 0.179.0-main.1310 → 0.181.0
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 +3 -3
- package/data/catalog.json +49 -1
- package/data/coverage-summary.json +2 -2
- package/data/detection-golden.json +16 -0
- package/dist/browser/scraper.js +41 -3
- package/dist/carriers/israel-post/adapter.d.ts +14 -0
- package/dist/carriers/israel-post/adapter.js +57 -0
- package/dist/carriers/israel-post/carrier.json +40 -7
- package/dist/carriers/israel-post/parser.d.ts +6 -0
- package/dist/carriers/israel-post/parser.js +77 -0
- package/dist/carriers/israel-post/status.d.ts +4 -0
- package/dist/carriers/israel-post/status.js +15 -0
- package/dist/carriers/israel-post/statuses.json +37 -1
- package/dist/carriers/mayiyinfu/carrier.json +54 -0
- package/dist/carriers/mayiyinfu/numbers.json +17 -0
- package/dist/carriers/mayiyinfu/statuses.json +16 -0
- package/dist/core/catalog/statusMaps.js +2 -1
- package/dist/data/catalog.json +49 -1
- package/dist/generated/catalog.d.ts +31 -2
- package/dist/generated/catalog.js +52 -2
- package/dist/generated/recognition.js +1 -0
- package/dist/generated/registry.js +4 -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 **256 dedicated adapters** and **5 universal fallbacks**
|
|
17
17
|
|
|
18
|
-
<sub>
|
|
18
|
+
<sub>494 catalog entries · 113 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)
|
|
@@ -155,7 +155,7 @@ createTracker({ providers: ['ParcelsApp', 'Ship24', '17TRACK', 'Postal Ninja', '
|
|
|
155
155
|
<!-- GENERATED:stages -->
|
|
156
156
|
<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">
|
|
157
157
|
|
|
158
|
-
The carrier folders record 9,
|
|
158
|
+
The carrier folders record 9,582 such statuses, each filed under one stage.
|
|
159
159
|
<!-- /GENERATED:stages -->
|
|
160
160
|
|
|
161
161
|
Wording nobody recorded yet goes through a classifier that reads seven European languages.
|
package/data/catalog.json
CHANGED
|
@@ -11668,7 +11668,9 @@
|
|
|
11668
11668
|
"timezone": "Asia/Jerusalem",
|
|
11669
11669
|
"tracking": {
|
|
11670
11670
|
"mode": "automatic",
|
|
11671
|
-
"adapter": "
|
|
11671
|
+
"adapter": "israel-post",
|
|
11672
|
+
"recognitionRank": 81,
|
|
11673
|
+
"localClocks": true
|
|
11672
11674
|
},
|
|
11673
11675
|
"canaryUrl": "https://israelpost.co.il/",
|
|
11674
11676
|
"trackingUrlTemplate": "https://israelpost.co.il/%D7%9E%D7%A2%D7%A7%D7%91-%D7%9E%D7%A9%D7%9C%D7%95%D7%97%D7%99%D7%9D?OpenForm&itemcode={trackingNumber}",
|
|
@@ -11699,6 +11701,12 @@
|
|
|
11699
11701
|
{
|
|
11700
11702
|
"pattern": "^\\d{11}IL$",
|
|
11701
11703
|
"confidence": "high"
|
|
11704
|
+
},
|
|
11705
|
+
{
|
|
11706
|
+
"pattern": "^[A-Z]{2}\\d{9}IL$",
|
|
11707
|
+
"confidence": "low",
|
|
11708
|
+
"checksum": "s10",
|
|
11709
|
+
"preferred": true
|
|
11702
11710
|
}
|
|
11703
11711
|
]
|
|
11704
11712
|
},
|
|
@@ -13420,6 +13428,46 @@
|
|
|
13420
13428
|
],
|
|
13421
13429
|
"detectionRules": []
|
|
13422
13430
|
},
|
|
13431
|
+
"mayiyinfu": {
|
|
13432
|
+
"displayName": "Mayi Yinfu",
|
|
13433
|
+
"color": "#000000",
|
|
13434
|
+
"aliases": [
|
|
13435
|
+
"Mayiyinfu",
|
|
13436
|
+
"MYYF",
|
|
13437
|
+
"蚂蚁银服",
|
|
13438
|
+
"螞蟻銀服",
|
|
13439
|
+
"广东蚂蚁银服国际物流有限公司",
|
|
13440
|
+
"Mayi Yinfu International Logistics"
|
|
13441
|
+
],
|
|
13442
|
+
"countries": [
|
|
13443
|
+
"CN"
|
|
13444
|
+
],
|
|
13445
|
+
"selectable": true,
|
|
13446
|
+
"timezone": "Asia/Shanghai",
|
|
13447
|
+
"tracking": {
|
|
13448
|
+
"mode": "automatic",
|
|
13449
|
+
"adapter": "universal"
|
|
13450
|
+
},
|
|
13451
|
+
"canaryUrl": "https://t.17track.net/",
|
|
13452
|
+
"linkRules": [
|
|
13453
|
+
{
|
|
13454
|
+
"domains": [
|
|
13455
|
+
"mayiyinfu.com.cn",
|
|
13456
|
+
"www.mayiyinfu.com.cn"
|
|
13457
|
+
],
|
|
13458
|
+
"pathPattern": "^/trackIndex\\.htm$",
|
|
13459
|
+
"params": [
|
|
13460
|
+
"documentCode"
|
|
13461
|
+
]
|
|
13462
|
+
}
|
|
13463
|
+
],
|
|
13464
|
+
"detectionRules": [
|
|
13465
|
+
{
|
|
13466
|
+
"pattern": "^MY\\d{10}US$",
|
|
13467
|
+
"confidence": "high"
|
|
13468
|
+
}
|
|
13469
|
+
]
|
|
13470
|
+
},
|
|
13423
13471
|
"mds-collivery": {
|
|
13424
13472
|
"displayName": "MDS Collivery",
|
|
13425
13473
|
"color": "#00823d",
|
|
@@ -48428,6 +48428,7 @@
|
|
|
48428
48428
|
"intl-post"
|
|
48429
48429
|
],
|
|
48430
48430
|
"asked": [
|
|
48431
|
+
"israel-post",
|
|
48431
48432
|
"chronopost"
|
|
48432
48433
|
]
|
|
48433
48434
|
},
|
|
@@ -51236,6 +51237,7 @@
|
|
|
51236
51237
|
"intl-post"
|
|
51237
51238
|
],
|
|
51238
51239
|
"asked": [
|
|
51240
|
+
"israel-post",
|
|
51239
51241
|
"chronopost"
|
|
51240
51242
|
]
|
|
51241
51243
|
},
|
|
@@ -51288,6 +51290,7 @@
|
|
|
51288
51290
|
"intl-post"
|
|
51289
51291
|
],
|
|
51290
51292
|
"asked": [
|
|
51293
|
+
"israel-post",
|
|
51291
51294
|
"chronopost"
|
|
51292
51295
|
]
|
|
51293
51296
|
},
|
|
@@ -57580,6 +57583,7 @@
|
|
|
57580
57583
|
"intl-post"
|
|
57581
57584
|
],
|
|
57582
57585
|
"asked": [
|
|
57586
|
+
"israel-post",
|
|
57583
57587
|
"chronopost"
|
|
57584
57588
|
]
|
|
57585
57589
|
},
|
|
@@ -57591,6 +57595,7 @@
|
|
|
57591
57595
|
"intl-post"
|
|
57592
57596
|
],
|
|
57593
57597
|
"asked": [
|
|
57598
|
+
"israel-post",
|
|
57594
57599
|
"chronopost"
|
|
57595
57600
|
]
|
|
57596
57601
|
},
|
|
@@ -58670,6 +58675,14 @@
|
|
|
58670
58675
|
"gdex"
|
|
58671
58676
|
]
|
|
58672
58677
|
},
|
|
58678
|
+
{
|
|
58679
|
+
"input": "MY9900000001US",
|
|
58680
|
+
"carrier": "mayiyinfu",
|
|
58681
|
+
"confidence": "high",
|
|
58682
|
+
"candidates": [
|
|
58683
|
+
"mayiyinfu"
|
|
58684
|
+
]
|
|
58685
|
+
},
|
|
58673
58686
|
{
|
|
58674
58687
|
"input": "MYCV060080099GB",
|
|
58675
58688
|
"carrier": "unknown",
|
|
@@ -62835,6 +62848,7 @@
|
|
|
62835
62848
|
"intl-post"
|
|
62836
62849
|
],
|
|
62837
62850
|
"asked": [
|
|
62851
|
+
"israel-post",
|
|
62838
62852
|
"chronopost"
|
|
62839
62853
|
]
|
|
62840
62854
|
},
|
|
@@ -62954,6 +62968,7 @@
|
|
|
62954
62968
|
"intl-post"
|
|
62955
62969
|
],
|
|
62956
62970
|
"asked": [
|
|
62971
|
+
"israel-post",
|
|
62957
62972
|
"chronopost"
|
|
62958
62973
|
]
|
|
62959
62974
|
},
|
|
@@ -63064,6 +63079,7 @@
|
|
|
63064
63079
|
"intl-post"
|
|
63065
63080
|
],
|
|
63066
63081
|
"asked": [
|
|
63082
|
+
"israel-post",
|
|
63067
63083
|
"chronopost"
|
|
63068
63084
|
]
|
|
63069
63085
|
},
|
package/dist/browser/scraper.js
CHANGED
|
@@ -9004,7 +9004,9 @@ var Ae = {
|
|
|
9004
9004
|
timezone: "Asia/Jerusalem",
|
|
9005
9005
|
tracking: {
|
|
9006
9006
|
mode: "automatic",
|
|
9007
|
-
adapter: "
|
|
9007
|
+
adapter: "israel-post",
|
|
9008
|
+
recognitionRank: 81,
|
|
9009
|
+
localClocks: !0
|
|
9008
9010
|
},
|
|
9009
9011
|
canaryUrl: "https://israelpost.co.il/",
|
|
9010
9012
|
trackingUrlTemplate: "https://israelpost.co.il/%D7%9E%D7%A2%D7%A7%D7%91-%D7%9E%D7%A9%D7%9C%D7%95%D7%97%D7%99%D7%9D?OpenForm&itemcode={trackingNumber}",
|
|
@@ -9021,6 +9023,11 @@ var Ae = {
|
|
|
9021
9023
|
detectionRules: [{
|
|
9022
9024
|
pattern: "^\\d{11}IL$",
|
|
9023
9025
|
confidence: "high"
|
|
9026
|
+
}, {
|
|
9027
|
+
pattern: "^[A-Z]{2}\\d{9}IL$",
|
|
9028
|
+
confidence: "low",
|
|
9029
|
+
checksum: "s10",
|
|
9030
|
+
preferred: !0
|
|
9024
9031
|
}]
|
|
9025
9032
|
},
|
|
9026
9033
|
"j-and-t-br": {
|
|
@@ -10281,6 +10288,35 @@ var Ae = {
|
|
|
10281
10288
|
}],
|
|
10282
10289
|
detectionRules: []
|
|
10283
10290
|
},
|
|
10291
|
+
mayiyinfu: {
|
|
10292
|
+
displayName: "Mayi Yinfu",
|
|
10293
|
+
color: "#000000",
|
|
10294
|
+
aliases: [
|
|
10295
|
+
"Mayiyinfu",
|
|
10296
|
+
"MYYF",
|
|
10297
|
+
"蚂蚁银服",
|
|
10298
|
+
"螞蟻銀服",
|
|
10299
|
+
"广东蚂蚁银服国际物流有限公司",
|
|
10300
|
+
"Mayi Yinfu International Logistics"
|
|
10301
|
+
],
|
|
10302
|
+
countries: ["CN"],
|
|
10303
|
+
selectable: !0,
|
|
10304
|
+
timezone: "Asia/Shanghai",
|
|
10305
|
+
tracking: {
|
|
10306
|
+
mode: "automatic",
|
|
10307
|
+
adapter: "universal"
|
|
10308
|
+
},
|
|
10309
|
+
canaryUrl: "https://t.17track.net/",
|
|
10310
|
+
linkRules: [{
|
|
10311
|
+
domains: ["mayiyinfu.com.cn", "www.mayiyinfu.com.cn"],
|
|
10312
|
+
pathPattern: "^/trackIndex\\.htm$",
|
|
10313
|
+
params: ["documentCode"]
|
|
10314
|
+
}],
|
|
10315
|
+
detectionRules: [{
|
|
10316
|
+
pattern: "^MY\\d{10}US$",
|
|
10317
|
+
confidence: "high"
|
|
10318
|
+
}]
|
|
10319
|
+
},
|
|
10284
10320
|
"mds-collivery": {
|
|
10285
10321
|
displayName: "MDS Collivery",
|
|
10286
10322
|
color: "#00823d",
|
|
@@ -15122,7 +15158,7 @@ var Ae = {
|
|
|
15122
15158
|
rawPattern: "^\\d{2}-[A-Z0-9]{6}(?:[A-Z0-9]|[A-Z0-9]{4})?-ZR$"
|
|
15123
15159
|
}]
|
|
15124
15160
|
}
|
|
15125
|
-
}, je = /* @__PURE__ */ "swiss-post.swiss-post-cargo.quickpac.planzer.aliexpress.sunyou.hermes.spring-gds.postlogistics.dachser.dhl.dhl-ecommerce.ups.amazon-logistics.amazon-shipping.fedex.gls-ch.dpd.dpd-fr.mondial-relay.relais-colis.la-poste.chronopost.gls-fr.colis-prive.geodis.colisweb.c-chez-vous.heppner.ciblex.paack.asendia.shipup.india-post.hermes-de.gls-de.delivengo.intl-post.unknown.royal-mail.parcelforce.evri.inpost.an-post.bpost.austrian-post.postnord.posti.correos-express.seur.mrw.nacex.ctt.ctt-express.poste-italiane.brt.ecoscooting.tipsa.ukrposhta.usps.canada-post.purolator.canpar.ontrac.speedx.uniuni.landmark-global.old-dominion.spee-dee.gofo.estafeta.correios-br.correos-chile.yunexpress.four-px.blue-dart.delhivery.nz-post.singapore-post.japan-post.sf-express.sto.yunda.yto.zto.jd-logistics.yamato.korea-post.thailand-post.dtdc.australia-post.hongkong-post.pos-malaysia.ninja-van.china-post.packeta.poczta-polska.bring-posten.aramex.tnt.correos-spain.yanwen.the-courier-guy.j-and-t.ems.139express.17feia.2go.4-72.5post.99minutos.a-duie-pyle.aaa-cooper.abf-freight.acs-courier.aeropost.aex-paraguay.akash-ganga.aks-express.alem-tat.algerie-poste.allegro-one.ampm.andreani.anjun.anteraja.apc-overnight.apc-postal-logistics.aramex-au.aramex-nz.aras-kargo.arrow-xl.asyad-express.averitt.aymakan.azerpost.azul-cargo.bangladesh-post.barid-al-maghrib.belpost.best-express-vn.best-transport.better-trucks.bex-express.blue-express.blueex.border-express.bosta.box-now.buffalo-ex.bulgarian-posts.burd-delivery.cacesa.cargus.castores.cdek.cdl.celeritas.central-transport.ceska-posta.ceva-logistics.chazki.chilexpress.chit-chats.chunghwa-post.chunil.city-express-rs.citylink-express.citysprint.cj-logistics.cj-packet.cne.coordinadora.correo-argentino.correo-uruguayo.correos-de-mexico.courier-center.courier-it.couriersplease.cruz-del-sur.cse-russia.cycloon.cyprus-post.d-express.dai-post.danske-fragtmaend.dao.day-ross.daylight-transport.dayton-freight.dellin.deppon.deprisa.dhl-ecommerce-es.dhl-ecommerce-nl.dhl-ecommerce-pl.dhl-ecommerce-uk.dhl-express.dhl-freight.dhlink.direct-freight-express.dohrn-transfer.domex.dpd-de.dpd-ie.dpd-pl.dpd-uk.dropp.dsv.dx.dynalogic.early-bird.ecms-express.econt.ecourier.egypt-post.ekart.elta.emile.emirates-post.ems-vietnam.energia-tk.envia-colombia.envialia.epost-global.equick.estes.ethiopian-post.euroexpress-ba.europochta.evri-uk.express-one.fan-courier.fargo-courier.flash-express.flash-express-ph.followmont.forward-air.forza-delivery.foxpost.fukuyama.gati.gdex.gebrueder-weiss.geis.geniki-taxydromiki.geodis-pl.ghana-post.ghn.ghtk.gls-es.gls-it.go-express.gofo-fr.gofo-it.groupe-guilbault.gs-postbox.guatex.gzyl.hanjin.hapdong.haypost.hct-logistics.helthjem.hepsijet.hi-trans.hrvatska-posta.hunter-express.hywl.ics-courier.idexpress.ids-logistik.ilyang-logis.imile.instabox.intelcom.internet-express.interrapidisimo.israel-post.j-and-t-br.j-and-t-cargo.j-and-t-cn.j-and-t-mx.jadlog.jamaica-post.janio.jersey-post.jhgj.jitsu.jne.jordan-post.jrs-express.jrt.kazpost.kerry-tj.kex.kex-express-hk.kit-tk.kolay-gelsin.ktd.kuehne-nagel.kunyoung.la-poste-tunisienne.laar-courier.latvijas-pasts.lbc-express.leopards-courier.libanpost.lietuvos-pastas.line-clear.lion-parcel.logen.loggi.loomis-express.lotte-global.lso.m-and-p.madhur-courier.magyar-posta.mailamericas.mainfreight.maltapost.maritime-ontario.matkahuolto.mauritius-post.mds-collivery.meest.midland-transport.mng-kargo.mtscn.mylerz.naqel.nationex.ncs-courier.nepal-post.nhat-tin.nim-express.nipost.nippon-express.northline.nova-poshta.nz-couriers.oak-harbor.oca.olva-courier.omgo.omniva.orlen-paczka.osm-worldwide.overseas-express.ozon-logistics.pakistan-post.palletways.paperfly.paquetexpress.pargo.passport.pathao-courier.paxi.pbt.pecom.pelican-express.pfc-express.pilot-freight.pitt-ohio.polaris-transport.pos-indonesia.post-haste.post-luxembourg.posta-kenya.posta-moldovei.posta-north-macedonia.posta-romana.posta-shqiptare.posta-slovenije.posta-srbije.postaplus.postex.posturinn.ppl.professional-couriers.prompt-xpress.pronto-lanka.ptt.pullman-cargo.quantium-solutions.quiqup.raben.ram-hand-to-hand.redpack.redx.rl-carriers.roadie.roadrunner.rpx-indonesia.russian-post.saee.sagawa.saia.sameday.sapx-express.sat-ukraine.saudi-post.sbs-sokuhai.scg-express.seino.seko.sendex.sending.serpost.servientrega.seven-eleven-tw.sfc.shadowfax.shree-maruti.shree-nandan.sicepat.skroutz-last-mile.skynet-sa.skynet-worldwide.slgtrax.slovak-parcel-service.slovenska-posta.smsa-express.south-african-post-office.southeastern-freight-lines.speedaf.speedex.speedpak.speedy.spx-br.spx-id.spx-my.spx-ph.spx-th.spx-tw.spx-vn.sri-lanka-post.st-courier.stallion-express.starken.steadfast.sundarban-courier.surat-kargo.swiftx.t-cat.tanzania-posts.taxydema.tci-express.tcs-pakistan.tealca.team-global-express.tforce-freight.thhy.tiki.tirupati-courier.tnt-it.toptrans.total-express.trackon.tracx-logis.trans-o-flex.trendyol-express.tsjy.tst-cf-express.tufesa.ubi-smart-parcel.urbano.uzbekistan-post.vasp-expresso.venipak.via-cargo.viettel-post.vinted-go.vnpost.vrl-logistics.wahana.wanbexpress.ward-trucking.whistl.winit.xde-logistics.xdp.xpo-ltl.xpressbees.yalidine.yimidida.yurtici-kargo.zajil.zeleris.zheldor.zoom-ve.zr-express".split("."), Me = {
|
|
15161
|
+
}, je = /* @__PURE__ */ "swiss-post.swiss-post-cargo.quickpac.planzer.aliexpress.sunyou.hermes.spring-gds.postlogistics.dachser.dhl.dhl-ecommerce.ups.amazon-logistics.amazon-shipping.fedex.gls-ch.dpd.dpd-fr.mondial-relay.relais-colis.la-poste.chronopost.gls-fr.colis-prive.geodis.colisweb.c-chez-vous.heppner.ciblex.paack.asendia.shipup.india-post.hermes-de.gls-de.delivengo.intl-post.unknown.royal-mail.parcelforce.evri.inpost.an-post.bpost.austrian-post.postnord.posti.correos-express.seur.mrw.nacex.ctt.ctt-express.poste-italiane.brt.ecoscooting.tipsa.ukrposhta.usps.canada-post.purolator.canpar.ontrac.speedx.uniuni.landmark-global.old-dominion.spee-dee.gofo.estafeta.correios-br.correos-chile.yunexpress.four-px.blue-dart.delhivery.nz-post.singapore-post.japan-post.sf-express.sto.yunda.yto.zto.jd-logistics.yamato.korea-post.thailand-post.dtdc.australia-post.hongkong-post.pos-malaysia.ninja-van.china-post.packeta.poczta-polska.bring-posten.aramex.tnt.correos-spain.yanwen.the-courier-guy.j-and-t.ems.139express.17feia.2go.4-72.5post.99minutos.a-duie-pyle.aaa-cooper.abf-freight.acs-courier.aeropost.aex-paraguay.akash-ganga.aks-express.alem-tat.algerie-poste.allegro-one.ampm.andreani.anjun.anteraja.apc-overnight.apc-postal-logistics.aramex-au.aramex-nz.aras-kargo.arrow-xl.asyad-express.averitt.aymakan.azerpost.azul-cargo.bangladesh-post.barid-al-maghrib.belpost.best-express-vn.best-transport.better-trucks.bex-express.blue-express.blueex.border-express.bosta.box-now.buffalo-ex.bulgarian-posts.burd-delivery.cacesa.cargus.castores.cdek.cdl.celeritas.central-transport.ceska-posta.ceva-logistics.chazki.chilexpress.chit-chats.chunghwa-post.chunil.city-express-rs.citylink-express.citysprint.cj-logistics.cj-packet.cne.coordinadora.correo-argentino.correo-uruguayo.correos-de-mexico.courier-center.courier-it.couriersplease.cruz-del-sur.cse-russia.cycloon.cyprus-post.d-express.dai-post.danske-fragtmaend.dao.day-ross.daylight-transport.dayton-freight.dellin.deppon.deprisa.dhl-ecommerce-es.dhl-ecommerce-nl.dhl-ecommerce-pl.dhl-ecommerce-uk.dhl-express.dhl-freight.dhlink.direct-freight-express.dohrn-transfer.domex.dpd-de.dpd-ie.dpd-pl.dpd-uk.dropp.dsv.dx.dynalogic.early-bird.ecms-express.econt.ecourier.egypt-post.ekart.elta.emile.emirates-post.ems-vietnam.energia-tk.envia-colombia.envialia.epost-global.equick.estes.ethiopian-post.euroexpress-ba.europochta.evri-uk.express-one.fan-courier.fargo-courier.flash-express.flash-express-ph.followmont.forward-air.forza-delivery.foxpost.fukuyama.gati.gdex.gebrueder-weiss.geis.geniki-taxydromiki.geodis-pl.ghana-post.ghn.ghtk.gls-es.gls-it.go-express.gofo-fr.gofo-it.groupe-guilbault.gs-postbox.guatex.gzyl.hanjin.hapdong.haypost.hct-logistics.helthjem.hepsijet.hi-trans.hrvatska-posta.hunter-express.hywl.ics-courier.idexpress.ids-logistik.ilyang-logis.imile.instabox.intelcom.internet-express.interrapidisimo.israel-post.j-and-t-br.j-and-t-cargo.j-and-t-cn.j-and-t-mx.jadlog.jamaica-post.janio.jersey-post.jhgj.jitsu.jne.jordan-post.jrs-express.jrt.kazpost.kerry-tj.kex.kex-express-hk.kit-tk.kolay-gelsin.ktd.kuehne-nagel.kunyoung.la-poste-tunisienne.laar-courier.latvijas-pasts.lbc-express.leopards-courier.libanpost.lietuvos-pastas.line-clear.lion-parcel.logen.loggi.loomis-express.lotte-global.lso.m-and-p.madhur-courier.magyar-posta.mailamericas.mainfreight.maltapost.maritime-ontario.matkahuolto.mauritius-post.mayiyinfu.mds-collivery.meest.midland-transport.mng-kargo.mtscn.mylerz.naqel.nationex.ncs-courier.nepal-post.nhat-tin.nim-express.nipost.nippon-express.northline.nova-poshta.nz-couriers.oak-harbor.oca.olva-courier.omgo.omniva.orlen-paczka.osm-worldwide.overseas-express.ozon-logistics.pakistan-post.palletways.paperfly.paquetexpress.pargo.passport.pathao-courier.paxi.pbt.pecom.pelican-express.pfc-express.pilot-freight.pitt-ohio.polaris-transport.pos-indonesia.post-haste.post-luxembourg.posta-kenya.posta-moldovei.posta-north-macedonia.posta-romana.posta-shqiptare.posta-slovenije.posta-srbije.postaplus.postex.posturinn.ppl.professional-couriers.prompt-xpress.pronto-lanka.ptt.pullman-cargo.quantium-solutions.quiqup.raben.ram-hand-to-hand.redpack.redx.rl-carriers.roadie.roadrunner.rpx-indonesia.russian-post.saee.sagawa.saia.sameday.sapx-express.sat-ukraine.saudi-post.sbs-sokuhai.scg-express.seino.seko.sendex.sending.serpost.servientrega.seven-eleven-tw.sfc.shadowfax.shree-maruti.shree-nandan.sicepat.skroutz-last-mile.skynet-sa.skynet-worldwide.slgtrax.slovak-parcel-service.slovenska-posta.smsa-express.south-african-post-office.southeastern-freight-lines.speedaf.speedex.speedpak.speedy.spx-br.spx-id.spx-my.spx-ph.spx-th.spx-tw.spx-vn.sri-lanka-post.st-courier.stallion-express.starken.steadfast.sundarban-courier.surat-kargo.swiftx.t-cat.tanzania-posts.taxydema.tci-express.tcs-pakistan.tealca.team-global-express.tforce-freight.thhy.tiki.tirupati-courier.tnt-it.toptrans.total-express.trackon.tracx-logis.trans-o-flex.trendyol-express.tsjy.tst-cf-express.tufesa.ubi-smart-parcel.urbano.uzbekistan-post.vasp-expresso.venipak.via-cargo.viettel-post.vinted-go.vnpost.vrl-logistics.wahana.wanbexpress.ward-trucking.whistl.winit.xde-logistics.xdp.xpo-ltl.xpressbees.yalidine.yimidida.yurtici-kargo.zajil.zeleris.zheldor.zoom-ve.zr-express".split("."), Me = {
|
|
15126
15162
|
"swiss-post": ["swiss-post-1", "swiss-post-2"],
|
|
15127
15163
|
"swiss-post-cargo": ["swiss-post-cargo-sscc", "swiss-post-cargo-pl-reference"],
|
|
15128
15164
|
quickpac: ["quickpac-1"],
|
|
@@ -15672,7 +15708,7 @@ var Ae = {
|
|
|
15672
15708
|
],
|
|
15673
15709
|
"internet-express": [],
|
|
15674
15710
|
interrapidisimo: [],
|
|
15675
|
-
"israel-post": ["israel-post-1"],
|
|
15711
|
+
"israel-post": ["israel-post-1", "israel-post-s10"],
|
|
15676
15712
|
"j-and-t-br": [],
|
|
15677
15713
|
"j-and-t-cargo": ["j-and-t-cargo-1", "j-and-t-cargo-2"],
|
|
15678
15714
|
"j-and-t-cn": ["j-and-t-cn-1"],
|
|
@@ -15719,6 +15755,7 @@ var Ae = {
|
|
|
15719
15755
|
"maritime-ontario": [],
|
|
15720
15756
|
matkahuolto: ["matkahuolto-1", "matkahuolto-2"],
|
|
15721
15757
|
"mauritius-post": [],
|
|
15758
|
+
mayiyinfu: ["mayiyinfu-1"],
|
|
15722
15759
|
"mds-collivery": [],
|
|
15723
15760
|
meest: ["meest-1"],
|
|
15724
15761
|
"midland-transport": [],
|
|
@@ -21056,6 +21093,7 @@ var nl = {
|
|
|
21056
21093
|
hywl: 993,
|
|
21057
21094
|
inpost: 820,
|
|
21058
21095
|
interrapidisimo: 969,
|
|
21096
|
+
"israel-post": 81,
|
|
21059
21097
|
"j-and-t": 530,
|
|
21060
21098
|
"j-and-t-cargo": 910,
|
|
21061
21099
|
jitsu: 85,
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type AdapterFactory, type TrackingContext } from '../../core/adapter/index.js';
|
|
2
|
+
import type { CarrierResult } from '../../core/result/index.js';
|
|
3
|
+
import { type StepRecorder } from '../../core/telemetry/index.js';
|
|
4
|
+
export declare const ISRAEL_POST_ENDPOINT = "https://apimftprd.israelpost.co.il/itemtracecert/items//";
|
|
5
|
+
export declare class IsraelPostTracker {
|
|
6
|
+
private readonly options;
|
|
7
|
+
constructor(options?: {
|
|
8
|
+
fetcher?: typeof fetch;
|
|
9
|
+
recorder?: StepRecorder;
|
|
10
|
+
userAgent?: string;
|
|
11
|
+
});
|
|
12
|
+
fetch(raw: string, context?: TrackingContext): Promise<CarrierResult>;
|
|
13
|
+
}
|
|
14
|
+
export declare const adapter: AdapterFactory;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { accepted, recognizeFromLookup } from '../../core/adapter/index.js';
|
|
2
|
+
import { ChallengeError, SchemaError, TransportError, UpstreamHttpError } from '../../core/errors/index.js';
|
|
3
|
+
import { runSteps } from '../../core/runner/index.js';
|
|
4
|
+
import { firstAttemptMs, networkRetryStep } from '../../core/runner/networkRetry.js';
|
|
5
|
+
import { NOOP_RECORDER } from '../../core/telemetry/index.js';
|
|
6
|
+
import { decodeText, fetchBounded, parseJsonBytes, userAgentOf } from '../../core/transport/index.js';
|
|
7
|
+
import { normalizeIsraelPostNumber, parseIsraelPost, PROVIDER } from './parser.js';
|
|
8
|
+
// The Android app's addPackageByCodeRequestWithoutLogin joins these two slashes.
|
|
9
|
+
export const ISRAEL_POST_ENDPOINT = 'https://apimftprd.israelpost.co.il/itemtracecert/items//';
|
|
10
|
+
// Shared across installs of com.israelpost.israelpost for anonymous tracking.
|
|
11
|
+
const SUBSCRIPTION_KEY = '856e324428194b8885732347153fe47f'; // gitleaks:allow
|
|
12
|
+
const BLOCKED = /<title>\s*(?:Access Denied|Just a moment|Attention Required)|_cf_chl_opt|cf-turnstile|הגישה נחסמה/i;
|
|
13
|
+
export class IsraelPostTracker {
|
|
14
|
+
options;
|
|
15
|
+
constructor(options = {}) {
|
|
16
|
+
this.options = options;
|
|
17
|
+
}
|
|
18
|
+
async fetch(raw, context = {}) {
|
|
19
|
+
const number = normalizeIsraelPostNumber(raw);
|
|
20
|
+
const read = async (signal, timeoutMs) => {
|
|
21
|
+
let bytes;
|
|
22
|
+
try {
|
|
23
|
+
({ bytes } = await fetchBounded(ISRAEL_POST_ENDPOINT + number, { method: 'GET', signal,
|
|
24
|
+
headers: { Accept: 'application/json', 'Content-Type': 'application/json',
|
|
25
|
+
'Ocp-Apim-Subscription-Key': SUBSCRIPTION_KEY, 'User-Agent': userAgentOf(this.options.userAgent) } }, { provider: PROVIDER, timeoutMs: Math.max(1, Math.floor(timeoutMs)), maxBytes: 256_000, redirect: 'manual', fetcher: this.options.fetcher }));
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
if (error instanceof UpstreamHttpError && [301, 302, 303, 307, 308, 404, 410].includes(error.status)) {
|
|
29
|
+
throw new TransportError(PROVIDER, 'Israel Post tracking endpoint is unavailable', { cause: error });
|
|
30
|
+
}
|
|
31
|
+
throw error;
|
|
32
|
+
}
|
|
33
|
+
let payload;
|
|
34
|
+
try {
|
|
35
|
+
payload = parseJsonBytes(bytes, PROVIDER);
|
|
36
|
+
}
|
|
37
|
+
catch (cause) {
|
|
38
|
+
if (BLOCKED.test(decodeText(bytes.subarray(0, 64_000))))
|
|
39
|
+
throw new ChallengeError(PROVIDER, 'Israel Post answered with a block page', { cause });
|
|
40
|
+
throw new SchemaError(PROVIDER, 'Israel Post returned invalid tracking JSON', { cause });
|
|
41
|
+
}
|
|
42
|
+
return parseIsraelPost(payload, number);
|
|
43
|
+
};
|
|
44
|
+
return runSteps({ carrier: 'israel-post', budgetMs: context.budgetMs ?? 20_000, signal: context.signal,
|
|
45
|
+
recorder: this.options.recorder ?? NOOP_RECORDER }, [
|
|
46
|
+
{ id: 'direct', run: ({ signal, remainingMs }) => read(signal, firstAttemptMs(remainingMs)) },
|
|
47
|
+
networkRetryStep(({ signal, remainingMs }) => read(signal, remainingMs)),
|
|
48
|
+
]);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
export const adapter = environment => {
|
|
52
|
+
const tracker = new IsraelPostTracker({ fetcher: environment.fetcher, recorder: environment.recorder, userAgent: environment.userAgent });
|
|
53
|
+
return { id: 'israel-post', recordsSteps: true, steps: ['direct', 'retry'],
|
|
54
|
+
track: (input, context) => tracker.fetch(input.number, context),
|
|
55
|
+
recognize: (number, context) => recognizeFromLookup(() => tracker.fetch(number, context), () => accepted(() => normalizeIsraelPostNumber(number))),
|
|
56
|
+
};
|
|
57
|
+
};
|
|
@@ -17,18 +17,44 @@
|
|
|
17
17
|
"timezone": "Asia/Jerusalem",
|
|
18
18
|
"tracking": {
|
|
19
19
|
"mode": "automatic",
|
|
20
|
-
"adapter": "
|
|
21
|
-
"steps": [
|
|
20
|
+
"adapter": "israel-post",
|
|
21
|
+
"steps": [
|
|
22
|
+
"direct",
|
|
23
|
+
"retry"
|
|
24
|
+
],
|
|
25
|
+
"recognition": {
|
|
26
|
+
"rank": 81
|
|
27
|
+
},
|
|
28
|
+
"localClocks": true
|
|
22
29
|
},
|
|
23
|
-
"capabilities": [
|
|
30
|
+
"capabilities": [
|
|
31
|
+
"history",
|
|
32
|
+
"provider_code"
|
|
33
|
+
],
|
|
24
34
|
"portal": {
|
|
25
35
|
"url": "https://israelpost.co.il/%D7%9E%D7%A2%D7%A7%D7%91-%D7%9E%D7%A9%D7%9C%D7%95%D7%97%D7%99%D7%9D?OpenForm&itemcode={trackingNumber}",
|
|
26
36
|
"searchUrl": "https://israelpost.co.il/%D7%9E%D7%A2%D7%A7%D7%91-%D7%9E%D7%A9%D7%9C%D7%95%D7%97%D7%99%D7%9D",
|
|
27
37
|
"canaryUrl": "https://israelpost.co.il/",
|
|
28
|
-
"shows": [
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
38
|
+
"shows": [
|
|
39
|
+
"status",
|
|
40
|
+
"history",
|
|
41
|
+
"location"
|
|
42
|
+
],
|
|
43
|
+
"scraped": [
|
|
44
|
+
"status",
|
|
45
|
+
"history",
|
|
46
|
+
"provider_code"
|
|
47
|
+
],
|
|
48
|
+
"discarded": [
|
|
49
|
+
"recipient",
|
|
50
|
+
"sender",
|
|
51
|
+
"address",
|
|
52
|
+
"payment_link"
|
|
53
|
+
],
|
|
54
|
+
"unavailable": [
|
|
55
|
+
"scan_times",
|
|
56
|
+
"offset_timestamps"
|
|
57
|
+
]
|
|
32
58
|
},
|
|
33
59
|
"links": [
|
|
34
60
|
{
|
|
@@ -57,6 +83,13 @@
|
|
|
57
83
|
"id": "israel-post-1",
|
|
58
84
|
"pattern": "^\\d{11}IL$",
|
|
59
85
|
"confidence": "high"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"id": "israel-post-s10",
|
|
89
|
+
"pattern": "^[A-Z]{2}\\d{9}IL$",
|
|
90
|
+
"confidence": "low",
|
|
91
|
+
"preferred": true,
|
|
92
|
+
"checksum": "s10"
|
|
60
93
|
}
|
|
61
94
|
]
|
|
62
95
|
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CarrierResult } from '../../core/result/index.js';
|
|
2
|
+
export declare const PROVIDER = "Israel Post";
|
|
3
|
+
/** Postal S10 items, including imports, and Israel Post's domestic courier identifiers. */
|
|
4
|
+
export declare function normalizeIsraelPostNumber(raw: string): string;
|
|
5
|
+
/** The native guest read returns an identity and Maslul, newest first. */
|
|
6
|
+
export declare function parseIsraelPost(payload: unknown, raw: string): CarrierResult;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { DateTime } from 'luxon';
|
|
2
|
+
import { isValidS10TrackingNumber, normalizeTrackingNumber } from '../../core/detection/index.js';
|
|
3
|
+
import { IndeterminateError, InvalidInputError, NoHistoryError, SchemaError } from '../../core/errors/index.js';
|
|
4
|
+
import { languageStageStatus } from '../../core/status/index.js';
|
|
5
|
+
import { clean } from '../../core/transport/index.js';
|
|
6
|
+
import { isRecord } from '../../core/types.js';
|
|
7
|
+
import { israelPostStage } from './status.js';
|
|
8
|
+
export const PROVIDER = 'Israel Post';
|
|
9
|
+
const MAX_ROWS = 500;
|
|
10
|
+
const MAX_EVENTS = 100;
|
|
11
|
+
/** Postal S10 items, including imports, and Israel Post's domestic courier identifiers. */
|
|
12
|
+
export function normalizeIsraelPostNumber(raw) {
|
|
13
|
+
const number = raw.length <= 64 ? normalizeTrackingNumber(raw) : '';
|
|
14
|
+
if (isValidS10TrackingNumber(number) || /^\d{11}IL$/.test(number))
|
|
15
|
+
return number;
|
|
16
|
+
throw new InvalidInputError(PROVIDER, 'Israel Post requires an S10 item or domestic courier number');
|
|
17
|
+
}
|
|
18
|
+
function text(value) {
|
|
19
|
+
if (typeof value !== 'string' || !value.trim() || value.length > 2000) {
|
|
20
|
+
throw new SchemaError(PROVIDER, 'Israel Post returned invalid scan text');
|
|
21
|
+
}
|
|
22
|
+
return clean(value, 500);
|
|
23
|
+
}
|
|
24
|
+
/** The native guest read returns an identity and Maslul, newest first. */
|
|
25
|
+
export function parseIsraelPost(payload, raw) {
|
|
26
|
+
const number = normalizeIsraelPostNumber(raw);
|
|
27
|
+
if (!isRecord(payload) || typeof payload.ItemCode !== 'string' || !/^[A-Z0-9]{13}$/i.test(payload.ItemCode)) {
|
|
28
|
+
throw new SchemaError(PROVIDER, 'Israel Post returned no item identity');
|
|
29
|
+
}
|
|
30
|
+
if (payload.ItemCode.toUpperCase() !== number)
|
|
31
|
+
throw new IndeterminateError(PROVIDER, 'Israel Post answered for another item');
|
|
32
|
+
const rows = payload.Maslul;
|
|
33
|
+
if (!Array.isArray(rows) || rows.length > MAX_ROWS)
|
|
34
|
+
throw new SchemaError(PROVIDER, 'Israel Post returned an invalid history');
|
|
35
|
+
// The service echoes unknown identifiers with a default category. That shell
|
|
36
|
+
// establishes neither a shipment nor definite absence from the postal network.
|
|
37
|
+
if (!rows.length)
|
|
38
|
+
throw new NoHistoryError(PROVIDER);
|
|
39
|
+
const seen = new Set();
|
|
40
|
+
const events = [];
|
|
41
|
+
for (const row of rows) {
|
|
42
|
+
if (!isRecord(row) || !Number.isInteger(row.CategoryCode) || (row.CategoryCode < 0 || row.CategoryCode > 9999)) {
|
|
43
|
+
throw new SchemaError(PROVIDER, 'Israel Post returned an invalid event category');
|
|
44
|
+
}
|
|
45
|
+
const written = row.StatusDate;
|
|
46
|
+
if (typeof written !== 'string' || !/^\d{2}\/\d{2}\/\d{4}$/.test(written)) {
|
|
47
|
+
throw new SchemaError(PROVIDER, 'Israel Post returned an event without its day');
|
|
48
|
+
}
|
|
49
|
+
const date = DateTime.fromFormat(written, 'dd/MM/yyyy', { zone: 'UTC' });
|
|
50
|
+
if (!date.isValid)
|
|
51
|
+
throw new SchemaError(PROVIDER, 'Israel Post returned an invalid event day');
|
|
52
|
+
const code = String(row.CategoryCode);
|
|
53
|
+
const description = text(row.Status);
|
|
54
|
+
const event = { local_time: date.toISODate(), description, provider_code: code };
|
|
55
|
+
const stage = israelPostStage(code);
|
|
56
|
+
if (stage)
|
|
57
|
+
Object.assign(event, { stage, stage_source: 'carrier_map' });
|
|
58
|
+
const identity = JSON.stringify(event);
|
|
59
|
+
if (seen.has(identity))
|
|
60
|
+
continue;
|
|
61
|
+
seen.add(identity);
|
|
62
|
+
events.push(event);
|
|
63
|
+
}
|
|
64
|
+
// Preserve the server's order within a day; there is no time of day to infer.
|
|
65
|
+
events.sort((a, b) => String(b.local_time).localeCompare(String(a.local_time)));
|
|
66
|
+
const newest = events[0];
|
|
67
|
+
const stage = israelPostStage(newest.provider_code);
|
|
68
|
+
return {
|
|
69
|
+
status: stage ? languageStageStatus(stage) : 'unknown',
|
|
70
|
+
...(stage ? { current_stage: stage, current_stage_source: 'carrier_map' } : {}),
|
|
71
|
+
last_status_text: newest.description, last_update: null, last_update_local: newest.local_time,
|
|
72
|
+
expected_delivery: null, events: events.slice(0, MAX_EVENTS),
|
|
73
|
+
// The carrier warns that registered-item tracking covers its domestic leg.
|
|
74
|
+
// Let enabled providers supplement the history, including foreign scans.
|
|
75
|
+
history_truncated: true,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Categories of the native tracking history, not the summary's default StatusCode. */
|
|
2
|
+
const CATEGORIES = {
|
|
3
|
+
'3': 'in_transit',
|
|
4
|
+
'4': 'ready_for_pickup',
|
|
5
|
+
'5': 'delivered',
|
|
6
|
+
'6': 'exception',
|
|
7
|
+
'23': 'accepted',
|
|
8
|
+
};
|
|
9
|
+
export function israelPostStage(code) {
|
|
10
|
+
return Object.hasOwn(CATEGORIES, code) ? CATEGORIES[code] : undefined;
|
|
11
|
+
}
|
|
12
|
+
export const statusMap = {
|
|
13
|
+
stage: code => code ? israelPostStage(code) : undefined,
|
|
14
|
+
gaps: [],
|
|
15
|
+
};
|
|
@@ -1,4 +1,40 @@
|
|
|
1
1
|
{
|
|
2
2
|
"carrier": "israel-post",
|
|
3
|
-
"entries": [
|
|
3
|
+
"entries": [
|
|
4
|
+
{
|
|
5
|
+
"code": "3",
|
|
6
|
+
"wording": "בתהליך מיון",
|
|
7
|
+
"stage": "in_transit",
|
|
8
|
+
"language": "he",
|
|
9
|
+
"confirmedBy": "live"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"code": "4",
|
|
13
|
+
"wording": "ממתין לאיסוף שלך",
|
|
14
|
+
"stage": "ready_for_pickup",
|
|
15
|
+
"language": "he",
|
|
16
|
+
"confirmedBy": "live"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"code": "5",
|
|
20
|
+
"wording": "נמסר",
|
|
21
|
+
"stage": "delivered",
|
|
22
|
+
"language": "he",
|
|
23
|
+
"confirmedBy": "live"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"code": "6",
|
|
27
|
+
"wording": "לא נמסר ויוחזר לשולח",
|
|
28
|
+
"stage": "exception",
|
|
29
|
+
"language": "he",
|
|
30
|
+
"confirmedBy": "live"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"code": "23",
|
|
34
|
+
"wording": "נקלט למשלוח",
|
|
35
|
+
"stage": "accepted",
|
|
36
|
+
"language": "he",
|
|
37
|
+
"confirmedBy": "live"
|
|
38
|
+
}
|
|
39
|
+
]
|
|
4
40
|
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "mayiyinfu",
|
|
3
|
+
"displayName": "Mayi Yinfu",
|
|
4
|
+
"aliases": [
|
|
5
|
+
"Mayiyinfu",
|
|
6
|
+
"MYYF",
|
|
7
|
+
"蚂蚁银服",
|
|
8
|
+
"螞蟻銀服",
|
|
9
|
+
"广东蚂蚁银服国际物流有限公司",
|
|
10
|
+
"Mayi Yinfu International Logistics"
|
|
11
|
+
],
|
|
12
|
+
"region": {
|
|
13
|
+
"countries": [
|
|
14
|
+
"CN"
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
"brand": {
|
|
18
|
+
"color": "#000000"
|
|
19
|
+
},
|
|
20
|
+
"selectable": true,
|
|
21
|
+
"timezone": "Asia/Shanghai",
|
|
22
|
+
"tracking": {
|
|
23
|
+
"mode": "automatic",
|
|
24
|
+
"adapter": "universal",
|
|
25
|
+
"steps": []
|
|
26
|
+
},
|
|
27
|
+
"capabilities": [],
|
|
28
|
+
"portal": {
|
|
29
|
+
"canaryUrl": "https://t.17track.net/",
|
|
30
|
+
"shows": [],
|
|
31
|
+
"scraped": [],
|
|
32
|
+
"discarded": [],
|
|
33
|
+
"unavailable": []
|
|
34
|
+
},
|
|
35
|
+
"links": [
|
|
36
|
+
{
|
|
37
|
+
"domains": [
|
|
38
|
+
"mayiyinfu.com.cn",
|
|
39
|
+
"www.mayiyinfu.com.cn"
|
|
40
|
+
],
|
|
41
|
+
"pathPattern": "^/trackIndex\\.htm$",
|
|
42
|
+
"params": [
|
|
43
|
+
"documentCode"
|
|
44
|
+
]
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"detection": [
|
|
48
|
+
{
|
|
49
|
+
"id": "mayiyinfu-1",
|
|
50
|
+
"pattern": "^MY\\d{10}US$",
|
|
51
|
+
"confidence": "high"
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"carrier": "mayiyinfu",
|
|
3
|
+
"records": [
|
|
4
|
+
{
|
|
5
|
+
"number": "MY9900000001US",
|
|
6
|
+
"role": "shipment",
|
|
7
|
+
"evidence": "synthetic",
|
|
8
|
+
"derivedFrom": "donated_real",
|
|
9
|
+
"shapeConfirmed": "2026-10-15",
|
|
10
|
+
"expect": {
|
|
11
|
+
"carrier": "mayiyinfu",
|
|
12
|
+
"confidence": "high"
|
|
13
|
+
},
|
|
14
|
+
"note": "Made-up number in the shape of the tracking number Mayi Yinfu's own tracker gives a parcel."
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"carrier": "mayiyinfu",
|
|
3
|
+
"entries": [
|
|
4
|
+
{"wording": "货物电子信息已经收到", "language": "zh", "stage": "registered", "confirmedBy": "live", "note": "The Hualei platform's own row on the order's creation time: the shipment data has arrived."},
|
|
5
|
+
{"wording": "已入库,到达收货点", "language": "zh", "stage": "accepted", "confirmedBy": "live", "note": "Booked into the warehouse at the receiving point."},
|
|
6
|
+
{"wording": "已出库,货物离开操作中心", "language": "zh", "stage": "in_transit", "confirmedBy": "live", "note": "Booked out: the parcel has left the operations centre."},
|
|
7
|
+
{"wording": "国内清关中", "language": "zh", "stage": "customs", "confirmedBy": "live", "note": "Export customs clearance in China is under way."},
|
|
8
|
+
{"wording": "已排航班", "language": "zh", "stage": "in_transit", "confirmedBy": "live", "note": "A flight has been booked."},
|
|
9
|
+
{"wording": "货物已交机场,等待安排航班中The goods have been delivered to the airport and are awaiting the arrangement of flights.", "language": "zh", "stage": "in_transit", "confirmedBy": "live", "note": "Handed to the airport to wait for a flight. It is not a delivery to the recipient, though a translation may read 'Delivered'."},
|
|
10
|
+
{"wording": "起运地航班起飞", "language": "zh", "stage": "in_transit", "confirmedBy": "live", "note": "The flight has left the origin."},
|
|
11
|
+
{"wording": "已到达目的国", "language": "zh", "stage": "in_transit", "confirmedBy": "live", "note": "Arrived in the destination country or region."},
|
|
12
|
+
{"wording": "清关完成", "language": "zh", "stage": "customs", "confirmedBy": "live", "note": "Customs clearance is complete."},
|
|
13
|
+
{"wording": "清关完成,待转运Clearance has been completed and it is awaiting transfer.", "language": "zh", "stage": "customs", "confirmedBy": "live", "note": "Cleared at the destination and waiting to be handed to the delivering carrier."},
|
|
14
|
+
{"wording": "已转运transferred", "language": "zh", "stage": "in_transit", "confirmedBy": "live", "note": "Handed to the delivering carrier, whose number the tracker then shows."}
|
|
15
|
+
]
|
|
16
|
+
}
|
|
@@ -89,6 +89,7 @@ import { statusMap as hywl } from '../../carriers/hywl/status.js';
|
|
|
89
89
|
import { statusMap as imile } from '../../carriers/imile/status.js';
|
|
90
90
|
import { statusMap as instabox } from '../../carriers/instabox/status.js';
|
|
91
91
|
import { statusMap as interrapidisimo } from '../../carriers/interrapidisimo/status.js';
|
|
92
|
+
import { statusMap as israelPost } from '../../carriers/israel-post/status.js';
|
|
92
93
|
import { statusMap as jAndT } from '../../carriers/j-and-t/status.js';
|
|
93
94
|
import { statusMap as jntCargo } from '../../carriers/j-and-t-cargo/status.js';
|
|
94
95
|
import { statusMap as jitsu } from '../../carriers/jitsu/status.js';
|
|
@@ -189,7 +190,7 @@ export const STATUS_MAPS = {
|
|
|
189
190
|
'express-one': expressOne, 'fan-courier': fanCourier,
|
|
190
191
|
foxpost, gati, 'gebrueder-weiss': gebruederWeiss, geis, 'geniki-taxydromiki': geniki, 'geodis-pl': geodisPl, 'gls-es': glsEs, 'gls-it': glsIt,
|
|
191
192
|
'go-express': goExpress, gofo, 'gofo-fr': gofoFr, 'gofo-it': gofoIt, gzyl, hanjin, 'hct-logistics': hctLogistics, helthjem, 'hrvatska-posta': hrvatskaPosta, hywl, imile,
|
|
192
|
-
instabox, interrapidisimo, 'j-and-t': jAndT, 'j-and-t-cargo': jntCargo, jitsu, jne, jrt, 'kuehne-nagel': kuehneNagel, 'la-poste': laPoste,
|
|
193
|
+
instabox, interrapidisimo, 'israel-post': israelPost, 'j-and-t': jAndT, 'j-and-t-cargo': jntCargo, jitsu, jne, jrt, 'kuehne-nagel': kuehneNagel, 'la-poste': laPoste,
|
|
193
194
|
'latvijas-pasts': latvijasPasts, 'lietuvos-pastas': lietuvosPastas, logen, loggi, 'loomis-express': loomisExpress, 'lotte-global': lotteGlobal,
|
|
194
195
|
'magyar-posta': magyarPosta, mailamericas,
|
|
195
196
|
maltapost, matkahuolto, meest,
|
package/dist/data/catalog.json
CHANGED
|
@@ -11668,7 +11668,9 @@
|
|
|
11668
11668
|
"timezone": "Asia/Jerusalem",
|
|
11669
11669
|
"tracking": {
|
|
11670
11670
|
"mode": "automatic",
|
|
11671
|
-
"adapter": "
|
|
11671
|
+
"adapter": "israel-post",
|
|
11672
|
+
"recognitionRank": 81,
|
|
11673
|
+
"localClocks": true
|
|
11672
11674
|
},
|
|
11673
11675
|
"canaryUrl": "https://israelpost.co.il/",
|
|
11674
11676
|
"trackingUrlTemplate": "https://israelpost.co.il/%D7%9E%D7%A2%D7%A7%D7%91-%D7%9E%D7%A9%D7%9C%D7%95%D7%97%D7%99%D7%9D?OpenForm&itemcode={trackingNumber}",
|
|
@@ -11699,6 +11701,12 @@
|
|
|
11699
11701
|
{
|
|
11700
11702
|
"pattern": "^\\d{11}IL$",
|
|
11701
11703
|
"confidence": "high"
|
|
11704
|
+
},
|
|
11705
|
+
{
|
|
11706
|
+
"pattern": "^[A-Z]{2}\\d{9}IL$",
|
|
11707
|
+
"confidence": "low",
|
|
11708
|
+
"checksum": "s10",
|
|
11709
|
+
"preferred": true
|
|
11702
11710
|
}
|
|
11703
11711
|
]
|
|
11704
11712
|
},
|
|
@@ -13420,6 +13428,46 @@
|
|
|
13420
13428
|
],
|
|
13421
13429
|
"detectionRules": []
|
|
13422
13430
|
},
|
|
13431
|
+
"mayiyinfu": {
|
|
13432
|
+
"displayName": "Mayi Yinfu",
|
|
13433
|
+
"color": "#000000",
|
|
13434
|
+
"aliases": [
|
|
13435
|
+
"Mayiyinfu",
|
|
13436
|
+
"MYYF",
|
|
13437
|
+
"蚂蚁银服",
|
|
13438
|
+
"螞蟻銀服",
|
|
13439
|
+
"广东蚂蚁银服国际物流有限公司",
|
|
13440
|
+
"Mayi Yinfu International Logistics"
|
|
13441
|
+
],
|
|
13442
|
+
"countries": [
|
|
13443
|
+
"CN"
|
|
13444
|
+
],
|
|
13445
|
+
"selectable": true,
|
|
13446
|
+
"timezone": "Asia/Shanghai",
|
|
13447
|
+
"tracking": {
|
|
13448
|
+
"mode": "automatic",
|
|
13449
|
+
"adapter": "universal"
|
|
13450
|
+
},
|
|
13451
|
+
"canaryUrl": "https://t.17track.net/",
|
|
13452
|
+
"linkRules": [
|
|
13453
|
+
{
|
|
13454
|
+
"domains": [
|
|
13455
|
+
"mayiyinfu.com.cn",
|
|
13456
|
+
"www.mayiyinfu.com.cn"
|
|
13457
|
+
],
|
|
13458
|
+
"pathPattern": "^/trackIndex\\.htm$",
|
|
13459
|
+
"params": [
|
|
13460
|
+
"documentCode"
|
|
13461
|
+
]
|
|
13462
|
+
}
|
|
13463
|
+
],
|
|
13464
|
+
"detectionRules": [
|
|
13465
|
+
{
|
|
13466
|
+
"pattern": "^MY\\d{10}US$",
|
|
13467
|
+
"confidence": "high"
|
|
13468
|
+
}
|
|
13469
|
+
]
|
|
13470
|
+
},
|
|
13423
13471
|
"mds-collivery": {
|
|
13424
13472
|
"displayName": "MDS Collivery",
|
|
13425
13473
|
"color": "#00823d",
|
|
@@ -7544,7 +7544,9 @@ export declare const CARRIER_CATALOG: {
|
|
|
7544
7544
|
readonly timezone: "Asia/Jerusalem";
|
|
7545
7545
|
readonly tracking: {
|
|
7546
7546
|
readonly mode: "automatic";
|
|
7547
|
-
readonly adapter: "
|
|
7547
|
+
readonly adapter: "israel-post";
|
|
7548
|
+
readonly recognitionRank: 81;
|
|
7549
|
+
readonly localClocks: true;
|
|
7548
7550
|
};
|
|
7549
7551
|
readonly canaryUrl: "https://israelpost.co.il/";
|
|
7550
7552
|
readonly trackingUrlTemplate: "https://israelpost.co.il/%D7%9E%D7%A2%D7%A7%D7%91-%D7%9E%D7%A9%D7%9C%D7%95%D7%97%D7%99%D7%9D?OpenForm&itemcode={trackingNumber}";
|
|
@@ -7561,6 +7563,11 @@ export declare const CARRIER_CATALOG: {
|
|
|
7561
7563
|
readonly detectionRules: readonly [{
|
|
7562
7564
|
readonly pattern: "^\\d{11}IL$";
|
|
7563
7565
|
readonly confidence: "high";
|
|
7566
|
+
}, {
|
|
7567
|
+
readonly pattern: "^[A-Z]{2}\\d{9}IL$";
|
|
7568
|
+
readonly confidence: "low";
|
|
7569
|
+
readonly checksum: "s10";
|
|
7570
|
+
readonly preferred: true;
|
|
7564
7571
|
}];
|
|
7565
7572
|
};
|
|
7566
7573
|
readonly "j-and-t-br": {
|
|
@@ -8634,6 +8641,28 @@ export declare const CARRIER_CATALOG: {
|
|
|
8634
8641
|
}];
|
|
8635
8642
|
readonly detectionRules: readonly [];
|
|
8636
8643
|
};
|
|
8644
|
+
readonly mayiyinfu: {
|
|
8645
|
+
readonly displayName: "Mayi Yinfu";
|
|
8646
|
+
readonly color: "#000000";
|
|
8647
|
+
readonly aliases: readonly ["Mayiyinfu", "MYYF", "蚂蚁银服", "螞蟻銀服", "广东蚂蚁银服国际物流有限公司", "Mayi Yinfu International Logistics"];
|
|
8648
|
+
readonly countries: readonly ["CN"];
|
|
8649
|
+
readonly selectable: true;
|
|
8650
|
+
readonly timezone: "Asia/Shanghai";
|
|
8651
|
+
readonly tracking: {
|
|
8652
|
+
readonly mode: "automatic";
|
|
8653
|
+
readonly adapter: "universal";
|
|
8654
|
+
};
|
|
8655
|
+
readonly canaryUrl: "https://t.17track.net/";
|
|
8656
|
+
readonly linkRules: readonly [{
|
|
8657
|
+
readonly domains: readonly ["mayiyinfu.com.cn", "www.mayiyinfu.com.cn"];
|
|
8658
|
+
readonly pathPattern: "^/trackIndex\\.htm$";
|
|
8659
|
+
readonly params: readonly ["documentCode"];
|
|
8660
|
+
}];
|
|
8661
|
+
readonly detectionRules: readonly [{
|
|
8662
|
+
readonly pattern: "^MY\\d{10}US$";
|
|
8663
|
+
readonly confidence: "high";
|
|
8664
|
+
}];
|
|
8665
|
+
};
|
|
8637
8666
|
readonly "mds-collivery": {
|
|
8638
8667
|
readonly displayName: "MDS Collivery";
|
|
8639
8668
|
readonly color: "#00823d";
|
|
@@ -12675,7 +12704,7 @@ export declare const CARRIER_CATALOG: {
|
|
|
12675
12704
|
}];
|
|
12676
12705
|
};
|
|
12677
12706
|
};
|
|
12678
|
-
export declare const CARRIER_IDS: readonly ["swiss-post", "swiss-post-cargo", "quickpac", "planzer", "aliexpress", "sunyou", "hermes", "spring-gds", "postlogistics", "dachser", "dhl", "dhl-ecommerce", "ups", "amazon-logistics", "amazon-shipping", "fedex", "gls-ch", "dpd", "dpd-fr", "mondial-relay", "relais-colis", "la-poste", "chronopost", "gls-fr", "colis-prive", "geodis", "colisweb", "c-chez-vous", "heppner", "ciblex", "paack", "asendia", "shipup", "india-post", "hermes-de", "gls-de", "delivengo", "intl-post", "unknown", "royal-mail", "parcelforce", "evri", "inpost", "an-post", "bpost", "austrian-post", "postnord", "posti", "correos-express", "seur", "mrw", "nacex", "ctt", "ctt-express", "poste-italiane", "brt", "ecoscooting", "tipsa", "ukrposhta", "usps", "canada-post", "purolator", "canpar", "ontrac", "speedx", "uniuni", "landmark-global", "old-dominion", "spee-dee", "gofo", "estafeta", "correios-br", "correos-chile", "yunexpress", "four-px", "blue-dart", "delhivery", "nz-post", "singapore-post", "japan-post", "sf-express", "sto", "yunda", "yto", "zto", "jd-logistics", "yamato", "korea-post", "thailand-post", "dtdc", "australia-post", "hongkong-post", "pos-malaysia", "ninja-van", "china-post", "packeta", "poczta-polska", "bring-posten", "aramex", "tnt", "correos-spain", "yanwen", "the-courier-guy", "j-and-t", "ems", "139express", "17feia", "2go", "4-72", "5post", "99minutos", "a-duie-pyle", "aaa-cooper", "abf-freight", "acs-courier", "aeropost", "aex-paraguay", "akash-ganga", "aks-express", "alem-tat", "algerie-poste", "allegro-one", "ampm", "andreani", "anjun", "anteraja", "apc-overnight", "apc-postal-logistics", "aramex-au", "aramex-nz", "aras-kargo", "arrow-xl", "asyad-express", "averitt", "aymakan", "azerpost", "azul-cargo", "bangladesh-post", "barid-al-maghrib", "belpost", "best-express-vn", "best-transport", "better-trucks", "bex-express", "blue-express", "blueex", "border-express", "bosta", "box-now", "buffalo-ex", "bulgarian-posts", "burd-delivery", "cacesa", "cargus", "castores", "cdek", "cdl", "celeritas", "central-transport", "ceska-posta", "ceva-logistics", "chazki", "chilexpress", "chit-chats", "chunghwa-post", "chunil", "city-express-rs", "citylink-express", "citysprint", "cj-logistics", "cj-packet", "cne", "coordinadora", "correo-argentino", "correo-uruguayo", "correos-de-mexico", "courier-center", "courier-it", "couriersplease", "cruz-del-sur", "cse-russia", "cycloon", "cyprus-post", "d-express", "dai-post", "danske-fragtmaend", "dao", "day-ross", "daylight-transport", "dayton-freight", "dellin", "deppon", "deprisa", "dhl-ecommerce-es", "dhl-ecommerce-nl", "dhl-ecommerce-pl", "dhl-ecommerce-uk", "dhl-express", "dhl-freight", "dhlink", "direct-freight-express", "dohrn-transfer", "domex", "dpd-de", "dpd-ie", "dpd-pl", "dpd-uk", "dropp", "dsv", "dx", "dynalogic", "early-bird", "ecms-express", "econt", "ecourier", "egypt-post", "ekart", "elta", "emile", "emirates-post", "ems-vietnam", "energia-tk", "envia-colombia", "envialia", "epost-global", "equick", "estes", "ethiopian-post", "euroexpress-ba", "europochta", "evri-uk", "express-one", "fan-courier", "fargo-courier", "flash-express", "flash-express-ph", "followmont", "forward-air", "forza-delivery", "foxpost", "fukuyama", "gati", "gdex", "gebrueder-weiss", "geis", "geniki-taxydromiki", "geodis-pl", "ghana-post", "ghn", "ghtk", "gls-es", "gls-it", "go-express", "gofo-fr", "gofo-it", "groupe-guilbault", "gs-postbox", "guatex", "gzyl", "hanjin", "hapdong", "haypost", "hct-logistics", "helthjem", "hepsijet", "hi-trans", "hrvatska-posta", "hunter-express", "hywl", "ics-courier", "idexpress", "ids-logistik", "ilyang-logis", "imile", "instabox", "intelcom", "internet-express", "interrapidisimo", "israel-post", "j-and-t-br", "j-and-t-cargo", "j-and-t-cn", "j-and-t-mx", "jadlog", "jamaica-post", "janio", "jersey-post", "jhgj", "jitsu", "jne", "jordan-post", "jrs-express", "jrt", "kazpost", "kerry-tj", "kex", "kex-express-hk", "kit-tk", "kolay-gelsin", "ktd", "kuehne-nagel", "kunyoung", "la-poste-tunisienne", "laar-courier", "latvijas-pasts", "lbc-express", "leopards-courier", "libanpost", "lietuvos-pastas", "line-clear", "lion-parcel", "logen", "loggi", "loomis-express", "lotte-global", "lso", "m-and-p", "madhur-courier", "magyar-posta", "mailamericas", "mainfreight", "maltapost", "maritime-ontario", "matkahuolto", "mauritius-post", "mds-collivery", "meest", "midland-transport", "mng-kargo", "mtscn", "mylerz", "naqel", "nationex", "ncs-courier", "nepal-post", "nhat-tin", "nim-express", "nipost", "nippon-express", "northline", "nova-poshta", "nz-couriers", "oak-harbor", "oca", "olva-courier", "omgo", "omniva", "orlen-paczka", "osm-worldwide", "overseas-express", "ozon-logistics", "pakistan-post", "palletways", "paperfly", "paquetexpress", "pargo", "passport", "pathao-courier", "paxi", "pbt", "pecom", "pelican-express", "pfc-express", "pilot-freight", "pitt-ohio", "polaris-transport", "pos-indonesia", "post-haste", "post-luxembourg", "posta-kenya", "posta-moldovei", "posta-north-macedonia", "posta-romana", "posta-shqiptare", "posta-slovenije", "posta-srbije", "postaplus", "postex", "posturinn", "ppl", "professional-couriers", "prompt-xpress", "pronto-lanka", "ptt", "pullman-cargo", "quantium-solutions", "quiqup", "raben", "ram-hand-to-hand", "redpack", "redx", "rl-carriers", "roadie", "roadrunner", "rpx-indonesia", "russian-post", "saee", "sagawa", "saia", "sameday", "sapx-express", "sat-ukraine", "saudi-post", "sbs-sokuhai", "scg-express", "seino", "seko", "sendex", "sending", "serpost", "servientrega", "seven-eleven-tw", "sfc", "shadowfax", "shree-maruti", "shree-nandan", "sicepat", "skroutz-last-mile", "skynet-sa", "skynet-worldwide", "slgtrax", "slovak-parcel-service", "slovenska-posta", "smsa-express", "south-african-post-office", "southeastern-freight-lines", "speedaf", "speedex", "speedpak", "speedy", "spx-br", "spx-id", "spx-my", "spx-ph", "spx-th", "spx-tw", "spx-vn", "sri-lanka-post", "st-courier", "stallion-express", "starken", "steadfast", "sundarban-courier", "surat-kargo", "swiftx", "t-cat", "tanzania-posts", "taxydema", "tci-express", "tcs-pakistan", "tealca", "team-global-express", "tforce-freight", "thhy", "tiki", "tirupati-courier", "tnt-it", "toptrans", "total-express", "trackon", "tracx-logis", "trans-o-flex", "trendyol-express", "tsjy", "tst-cf-express", "tufesa", "ubi-smart-parcel", "urbano", "uzbekistan-post", "vasp-expresso", "venipak", "via-cargo", "viettel-post", "vinted-go", "vnpost", "vrl-logistics", "wahana", "wanbexpress", "ward-trucking", "whistl", "winit", "xde-logistics", "xdp", "xpo-ltl", "xpressbees", "yalidine", "yimidida", "yurtici-kargo", "zajil", "zeleris", "zheldor", "zoom-ve", "zr-express"];
|
|
12707
|
+
export declare const CARRIER_IDS: readonly ["swiss-post", "swiss-post-cargo", "quickpac", "planzer", "aliexpress", "sunyou", "hermes", "spring-gds", "postlogistics", "dachser", "dhl", "dhl-ecommerce", "ups", "amazon-logistics", "amazon-shipping", "fedex", "gls-ch", "dpd", "dpd-fr", "mondial-relay", "relais-colis", "la-poste", "chronopost", "gls-fr", "colis-prive", "geodis", "colisweb", "c-chez-vous", "heppner", "ciblex", "paack", "asendia", "shipup", "india-post", "hermes-de", "gls-de", "delivengo", "intl-post", "unknown", "royal-mail", "parcelforce", "evri", "inpost", "an-post", "bpost", "austrian-post", "postnord", "posti", "correos-express", "seur", "mrw", "nacex", "ctt", "ctt-express", "poste-italiane", "brt", "ecoscooting", "tipsa", "ukrposhta", "usps", "canada-post", "purolator", "canpar", "ontrac", "speedx", "uniuni", "landmark-global", "old-dominion", "spee-dee", "gofo", "estafeta", "correios-br", "correos-chile", "yunexpress", "four-px", "blue-dart", "delhivery", "nz-post", "singapore-post", "japan-post", "sf-express", "sto", "yunda", "yto", "zto", "jd-logistics", "yamato", "korea-post", "thailand-post", "dtdc", "australia-post", "hongkong-post", "pos-malaysia", "ninja-van", "china-post", "packeta", "poczta-polska", "bring-posten", "aramex", "tnt", "correos-spain", "yanwen", "the-courier-guy", "j-and-t", "ems", "139express", "17feia", "2go", "4-72", "5post", "99minutos", "a-duie-pyle", "aaa-cooper", "abf-freight", "acs-courier", "aeropost", "aex-paraguay", "akash-ganga", "aks-express", "alem-tat", "algerie-poste", "allegro-one", "ampm", "andreani", "anjun", "anteraja", "apc-overnight", "apc-postal-logistics", "aramex-au", "aramex-nz", "aras-kargo", "arrow-xl", "asyad-express", "averitt", "aymakan", "azerpost", "azul-cargo", "bangladesh-post", "barid-al-maghrib", "belpost", "best-express-vn", "best-transport", "better-trucks", "bex-express", "blue-express", "blueex", "border-express", "bosta", "box-now", "buffalo-ex", "bulgarian-posts", "burd-delivery", "cacesa", "cargus", "castores", "cdek", "cdl", "celeritas", "central-transport", "ceska-posta", "ceva-logistics", "chazki", "chilexpress", "chit-chats", "chunghwa-post", "chunil", "city-express-rs", "citylink-express", "citysprint", "cj-logistics", "cj-packet", "cne", "coordinadora", "correo-argentino", "correo-uruguayo", "correos-de-mexico", "courier-center", "courier-it", "couriersplease", "cruz-del-sur", "cse-russia", "cycloon", "cyprus-post", "d-express", "dai-post", "danske-fragtmaend", "dao", "day-ross", "daylight-transport", "dayton-freight", "dellin", "deppon", "deprisa", "dhl-ecommerce-es", "dhl-ecommerce-nl", "dhl-ecommerce-pl", "dhl-ecommerce-uk", "dhl-express", "dhl-freight", "dhlink", "direct-freight-express", "dohrn-transfer", "domex", "dpd-de", "dpd-ie", "dpd-pl", "dpd-uk", "dropp", "dsv", "dx", "dynalogic", "early-bird", "ecms-express", "econt", "ecourier", "egypt-post", "ekart", "elta", "emile", "emirates-post", "ems-vietnam", "energia-tk", "envia-colombia", "envialia", "epost-global", "equick", "estes", "ethiopian-post", "euroexpress-ba", "europochta", "evri-uk", "express-one", "fan-courier", "fargo-courier", "flash-express", "flash-express-ph", "followmont", "forward-air", "forza-delivery", "foxpost", "fukuyama", "gati", "gdex", "gebrueder-weiss", "geis", "geniki-taxydromiki", "geodis-pl", "ghana-post", "ghn", "ghtk", "gls-es", "gls-it", "go-express", "gofo-fr", "gofo-it", "groupe-guilbault", "gs-postbox", "guatex", "gzyl", "hanjin", "hapdong", "haypost", "hct-logistics", "helthjem", "hepsijet", "hi-trans", "hrvatska-posta", "hunter-express", "hywl", "ics-courier", "idexpress", "ids-logistik", "ilyang-logis", "imile", "instabox", "intelcom", "internet-express", "interrapidisimo", "israel-post", "j-and-t-br", "j-and-t-cargo", "j-and-t-cn", "j-and-t-mx", "jadlog", "jamaica-post", "janio", "jersey-post", "jhgj", "jitsu", "jne", "jordan-post", "jrs-express", "jrt", "kazpost", "kerry-tj", "kex", "kex-express-hk", "kit-tk", "kolay-gelsin", "ktd", "kuehne-nagel", "kunyoung", "la-poste-tunisienne", "laar-courier", "latvijas-pasts", "lbc-express", "leopards-courier", "libanpost", "lietuvos-pastas", "line-clear", "lion-parcel", "logen", "loggi", "loomis-express", "lotte-global", "lso", "m-and-p", "madhur-courier", "magyar-posta", "mailamericas", "mainfreight", "maltapost", "maritime-ontario", "matkahuolto", "mauritius-post", "mayiyinfu", "mds-collivery", "meest", "midland-transport", "mng-kargo", "mtscn", "mylerz", "naqel", "nationex", "ncs-courier", "nepal-post", "nhat-tin", "nim-express", "nipost", "nippon-express", "northline", "nova-poshta", "nz-couriers", "oak-harbor", "oca", "olva-courier", "omgo", "omniva", "orlen-paczka", "osm-worldwide", "overseas-express", "ozon-logistics", "pakistan-post", "palletways", "paperfly", "paquetexpress", "pargo", "passport", "pathao-courier", "paxi", "pbt", "pecom", "pelican-express", "pfc-express", "pilot-freight", "pitt-ohio", "polaris-transport", "pos-indonesia", "post-haste", "post-luxembourg", "posta-kenya", "posta-moldovei", "posta-north-macedonia", "posta-romana", "posta-shqiptare", "posta-slovenije", "posta-srbije", "postaplus", "postex", "posturinn", "ppl", "professional-couriers", "prompt-xpress", "pronto-lanka", "ptt", "pullman-cargo", "quantium-solutions", "quiqup", "raben", "ram-hand-to-hand", "redpack", "redx", "rl-carriers", "roadie", "roadrunner", "rpx-indonesia", "russian-post", "saee", "sagawa", "saia", "sameday", "sapx-express", "sat-ukraine", "saudi-post", "sbs-sokuhai", "scg-express", "seino", "seko", "sendex", "sending", "serpost", "servientrega", "seven-eleven-tw", "sfc", "shadowfax", "shree-maruti", "shree-nandan", "sicepat", "skroutz-last-mile", "skynet-sa", "skynet-worldwide", "slgtrax", "slovak-parcel-service", "slovenska-posta", "smsa-express", "south-african-post-office", "southeastern-freight-lines", "speedaf", "speedex", "speedpak", "speedy", "spx-br", "spx-id", "spx-my", "spx-ph", "spx-th", "spx-tw", "spx-vn", "sri-lanka-post", "st-courier", "stallion-express", "starken", "steadfast", "sundarban-courier", "surat-kargo", "swiftx", "t-cat", "tanzania-posts", "taxydema", "tci-express", "tcs-pakistan", "tealca", "team-global-express", "tforce-freight", "thhy", "tiki", "tirupati-courier", "tnt-it", "toptrans", "total-express", "trackon", "tracx-logis", "trans-o-flex", "trendyol-express", "tsjy", "tst-cf-express", "tufesa", "ubi-smart-parcel", "urbano", "uzbekistan-post", "vasp-expresso", "venipak", "via-cargo", "viettel-post", "vinted-go", "vnpost", "vrl-logistics", "wahana", "wanbexpress", "ward-trucking", "whistl", "winit", "xde-logistics", "xdp", "xpo-ltl", "xpressbees", "yalidine", "yimidida", "yurtici-kargo", "zajil", "zeleris", "zheldor", "zoom-ve", "zr-express"];
|
|
12679
12708
|
export type CarrierId = (typeof CARRIER_IDS)[number];
|
|
12680
12709
|
/** Each carrier's detection rule ids, in the order of its `detectionRules`. */
|
|
12681
12710
|
export declare const DETECTION_RULE_IDS: Readonly<Record<CarrierId, readonly string[]>>;
|
|
@@ -11669,7 +11669,9 @@ export const CARRIER_CATALOG = {
|
|
|
11669
11669
|
"timezone": "Asia/Jerusalem",
|
|
11670
11670
|
"tracking": {
|
|
11671
11671
|
"mode": "automatic",
|
|
11672
|
-
"adapter": "
|
|
11672
|
+
"adapter": "israel-post",
|
|
11673
|
+
"recognitionRank": 81,
|
|
11674
|
+
"localClocks": true
|
|
11673
11675
|
},
|
|
11674
11676
|
"canaryUrl": "https://israelpost.co.il/",
|
|
11675
11677
|
"trackingUrlTemplate": "https://israelpost.co.il/%D7%9E%D7%A2%D7%A7%D7%91-%D7%9E%D7%A9%D7%9C%D7%95%D7%97%D7%99%D7%9D?OpenForm&itemcode={trackingNumber}",
|
|
@@ -11700,6 +11702,12 @@ export const CARRIER_CATALOG = {
|
|
|
11700
11702
|
{
|
|
11701
11703
|
"pattern": "^\\d{11}IL$",
|
|
11702
11704
|
"confidence": "high"
|
|
11705
|
+
},
|
|
11706
|
+
{
|
|
11707
|
+
"pattern": "^[A-Z]{2}\\d{9}IL$",
|
|
11708
|
+
"confidence": "low",
|
|
11709
|
+
"checksum": "s10",
|
|
11710
|
+
"preferred": true
|
|
11703
11711
|
}
|
|
11704
11712
|
]
|
|
11705
11713
|
},
|
|
@@ -13421,6 +13429,46 @@ export const CARRIER_CATALOG = {
|
|
|
13421
13429
|
],
|
|
13422
13430
|
"detectionRules": []
|
|
13423
13431
|
},
|
|
13432
|
+
"mayiyinfu": {
|
|
13433
|
+
"displayName": "Mayi Yinfu",
|
|
13434
|
+
"color": "#000000",
|
|
13435
|
+
"aliases": [
|
|
13436
|
+
"Mayiyinfu",
|
|
13437
|
+
"MYYF",
|
|
13438
|
+
"蚂蚁银服",
|
|
13439
|
+
"螞蟻銀服",
|
|
13440
|
+
"广东蚂蚁银服国际物流有限公司",
|
|
13441
|
+
"Mayi Yinfu International Logistics"
|
|
13442
|
+
],
|
|
13443
|
+
"countries": [
|
|
13444
|
+
"CN"
|
|
13445
|
+
],
|
|
13446
|
+
"selectable": true,
|
|
13447
|
+
"timezone": "Asia/Shanghai",
|
|
13448
|
+
"tracking": {
|
|
13449
|
+
"mode": "automatic",
|
|
13450
|
+
"adapter": "universal"
|
|
13451
|
+
},
|
|
13452
|
+
"canaryUrl": "https://t.17track.net/",
|
|
13453
|
+
"linkRules": [
|
|
13454
|
+
{
|
|
13455
|
+
"domains": [
|
|
13456
|
+
"mayiyinfu.com.cn",
|
|
13457
|
+
"www.mayiyinfu.com.cn"
|
|
13458
|
+
],
|
|
13459
|
+
"pathPattern": "^/trackIndex\\.htm$",
|
|
13460
|
+
"params": [
|
|
13461
|
+
"documentCode"
|
|
13462
|
+
]
|
|
13463
|
+
}
|
|
13464
|
+
],
|
|
13465
|
+
"detectionRules": [
|
|
13466
|
+
{
|
|
13467
|
+
"pattern": "^MY\\d{10}US$",
|
|
13468
|
+
"confidence": "high"
|
|
13469
|
+
}
|
|
13470
|
+
]
|
|
13471
|
+
},
|
|
13424
13472
|
"mds-collivery": {
|
|
13425
13473
|
"displayName": "MDS Collivery",
|
|
13426
13474
|
"color": "#00823d",
|
|
@@ -20332,6 +20380,7 @@ export const CARRIER_IDS = [
|
|
|
20332
20380
|
"maritime-ontario",
|
|
20333
20381
|
"matkahuolto",
|
|
20334
20382
|
"mauritius-post",
|
|
20383
|
+
"mayiyinfu",
|
|
20335
20384
|
"mds-collivery",
|
|
20336
20385
|
"meest",
|
|
20337
20386
|
"midland-transport",
|
|
@@ -20781,7 +20830,7 @@ export const DETECTION_RULE_IDS = {
|
|
|
20781
20830
|
"intelcom": ["intelcom-1", "intelcom-2", "intelcom-3"],
|
|
20782
20831
|
"internet-express": [],
|
|
20783
20832
|
"interrapidisimo": [],
|
|
20784
|
-
"israel-post": ["israel-post-1"],
|
|
20833
|
+
"israel-post": ["israel-post-1", "israel-post-s10"],
|
|
20785
20834
|
"j-and-t-br": [],
|
|
20786
20835
|
"j-and-t-cargo": ["j-and-t-cargo-1", "j-and-t-cargo-2"],
|
|
20787
20836
|
"j-and-t-cn": ["j-and-t-cn-1"],
|
|
@@ -20828,6 +20877,7 @@ export const DETECTION_RULE_IDS = {
|
|
|
20828
20877
|
"maritime-ontario": [],
|
|
20829
20878
|
"matkahuolto": ["matkahuolto-1", "matkahuolto-2"],
|
|
20830
20879
|
"mauritius-post": [],
|
|
20880
|
+
"mayiyinfu": ["mayiyinfu-1"],
|
|
20831
20881
|
"mds-collivery": [],
|
|
20832
20882
|
"meest": ["meest-1"],
|
|
20833
20883
|
"midland-transport": [],
|
|
@@ -128,6 +128,7 @@ import { adapter as inpost } from '../carriers/inpost/adapter.js';
|
|
|
128
128
|
import { adapter as instabox } from '../carriers/instabox/adapter.js';
|
|
129
129
|
import { adapter as intelcom } from '../carriers/intelcom/adapter.js';
|
|
130
130
|
import { adapter as interrapidisimo } from '../carriers/interrapidisimo/adapter.js';
|
|
131
|
+
import { adapter as israelPost } from '../carriers/israel-post/adapter.js';
|
|
131
132
|
import { adapter as jAndT } from '../carriers/j-and-t/adapter.js';
|
|
132
133
|
import { adapter as jAndTCargo } from '../carriers/j-and-t-cargo/adapter.js';
|
|
133
134
|
import { adapter as japanPost } from '../carriers/japan-post/adapter.js';
|
|
@@ -385,6 +386,7 @@ export const REGISTRY = {
|
|
|
385
386
|
"instabox": instabox,
|
|
386
387
|
"intelcom": intelcom,
|
|
387
388
|
"interrapidisimo": interrapidisimo,
|
|
389
|
+
"israel-post": israelPost,
|
|
388
390
|
"j-and-t": jAndT,
|
|
389
391
|
"j-and-t-cargo": jAndTCargo,
|
|
390
392
|
"japan-post": japanPost,
|
|
@@ -738,7 +740,7 @@ export const REGISTRY = {
|
|
|
738
740
|
"internet-express": "universal",
|
|
739
741
|
"interrapidisimo": "interrapidisimo",
|
|
740
742
|
"intl-post": "universal",
|
|
741
|
-
"israel-post": "
|
|
743
|
+
"israel-post": "israel-post",
|
|
742
744
|
"j-and-t": "j-and-t",
|
|
743
745
|
"j-and-t-br": "universal",
|
|
744
746
|
"j-and-t-cargo": "j-and-t-cargo",
|
|
@@ -791,6 +793,7 @@ export const REGISTRY = {
|
|
|
791
793
|
"maritime-ontario": "universal",
|
|
792
794
|
"matkahuolto": "matkahuolto",
|
|
793
795
|
"mauritius-post": "universal",
|
|
796
|
+
"mayiyinfu": "universal",
|
|
794
797
|
"mds-collivery": "universal",
|
|
795
798
|
"meest": "meest",
|
|
796
799
|
"midland-transport": "universal",
|
package/dist/server/openapi.json
CHANGED
package/package.json
CHANGED