#http-request #client #http #request #rest-client #zuora

bin+lib zuora_rest_client

A HTTP Client built on top of the reqwest package for accessing the Zuora Billing REST API

6 releases

0.1.5 Nov 6, 2021
0.1.4 Nov 4, 2021
0.1.2 Oct 28, 2021

#367 in HTTP client

23 downloads per month

MIT license

18KB
343 lines

zuora_rest_client

crates.io Documentation MIT licensed

A HTTP Client built on top of the reqwest package for accessing the Zuora Billing REST API

TODOs

This package currently only provides an interface for performing OAuth authenticated GET requests

  • Add missing HTTP methods
  • Add retry logic
  • Hook up to a CI server

Example

This example uses serde_json to prepare the data for a GET request. Your Cargo.toml could look like this:

[dependencies]
zuora_rest_client = "0.1"
serde_json = "1"

And then the code:

use std::env;
use zuora_rest_client::Zuora;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut client = Zuora::new(
        env::var("ZUORA_CLIENT_ID").unwrap_or_default(),
        env::var("ZUORA_CLIENT_SECRET").unwrap_or_default(),
        String::from("https://rest.sandbox.eu.zuora.com"),
        String::from("/v1"),
        3,
    );

    let result = client.generate_token();
    println!("{:?}", result);

    let get = client.get("/catalog/products", serde_json::from_str("{}").unwrap());
    println!("{:?}", get);
    Ok(())
}

License

Licensed under

Dependencies

~6–21MB
~295K SLoC