vapi_client/models/
api_request_tool.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ApiRequestTool {
16 #[serde(rename = "messages", skip_serializing_if = "Option::is_none")]
18 pub messages: Option<Vec<models::CreateDtmfToolDtoMessagesInner>>,
19 #[serde(rename = "type")]
21 pub r#type: TypeTrue,
22 #[serde(rename = "method")]
23 pub method: MethodTrue,
24 #[serde(rename = "timeoutSeconds", skip_serializing_if = "Option::is_none")]
26 pub timeout_seconds: Option<f64>,
27 #[serde(rename = "id")]
29 pub id: String,
30 #[serde(rename = "orgId")]
32 pub org_id: String,
33 #[serde(rename = "createdAt")]
35 pub created_at: String,
36 #[serde(rename = "updatedAt")]
38 pub updated_at: String,
39 #[serde(rename = "function", skip_serializing_if = "Option::is_none")]
41 pub function: Option<models::OpenAiFunction>,
42 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
44 pub name: Option<String>,
45 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
47 pub description: Option<String>,
48 #[serde(rename = "url")]
50 pub url: String,
51 #[serde(rename = "body", skip_serializing_if = "Option::is_none")]
53 pub body: Option<models::JsonSchema>,
54 #[serde(rename = "headers", skip_serializing_if = "Option::is_none")]
56 pub headers: Option<models::JsonSchema>,
57 #[serde(rename = "backoffPlan", skip_serializing_if = "Option::is_none")]
59 pub backoff_plan: Option<models::BackoffPlan>,
60 #[serde(
62 rename = "variableExtractionPlan",
63 skip_serializing_if = "Option::is_none"
64 )]
65 pub variable_extraction_plan: Option<models::VariableExtractionPlan>,
66}
67
68impl ApiRequestTool {
69 pub fn new(
70 r#type: TypeTrue,
71 method: MethodTrue,
72 id: String,
73 org_id: String,
74 created_at: String,
75 updated_at: String,
76 url: String,
77 ) -> ApiRequestTool {
78 ApiRequestTool {
79 messages: None,
80 r#type,
81 method,
82 timeout_seconds: None,
83 id,
84 org_id,
85 created_at,
86 updated_at,
87 function: None,
88 name: None,
89 description: None,
90 url,
91 body: None,
92 headers: None,
93 backoff_plan: None,
94 variable_extraction_plan: None,
95 }
96 }
97}
98#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
100pub enum TypeTrue {
101 #[serde(rename = "apiRequest")]
102 ApiRequest,
103}
104
105impl Default for TypeTrue {
106 fn default() -> TypeTrue {
107 Self::ApiRequest
108 }
109}
110#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
112pub enum MethodTrue {
113 #[serde(rename = "POST")]
114 Post,
115 #[serde(rename = "GET")]
116 Get,
117}
118
119impl Default for MethodTrue {
120 fn default() -> MethodTrue {
121 Self::Post
122 }
123}