vapi_client/models/artifact_plan.rs
1/*
2 * Vapi API
3 *
4 * Voice AI for developers.
5 *
6 * The version of the OpenAPI document: 1.0
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ArtifactPlan {
16 /// This determines whether assistant's calls are recorded. Defaults to true. Usage: - If you don't want to record the calls, set this to false. - If you want to record the calls when `assistant.hipaaEnabled` (deprecated) or `assistant.compliancePlan.hipaaEnabled` explicity set this to true and make sure to provide S3 or GCP credentials on the Provider Credentials page in the Dashboard. You can find the recording at `call.artifact.recordingUrl` and `call.artifact.stereoRecordingUrl` after the call is ended. @default true
17 #[serde(rename = "recordingEnabled", skip_serializing_if = "Option::is_none")]
18 pub recording_enabled: Option<bool>,
19 /// This determines the format of the recording. Defaults to `wav;l16`. @default 'wav;l16'
20 #[serde(rename = "recordingFormat", skip_serializing_if = "Option::is_none")]
21 pub recording_format: Option<RecordingFormatTrue>,
22 /// This determines whether the video is recorded during the call. Defaults to false. Only relevant for `webCall` type. You can find the video recording at `call.artifact.videoRecordingUrl` after the call is ended. @default false
23 #[serde(
24 rename = "videoRecordingEnabled",
25 skip_serializing_if = "Option::is_none"
26 )]
27 pub video_recording_enabled: Option<bool>,
28 /// This determines whether the SIP packet capture is enabled. Defaults to true. Only relevant for `phone` type calls where phone number's provider is `vapi` or `byo-phone-number`. You can find the packet capture at `call.artifact.pcapUrl` after the call is ended. @default true
29 #[serde(rename = "pcapEnabled", skip_serializing_if = "Option::is_none")]
30 pub pcap_enabled: Option<bool>,
31 /// This is the path where the SIP packet capture will be uploaded. This is only used if you have provided S3 or GCP credentials on the Provider Credentials page in the Dashboard. If credential.s3PathPrefix or credential.bucketPlan.path is set, this will append to it. Usage: - If you want to upload the packet capture to a specific path, set this to the path. Example: `/my-assistant-captures`. - If you want to upload the packet capture to the root of the bucket, set this to `/`. @default '/'
32 #[serde(rename = "pcapS3PathPrefix", skip_serializing_if = "Option::is_none")]
33 pub pcap_s3_path_prefix: Option<String>,
34 /// This is the plan for `call.artifact.transcript`. To disable, set `transcriptPlan.enabled` to false.
35 #[serde(rename = "transcriptPlan", skip_serializing_if = "Option::is_none")]
36 pub transcript_plan: Option<models::TranscriptPlan>,
37 /// This is the path where the recording will be uploaded. This is only used if you have provided S3 or GCP credentials on the Provider Credentials page in the Dashboard. If credential.s3PathPrefix or credential.bucketPlan.path is set, this will append to it. Usage: - If you want to upload the recording to a specific path, set this to the path. Example: `/my-assistant-recordings`. - If you want to upload the recording to the root of the bucket, set this to `/`. @default '/'
38 #[serde(rename = "recordingPath", skip_serializing_if = "Option::is_none")]
39 pub recording_path: Option<String>,
40}
41
42impl ArtifactPlan {
43 pub fn new() -> ArtifactPlan {
44 ArtifactPlan {
45 recording_enabled: None,
46 recording_format: None,
47 video_recording_enabled: None,
48 pcap_enabled: None,
49 pcap_s3_path_prefix: None,
50 transcript_plan: None,
51 recording_path: None,
52 }
53 }
54}
55/// This determines the format of the recording. Defaults to `wav;l16`. @default 'wav;l16'
56#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
57pub enum RecordingFormatTrue {
58 #[serde(rename = "wav;l16")]
59 WavSemicolonL16,
60 #[serde(rename = "mp3")]
61 Mp3,
62}
63
64impl Default for RecordingFormatTrue {
65 fn default() -> RecordingFormatTrue {
66 Self::WavSemicolonL16
67 }
68}