use serde_json::Value;
use super::Client;
use crate::Result;
impl Client {
pub async fn get_customer_information(&self, params: Option<Value>) -> Result<Value> {
let url = format!("{}/1.0/customer/information", self.base_url);
let mut req = self.client.get(url);
if let Some(params) = params {
req = req.query(¶ms);
}
let req = req.build()?;
let res = self.send_request(req).await?;
let json: Value = res.json().await?;
Ok(json)
}
pub async fn get_customer_status(&self, params: Option<Value>) -> Result<Value> {
let url = format!("{}/1.0/customer/status", self.base_url);
let mut req = self.client.get(url);
if let Some(params) = params {
req = req.query(¶ms);
}
let req = req.build()?;
let res = self.send_request(req).await?;
let json: Value = res.json().await?;
Ok(json)
}
pub async fn get_customer_freetrial_eligibility(&self) -> Result<Value> {
let url = format!("{}/1.0/customer/freetrial/eligibility", self.base_url);
let req = self.client.get(url).build()?;
let res = self.send_request(req).await?;
let json: Value = res.json().await?;
Ok(json)
}
}