revox 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +81 -0
- data/README.md +39 -14
- data/lib/revox/client.rb +23 -1
- data/lib/revox/internal/transport/base_client.rb +5 -0
- data/lib/revox/internal/type/base_model.rb +3 -3
- data/lib/revox/internal/util.rb +22 -7
- data/lib/revox/models/assistant_clone_params.rb +20 -0
- data/lib/revox/models/assistant_clone_response.rb +1594 -0
- data/lib/revox/models/assistant_create_params.rb +1038 -13
- data/lib/revox/models/assistant_create_response.rb +1071 -11
- data/lib/revox/models/assistant_list_response.rb +1070 -11
- data/lib/revox/models/assistant_retrieve_response.rb +1066 -11
- data/lib/revox/models/assistant_update_params.rb +1038 -13
- data/lib/revox/models/assistant_update_response.rb +1097 -12
- data/lib/revox/models/auth_status_retrieve_params.rb +14 -0
- data/lib/revox/models/auth_status_retrieve_response.rb +17 -0
- data/lib/revox/models/call_cancel_params.rb +20 -0
- data/lib/revox/models/call_cancel_response.rb +16 -0
- data/lib/revox/models/call_create_params.rb +1065 -13
- data/lib/revox/models/call_create_response.rb +1820 -98
- data/lib/revox/models/call_export_params.rb +205 -0
- data/lib/revox/models/call_export_response.rb +22 -0
- data/lib/revox/models/call_pause_params.rb +20 -0
- data/lib/revox/models/call_pause_response.rb +16 -0
- data/lib/revox/models/call_phone_history_params.rb +14 -0
- data/lib/revox/models/call_phone_history_response.rb +98 -0
- data/lib/revox/models/call_resume_params.rb +20 -0
- data/lib/revox/models/call_resume_response.rb +16 -0
- data/lib/revox/models/call_retrieve_response.rb +1822 -98
- data/lib/revox/models/call_search_params.rb +171 -0
- data/lib/revox/models/call_search_response.rb +3114 -0
- data/lib/revox/models/campaign_create_params.rb +67 -2
- data/lib/revox/models/campaign_create_response.rb +1314 -59
- data/lib/revox/models/campaign_get_rows_params.rb +1 -46
- data/lib/revox/models/campaign_get_rows_response.rb +1833 -115
- data/lib/revox/models/campaign_launch_params.rb +20 -0
- data/lib/revox/models/campaign_launch_response.rb +2030 -0
- data/lib/revox/models/campaign_list_response.rb +1312 -59
- data/lib/revox/models/campaign_pause_params.rb +20 -0
- data/lib/revox/models/campaign_pause_response.rb +16 -0
- data/lib/revox/models/campaign_resume_params.rb +20 -0
- data/lib/revox/models/campaign_resume_response.rb +16 -0
- data/lib/revox/models/campaign_retrieve_response.rb +1312 -56
- data/lib/revox/models/campaign_statistics_params.rb +20 -0
- data/lib/revox/models/campaign_statistics_response.rb +486 -0
- data/lib/revox/models/campaign_update_params.rb +234 -0
- data/lib/revox/models/campaign_update_response.rb +2030 -0
- data/lib/revox/models/phone_number_delete_params.rb +20 -0
- data/lib/revox/models/phone_number_delete_response.rb +16 -0
- data/lib/revox/models/phone_number_list_params.rb +14 -0
- data/lib/revox/models/phone_number_list_response.rb +1777 -0
- data/lib/revox/models/phone_number_update_params.rb +32 -0
- data/lib/revox/models/phone_number_update_response.rb +1777 -0
- data/lib/revox/models/user_retrieve_params.rb +14 -0
- data/lib/revox/models/user_retrieve_response.rb +99 -0
- data/lib/revox/models/voice_clone_params.rb +78 -0
- data/lib/revox/models/voice_clone_response.rb +40 -0
- data/lib/revox/models/voice_delete_params.rb +20 -0
- data/lib/revox/models/voice_delete_response.rb +16 -0
- data/lib/revox/models/voice_list_response.rb +55 -1
- data/lib/revox/models/voice_preview_params.rb +49 -1
- data/lib/revox/models.rb +36 -2
- data/lib/revox/resources/assistants.rb +137 -8
- data/lib/revox/resources/auth_status.rb +32 -0
- data/lib/revox/resources/call.rb +131 -15
- data/lib/revox/resources/campaigns.rb +143 -17
- data/lib/revox/resources/phone_numbers.rb +74 -0
- data/lib/revox/resources/users.rb +17 -3
- data/lib/revox/resources/voices.rb +66 -10
- data/lib/revox/version.rb +1 -1
- data/lib/revox.rb +40 -7
- data/rbi/revox/client.rbi +6 -0
- data/rbi/revox/internal/util.rbi +8 -0
- data/rbi/revox/models/assistant_clone_params.rbi +33 -0
- data/rbi/revox/models/assistant_clone_response.rbi +3341 -0
- data/rbi/revox/models/assistant_create_params.rbi +2138 -103
- data/rbi/revox/models/assistant_create_response.rbi +2454 -199
- data/rbi/revox/models/assistant_list_response.rbi +2448 -195
- data/rbi/revox/models/assistant_retrieve_response.rbi +2401 -210
- data/rbi/revox/models/assistant_update_params.rbi +2138 -103
- data/rbi/revox/models/assistant_update_response.rbi +2504 -198
- data/rbi/revox/models/auth_status_retrieve_params.rbi +27 -0
- data/rbi/revox/models/auth_status_retrieve_response.rbi +30 -0
- data/rbi/revox/models/call_cancel_params.rbi +33 -0
- data/rbi/revox/models/call_cancel_response.rbi +23 -0
- data/rbi/revox/models/call_create_params.rbi +2382 -225
- data/rbi/revox/models/call_create_response.rbi +4116 -384
- data/rbi/revox/models/call_export_params.rbi +456 -0
- data/rbi/revox/models/call_export_response.rbi +26 -0
- data/rbi/revox/models/call_pause_params.rbi +31 -0
- data/rbi/revox/models/call_pause_response.rbi +23 -0
- data/rbi/revox/models/call_phone_history_params.rbi +27 -0
- data/rbi/revox/models/call_phone_history_response.rbi +224 -0
- data/rbi/revox/models/call_resume_params.rbi +33 -0
- data/rbi/revox/models/call_resume_response.rbi +23 -0
- data/rbi/revox/models/call_retrieve_response.rbi +4133 -399
- data/rbi/revox/models/call_search_params.rbi +288 -0
- data/rbi/revox/models/call_search_response.rbi +6593 -0
- data/rbi/revox/models/campaign_create_params.rbi +136 -0
- data/rbi/revox/models/campaign_create_response.rbi +2911 -231
- data/rbi/revox/models/campaign_get_rows_params.rbi +2 -82
- data/rbi/revox/models/campaign_get_rows_response.rbi +4146 -409
- data/rbi/revox/models/campaign_launch_params.rbi +33 -0
- data/rbi/revox/models/campaign_launch_response.rbi +4170 -0
- data/rbi/revox/models/campaign_list_response.rbi +2904 -230
- data/rbi/revox/models/campaign_pause_params.rbi +33 -0
- data/rbi/revox/models/campaign_pause_response.rbi +23 -0
- data/rbi/revox/models/campaign_resume_params.rbi +33 -0
- data/rbi/revox/models/campaign_resume_response.rbi +23 -0
- data/rbi/revox/models/campaign_retrieve_response.rbi +2911 -231
- data/rbi/revox/models/campaign_statistics_params.rbi +33 -0
- data/rbi/revox/models/campaign_statistics_response.rbi +1011 -0
- data/rbi/revox/models/campaign_update_params.rbi +431 -0
- data/rbi/revox/models/campaign_update_response.rbi +4170 -0
- data/rbi/revox/models/phone_number_delete_params.rbi +33 -0
- data/rbi/revox/models/phone_number_delete_response.rbi +26 -0
- data/rbi/revox/models/phone_number_list_params.rbi +27 -0
- data/rbi/revox/models/phone_number_list_response.rbi +3680 -0
- data/rbi/revox/models/phone_number_update_params.rbi +53 -0
- data/rbi/revox/models/phone_number_update_response.rbi +3683 -0
- data/rbi/revox/models/user_retrieve_params.rbi +27 -0
- data/rbi/revox/models/user_retrieve_response.rbi +140 -0
- data/rbi/revox/models/voice_clone_params.rbi +141 -0
- data/rbi/revox/models/voice_clone_response.rbi +53 -0
- data/rbi/revox/models/voice_delete_params.rbi +33 -0
- data/rbi/revox/models/voice_delete_response.rbi +23 -0
- data/rbi/revox/models/voice_list_response.rbi +105 -3
- data/rbi/revox/models/voice_preview_params.rbi +69 -0
- data/rbi/revox/models.rbi +36 -2
- data/rbi/revox/resources/assistants.rbi +296 -8
- data/rbi/revox/resources/auth_status.rbi +21 -0
- data/rbi/revox/resources/call.rbi +92 -6
- data/rbi/revox/resources/campaigns.rbi +106 -19
- data/rbi/revox/resources/phone_numbers.rbi +43 -0
- data/rbi/revox/resources/users.rbi +8 -2
- data/rbi/revox/resources/voices.rbi +56 -9
- data/sig/revox/client.rbs +4 -0
- data/sig/revox/internal/util.rbs +4 -0
- data/sig/revox/models/assistant_clone_params.rbs +20 -0
- data/sig/revox/models/assistant_clone_response.rbs +1318 -0
- data/sig/revox/models/assistant_create_params.rbs +844 -11
- data/sig/revox/models/assistant_create_response.rbs +860 -3
- data/sig/revox/models/assistant_list_response.rbs +860 -3
- data/sig/revox/models/assistant_retrieve_response.rbs +859 -3
- data/sig/revox/models/assistant_update_params.rbs +844 -11
- data/sig/revox/models/assistant_update_response.rbs +886 -6
- data/sig/revox/models/auth_status_retrieve_params.rbs +15 -0
- data/sig/revox/models/auth_status_retrieve_response.rbs +13 -0
- data/sig/revox/models/call_cancel_params.rbs +20 -0
- data/sig/revox/models/call_cancel_response.rbs +13 -0
- data/sig/revox/models/call_create_params.rbs +847 -13
- data/sig/revox/models/call_create_response.rbs +1519 -34
- data/sig/revox/models/call_export_params.rbs +234 -0
- data/sig/revox/models/call_export_response.rbs +15 -0
- data/sig/revox/models/call_pause_params.rbs +20 -0
- data/sig/revox/models/call_pause_response.rbs +13 -0
- data/sig/revox/models/call_phone_history_params.rbs +15 -0
- data/sig/revox/models/call_phone_history_response.rbs +102 -0
- data/sig/revox/models/call_resume_params.rbs +20 -0
- data/sig/revox/models/call_resume_response.rbs +13 -0
- data/sig/revox/models/call_retrieve_response.rbs +1519 -34
- data/sig/revox/models/call_search_params.rbs +198 -0
- data/sig/revox/models/call_search_response.rbs +2654 -0
- data/sig/revox/models/campaign_create_params.rbs +54 -0
- data/sig/revox/models/campaign_create_response.rbs +1034 -6
- data/sig/revox/models/campaign_get_rows_params.rbs +2 -64
- data/sig/revox/models/campaign_get_rows_response.rbs +1527 -54
- data/sig/revox/models/campaign_launch_params.rbs +20 -0
- data/sig/revox/models/campaign_launch_response.rbs +1694 -0
- data/sig/revox/models/campaign_list_response.rbs +1034 -6
- data/sig/revox/models/campaign_pause_params.rbs +20 -0
- data/sig/revox/models/campaign_pause_response.rbs +13 -0
- data/sig/revox/models/campaign_resume_params.rbs +20 -0
- data/sig/revox/models/campaign_resume_response.rbs +13 -0
- data/sig/revox/models/campaign_retrieve_response.rbs +1034 -6
- data/sig/revox/models/campaign_statistics_params.rbs +20 -0
- data/sig/revox/models/campaign_statistics_response.rbs +458 -0
- data/sig/revox/models/campaign_update_params.rbs +203 -0
- data/sig/revox/models/campaign_update_response.rbs +1694 -0
- data/sig/revox/models/phone_number_delete_params.rbs +20 -0
- data/sig/revox/models/phone_number_delete_response.rbs +13 -0
- data/sig/revox/models/phone_number_list_params.rbs +15 -0
- data/sig/revox/models/phone_number_list_response.rbs +1462 -0
- data/sig/revox/models/phone_number_update_params.rbs +32 -0
- data/sig/revox/models/phone_number_update_response.rbs +1460 -0
- data/sig/revox/models/user_retrieve_params.rbs +14 -0
- data/sig/revox/models/user_retrieve_response.rbs +71 -0
- data/sig/revox/models/voice_clone_params.rbs +79 -0
- data/sig/revox/models/voice_clone_response.rbs +40 -0
- data/sig/revox/models/voice_delete_params.rbs +20 -0
- data/sig/revox/models/voice_delete_response.rbs +13 -0
- data/sig/revox/models/voice_list_response.rbs +45 -3
- data/sig/revox/models/voice_preview_params.rbs +42 -1
- data/sig/revox/models.rbs +36 -2
- data/sig/revox/resources/assistants.rbs +61 -2
- data/sig/revox/resources/auth_status.rbs +11 -0
- data/sig/revox/resources/call.rbs +41 -3
- data/sig/revox/resources/campaigns.rbs +35 -5
- data/sig/revox/resources/phone_numbers.rbs +23 -0
- data/sig/revox/resources/users.rbs +3 -1
- data/sig/revox/resources/voices.rbs +17 -0
- metadata +122 -23
- data/lib/revox/models/call_list_params.rb +0 -52
- data/lib/revox/models/call_list_response.rb +0 -259
- data/lib/revox/models/users/me_retrieve_params.rb +0 -16
- data/lib/revox/models/users/me_retrieve_response.rb +0 -89
- data/lib/revox/models/users/me_update_params.rb +0 -22
- data/lib/revox/models/users/me_update_response.rb +0 -89
- data/lib/revox/resources/users/me.rb +0 -55
- data/rbi/revox/models/call_list_params.rbi +0 -94
- data/rbi/revox/models/call_list_response.rbi +0 -563
- data/rbi/revox/models/users/me_retrieve_params.rbi +0 -29
- data/rbi/revox/models/users/me_retrieve_response.rbi +0 -139
- data/rbi/revox/models/users/me_update_params.rbi +0 -43
- data/rbi/revox/models/users/me_update_response.rbi +0 -139
- data/rbi/revox/resources/users/me.rbi +0 -33
- data/sig/revox/models/call_list_params.rbs +0 -63
- data/sig/revox/models/call_list_response.rbs +0 -226
- data/sig/revox/models/users/me_retrieve_params.rbs +0 -16
- data/sig/revox/models/users/me_retrieve_response.rbs +0 -70
- data/sig/revox/models/users/me_update_params.rbs +0 -28
- data/sig/revox/models/users/me_update_response.rbs +0 -70
- data/sig/revox/resources/users/me.rbs +0 -18
|
@@ -12,18 +12,34 @@ module Revox
|
|
|
12
12
|
# voice provider and voice ID (Cartesia or ElevenLabs), and end-of-call behavior.
|
|
13
13
|
# Once created, reference the assistant by its ID when placing calls.
|
|
14
14
|
#
|
|
15
|
-
# @overload create(name:, prompt:, background_sound: nil, calendly: nil, call_retry_config: nil, end_of_call_sentence: nil, faq_items: nil, first_sentence: nil, first_sentence_delay_ms: nil, first_sentence_mode: nil, ivr_navigation_enabled: nil, llm_model: nil, max_call_duration_secs: nil, structured_output_config: nil, transfer_phone_number: nil, voice: nil, voicemail_message: nil, webhook_url: nil, request_options: {})
|
|
15
|
+
# @overload create(name:, prompt:, after_call_sms_outcomes: nil, after_call_sms_prompt: nil, background_sound: nil, background_sound_volume: nil, calendly: nil, call_retry_config: nil, cartesia_dictionary_pronunciation_id: nil, custom_tools: nil, email_notification_address: nil, email_notification_language: nil, email_notification_outcomes: nil, end_of_call_sentence: nil, faq_items: nil, first_sentence: nil, first_sentence_delay_ms: nil, first_sentence_mode: nil, from_phone_number: nil, human_transfer_mode: nil, ivr_navigation_enabled: nil, llm_model: nil, logo_url: nil, max_call_duration_secs: nil, max_duration_end_message: nil, position: nil, prompt_flow: nil, slack: nil, sms_enabled: nil, sms_template: nil, structured_output_config: nil, structured_output_prompt: nil, stt_context: nil, stt_model: nil, thinking_sound: nil, thinking_sound_probability: nil, thinking_sound_volume: nil, transfer_phone_number: nil, type: nil, voice: nil, voicemail_message: nil, voicemail_sms_prompt: nil, warm_transfer_summary_instructions: nil, webhook_url: nil, zoho: nil, request_options: {})
|
|
16
16
|
#
|
|
17
17
|
# @param name [String]
|
|
18
18
|
#
|
|
19
19
|
# @param prompt [String] The prompt to use for the call. This will be given to the LLM (gpt-4.1)
|
|
20
20
|
#
|
|
21
|
-
# @param
|
|
21
|
+
# @param after_call_sms_outcomes [Array<Symbol, Revox::Models::AssistantCreateParams::AfterCallSMSOutcome>, nil] Which call outcomes trigger the after-call SMS. When empty or null, no after-cal
|
|
22
22
|
#
|
|
23
|
-
# @param
|
|
23
|
+
# @param after_call_sms_prompt [String, nil] Prompt / instructions for the after-call SMS. Supports {{variable}} placeholders
|
|
24
|
+
#
|
|
25
|
+
# @param background_sound [Symbol, Revox::Models::AssistantCreateParams::BackgroundSound, nil] Ambient background sound to play during the call. null/omitted disables it.
|
|
26
|
+
#
|
|
27
|
+
# @param background_sound_volume [Float] Volume of the ambient background sound (0 = silent, 1 = max).
|
|
28
|
+
#
|
|
29
|
+
# @param calendly [Revox::Models::AssistantCreateParams::Calendly, nil]
|
|
24
30
|
#
|
|
25
31
|
# @param call_retry_config [Revox::Models::AssistantCreateParams::CallRetryConfig] Configuration for call retry behavior including time windows, delays, and max it
|
|
26
32
|
#
|
|
33
|
+
# @param cartesia_dictionary_pronunciation_id [String, nil] Optional Cartesia pronunciation dictionary ID to use for this assistant's calls.
|
|
34
|
+
#
|
|
35
|
+
# @param custom_tools [Array<Revox::Models::AssistantCreateParams::CustomTool>, nil] Custom API tools the assistant can call during conversations. Each tool defines
|
|
36
|
+
#
|
|
37
|
+
# @param email_notification_address [String, nil] Email address(es) to receive notifications when a call ends with a matching outc
|
|
38
|
+
#
|
|
39
|
+
# @param email_notification_language [Symbol, Revox::Models::AssistantCreateParams::EmailNotificationLanguage] The language used for the notification email content. One of "en" or "fr". Defau
|
|
40
|
+
#
|
|
41
|
+
# @param email_notification_outcomes [Array<Symbol, Revox::Models::AssistantCreateParams::EmailNotificationOutcome>, nil] Which call outcomes trigger an email notification. E.g. ["interested", "complete
|
|
42
|
+
#
|
|
27
43
|
# @param end_of_call_sentence [String] Optional message to say when the agent decides to end the call.
|
|
28
44
|
#
|
|
29
45
|
# @param faq_items [Array<Revox::Models::AssistantCreateParams::FaqItem>] FAQ items to associate with this assistant. When provided, replaces all existing
|
|
@@ -34,22 +50,60 @@ module Revox
|
|
|
34
50
|
#
|
|
35
51
|
# @param first_sentence_mode [Symbol, Revox::Models::AssistantCreateParams::FirstSentenceMode] How the first sentence should be handled. "generated" means the LLM will generat
|
|
36
52
|
#
|
|
53
|
+
# @param from_phone_number [String, nil] Override the default outbound phone number for calls placed with this assistant.
|
|
54
|
+
#
|
|
55
|
+
# @param human_transfer_mode [Symbol, Revox::Models::AssistantCreateParams::HumanTransferMode, nil] When transfer_phone_number is set: "warm" (AI bridges) or "cold" (SIP REFER; tru
|
|
56
|
+
#
|
|
37
57
|
# @param ivr_navigation_enabled [Boolean] Enable IVR navigation tools. When enabled, the assistant can send DTMF tones and
|
|
38
58
|
#
|
|
39
|
-
# @param llm_model [Revox::Models::AssistantCreateParams::LlmModel::UnionMember0, Revox::Models::AssistantCreateParams::LlmModel::UnionMember1]
|
|
59
|
+
# @param llm_model [Revox::Models::AssistantCreateParams::LlmModel::UnionMember0, Revox::Models::AssistantCreateParams::LlmModel::UnionMember1, Revox::Models::AssistantCreateParams::LlmModel::UnionMember2, Revox::Models::AssistantCreateParams::LlmModel::UnionMember3]
|
|
60
|
+
#
|
|
61
|
+
# @param logo_url [String, nil] Public URL of the brand logo shown on the assistant's demo page. Upload a new lo
|
|
40
62
|
#
|
|
41
63
|
# @param max_call_duration_secs [Float] The maximum duration of the call in seconds. This is the maximum time the call w
|
|
42
64
|
#
|
|
65
|
+
# @param max_duration_end_message [String, nil] Optional message the agent will say, without being interruptible, when the call
|
|
66
|
+
#
|
|
67
|
+
# @param position [Revox::Models::AssistantCreateParams::Position, nil] Canvas position of this assistant's node in its multi-step flow editor.
|
|
68
|
+
#
|
|
69
|
+
# @param prompt_flow [Revox::Models::AssistantCreateParams::PromptFlow, nil] Visual prompt constructor data (nodes, edges, positions). Used by the UI to re-o
|
|
70
|
+
#
|
|
71
|
+
# @param slack [Revox::Models::AssistantCreateParams::Slack, nil] Slack notification config. When set, posts a message to the chosen channel after
|
|
72
|
+
#
|
|
73
|
+
# @param sms_enabled [Boolean] Enable SMS tool during calls. When enabled, the agent can send SMS messages to t
|
|
74
|
+
#
|
|
75
|
+
# @param sms_template [String, nil] Hardcoded SMS template to send during calls. When set, this exact text is sent i
|
|
76
|
+
#
|
|
43
77
|
# @param structured_output_config [Array<Revox::Models::AssistantCreateParams::StructuredOutputConfig>] The structured output config to use for the call. This is used to extract the da
|
|
44
78
|
#
|
|
79
|
+
# @param structured_output_prompt [String, nil] Custom prompt for structured data extraction. If not provided, a default prompt
|
|
80
|
+
#
|
|
81
|
+
# @param stt_context [Revox::Models::AssistantCreateParams::SttContext, nil] Assistant-level speech-to-text context: structured `general` key/value pairs plu
|
|
82
|
+
#
|
|
83
|
+
# @param stt_model [Symbol, Revox::Models::AssistantCreateParams::SttModel] Transcriber (speech-to-text) model. Defaults to the newest Soniox realtime model
|
|
84
|
+
#
|
|
85
|
+
# @param thinking_sound [Symbol, Revox::Models::AssistantCreateParams::ThinkingSound, nil] Audio clip to play while the agent is processing a response. One of the built-in
|
|
86
|
+
#
|
|
87
|
+
# @param thinking_sound_probability [Float] Probability [0..1] that the thinking sound plays on any given turn; otherwise th
|
|
88
|
+
#
|
|
89
|
+
# @param thinking_sound_volume [Float] Volume of the thinking sound (0 = silent, 1 = max).
|
|
90
|
+
#
|
|
45
91
|
# @param transfer_phone_number [String, nil] Phone number to transfer calls to when users request to speak to a human agent i
|
|
46
92
|
#
|
|
93
|
+
# @param type [Symbol, Revox::Models::AssistantCreateParams::Type] Assistant kind. 'standalone' (default) is a normal assistant, 'multi-step' orche
|
|
94
|
+
#
|
|
47
95
|
# @param voice [Revox::Models::AssistantCreateParams::Voice] The voice to use for the call. You can get the list of voices using the /voices
|
|
48
96
|
#
|
|
49
97
|
# @param voicemail_message [String, nil] If set, when voicemail is detected the agent will speak this message then hang u
|
|
50
98
|
#
|
|
99
|
+
# @param voicemail_sms_prompt [String, nil] SMS message to send when the call reaches voicemail. Supports {{variable}} place
|
|
100
|
+
#
|
|
101
|
+
# @param warm_transfer_summary_instructions [String, nil] When using warm transfer: extra instructions for the supervisor handoff summary.
|
|
102
|
+
#
|
|
51
103
|
# @param webhook_url [String] The webhook URL to call when the call is completed.
|
|
52
104
|
#
|
|
105
|
+
# @param zoho [Revox::Models::AssistantCreateParams::Zoho, nil] Zoho CRM integration config. When set, upserts the prospect (keyed on phone) int
|
|
106
|
+
#
|
|
53
107
|
# @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
54
108
|
#
|
|
55
109
|
# @return [Revox::Models::AssistantCreateResponse]
|
|
@@ -96,16 +150,32 @@ module Revox
|
|
|
96
150
|
# the prompt, voice, first sentence, name, or any other assistant property without
|
|
97
151
|
# affecting the rest of the configuration.
|
|
98
152
|
#
|
|
99
|
-
# @overload update(id, background_sound: nil, calendly: nil, call_retry_config: nil, end_of_call_sentence: nil, faq_items: nil, first_sentence: nil, first_sentence_delay_ms: nil, first_sentence_mode: nil, ivr_navigation_enabled: nil, llm_model: nil, max_call_duration_secs: nil, name: nil, prompt: nil, structured_output_config: nil, transfer_phone_number: nil, voice: nil, voicemail_message: nil, webhook_url: nil, request_options: {})
|
|
153
|
+
# @overload update(id, after_call_sms_outcomes: nil, after_call_sms_prompt: nil, background_sound: nil, background_sound_volume: nil, calendly: nil, call_retry_config: nil, cartesia_dictionary_pronunciation_id: nil, custom_tools: nil, email_notification_address: nil, email_notification_language: nil, email_notification_outcomes: nil, end_of_call_sentence: nil, faq_items: nil, first_sentence: nil, first_sentence_delay_ms: nil, first_sentence_mode: nil, from_phone_number: nil, human_transfer_mode: nil, ivr_navigation_enabled: nil, llm_model: nil, logo_url: nil, max_call_duration_secs: nil, max_duration_end_message: nil, name: nil, position: nil, prompt: nil, prompt_flow: nil, slack: nil, sms_enabled: nil, sms_template: nil, structured_output_config: nil, structured_output_prompt: nil, stt_context: nil, stt_model: nil, thinking_sound: nil, thinking_sound_probability: nil, thinking_sound_volume: nil, transfer_phone_number: nil, type: nil, voice: nil, voicemail_message: nil, voicemail_sms_prompt: nil, warm_transfer_summary_instructions: nil, webhook_url: nil, zoho: nil, request_options: {})
|
|
100
154
|
#
|
|
101
155
|
# @param id [String]
|
|
102
156
|
#
|
|
103
|
-
# @param
|
|
157
|
+
# @param after_call_sms_outcomes [Array<Symbol, Revox::Models::AssistantUpdateParams::AfterCallSMSOutcome>, nil] Which call outcomes trigger the after-call SMS. When empty or null, no after-cal
|
|
158
|
+
#
|
|
159
|
+
# @param after_call_sms_prompt [String, nil] Prompt / instructions for the after-call SMS. Supports {{variable}} placeholders
|
|
160
|
+
#
|
|
161
|
+
# @param background_sound [Symbol, Revox::Models::AssistantUpdateParams::BackgroundSound, nil] Ambient background sound to play during the call. null/omitted disables it.
|
|
104
162
|
#
|
|
105
|
-
# @param
|
|
163
|
+
# @param background_sound_volume [Float] Volume of the ambient background sound (0 = silent, 1 = max).
|
|
164
|
+
#
|
|
165
|
+
# @param calendly [Revox::Models::AssistantUpdateParams::Calendly, nil]
|
|
106
166
|
#
|
|
107
167
|
# @param call_retry_config [Revox::Models::AssistantUpdateParams::CallRetryConfig] Configuration for call retry behavior including time windows, delays, and max it
|
|
108
168
|
#
|
|
169
|
+
# @param cartesia_dictionary_pronunciation_id [String, nil] Optional Cartesia pronunciation dictionary ID to use for this assistant's calls.
|
|
170
|
+
#
|
|
171
|
+
# @param custom_tools [Array<Revox::Models::AssistantUpdateParams::CustomTool>, nil] Custom API tools the assistant can call during conversations. Each tool defines
|
|
172
|
+
#
|
|
173
|
+
# @param email_notification_address [String, nil] Email address(es) to receive notifications when a call ends with a matching outc
|
|
174
|
+
#
|
|
175
|
+
# @param email_notification_language [Symbol, Revox::Models::AssistantUpdateParams::EmailNotificationLanguage] The language used for the notification email content. One of "en" or "fr". Defau
|
|
176
|
+
#
|
|
177
|
+
# @param email_notification_outcomes [Array<Symbol, Revox::Models::AssistantUpdateParams::EmailNotificationOutcome>, nil] Which call outcomes trigger an email notification. E.g. ["interested", "complete
|
|
178
|
+
#
|
|
109
179
|
# @param end_of_call_sentence [String] Optional message to say when the agent decides to end the call.
|
|
110
180
|
#
|
|
111
181
|
# @param faq_items [Array<Revox::Models::AssistantUpdateParams::FaqItem>] FAQ items to associate with this assistant. When provided, replaces all existing
|
|
@@ -116,26 +186,64 @@ module Revox
|
|
|
116
186
|
#
|
|
117
187
|
# @param first_sentence_mode [Symbol, Revox::Models::AssistantUpdateParams::FirstSentenceMode] How the first sentence should be handled. "generated" means the LLM will generat
|
|
118
188
|
#
|
|
189
|
+
# @param from_phone_number [String, nil] Override the default outbound phone number for calls placed with this assistant.
|
|
190
|
+
#
|
|
191
|
+
# @param human_transfer_mode [Symbol, Revox::Models::AssistantUpdateParams::HumanTransferMode, nil] When transfer_phone_number is set: "warm" (AI bridges) or "cold" (SIP REFER; tru
|
|
192
|
+
#
|
|
119
193
|
# @param ivr_navigation_enabled [Boolean] Enable IVR navigation tools. When enabled, the assistant can send DTMF tones and
|
|
120
194
|
#
|
|
121
|
-
# @param llm_model [Revox::Models::AssistantUpdateParams::LlmModel::UnionMember0, Revox::Models::AssistantUpdateParams::LlmModel::UnionMember1]
|
|
195
|
+
# @param llm_model [Revox::Models::AssistantUpdateParams::LlmModel::UnionMember0, Revox::Models::AssistantUpdateParams::LlmModel::UnionMember1, Revox::Models::AssistantUpdateParams::LlmModel::UnionMember2, Revox::Models::AssistantUpdateParams::LlmModel::UnionMember3]
|
|
196
|
+
#
|
|
197
|
+
# @param logo_url [String, nil] Public URL of the brand logo shown on the assistant's demo page. Upload a new lo
|
|
122
198
|
#
|
|
123
199
|
# @param max_call_duration_secs [Float] The maximum duration of the call in seconds. This is the maximum time the call w
|
|
124
200
|
#
|
|
201
|
+
# @param max_duration_end_message [String, nil] Optional message the agent will say, without being interruptible, when the call
|
|
202
|
+
#
|
|
125
203
|
# @param name [String]
|
|
126
204
|
#
|
|
205
|
+
# @param position [Revox::Models::AssistantUpdateParams::Position, nil] Canvas position of this assistant's node in its multi-step flow editor.
|
|
206
|
+
#
|
|
127
207
|
# @param prompt [String] The prompt to use for the call. This will be given to the LLM (gpt-4.1)
|
|
128
208
|
#
|
|
209
|
+
# @param prompt_flow [Revox::Models::AssistantUpdateParams::PromptFlow, nil] Visual prompt constructor data (nodes, edges, positions). Used by the UI to re-o
|
|
210
|
+
#
|
|
211
|
+
# @param slack [Revox::Models::AssistantUpdateParams::Slack, nil] Slack notification config. When set, posts a message to the chosen channel after
|
|
212
|
+
#
|
|
213
|
+
# @param sms_enabled [Boolean] Enable SMS tool during calls. When enabled, the agent can send SMS messages to t
|
|
214
|
+
#
|
|
215
|
+
# @param sms_template [String, nil] Hardcoded SMS template to send during calls. When set, this exact text is sent i
|
|
216
|
+
#
|
|
129
217
|
# @param structured_output_config [Array<Revox::Models::AssistantUpdateParams::StructuredOutputConfig>] The structured output config to use for the call. This is used to extract the da
|
|
130
218
|
#
|
|
219
|
+
# @param structured_output_prompt [String, nil] Custom prompt for structured data extraction. If not provided, a default prompt
|
|
220
|
+
#
|
|
221
|
+
# @param stt_context [Revox::Models::AssistantUpdateParams::SttContext, nil] Assistant-level speech-to-text context: structured `general` key/value pairs plu
|
|
222
|
+
#
|
|
223
|
+
# @param stt_model [Symbol, Revox::Models::AssistantUpdateParams::SttModel] Transcriber (speech-to-text) model. Defaults to the newest Soniox realtime model
|
|
224
|
+
#
|
|
225
|
+
# @param thinking_sound [Symbol, Revox::Models::AssistantUpdateParams::ThinkingSound, nil] Audio clip to play while the agent is processing a response. One of the built-in
|
|
226
|
+
#
|
|
227
|
+
# @param thinking_sound_probability [Float] Probability [0..1] that the thinking sound plays on any given turn; otherwise th
|
|
228
|
+
#
|
|
229
|
+
# @param thinking_sound_volume [Float] Volume of the thinking sound (0 = silent, 1 = max).
|
|
230
|
+
#
|
|
131
231
|
# @param transfer_phone_number [String, nil] Phone number to transfer calls to when users request to speak to a human agent i
|
|
132
232
|
#
|
|
233
|
+
# @param type [Symbol, Revox::Models::AssistantUpdateParams::Type] Assistant kind. 'standalone' (default) is a normal assistant, 'multi-step' orche
|
|
234
|
+
#
|
|
133
235
|
# @param voice [Revox::Models::AssistantUpdateParams::Voice] The voice to use for the call. You can get the list of voices using the /voices
|
|
134
236
|
#
|
|
135
237
|
# @param voicemail_message [String, nil] If set, when voicemail is detected the agent will speak this message then hang u
|
|
136
238
|
#
|
|
239
|
+
# @param voicemail_sms_prompt [String, nil] SMS message to send when the call reaches voicemail. Supports {{variable}} place
|
|
240
|
+
#
|
|
241
|
+
# @param warm_transfer_summary_instructions [String, nil] When using warm transfer: extra instructions for the supervisor handoff summary.
|
|
242
|
+
#
|
|
137
243
|
# @param webhook_url [String] The webhook URL to call when the call is completed.
|
|
138
244
|
#
|
|
245
|
+
# @param zoho [Revox::Models::AssistantUpdateParams::Zoho, nil] Zoho CRM integration config. When set, upserts the prospect (keyed on phone) int
|
|
246
|
+
#
|
|
139
247
|
# @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
140
248
|
#
|
|
141
249
|
# @return [Revox::Models::AssistantUpdateResponse]
|
|
@@ -193,6 +301,27 @@ module Revox
|
|
|
193
301
|
)
|
|
194
302
|
end
|
|
195
303
|
|
|
304
|
+
# Create a full copy of an existing assistant, including every configuration field
|
|
305
|
+
# and FAQ items. The new assistant has the same configuration as the source, with
|
|
306
|
+
# the name suffixed by "(Copy)" and a freshly generated API key.
|
|
307
|
+
#
|
|
308
|
+
# @overload clone_(id, request_options: {})
|
|
309
|
+
#
|
|
310
|
+
# @param id [String]
|
|
311
|
+
# @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
312
|
+
#
|
|
313
|
+
# @return [Revox::Models::AssistantCloneResponse]
|
|
314
|
+
#
|
|
315
|
+
# @see Revox::Models::AssistantCloneParams
|
|
316
|
+
def clone_(id, params = {})
|
|
317
|
+
@client.request(
|
|
318
|
+
method: :post,
|
|
319
|
+
path: ["assistants/%1$s/clone", id],
|
|
320
|
+
model: Revox::Models::AssistantCloneResponse,
|
|
321
|
+
options: params[:request_options]
|
|
322
|
+
)
|
|
323
|
+
end
|
|
324
|
+
|
|
196
325
|
# @api private
|
|
197
326
|
#
|
|
198
327
|
# @param client [Revox::Client]
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Revox
|
|
4
|
+
module Resources
|
|
5
|
+
class AuthStatus
|
|
6
|
+
# Check if your API key is still valid.
|
|
7
|
+
#
|
|
8
|
+
# @overload retrieve(request_options: {})
|
|
9
|
+
#
|
|
10
|
+
# @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
11
|
+
#
|
|
12
|
+
# @return [Revox::Models::AuthStatusRetrieveResponse]
|
|
13
|
+
#
|
|
14
|
+
# @see Revox::Models::AuthStatusRetrieveParams
|
|
15
|
+
def retrieve(params = {})
|
|
16
|
+
@client.request(
|
|
17
|
+
method: :get,
|
|
18
|
+
path: "auth-status",
|
|
19
|
+
model: Revox::Models::AuthStatusRetrieveResponse,
|
|
20
|
+
options: params[:request_options]
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# @api private
|
|
25
|
+
#
|
|
26
|
+
# @param client [Revox::Client]
|
|
27
|
+
def initialize(client:)
|
|
28
|
+
@client = client
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
data/lib/revox/resources/call.rb
CHANGED
|
@@ -72,31 +72,147 @@ module Revox
|
|
|
72
72
|
)
|
|
73
73
|
end
|
|
74
74
|
|
|
75
|
-
#
|
|
76
|
-
# phone number, assistant used, transcript, and timestamps. Use the page and
|
|
77
|
-
# page_size query parameters to navigate through results.
|
|
75
|
+
# Cancel a running or scheduled call.
|
|
78
76
|
#
|
|
79
|
-
# @overload
|
|
77
|
+
# @overload cancel(id, request_options: {})
|
|
80
78
|
#
|
|
81
|
-
# @param
|
|
79
|
+
# @param id [String]
|
|
80
|
+
# @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
82
81
|
#
|
|
83
|
-
# @
|
|
82
|
+
# @return [Revox::Models::CallCancelResponse]
|
|
84
83
|
#
|
|
85
|
-
# @
|
|
84
|
+
# @see Revox::Models::CallCancelParams
|
|
85
|
+
def cancel(id, params = {})
|
|
86
|
+
@client.request(
|
|
87
|
+
method: :post,
|
|
88
|
+
path: ["call/%1$s/cancel", id],
|
|
89
|
+
model: Revox::Models::CallCancelResponse,
|
|
90
|
+
options: params[:request_options]
|
|
91
|
+
)
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
# Some parameter documentations has been truncated, see
|
|
95
|
+
# {Revox::Models::CallExportParams} for more details.
|
|
96
|
+
#
|
|
97
|
+
# Export a list of call attempts as a CSV file.
|
|
98
|
+
#
|
|
99
|
+
# @overload export(filters:, include_metadata: nil, include_structured_output_fields: nil, request_options: {})
|
|
100
|
+
#
|
|
101
|
+
# @param filters [Revox::Models::CallExportParams::Filters]
|
|
102
|
+
#
|
|
103
|
+
# @param include_metadata [Boolean] Whether to include the metadata in the CSV file. These are the fields you (optio
|
|
104
|
+
#
|
|
105
|
+
# @param include_structured_output_fields [Boolean] Whether to include the structured output fields in the CSV file. These are gener
|
|
86
106
|
#
|
|
87
107
|
# @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
88
108
|
#
|
|
89
|
-
# @return [Revox::Models::
|
|
109
|
+
# @return [Revox::Models::CallExportResponse]
|
|
90
110
|
#
|
|
91
|
-
# @see Revox::Models::
|
|
92
|
-
def
|
|
93
|
-
parsed, options = Revox::
|
|
94
|
-
|
|
111
|
+
# @see Revox::Models::CallExportParams
|
|
112
|
+
def export(params)
|
|
113
|
+
parsed, options = Revox::CallExportParams.dump_request(params)
|
|
114
|
+
@client.request(
|
|
115
|
+
method: :post,
|
|
116
|
+
path: "call/export",
|
|
117
|
+
body: parsed,
|
|
118
|
+
model: Revox::Models::CallExportResponse,
|
|
119
|
+
options: options
|
|
120
|
+
)
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
# Pause a call's retry loop. The current in-progress attempt (if any) will finish,
|
|
124
|
+
# but no new attempts will be started until the call is resumed.
|
|
125
|
+
#
|
|
126
|
+
# @overload pause(id, request_options: {})
|
|
127
|
+
#
|
|
128
|
+
# @param id [String]
|
|
129
|
+
# @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
130
|
+
#
|
|
131
|
+
# @return [Revox::Models::CallPauseResponse]
|
|
132
|
+
#
|
|
133
|
+
# @see Revox::Models::CallPauseParams
|
|
134
|
+
def pause(id, params = {})
|
|
135
|
+
@client.request(
|
|
136
|
+
method: :post,
|
|
137
|
+
path: ["call/%1$s/pause", id],
|
|
138
|
+
model: Revox::Models::CallPauseResponse,
|
|
139
|
+
options: params[:request_options]
|
|
140
|
+
)
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
# Returns a map of phone numbers to the number of calls and associated campaigns
|
|
144
|
+
# across the entire organization. Useful for detecting contacts that have already
|
|
145
|
+
# been reached.
|
|
146
|
+
#
|
|
147
|
+
# @overload phone_history(request_options: {})
|
|
148
|
+
#
|
|
149
|
+
# @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
150
|
+
#
|
|
151
|
+
# @return [Revox::Models::CallPhoneHistoryResponse]
|
|
152
|
+
#
|
|
153
|
+
# @see Revox::Models::CallPhoneHistoryParams
|
|
154
|
+
def phone_history(params = {})
|
|
95
155
|
@client.request(
|
|
96
156
|
method: :get,
|
|
97
|
-
path: "
|
|
98
|
-
|
|
99
|
-
|
|
157
|
+
path: "calls/phone-history",
|
|
158
|
+
model: Revox::Models::CallPhoneHistoryResponse,
|
|
159
|
+
options: params[:request_options]
|
|
160
|
+
)
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
# Resume a previously paused call. The retry loop will continue from where it left
|
|
164
|
+
# off.
|
|
165
|
+
#
|
|
166
|
+
# @overload resume(id, request_options: {})
|
|
167
|
+
#
|
|
168
|
+
# @param id [String]
|
|
169
|
+
# @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
170
|
+
#
|
|
171
|
+
# @return [Revox::Models::CallResumeResponse]
|
|
172
|
+
#
|
|
173
|
+
# @see Revox::Models::CallResumeParams
|
|
174
|
+
def resume(id, params = {})
|
|
175
|
+
@client.request(
|
|
176
|
+
method: :post,
|
|
177
|
+
path: ["call/%1$s/resume", id],
|
|
178
|
+
model: Revox::Models::CallResumeResponse,
|
|
179
|
+
options: params[:request_options]
|
|
180
|
+
)
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
# Retrieve a paginated list of call attempts. Each entry includes the call status,
|
|
184
|
+
# phone number, assistant used, transcript, and timestamps. Use the page and
|
|
185
|
+
# page_size query parameters to navigate through results.
|
|
186
|
+
#
|
|
187
|
+
# @overload search(assignee_ids:, assistant_ids:, campaign_ids:, directions:, from_phone_numbers:, outcomes:, page:, page_size:, results:, statuses:, call_ids: nil, query: nil, sort_by: nil, sort_direction: nil, to_phone_number: nil, request_options: {})
|
|
188
|
+
#
|
|
189
|
+
# @param assignee_ids [Array<String>]
|
|
190
|
+
# @param assistant_ids [Array<String>]
|
|
191
|
+
# @param campaign_ids [Array<String>]
|
|
192
|
+
# @param directions [Array<Symbol, Revox::Models::CallSearchParams::Direction>]
|
|
193
|
+
# @param from_phone_numbers [Array<String>]
|
|
194
|
+
# @param outcomes [Array<Symbol, Revox::Models::CallSearchParams::Outcome>]
|
|
195
|
+
# @param page [Integer]
|
|
196
|
+
# @param page_size [Integer]
|
|
197
|
+
# @param results [Array<Symbol, Revox::Models::CallSearchParams::Result>]
|
|
198
|
+
# @param statuses [Array<Symbol, Revox::Models::CallSearchParams::Status>]
|
|
199
|
+
# @param call_ids [Array<String>]
|
|
200
|
+
# @param query [String]
|
|
201
|
+
# @param sort_by [String]
|
|
202
|
+
# @param sort_direction [Symbol, Revox::Models::CallSearchParams::SortDirection]
|
|
203
|
+
# @param to_phone_number [String]
|
|
204
|
+
# @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
205
|
+
#
|
|
206
|
+
# @return [Revox::Models::CallSearchResponse]
|
|
207
|
+
#
|
|
208
|
+
# @see Revox::Models::CallSearchParams
|
|
209
|
+
def search(params)
|
|
210
|
+
parsed, options = Revox::CallSearchParams.dump_request(params)
|
|
211
|
+
@client.request(
|
|
212
|
+
method: :post,
|
|
213
|
+
path: "call/search",
|
|
214
|
+
body: parsed,
|
|
215
|
+
model: Revox::Models::CallSearchResponse,
|
|
100
216
|
options: options
|
|
101
217
|
)
|
|
102
218
|
end
|
|
@@ -6,18 +6,21 @@ module Revox
|
|
|
6
6
|
# Some parameter documentations has been truncated, see
|
|
7
7
|
# {Revox::Models::CampaignCreateParams} for more details.
|
|
8
8
|
#
|
|
9
|
-
# Create a new outbound calling campaign
|
|
10
|
-
#
|
|
11
|
-
# of starting right away.
|
|
9
|
+
# Create a new outbound calling campaign. By default the campaign launches
|
|
10
|
+
# immediately. Set launch to false to save as a draft for later review.
|
|
12
11
|
#
|
|
13
|
-
# @overload create(assistant_id:, contacts:, name:, call_retry_config: nil, from_phone_number: nil, max_concurrent_calls: nil, scheduled_at: nil, request_options: {})
|
|
12
|
+
# @overload create(assistant_id:, contacts:, launch:, name:, type:, call_retry_config: nil, from_phone_number: nil, max_concurrent_calls: nil, scheduled_at: nil, request_options: {})
|
|
14
13
|
#
|
|
15
14
|
# @param assistant_id [String] The ID of the assistant to use
|
|
16
15
|
#
|
|
17
16
|
# @param contacts [Array<Revox::Models::CampaignCreateParams::Contact>] The list of contacts to call
|
|
18
17
|
#
|
|
18
|
+
# @param launch [Boolean] Whether to launch the campaign immediately. Set to false to save as a draft.
|
|
19
|
+
#
|
|
19
20
|
# @param name [String] The name of the campaign
|
|
20
21
|
#
|
|
22
|
+
# @param type [Symbol, Revox::Models::CampaignCreateParams::Type] Campaign type. 'jump_in' campaigns only dial while someone is on the campaign pa
|
|
23
|
+
#
|
|
21
24
|
# @param call_retry_config [Revox::Models::CampaignCreateParams::CallRetryConfig] Override retry configuration for calls in this campaign. If not provided, uses t
|
|
22
25
|
#
|
|
23
26
|
# @param from_phone_number [String] The phone number to use for outbound calls (E.164 format, e.g., +1234567890)
|
|
@@ -62,6 +65,49 @@ module Revox
|
|
|
62
65
|
)
|
|
63
66
|
end
|
|
64
67
|
|
|
68
|
+
# Some parameter documentations has been truncated, see
|
|
69
|
+
# {Revox::Models::CampaignUpdateParams} for more details.
|
|
70
|
+
#
|
|
71
|
+
# Update editable fields on a campaign. Draft campaigns support updating all
|
|
72
|
+
# fields including assistant, contacts, and settings. Non-draft campaigns only
|
|
73
|
+
# support renaming.
|
|
74
|
+
#
|
|
75
|
+
# @overload update(id, assistant_id: nil, call_retry_config: nil, contacts: nil, from_phone_number: nil, max_concurrent_calls: nil, name: nil, scheduled_at: nil, type: nil, request_options: {})
|
|
76
|
+
#
|
|
77
|
+
# @param id [String]
|
|
78
|
+
#
|
|
79
|
+
# @param assistant_id [String] The ID of the assistant to use (draft only)
|
|
80
|
+
#
|
|
81
|
+
# @param call_retry_config [Revox::Models::CampaignUpdateParams::CallRetryConfig, nil] Configuration for call retry behavior including time windows, delays, and max it
|
|
82
|
+
#
|
|
83
|
+
# @param contacts [Array<Revox::Models::CampaignUpdateParams::Contact>] Replace contact list (draft only)
|
|
84
|
+
#
|
|
85
|
+
# @param from_phone_number [String, nil] The phone number to use for outbound calls (draft only)
|
|
86
|
+
#
|
|
87
|
+
# @param max_concurrent_calls [Float, nil] Maximum concurrent calls (draft only)
|
|
88
|
+
#
|
|
89
|
+
# @param name [String] Campaign display name
|
|
90
|
+
#
|
|
91
|
+
# @param scheduled_at [Time, Object, nil] Scheduled start time (draft only)
|
|
92
|
+
#
|
|
93
|
+
# @param type [Symbol, Revox::Models::CampaignUpdateParams::Type] Campaign type (draft only)
|
|
94
|
+
#
|
|
95
|
+
# @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
96
|
+
#
|
|
97
|
+
# @return [Revox::Models::CampaignUpdateResponse]
|
|
98
|
+
#
|
|
99
|
+
# @see Revox::Models::CampaignUpdateParams
|
|
100
|
+
def update(id, params = {})
|
|
101
|
+
parsed, options = Revox::CampaignUpdateParams.dump_request(params)
|
|
102
|
+
@client.request(
|
|
103
|
+
method: :patch,
|
|
104
|
+
path: ["campaigns/%1$s", id],
|
|
105
|
+
body: parsed,
|
|
106
|
+
model: Revox::Models::CampaignUpdateResponse,
|
|
107
|
+
options: options
|
|
108
|
+
)
|
|
109
|
+
end
|
|
110
|
+
|
|
65
111
|
# Retrieve all campaigns for your organization, including both active and
|
|
66
112
|
# completed ones.
|
|
67
113
|
#
|
|
@@ -142,31 +188,111 @@ module Revox
|
|
|
142
188
|
)
|
|
143
189
|
end
|
|
144
190
|
|
|
145
|
-
# Retrieve
|
|
146
|
-
#
|
|
191
|
+
# Retrieve all contact rows for a campaign. Useful for loading draft campaign data
|
|
192
|
+
# for editing.
|
|
147
193
|
#
|
|
148
|
-
# @overload get_rows(id,
|
|
194
|
+
# @overload get_rows(id, request_options: {})
|
|
149
195
|
#
|
|
150
196
|
# @param id [String]
|
|
151
|
-
# @param page [Float]
|
|
152
|
-
# @param page_size [Float]
|
|
153
|
-
# @param query [String]
|
|
154
|
-
# @param result [Symbol, Revox::Models::CampaignGetRowsParams::Result]
|
|
155
|
-
# @param statuses [String]
|
|
156
197
|
# @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
157
198
|
#
|
|
158
199
|
# @return [Revox::Models::CampaignGetRowsResponse]
|
|
159
200
|
#
|
|
160
201
|
# @see Revox::Models::CampaignGetRowsParams
|
|
161
|
-
def get_rows(id, params)
|
|
162
|
-
parsed, options = Revox::CampaignGetRowsParams.dump_request(params)
|
|
163
|
-
query = Revox::Internal::Util.encode_query_params(parsed)
|
|
202
|
+
def get_rows(id, params = {})
|
|
164
203
|
@client.request(
|
|
165
204
|
method: :get,
|
|
166
205
|
path: ["campaigns/%1$s/rows", id],
|
|
167
|
-
query: query,
|
|
168
206
|
model: Revox::Models::CampaignGetRowsResponse,
|
|
169
|
-
options:
|
|
207
|
+
options: params[:request_options]
|
|
208
|
+
)
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
# Launch a previously saved draft campaign. This starts all calls immediately (or
|
|
212
|
+
# queues them if scheduled_at is set). The campaign must be in draft status.
|
|
213
|
+
#
|
|
214
|
+
# @overload launch(id, request_options: {})
|
|
215
|
+
#
|
|
216
|
+
# @param id [String]
|
|
217
|
+
# @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
218
|
+
#
|
|
219
|
+
# @return [Revox::Models::CampaignLaunchResponse]
|
|
220
|
+
#
|
|
221
|
+
# @see Revox::Models::CampaignLaunchParams
|
|
222
|
+
def launch(id, params = {})
|
|
223
|
+
@client.request(
|
|
224
|
+
method: :post,
|
|
225
|
+
path: ["campaigns/%1$s/launch", id],
|
|
226
|
+
model: Revox::Models::CampaignLaunchResponse,
|
|
227
|
+
options: params[:request_options]
|
|
228
|
+
)
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
# Pause a running campaign so no further calls are placed. In-progress calls are
|
|
232
|
+
# allowed to finish; pending and scheduled calls are held until the campaign is
|
|
233
|
+
# resumed. Scheduled retry timers keep counting down, so a call resumed before its
|
|
234
|
+
# time fires on schedule, while one resumed after its time fires at the next
|
|
235
|
+
# available calling window.
|
|
236
|
+
#
|
|
237
|
+
# @overload pause(id, request_options: {})
|
|
238
|
+
#
|
|
239
|
+
# @param id [String]
|
|
240
|
+
# @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
241
|
+
#
|
|
242
|
+
# @return [Revox::Models::CampaignPauseResponse]
|
|
243
|
+
#
|
|
244
|
+
# @see Revox::Models::CampaignPauseParams
|
|
245
|
+
def pause(id, params = {})
|
|
246
|
+
@client.request(
|
|
247
|
+
method: :post,
|
|
248
|
+
path: ["campaigns/%1$s/pause", id],
|
|
249
|
+
model: Revox::Models::CampaignPauseResponse,
|
|
250
|
+
options: params[:request_options]
|
|
251
|
+
)
|
|
252
|
+
end
|
|
253
|
+
|
|
254
|
+
# Resume a paused campaign. Held calls continue from where they left off; calls
|
|
255
|
+
# whose scheduled time passed during the pause are placed at the next available
|
|
256
|
+
# calling window.
|
|
257
|
+
#
|
|
258
|
+
# @overload resume(id, request_options: {})
|
|
259
|
+
#
|
|
260
|
+
# @param id [String]
|
|
261
|
+
# @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
262
|
+
#
|
|
263
|
+
# @return [Revox::Models::CampaignResumeResponse]
|
|
264
|
+
#
|
|
265
|
+
# @see Revox::Models::CampaignResumeParams
|
|
266
|
+
def resume(id, params = {})
|
|
267
|
+
@client.request(
|
|
268
|
+
method: :post,
|
|
269
|
+
path: ["campaigns/%1$s/resume", id],
|
|
270
|
+
model: Revox::Models::CampaignResumeResponse,
|
|
271
|
+
options: params[:request_options]
|
|
272
|
+
)
|
|
273
|
+
end
|
|
274
|
+
|
|
275
|
+
# Retrieve the "Statistiques" report for a campaign: the four-tile cascade funnel
|
|
276
|
+
# (appelés → eus en ligne → réels échanges → leads chauds), two secondary tiles,
|
|
277
|
+
# the distribution of exchanges by outcome, the list of hot leads, and
|
|
278
|
+
# data-extraction coverage. All counts are over distinct E.164-normalized phone
|
|
279
|
+
# numbers, and the outcome-based categories derive exclusively from calls.outcome.
|
|
280
|
+
# Cascade percentages are null when their denominator is zero.
|
|
281
|
+
#
|
|
282
|
+
# @overload statistics(id, request_options: {})
|
|
283
|
+
#
|
|
284
|
+
# @param id [String]
|
|
285
|
+
# @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
286
|
+
#
|
|
287
|
+
# @return [Revox::Models::CampaignStatisticsResponse]
|
|
288
|
+
#
|
|
289
|
+
# @see Revox::Models::CampaignStatisticsParams
|
|
290
|
+
def statistics(id, params = {})
|
|
291
|
+
@client.request(
|
|
292
|
+
method: :get,
|
|
293
|
+
path: ["campaigns/%1$s/statistics", id],
|
|
294
|
+
model: Revox::Models::CampaignStatisticsResponse,
|
|
295
|
+
options: params[:request_options]
|
|
170
296
|
)
|
|
171
297
|
end
|
|
172
298
|
|