6 个版本 (3 个破坏性更新)

0.4.0 2022年8月31日
0.3.0 2022年5月6日
0.2.1 2021年9月20日
0.1.1 2021年9月7日

#87 in 金融

MIT 许可证

69KB
1.5K SLoC

rplaid

crates.io Released API docs MIT licensed GHA Build Status

rplaid 是 Plaid API 的异步客户端。客户端功能最小化,旨在可扩展和轻量。可以通过添加额外的依赖来启用更多功能,以改善 API 的易用性。

目标是提供具有可表达绑定的库,在可能的情况下提供合理的默认值,以便于使用。

有关端点或特定产品的更多信息,请参阅官方 API 文档

这并非官方 Plaid 绑定。

use rplaid::client::{Builder, Credentials};
use rplaid::model::*;

#[tokio::main]
async fn main() {
    let client = Builder::new()
        .with_credentials(Credentials {
            client_id: std::env::var("PLAID_CLIENT_ID").unwrap(),
            secret: std::env::var("PLAID_SECRET").unwrap(),
        })
        .build();
    let institutions = client
        .get_institutions(&InstitutionsGetRequest {
            count: 10,
            offset: 0,
            country_codes: &["US"],
            options: None,
        })
        .await
        .unwrap();

    println!("{:?}", institutions);
}

术语表

  • Item - Item 表示与单个金融机构的连接。通常链接与一对凭证和 access_token 相关联。项目与一个或多个账户相关联。

  • Link - Link 是 Plaid 提供的客户端组件,用于链接账户。更多信息请参见 https://plaid.com/docs/link/#introduction-to-link

  • Account - 账户是链接到 Item 的金融账户。一个项目(或金融机构)可能为单个用户拥有多个账户(例如,支票账户和信用卡账户)。

  • Product - Plaid 提供服务的实体,更多信息请参见 https://plaid.com/docs/api/products/

功能

  • 易于读取多页交易的惯用 futures 生成器。
  • 可扩展的 HttpClient 接口,支持多个 HTTP 客户端,只需最小努力即可(surf、H1 和 reqwest)。该特质也可以实现,以便完全控制所使用的 HTTP 客户端。
  • 为大多数 API 返回类型提供 Rust 类型,包括变体类型。

限制

某些端点是针对生产特定或测试产品的,客户端尚未支持。

有关端点支持的详细信息,请访问: https://docs.google.com/spreadsheets/d/1xqUXdfllo37Rx5MVrQODbVqNQvuktiCVL5Uh8y9mYYw

许可证

MIT

依赖项

~7–9.5MB
~191K SLoC