Class: Vapi::Calls::Client
- Inherits:
-
Object
- Object
- Vapi::Calls::Client
- Defined in:
- lib/vapi/calls/client.rb
Instance Method Summary collapse
- #create(request_options: {}, **params) ⇒ Vapi::Calls::Types::CreateCallsResponse
- #delete(request_options: {}, **params) ⇒ Vapi::Types::Call
- #get(request_options: {}, **params) ⇒ Vapi::Types::Call
- #initialize(client:) ⇒ void constructor
- #list(request_options: {}, **params) ⇒ Array[Vapi::Types::Call]
- #update(request_options: {}, **params) ⇒ Vapi::Types::Call
Constructor Details
#initialize(client:) ⇒ void
9 10 11 |
# File 'lib/vapi/calls/client.rb', line 9 def initialize(client:) @client = client end |
Instance Method Details
#create(request_options: {}, **params) ⇒ Vapi::Calls::Types::CreateCallsResponse
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/vapi/calls/client.rb', line 80 def create(request_options: {}, **params) params = Vapi::Internal::Types::Utils.normalize_keys(params) request = Vapi::Internal::JSON::Request.new( base_url: [:base_url], method: "POST", path: "call", body: Vapi::Calls::Types::CreateCallDto.new(params).to_h, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Vapi::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Vapi::Calls::Types::CreateCallsResponse.load(response.body) else error_class = Vapi::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#delete(request_options: {}, **params) ⇒ Vapi::Types::Call
145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 |
# File 'lib/vapi/calls/client.rb', line 145 def delete(request_options: {}, **params) params = Vapi::Internal::Types::Utils.normalize_keys(params) request_data = Vapi::Calls::Types::DeleteCallDto.new(params).to_h non_body_param_names = ["id"] body = request_data.except(*non_body_param_names) request = Vapi::Internal::JSON::Request.new( base_url: [:base_url], method: "DELETE", path: "call/#{URI.encode_uri_component(params[:id].to_s)}", body: body, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Vapi::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Vapi::Types::Call.load(response.body) else error_class = Vapi::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#get(request_options: {}, **params) ⇒ Vapi::Types::Call
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
# File 'lib/vapi/calls/client.rb', line 113 def get(request_options: {}, **params) params = Vapi::Internal::Types::Utils.normalize_keys(params) request = Vapi::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "call/#{URI.encode_uri_component(params[:id].to_s)}", request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Vapi::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Vapi::Types::Call.load(response.body) else error_class = Vapi::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#list(request_options: {}, **params) ⇒ Array[Vapi::Types::Call]
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/vapi/calls/client.rb', line 34 def list(request_options: {}, **params) params = Vapi::Internal::Types::Utils.normalize_keys(params) query_param_names = %i[id assistant_id phone_number_id limit created_at_gt created_at_lt created_at_ge created_at_le updated_at_gt updated_at_lt updated_at_ge updated_at_le] query_params = {} query_params["id"] = params[:id] if params.key?(:id) query_params["assistantId"] = params[:assistant_id] if params.key?(:assistant_id) query_params["phoneNumberId"] = params[:phone_number_id] if params.key?(:phone_number_id) query_params["limit"] = params[:limit] if params.key?(:limit) query_params["createdAtGt"] = params[:created_at_gt] if params.key?(:created_at_gt) query_params["createdAtLt"] = params[:created_at_lt] if params.key?(:created_at_lt) query_params["createdAtGe"] = params[:created_at_ge] if params.key?(:created_at_ge) query_params["createdAtLe"] = params[:created_at_le] if params.key?(:created_at_le) query_params["updatedAtGt"] = params[:updated_at_gt] if params.key?(:updated_at_gt) query_params["updatedAtLt"] = params[:updated_at_lt] if params.key?(:updated_at_lt) query_params["updatedAtGe"] = params[:updated_at_ge] if params.key?(:updated_at_ge) query_params["updatedAtLe"] = params[:updated_at_le] if params.key?(:updated_at_le) params.except(*query_param_names) request = Vapi::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "call", query: query_params, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Vapi::Errors::TimeoutError end code = response.code.to_i return if code.between?(200, 299) error_class = Vapi::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end |
#update(request_options: {}, **params) ⇒ Vapi::Types::Call
182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 |
# File 'lib/vapi/calls/client.rb', line 182 def update(request_options: {}, **params) params = Vapi::Internal::Types::Utils.normalize_keys(params) request_data = Vapi::Calls::Types::UpdateCallDto.new(params).to_h non_body_param_names = ["id"] body = request_data.except(*non_body_param_names) request = Vapi::Internal::JSON::Request.new( base_url: [:base_url], method: "PATCH", path: "call/#{URI.encode_uri_component(params[:id].to_s)}", body: body, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Vapi::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Vapi::Types::Call.load(response.body) else error_class = Vapi::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |