#square #payment #finance #api-bindings #query #card-processing

square-ox

遵循Rust规范,提供一种简单、惯用且灵活的方式与Square API交互

3个不稳定版本

0.2.0 2022年9月7日
0.1.2 2022年8月1日
0.1.1 2022年7月26日
0.1.0 2022年7月25日

HTTP客户端 中排名 323


用于 square-ox-derive

自定义许可

405KB
9K SLoC

square-ox


一个用于以惯用方式访问Square API Rest端点的crate。

使用此crate,您可以轻松地向Square API提出标准查询,而无需担心底层流程和特定的JSON模式。

square-rs的分支

示例


使用API进行设置和认证

use square_ox::client::SquareClient;
let client = SquareClient::new("your_access_token");

发送请求

// listing all locations
let locations = client.locations().list().await?;


// retrieving the count of an item in the inventory
let count = client.inventory()
.retrieve_count(
"some_obj_id".to_string(),
Some("some_loc_id".to_string())
)
.await()?;

// registering a new booking
client.bookings().create(
    Builder::from(BookingsPost::default())
    .start_at("2022-10-11T16:30:00Z".to_string())
    .customer_id("some_id".to_string())
    .add_appointment_segment(AppointmentSegment {
    duration_minutes: 60.00,
    team_member_id: "some_id".to_string(),
    any_team_member_id: None,
    intermission_minutes: None,
    resource_ids: None,
    service_variation_id: "some_id".to_string(),
    service_variation_version:  1655427266071,
    })
    .build()
    .await?
).await()?;

依赖项

~5–20MB
~274K SLoC