pub struct RewardsApi<'a> { /* private fields */ }Expand description
Rewards API - handles all channel reward endpoints
Implementations§
Source§impl<'a> RewardsApi<'a>
impl<'a> RewardsApi<'a>
Sourcepub async fn get_all(&self) -> Result<Vec<ChannelReward>>
pub async fn get_all(&self) -> Result<Vec<ChannelReward>>
Get all channel rewards
Requires OAuth token with channel:rewards:read scope
§Example
let rewards = client.rewards().get_all().await?;
for reward in rewards {
println!("Reward: {} - {} points", reward.title, reward.cost);
}Sourcepub async fn create(
&self,
request: CreateRewardRequest,
) -> Result<ChannelReward>
pub async fn create( &self, request: CreateRewardRequest, ) -> Result<ChannelReward>
Create a new channel reward
Requires OAuth token with channel:rewards:write scope
§Example
use kick_api::CreateRewardRequest;
let request = CreateRewardRequest {
title: "Song Request".to_string(),
cost: 500,
description: Some("Request a song!".to_string()),
is_user_input_required: Some(true),
..Default::default()
};
let reward = client.rewards().create(request).await?;Sourcepub async fn update(
&self,
reward_id: &str,
request: UpdateRewardRequest,
) -> Result<ChannelReward>
pub async fn update( &self, reward_id: &str, request: UpdateRewardRequest, ) -> Result<ChannelReward>
Update an existing reward
Requires OAuth token with channel:rewards:write scope
§Example
use kick_api::UpdateRewardRequest;
let update = UpdateRewardRequest {
cost: Some(1000),
is_paused: Some(true),
..Default::default()
};
let reward = client.rewards().update("reward_id", update).await?;Sourcepub async fn delete(&self, reward_id: &str) -> Result<()>
pub async fn delete(&self, reward_id: &str) -> Result<()>
Delete a reward
Requires OAuth token with channel:rewards:write scope
Sourcepub async fn get_redemptions(
&self,
reward_id: Option<&str>,
status: Option<RedemptionStatus>,
) -> Result<Vec<ChannelRewardRedemption>>
pub async fn get_redemptions( &self, reward_id: Option<&str>, status: Option<RedemptionStatus>, ) -> Result<Vec<ChannelRewardRedemption>>
Get reward redemptions
Requires OAuth token with channel:rewards:read scope
§Parameters
reward_id: Optional - filter by specific rewardstatus: Optional - filter by status (defaults to pending)
Sourcepub async fn accept_redemptions(
&self,
redemption_ids: Vec<String>,
) -> Result<ManageRedemptionsResponse>
pub async fn accept_redemptions( &self, redemption_ids: Vec<String>, ) -> Result<ManageRedemptionsResponse>
Accept pending redemptions
Requires OAuth token with channel:rewards:write scope
§Parameters
redemption_ids: List of redemption IDs to accept (1-25)
Sourcepub async fn reject_redemptions(
&self,
redemption_ids: Vec<String>,
) -> Result<ManageRedemptionsResponse>
pub async fn reject_redemptions( &self, redemption_ids: Vec<String>, ) -> Result<ManageRedemptionsResponse>
Reject pending redemptions
Requires OAuth token with channel:rewards:write scope
§Parameters
redemption_ids: List of redemption IDs to reject (1-25)
Auto Trait Implementations§
impl<'a> Freeze for RewardsApi<'a>
impl<'a> !RefUnwindSafe for RewardsApi<'a>
impl<'a> Send for RewardsApi<'a>
impl<'a> Sync for RewardsApi<'a>
impl<'a> Unpin for RewardsApi<'a>
impl<'a> !UnwindSafe for RewardsApi<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more