Expand description
This create offers:
- A convenient mainstream third-party service client
- Convenient and quick use of corresponding services in rust
Features:
taobao
- Taobao customer related servicesalipay
- Alipay related servicespdd
- Pinduoduo related servicesjd
- Jingdong related serviceswechat
- Wechat related services
Installation
Put the desired version of the crate into the dependencies
section of your Cargo.toml
:
[dependencies]
labrador = "0.1.0"
Example
With Wechat(微信开放平台、包含微信支付)
use labrador::{WechatPayClient, SimpleStorage, TradeType, WechatPayRequestV3, Amount, Payer};
use chrono::{Local, SecondsFormat};
#[tokio::main]
async fn main() {
let c = WechatPayClient::new("appid", "secret");
let mut client =c.wxpay();
let date = Local::now().to_rfc3339_opts(SecondsFormat::Secs, false);
let result = client.unified_order_v3(TradeType::Jsapi, WechatPayRequestV3 {
appid: "appid".to_string().into(),
mch_id: "mchid".to_string(),
description: "测试商品支付".to_string(),
out_trade_no: "1602920235sdfsdfas32234234".to_string(),
time_expire: date,
attach: None,
notify_url: "https:xxx.cn/trade/notify".to_string(),
amount: Amount {
total: 1,
currency: String::from("CNY").into(),
payer_total: None,
payer_currency: None
},
payer: Payer {
openid: "oUVZc6S_uGx3bsNPUA-davo4Dt7Us".to_string()
}.into(),
detail: None,
scene_info: None,
settle_info: None
});
match result.await {
Ok(res) => {}
Err(err) => {}
}
}
With Alipay(支付宝)
use labrador::{AlipayTradeWapPayRequest, AlipayClient};
#[tokio::main]
async fn main() {
let param = AlipayTradeWapPayRequest::default();
let client = AlipayClient::new("appKey", false);
match client.wap_pay("POST".into(), param).await {
Ok(res) => {}
Err(err) => {}
}
match result.await {
Ok(res) => {}
Err(err) => {}
}
}
With Taobao(淘宝客相关)
use labrador::{TbItemDetailRequest, TaobaoClient, SimpleStorage};
#[tokio::main]
async fn main() {
let client = TaobaoClient::<SimpleStorage>::new("appkey", "secret");
let req = TbItemDetailRequest {
num_iids: Some("597649283190".to_string()),
platform: None,
ip: None
};
let result = client.get_item_detail(req);
match result.await {
Ok(res) => {
}
Err(err) => {
}
}
}
With JD(京东,目前暂时只支持联盟相关)
use labrador::{JDClient, JdOrderRawQueryParam, SimpleStorage};
use chrono::{Local, SecondsFormat};
#[tokio::main]
async fn main() {
let client = JDClient::<SimpleStorage>::new("appkey", "secert");
let param = JdOrderRawQueryParam {
page_index: 1.into(),
page_size: 10.into(),
bill_type: 1,
start_time: "2022-08-02 21:23:00".to_string(),
end_time: "2022-08-02 21:43:00".to_string(),
child_union_id: None,
key: None,
fields: None
};
let result = client.query_raw_order(param);
match result.await {
Ok(res) => {
}
Err(err) => {
}
}
}
With Custom Request
You can implement this trait and then use the custom request
- AlipayRequest - For Alipay(支付宝)
- JDRequest - For jingdong(京东)
- TaobaoRequest - For taobao(淘宝)
Feature
We will gradually improve the corresponding API
Re-exports
pub use bytes;
pub use serde_urlencoded;
pub use urlencoding;
pub use dashmap;
pub use redis;
Modules
- MD5加密类
Macros
Structs
- API請求
- 封面摘要
- 管理员信息
- 微信会员卡高级字段信息
- 统一收单交易创建接口响应
- 周期扣款 用户与商户签署周期扣款协议后,商户可通过本接口做后续免密代扣操作
- 周期付响应
- 当面付
- 当面付响应
- 订单包含的商品列表信息
- 开票信息
- 应用支付宝公钥证书下载
- 应用支付宝公钥证书下载
- 获取用户认证token
- 预授权 用户在商户侧授权冻结并享受服务后,商户使用授权单号通过本接口对用户已授权金额发起扣款
- 周期付响应
- 统一收单线下交易预创建响应
- 获取用户认证token
- 统一收单交易撤销接口
- 统一收单交易创建接口 商户通过该接口进行交易的创建下单
- 统一收单交易退款查询
- 统一收单线下交易预创建 收银员通过收银台或商户后台调用支付宝接口,生成二维码后,展示给用户,由用户扫描二维码完成订单支付。
- 授权信息
- 授权人员信息
- 微信会员卡基本信息
- 微信会员卡基本信息更新
- 积分规则
- 按钮列表,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过6
- 结束语定义
- 「联系我」方式 对象
- 应用管理员变更通知
- 取消授权通知
- 变更授权通知
- 授权成功通知
- 自动激活回调通知 企业成员满足自动激活条件并触发自动激活后,企业微信后台会推送“自动激活通知”到服务商的系统事件接收URL(应用管理 -通用开发参数-系统事件接收URL)。
- 异步任务完成事件推送 本事件是成员在使用异步任务接口时,用于接收任务执行完毕的结果通知。
- 新增部门事件
- 新增成员事件 该事件会回调给通讯录同步助手,代开发自建应用以及上游企业共享的应用
- 删除部门事件
- 删除成员事件 该事件会回调给通讯录同步助手,代开发自建应用以及上游企业共享的应用。
- 更新部门事件
- 标签成员变更事件
- 更新成员事件 该事件会回调给通讯录同步助手,代开发自建应用以及上游企业共享的应用
- 进入应用 本事件在成员进入企业微信的应用时触发
- 支付成功通知 当服务商购买接口调用许可帐号并完成付款后,企业微信后台会推送“支付成功通知”到服务商的系统事件接收URL(应用管理 -通用开发参数-系统事件接收URL)。
- 支付成功通知 当服务商购买接口调用许可帐号并完成付款后,企业微信后台会推送“支付成功通知”到服务商的系统事件接收URL(应用管理 -通用开发参数-系统事件接收URL)。
- 上报地理位置 成员同意上报地理位置后,每次在进入应用会话时都会上报一次地理位置。 企业可以在管理端修改应用是否需要获取地理位置权限。
- 点击菜单拉取消息的事件推送
- 弹出地理位置选择器的事件推送
- 弹出拍照或者相册发图的事件推送
- 弹出系统拍照发图的事件推送
- 弹出微信相册发图器的事件推送
- 扫码推事件的事件推送
- 扫码推事件且弹出“消息接收中”提示框的事件推送
- 点击菜单跳转链接的事件推送
- 审批状态通知事件 本事件触发时机为: 1.自建/第三方应用调用审批流程引擎发起申请之后,审批状态发生变化时 2.自建/第三方应用调用审批流程引擎发起申请之后,在“审批中”状态,有任意审批人进行审批操作时
- 重置永久授权码通知
- 企业互联共享应用事件回调 本事件触发时机为:
- 上下游共享应用事件回调 本事件触发时机为:
- 成员关注及取消关注事件 成员已经加入企业,管理员添加成员到应用可见范围(或移除可见范围)时 成员已经在应用可见范围,成员加入(或退出)企业时
- 模板卡片事件推送 应用下发的模板卡片消息,用户点击按钮之后触发此事件 应用收到该事件之后,可以响应回复模板卡片更新消息
- 通用模板卡片右上角菜单事件推送
- 更新点击用户的整张卡片
- 新增部门事件
- 新增成员事件
- 删除部门事件
- 删除成员事件
- 更新部门事件
- 标签成员变更事件
- 更新成员事件
- 接口许可失效通知 当许可帐号失效(未激活或已过期)的企业成员访问应用或小程序时,企业微信会提示用户联系服务商开通许可帐号,同时企业微信自动推送该通知事件至服务商后台。接收消息的方式参见使用接收消息。
- 更新点击用户的按钮文案
- 自定义会员信息类目
- 自定义会员信息类目
- 使用日期,有效期的信息.
- 服务商模式获取授权信息
- 企业当前生效的版本信息
- 外部指定买家
- 开票信息
- 外部联系人
- 添加了外部联系人的企业成员
- An async multipart/form-data request.
- 二级标题+文本列表,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过6
- 行业信息
- 开票关键信息
- 社交媒体获取推广链接接口
- 转链获取
- 转链获取
- 转链获取
- LabraRequest
- 创建会员卡请求对象
- 商品信息
- 会员卡更新对象 以下字段顺序根据微信官方文档顺序相同,不能传入非文档之外的字段 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1466494654_K9rNz
- 用户表单对象
- 富文本字段
- 下拉式的选择器列表,multiple_interaction类型的卡片该字段不可为空,一个消息最多支持 3 个选择器
- 抄送人信息
- 抄送信息,可能有多个抄送人
- 控制原生消息结构体,包含各字段的消息控制字段。
- A field in a multipart form.
- 支付功能
- 支付相关参数
- 应用对应的权限
- 外部指定买家
- 引用文献样式
- 请求参数
- 商羚商品查询接口
- 商羚商品查询
- 外部指定买家
- 开票信息
- 刷卡功能
- 任务卡片按钮
- 按钮列表,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过6
- 跳转指引样式的列表,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过3
- 模版信息
- 图文列表
- 使用时段限制
- 交易结算明细信息
- 使用门槛
- 卡片二级垂直内容,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过4
- 管理企业号应用
- 企业号应用信息
- 企业微信的部门
- 部门管理
- 外部联系人管理接口
- 文件消息
- 获取企业群发成员执行结果
- 获取企业群发成员执行结果
- 获取企业群发成员执行结果
- 获取群发成员发送任务列表
- 微信群机器人消息发送api 文档地址:文档
- 微信群机器人消息
- 入群欢迎语素材
- 图片消息
- 图文消息
- 互联企业消息
- 菜单管理相关接口
- 菜单管理相关接口
- 微信处理路由规则
- 应用消息发送统计信息
- 小程序消息
- 企业群发消息任务
- 发送「学校通知」
- 标签相关
- 为标签添加或移除用户结果对象类
- 消息文本消息
- 服务商模式获取授权信息
- 服务商模式获取永久授权码信息
- 预授权码返回
- 部门管理
- 企业微信第三方应用API
- 企业微信的部门
- 部门管理
- 服务商接口调用许可相关
- 订单账号信息
- 激活码信息
- 某个企业成员的激活情况
- 批量查询的激活码详情
- 基础结果返回信息
- 查询的激活码详情
- 企业的帐号列表(已激活)
- 下单购买帐号
- 详细的订单信息
- 获取订单中的帐号列表
- 获取订单列表详情
- 创建下单续期帐号任务
- 创建下单购买帐号任务返回结果
- 续期帐号订单
- 基础的信息
- 服务商接口调用许可相关
- 应用版本付费订单详情
- 应用代开发 获取带参授权链接返回结构体
- 企业微信第三方开发-标签相关
- 部门管理
- 修改客户备注信息请求
- 部门管理
- 联系客户群统计数据
- 联系客户统计数据
- 微信用户信息
- /// 转接在职成员的客户给其他成员
- 视频消息
- 新客户欢迎语
- 消息发送接口.
- 用户信息相关操作
- 卡券相关.
- 卡券Api签名
- 核销返回
- 微信卡券
- 卡券查询Code,核销Code接口返回结果.
- 客服接口.
- 素材数量
- 图文素材
- 图文素材
- 视频素材
- 会员卡相关.
- 会员卡激活接口的参数
- 会员卡激活,用户字段提交请求
- 更新会员信息的接口调用后的返回结果
- 拉取会员信息返回的结果
- 图文消息article.
- 微信连接WI-FI接口.
- 订阅消息服务接口
- 微信连接WI-FI接口.
- 撤销订单请求类
- 用户已领卡券返回
- 邀请成员的结果对象类
- 邀请成员的结果对象类
- 客服消息
- 转换短链接结果对象类
Enums
- 会员卡颜色
- 交易类型
Statics
Traits
- Common Params Format If custom paramters.
- Parse Data For Response
- 微信处理器
Functions
- 生成随机数算法
- Sign Method (build request paramaters sign format)
- Sign Method (build request paramaters sign format)
- Sign Method (build request paramaters sign format)
- Get TimeStamp