line_bot_messaging_api/api/
richmenu_alias.rs1use crate::{LineApiResponse, LineClient};
2use serde_derive::{Deserialize, Serialize};
3use serde_json::{Value, json};
4
5impl LineClient {
6 pub async fn rich_menu_alias_create(&self, value: Value) -> LineApiResponse<Value> {
8 self.http_post("https://api.line.me/v2/bot/richmenu/alias", &value)
9 .await
10 }
11 pub async fn rich_menu_alias_delete(
12 &self,
13 rich_menu_alias_id: String,
14 ) -> LineApiResponse<Value> {
15 self.http_delete(
16 &format!(
17 "https://api.line.me/v2/bot/richmenu/alias/{}",
18 rich_menu_alias_id
19 ),
20 &json!(""),
21 )
22 .await
23 }
24 pub async fn rich_menu_alias_update(
25 &self,
26 rich_menu_alias_id: String,
27 value: Value,
28 ) -> LineApiResponse<Value> {
29 self.http_post(
30 &format!(
31 "https://api.line.me/v2/bot/richmenu/alias/{}",
32 rich_menu_alias_id
33 ),
34 &value,
35 )
36 .await
37 }
38
39 pub async fn rich_menu_alias_get(
41 &self,
42 rich_menu_alias_id: String,
43 ) -> LineApiResponse<LineApiRichMenuAliasGetResponse> {
44 self.http_get(
45 &format!(
46 "https://api.line.me/v2/bot/richmenu/alias/{}",
47 rich_menu_alias_id
48 ),
49 &json!(""),
50 )
51 .await
52 }
53 pub async fn rich_menu_alias_list(&self) -> LineApiResponse<LineApiRichMenuAliasListResponse> {
55 self.http_get("https://api.line.me/v2/bot/richmenu/alias/list", &json!(""))
56 .await
57 }
58}
59
60#[derive(Debug, Default, Deserialize, Serialize, Clone)]
61pub struct LineApiRichMenuAliasCreateResponse {}
62#[derive(Debug, Default, Deserialize, Serialize, Clone)]
63pub struct LineApiRichMenuAliasGetResponse {
64 #[serde(rename = "richMenuId")]
65 pub rich_menu_id: String,
66 #[serde(rename = "richMenuAliasId")]
67 pub rich_menu_alias_id: String,
68}
69#[derive(Debug, Default, Deserialize, Serialize, Clone)]
70pub struct LineApiRichMenuAliasListResponse {
71 pub aliases: Vec<LineApiRichMenuAliasGetResponse>,
72}