Class: Payabli::Import::Client
- Inherits:
-
Object
- Object
- Payabli::Import::Client
- Defined in:
- lib/payabli/import/client.rb
Instance Method Summary collapse
-
#import_bills(request_options: {}, **params) ⇒ Payabli::Types::PayabliApiResponseImport
Import a list of bills from a CSV file.
-
#import_customer(request_options: {}, **params) ⇒ Payabli::Types::PayabliApiResponseImport
Import a list of customers from a CSV file.
-
#import_vendor(request_options: {}, **params) ⇒ Payabli::Types::PayabliApiResponseImport
Import a list of vendors from a CSV file.
- #initialize(client:) ⇒ void constructor
Constructor Details
#initialize(client:) ⇒ void
9 10 11 |
# File 'lib/payabli/import/client.rb', line 9 def initialize(client:) @client = client end |
Instance Method Details
#import_bills(request_options: {}, **params) ⇒ Payabli::Types::PayabliApiResponseImport
Import a list of bills from a CSV file. See the [Import Guide](/developers/developer-guides/bills-add#import-bills) for more help and an example file.
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/payabli/import/client.rb', line 26 def import_bills(request_options: {}, **params) params = Payabli::Internal::Types::Utils.normalize_keys(params) body = Internal::Multipart::FormData.new body.add_part(params[:file].to_form_data_part(name: "file")) if params[:file] request = Payabli::Internal::Multipart::Request.new( base_url: [:base_url], method: "POST", path: "Import/billsForm/#{URI.encode_uri_component(params[:entry].to_s)}", body: body, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Payabli::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Payabli::Types::PayabliApiResponseImport.load(response.body) else error_class = Payabli::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#import_customer(request_options: {}, **params) ⇒ Payabli::Types::PayabliApiResponseImport
Import a list of customers from a CSV file. See the [Import Guide](/developers/developer-guides/entities-customers#import-customers) for more help and example files.
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/payabli/import/client.rb', line 67 def import_customer(request_options: {}, **params) params = Payabli::Internal::Types::Utils.normalize_keys(params) body = Internal::Multipart::FormData.new body.add_part(params[:file].to_form_data_part(name: "file")) if params[:file] request = Payabli::Internal::Multipart::Request.new( base_url: [:base_url], method: "POST", path: "Import/customersForm/#{URI.encode_uri_component(params[:entry].to_s)}", body: body, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Payabli::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Payabli::Types::PayabliApiResponseImport.load(response.body) else error_class = Payabli::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#import_vendor(request_options: {}, **params) ⇒ Payabli::Types::PayabliApiResponseImport
Import a list of vendors from a CSV file. See the [Import Guide](/developers/developer-guides/entities-vendors#import-vendors) for more help and example files.
107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 |
# File 'lib/payabli/import/client.rb', line 107 def import_vendor(request_options: {}, **params) params = Payabli::Internal::Types::Utils.normalize_keys(params) body = Internal::Multipart::FormData.new body.add_part(params[:file].to_form_data_part(name: "file")) if params[:file] request = Payabli::Internal::Multipart::Request.new( base_url: [:base_url], method: "POST", path: "Import/vendorsForm/#{URI.encode_uri_component(params[:entry].to_s)}", body: body, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Payabli::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Payabli::Types::PayabliApiResponseImport.load(response.body) else error_class = Payabli::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |