botx_api/api/v3/events/reply_event/
models.rs

1use std::collections::HashMap;
2
3use serde::{Serialize, Deserialize};
4use uuid::Uuid;
5
6use crate::api::models::*;
7
8/// Состояние сообщения ответа
9#[derive(Debug, Serialize, Deserialize, Default, Clone, Builder)]
10#[builder(setter(into, prefix = "with", strip_option))]
11pub struct ReplyMessageRequest {
12    /// идентификатор сообщения, на который будет отправлен ответ
13    pub source_sync_id: Uuid,
14
15    /// Описание события
16    pub reply: EventPayload,
17
18    /// (Default: Skip) - файл в base64 представление. Если передать null, то существующий файл удалится из события 
19    // #[serde(skip_serializing_if = "Option::is_none")]
20    #[builder(default)]
21    pub file: Option<FileWithCaption>,
22
23    /// опции запроса
24    #[builder(default)]
25    pub opts: PayloadOptions,
26}
27
28#[derive(Debug, Serialize, Deserialize, Clone)]
29pub struct ReplyMessageResult {
30    /// Результат
31    pub result: String,
32}
33
34#[derive(Debug, Serialize, Deserialize, Clone)]
35pub struct ReplyMessageError {
36    /// Нет фиксированного ответа об ошибке. Складируем все данные сюда
37    #[serde(flatten)]
38    pub data: HashMap<String, String>,
39}