27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
# File 'lib/candid/superbills/v_1/client.rb', line 27
def create_superbill(request_options: {}, **params)
params = Candid::Internal::Types::Utils.normalize_keys(params)
request = Candid::Internal::JSON::Request.new(
base_url: request_options[:base_url] || @base_url || @environment&.dig(:candid_api),
method: "POST",
path: "/api/superbill/v1",
body: Candid::Superbills::V1::Types::CreateSuperbillRequest.new(params).to_h,
request_options: request_options
)
begin
response = @client.send(request)
rescue Net::HTTPRequestTimeout
raise Candid::Errors::TimeoutError
end
code = response.code.to_i
if code.between?(200, 299)
Candid::Superbills::V1::Types::SuperbillResponse.load(response.body)
else
error_class = Candid::Errors::ResponseError.subclass_for_code(code)
raise error_class.new(response.body, code: code)
end
end
|