#api-client #parcel #api #web-page #colissimo

colissimo_track

Colissimo包裹递送服务非官方API客户端

2个版本

0.1.1 2022年9月7日
0.1.0 2020年6月6日

#5 in #parcel

MIT 许可证

11KB
144

colissimo_track

此crate允许您获取有关"Colissimo"包裹状态及其配送进度(从收件人角度)的信息。它使用网页的逆向工程私用但并不复杂的API。

crate非常简单,导出了一些struct和一个async fn get_tracking_info(shipment_id: &str) -> Result<Shipment, Error>函数来查询配送API。

它如何工作?

  • 首先使用hyperhttps://www.laposte.fr/outils/suivre-vos-envois?code={}发起请求。我们保留的唯一有趣部分是access-token=[...jwt...] Set-Cookie头。
  • 第二次请求,向https://api.laposte.fr/ssu/v1/suivi-unifie/idship/{}?lang=fr_FR,使用cookie进行。在正常情况下,服务器应该响应一个表示配送的JSON对象。
  • 使用一些serde魔法将此对象反序列化为提供的数据结构(参见crate::model::*)。

目标开发者/用户/项目

此crate覆盖了Colissimo用户非常狭窄的市场,即居住在法国国家公共集团"La Poste"运营包裹递送服务的地区的用户。由于此库允许从配送接收者的角度进行包裹跟踪,我找到的唯一用途是各种客户端软件,如移动应用或家庭(自动化)仪表板。

初学者免责声明

这是我第一个crate,也是我第一个“完成”的Rust项目。虽然我很乐意看到这个crate被使用(尽管非常狭窄,我承认),但在将您自己和您的项目置于潜在风险之前,请务必查看代码内部

显然,任何反馈、评论、错误报告、贡献或任何其他可以帮助改进这个crate(代码库)&&/||我的Rust编程水平的内容都是100%受欢迎的。

许可证

此仓库内的代码根据MIT许可证授权。

依赖项

~8–20MB
~271K SLoC