payabli 3.0.18 → 3.0.20
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/.fern/metadata.json +3 -3
- data/lib/payabli/applications/client.rb +735 -0
- data/lib/payabli/applications/types/create_application_request.rb +27 -0
- data/lib/payabli/applications/types/list_applications_applications_request.rb +13 -0
- data/lib/payabli/applications/types/submit_application_request.rb +13 -0
- data/lib/payabli/applications/types/update_application_request.rb +25 -0
- data/lib/payabli/applications/types/upload_application_document_request.rb +11 -0
- data/lib/payabli/applications/types/withdraw_application_request.rb +13 -0
- data/lib/payabli/boarding/client.rb +90 -0
- data/lib/payabli/boarding_templates/client.rb +196 -0
- data/lib/payabli/boarding_templates/types/list_templates_boarding_templates_request.rb +25 -0
- data/lib/payabli/businesses/client.rb +796 -0
- data/lib/payabli/businesses/types/create_business_address_request.rb +31 -0
- data/lib/payabli/businesses/types/deactivate_business_request.rb +13 -0
- data/lib/payabli/businesses/types/link_business_person_request.rb +35 -0
- data/lib/payabli/businesses/types/list_businesses_businesses_request.rb +25 -0
- data/lib/payabli/businesses/types/update_business_address_request.rb +33 -0
- data/lib/payabli/businesses/types/update_business_person_request.rb +35 -0
- data/lib/payabli/businesses/types/update_business_request.rb +63 -0
- data/lib/payabli/businesses/types/update_business_request_legal_structure.rb +21 -0
- data/lib/payabli/businesses/types/update_business_request_operating_seasons_item.rb +16 -0
- data/lib/payabli/client.rb +31 -1
- data/lib/payabli/export/client.rb +2 -3
- data/lib/payabli/ghost_card/client.rb +48 -2
- data/lib/payabli/money_out/client.rb +56 -2
- data/lib/payabli/money_out/types/reissue_out_request.rb +2 -0
- data/lib/payabli/payment_methods/client.rb +254 -0
- data/lib/payabli/payment_methods/types/create_payment_methods_request.rb +11 -0
- data/lib/payabli/payment_methods/types/list_payment_methods_payment_methods_request.rb +25 -0
- data/lib/payabli/payment_methods/types/update_payment_method_request.rb +23 -0
- data/lib/payabli/paypoints/client.rb +204 -0
- data/lib/payabli/paypoints/types/create_paypoint_paypoints_request.rb +17 -0
- data/lib/payabli/paypoints/types/list_paypoints_paypoints_request.rb +19 -0
- data/lib/payabli/paypoints/types/update_paypoint_request.rb +29 -0
- data/lib/payabli/people/client.rb +428 -0
- data/lib/payabli/people/types/create_person_request.rb +47 -0
- data/lib/payabli/people/types/list_people_people_request.rb +23 -0
- data/lib/payabli/people/types/search_people_request.rb +15 -0
- data/lib/payabli/people/types/search_people_unmasked_request.rb +15 -0
- data/lib/payabli/people/types/update_person_request.rb +41 -0
- data/lib/payabli/subscription/types/request_update_schedule.rb +2 -0
- data/lib/payabli/templates/client.rb +25 -0
- data/lib/payabli/types/address_type.rb +16 -0
- data/lib/payabli/types/application.rb +46 -0
- data/lib/payabli/types/application_common.rb +42 -0
- data/lib/payabli/types/application_document.rb +26 -0
- data/lib/payabli/types/application_document_envelope.rb +16 -0
- data/lib/payabli/types/application_document_error.rb +16 -0
- data/lib/payabli/types/application_document_list_envelope.rb +16 -0
- data/lib/payabli/types/application_envelope.rb +16 -0
- data/lib/payabli/types/application_links.rb +12 -0
- data/lib/payabli/types/application_list_item.rb +52 -0
- data/lib/payabli/types/associated_vendor.rb +2 -0
- data/lib/payabli/types/bank_account_services.rb +2 -2
- data/lib/payabli/types/bill_query_record_2.rb +2 -0
- data/lib/payabli/types/bill_response_data.rb +2 -0
- data/lib/payabli/types/bill_transaction_reference.rb +12 -0
- data/lib/payabli/types/boarding_warning.rb +12 -0
- data/lib/payabli/types/business_address.rb +28 -0
- data/lib/payabli/types/business_address_create.rb +28 -0
- data/lib/payabli/types/business_address_deleted_envelope.rb +16 -0
- data/lib/payabli/types/business_address_deleted_response.rb +16 -0
- data/lib/payabli/types/business_address_envelope.rb +16 -0
- data/lib/payabli/types/business_address_links.rb +12 -0
- data/lib/payabli/types/business_address_list_envelope.rb +16 -0
- data/lib/payabli/types/business_address_location.rb +15 -0
- data/lib/payabli/types/business_address_response.rb +32 -0
- data/lib/payabli/types/business_created_envelope.rb +18 -0
- data/lib/payabli/types/business_created_response.rb +16 -0
- data/lib/payabli/types/business_deactivated_envelope.rb +18 -0
- data/lib/payabli/types/business_deactivated_response.rb +18 -0
- data/lib/payabli/types/business_detail_envelope.rb +18 -0
- data/lib/payabli/types/business_detail_response.rb +76 -0
- data/lib/payabli/types/business_detail_response_legal_structure.rb +17 -0
- data/lib/payabli/types/business_detail_response_operating_seasons_item.rb +14 -0
- data/lib/payabli/types/business_links.rb +10 -0
- data/lib/payabli/types/business_payment_method.rb +36 -0
- data/lib/payabli/types/business_person_envelope.rb +16 -0
- data/lib/payabli/types/business_person_link.rb +42 -0
- data/lib/payabli/types/business_person_links.rb +14 -0
- data/lib/payabli/types/business_person_list_envelope.rb +16 -0
- data/lib/payabli/types/business_relationship_request.rb +35 -0
- data/lib/payabli/types/business_relationship_response.rb +36 -0
- data/lib/payabli/types/business_summary_response.rb +22 -0
- data/lib/payabli/types/business_updated_envelope.rb +18 -0
- data/lib/payabli/types/business_updated_response.rb +14 -0
- data/lib/payabli/types/case_management_money_in_service.rb +17 -0
- data/lib/payabli/types/case_management_money_out_service.rb +17 -0
- data/lib/payabli/types/certification_detail.rb +18 -0
- data/lib/payabli/types/create_business_request.rb +64 -0
- data/lib/payabli/types/create_business_request_legal_structure.rb +19 -0
- data/lib/payabli/types/create_business_request_operating_seasons_item.rb +14 -0
- data/lib/payabli/types/create_payment_method_request.rb +28 -0
- data/lib/payabli/types/create_payment_method_request_type.rb +11 -0
- data/lib/payabli/types/create_paypoint_all_fields.rb +32 -0
- data/lib/payabli/types/create_paypoint_with_business_reference.rb +31 -0
- data/lib/payabli/types/create_paypoint_with_inline_business.rb +31 -0
- data/lib/payabli/types/delete_ghost_card_response.rb +12 -0
- data/lib/payabli/types/delete_ghost_card_response_data.rb +11 -0
- data/lib/payabli/types/device_entry_mode.rb +23 -0
- data/lib/payabli/types/device_query_record.rb +6 -0
- data/lib/payabli/types/device_query_record_operational_status.rb +13 -0
- data/lib/payabli/types/document_requirement.rb +31 -0
- data/lib/payabli/types/document_requirement_list_envelope.rb +16 -0
- data/lib/payabli/types/document_requirement_source.rb +12 -0
- data/lib/payabli/types/document_subject_type.rb +13 -0
- data/lib/payabli/types/emv_auth_data.rb +14 -0
- data/lib/payabli/types/enablement_envelope.rb +16 -0
- data/lib/payabli/types/enablement_result.rb +24 -0
- data/lib/payabli/types/enablement_service.rb +18 -0
- data/lib/payabli/types/get_method_response_response_data_vendors_item.rb +2 -0
- data/lib/payabli/types/identification_document_request.rb +18 -0
- data/lib/payabli/types/identification_document_response.rb +18 -0
- data/lib/payabli/types/issue_1099.rb +23 -0
- data/lib/payabli/types/list_applications_envelope.rb +16 -0
- data/lib/payabli/types/list_applications_response.rb +16 -0
- data/lib/payabli/types/list_businesses_envelope.rb +18 -0
- data/lib/payabli/types/list_businesses_response.rb +12 -0
- data/lib/payabli/types/list_payment_methods_envelope.rb +16 -0
- data/lib/payabli/types/list_payment_methods_response.rb +12 -0
- data/lib/payabli/types/list_paypoints_envelope.rb +16 -0
- data/lib/payabli/types/list_paypoints_response.rb +16 -0
- data/lib/payabli/types/list_people_envelope.rb +16 -0
- data/lib/payabli/types/list_people_response.rb +12 -0
- data/lib/payabli/types/list_templates_response.rb +12 -0
- data/lib/payabli/types/next_check_number_response.rb +10 -0
- data/lib/payabli/types/pagination.rb +20 -0
- data/lib/payabli/types/payment_method_deactivated_envelope.rb +16 -0
- data/lib/payabli/types/payment_method_detail.rb +38 -0
- data/lib/payabli/types/payment_method_detail_envelope.rb +16 -0
- data/lib/payabli/types/payment_method_links.rb +12 -0
- data/lib/payabli/types/payment_method_owner_type.rb +12 -0
- data/lib/payabli/types/payment_method_result.rb +40 -0
- data/lib/payabli/types/payment_method_updated_envelope.rb +16 -0
- data/lib/payabli/types/payment_method_usage.rb +16 -0
- data/lib/payabli/types/payment_methods_created_envelope.rb +16 -0
- data/lib/payabli/types/payout_metrics.rb +16 -0
- data/lib/payabli/types/payout_subscription_vendor.rb +2 -0
- data/lib/payabli/types/paypoint_created_envelope.rb +16 -0
- data/lib/payabli/types/paypoint_created_response.rb +22 -0
- data/lib/payabli/types/paypoint_detail_envelope.rb +16 -0
- data/lib/payabli/types/paypoint_detail_response.rb +40 -0
- data/lib/payabli/types/paypoint_links.rb +12 -0
- data/lib/payabli/types/paypoint_summary_response.rb +38 -0
- data/lib/payabli/types/paypoint_updated_envelope.rb +16 -0
- data/lib/payabli/types/paypoint_updated_response.rb +14 -0
- data/lib/payabli/types/paypoint_writable_fields.rb +28 -0
- data/lib/payabli/types/people_search_envelope.rb +16 -0
- data/lib/payabli/types/people_search_request.rb +12 -0
- data/lib/payabli/types/people_search_result_response.rb +38 -0
- data/lib/payabli/types/people_search_results_response.rb +14 -0
- data/lib/payabli/types/person_address_request.rb +22 -0
- data/lib/payabli/types/person_address_response.rb +22 -0
- data/lib/payabli/types/person_address_type.rb +17 -0
- data/lib/payabli/types/person_detail_envelope.rb +18 -0
- data/lib/payabli/types/person_detail_response.rb +56 -0
- data/lib/payabli/types/person_links.rb +12 -0
- data/lib/payabli/types/person_summary_response.rb +24 -0
- data/lib/payabli/types/person_type.rb +16 -0
- data/lib/payabli/types/person_updated_envelope.rb +16 -0
- data/lib/payabli/types/person_updated_response.rb +14 -0
- data/lib/payabli/types/processing_metrics.rb +30 -0
- data/lib/payabli/types/query_device_data.rb +26 -0
- data/lib/payabli/types/representative_input.rb +20 -0
- data/lib/payabli/types/representative_response.rb +20 -0
- data/lib/payabli/types/requested_services.rb +13 -0
- data/lib/payabli/types/signature_type.rb +13 -0
- data/lib/payabli/types/status_history_entry.rb +22 -0
- data/lib/payabli/types/status_history_envelope.rb +16 -0
- data/lib/payabli/types/status_history_result.rb +12 -0
- data/lib/payabli/types/submit_application_error.rb +16 -0
- data/lib/payabli/types/submit_signer.rb +32 -0
- data/lib/payabli/types/template.rb +38 -0
- data/lib/payabli/types/template_status.rb +12 -0
- data/lib/payabli/types/template_version.rb +79 -0
- data/lib/payabli/types/templates_summary.rb +14 -0
- data/lib/payabli/types/transaction_query_records.rb +6 -0
- data/lib/payabli/types/transaction_query_records_customer.rb +6 -0
- data/lib/payabli/types/transfer_out_detail_vendor.rb +2 -0
- data/lib/payabli/types/transition_result.rb +14 -0
- data/lib/payabli/types/transition_result_envelope.rb +16 -0
- data/lib/payabli/types/underwriting_mode.rb +13 -0
- data/lib/payabli/types/v_card_get_response_associated_vendor.rb +2 -0
- data/lib/payabli/types/validation_missing_field.rb +14 -0
- data/lib/payabli/types/validation_result.rb +14 -0
- data/lib/payabli/types/validation_result_envelope.rb +16 -0
- data/lib/payabli/types/validation_section.rb +12 -0
- data/lib/payabli/types/validation_sections.rb +16 -0
- data/lib/payabli/types/vendor_data.rb +2 -0
- data/lib/payabli/types/vendor_data_response.rb +2 -0
- data/lib/payabli/types/vendor_out_data.rb +2 -0
- data/lib/payabli/types/vendor_query_record.rb +2 -0
- data/lib/payabli/vendor/client.rb +1 -0
- data/lib/payabli/version.rb +1 -1
- data/lib/payabli.rb +170 -2
- data/reference.md +5431 -214
- data/wiremock/wiremock-mappings.json +1689 -25
- metadata +170 -2
|
@@ -0,0 +1,796 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Payabli
|
|
4
|
+
module Businesses
|
|
5
|
+
class Client
|
|
6
|
+
# @param client [Payabli::Internal::Http::RawClient]
|
|
7
|
+
#
|
|
8
|
+
# @return [void]
|
|
9
|
+
def initialize(client:)
|
|
10
|
+
@client = client
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# Lists businesses with optional filtering and pagination.
|
|
14
|
+
#
|
|
15
|
+
# @param request_options [Hash]
|
|
16
|
+
# @param params [Hash]
|
|
17
|
+
# @option request_options [String] :base_url
|
|
18
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
19
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
20
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
21
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
22
|
+
# @option params [String, nil] :status
|
|
23
|
+
# @option params [String, nil] :name
|
|
24
|
+
# @option params [String, nil] :merchant_cat_code
|
|
25
|
+
# @option params [String, nil] :legal_structure
|
|
26
|
+
# @option params [Integer, nil] :limit
|
|
27
|
+
# @option params [Integer, nil] :page
|
|
28
|
+
# @option params [String, nil] :sort_by
|
|
29
|
+
# @option params [String, nil] :sort_order
|
|
30
|
+
#
|
|
31
|
+
# @example
|
|
32
|
+
# client.businesses.list_businesses(
|
|
33
|
+
# limit: 1,
|
|
34
|
+
# page: 1
|
|
35
|
+
# )
|
|
36
|
+
#
|
|
37
|
+
# @return [Payabli::Types::ListBusinessesEnvelope]
|
|
38
|
+
def list_businesses(request_options: {}, **params)
|
|
39
|
+
params = Payabli::Internal::Types::Utils.normalize_keys(params)
|
|
40
|
+
query_params = {}
|
|
41
|
+
query_params["status"] = params[:status] if params.key?(:status)
|
|
42
|
+
query_params["name"] = params[:name] if params.key?(:name)
|
|
43
|
+
query_params["merchantCatCode"] = params[:merchant_cat_code] if params.key?(:merchant_cat_code)
|
|
44
|
+
query_params["legalStructure"] = params[:legal_structure] if params.key?(:legal_structure)
|
|
45
|
+
query_params["limit"] = params[:limit] if params.key?(:limit)
|
|
46
|
+
query_params["page"] = params[:page] if params.key?(:page)
|
|
47
|
+
query_params["sortBy"] = params[:sort_by] if params.key?(:sort_by)
|
|
48
|
+
query_params["sortOrder"] = params[:sort_order] if params.key?(:sort_order)
|
|
49
|
+
|
|
50
|
+
headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }])
|
|
51
|
+
request = Payabli::Internal::JSON::Request.new(
|
|
52
|
+
base_url: request_options[:base_url],
|
|
53
|
+
method: "GET",
|
|
54
|
+
path: "v2/businesses",
|
|
55
|
+
headers: headers,
|
|
56
|
+
query: query_params,
|
|
57
|
+
request_options: request_options
|
|
58
|
+
)
|
|
59
|
+
begin
|
|
60
|
+
response = @client.send(request)
|
|
61
|
+
rescue Net::HTTPRequestTimeout
|
|
62
|
+
raise Payabli::Errors::TimeoutError
|
|
63
|
+
end
|
|
64
|
+
code = response.code.to_i
|
|
65
|
+
if code.between?(200, 299)
|
|
66
|
+
Payabli::Types::ListBusinessesEnvelope.load(response.body)
|
|
67
|
+
else
|
|
68
|
+
error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
|
|
69
|
+
raise error_class.new(response.body, code: code)
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# Creates a business, the legal entity behind a paypoint. New businesses
|
|
74
|
+
# start in `Draft`. Set `parentReference` to the organization
|
|
75
|
+
# the business belongs to, or omit it to use the organization your
|
|
76
|
+
# credential belongs to.
|
|
77
|
+
#
|
|
78
|
+
# @param request_options [Hash]
|
|
79
|
+
# @param params [Payabli::Types::CreateBusinessRequest]
|
|
80
|
+
# @option request_options [String] :base_url
|
|
81
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
82
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
83
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
84
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
85
|
+
#
|
|
86
|
+
# @example
|
|
87
|
+
# client.businesses.create_business(
|
|
88
|
+
# external_id: "rg-001",
|
|
89
|
+
# legal_name: "Rose Gardens LLC",
|
|
90
|
+
# legal_structure: "llc",
|
|
91
|
+
# website: "https://example.com",
|
|
92
|
+
# merchant_cat_code: "5814",
|
|
93
|
+
# phone: ["3055551212"],
|
|
94
|
+
# emails: ["ops@example.com"],
|
|
95
|
+
# payment_methods: [{
|
|
96
|
+
# type: "bank_account",
|
|
97
|
+
# name: "Operating account",
|
|
98
|
+
# financial_institution: "Bank of Example",
|
|
99
|
+
# owner_type: "business",
|
|
100
|
+
# account_type: "checking",
|
|
101
|
+
# account_number: "123456789",
|
|
102
|
+
# routing_number: "021000021",
|
|
103
|
+
# usage: %w[deposits billing],
|
|
104
|
+
# is_default: true
|
|
105
|
+
# }, {
|
|
106
|
+
# type: "bank_account",
|
|
107
|
+
# name: "Payout account",
|
|
108
|
+
# financial_institution: "Bank of Example",
|
|
109
|
+
# owner_type: "business",
|
|
110
|
+
# account_type: "checking",
|
|
111
|
+
# account_number: "987654321",
|
|
112
|
+
# routing_number: "021000021",
|
|
113
|
+
# usage: ["payOutFunding"],
|
|
114
|
+
# is_default: false
|
|
115
|
+
# }],
|
|
116
|
+
# tax_reference: "477498993",
|
|
117
|
+
# parent_reference: "8cfec329267"
|
|
118
|
+
# )
|
|
119
|
+
#
|
|
120
|
+
# @return [Payabli::Types::BusinessCreatedEnvelope]
|
|
121
|
+
def create_business(request_options: {}, **params)
|
|
122
|
+
params = Payabli::Internal::Types::Utils.normalize_keys(params)
|
|
123
|
+
headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }])
|
|
124
|
+
request = Payabli::Internal::JSON::Request.new(
|
|
125
|
+
base_url: request_options[:base_url],
|
|
126
|
+
method: "POST",
|
|
127
|
+
path: "v2/businesses",
|
|
128
|
+
headers: headers,
|
|
129
|
+
body: Payabli::Types::CreateBusinessRequest.new(params).to_h,
|
|
130
|
+
request_options: request_options
|
|
131
|
+
)
|
|
132
|
+
begin
|
|
133
|
+
response = @client.send(request)
|
|
134
|
+
rescue Net::HTTPRequestTimeout
|
|
135
|
+
raise Payabli::Errors::TimeoutError
|
|
136
|
+
end
|
|
137
|
+
code = response.code.to_i
|
|
138
|
+
if code.between?(200, 299)
|
|
139
|
+
Payabli::Types::BusinessCreatedEnvelope.load(response.body)
|
|
140
|
+
else
|
|
141
|
+
error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
|
|
142
|
+
raise error_class.new(response.body, code: code)
|
|
143
|
+
end
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
# Retrieves a business by reference. Sensitive fields such as `taxReference` are masked.
|
|
147
|
+
#
|
|
148
|
+
# @param request_options [Hash]
|
|
149
|
+
# @param params [Hash]
|
|
150
|
+
# @option request_options [String] :base_url
|
|
151
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
152
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
153
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
154
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
155
|
+
# @option params [String] :business_reference
|
|
156
|
+
#
|
|
157
|
+
# @example
|
|
158
|
+
# client.businesses.get_business(business_reference: "019fed1a-3d6e-75d3-a81e-cba3874b0a55")
|
|
159
|
+
#
|
|
160
|
+
# @return [Payabli::Types::BusinessDetailEnvelope]
|
|
161
|
+
def get_business(request_options: {}, **params)
|
|
162
|
+
params = Payabli::Internal::Types::Utils.normalize_keys(params)
|
|
163
|
+
headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }])
|
|
164
|
+
request = Payabli::Internal::JSON::Request.new(
|
|
165
|
+
base_url: request_options[:base_url],
|
|
166
|
+
method: "GET",
|
|
167
|
+
path: "v2/businesses/#{URI.encode_uri_component(params[:business_reference].to_s)}",
|
|
168
|
+
headers: headers,
|
|
169
|
+
request_options: request_options
|
|
170
|
+
)
|
|
171
|
+
begin
|
|
172
|
+
response = @client.send(request)
|
|
173
|
+
rescue Net::HTTPRequestTimeout
|
|
174
|
+
raise Payabli::Errors::TimeoutError
|
|
175
|
+
end
|
|
176
|
+
code = response.code.to_i
|
|
177
|
+
if code.between?(200, 299)
|
|
178
|
+
Payabli::Types::BusinessDetailEnvelope.load(response.body)
|
|
179
|
+
else
|
|
180
|
+
error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
|
|
181
|
+
raise error_class.new(response.body, code: code)
|
|
182
|
+
end
|
|
183
|
+
end
|
|
184
|
+
|
|
185
|
+
# Deactivates a business. This is a soft delete: the business moves to
|
|
186
|
+
# `Deactivated` and the record is kept.
|
|
187
|
+
#
|
|
188
|
+
# @param request_options [Hash]
|
|
189
|
+
# @param params [Payabli::Businesses::Types::DeactivateBusinessRequest]
|
|
190
|
+
# @option request_options [String] :base_url
|
|
191
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
192
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
193
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
194
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
195
|
+
# @option params [String] :business_reference
|
|
196
|
+
#
|
|
197
|
+
# @example
|
|
198
|
+
# client.businesses.deactivate_business(
|
|
199
|
+
# business_reference: "019fed33-615d-77b6-afaa-46e7ac9bf36e",
|
|
200
|
+
# reason: "Duplicate record"
|
|
201
|
+
# )
|
|
202
|
+
#
|
|
203
|
+
# @return [Payabli::Types::BusinessDeactivatedEnvelope]
|
|
204
|
+
def deactivate_business(request_options: {}, **params)
|
|
205
|
+
params = Payabli::Internal::Types::Utils.normalize_keys(params)
|
|
206
|
+
request_data = Payabli::Businesses::Types::DeactivateBusinessRequest.new(params).to_h
|
|
207
|
+
non_body_param_names = %w[businessReference]
|
|
208
|
+
body = request_data.except(*non_body_param_names)
|
|
209
|
+
|
|
210
|
+
headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }])
|
|
211
|
+
request = Payabli::Internal::JSON::Request.new(
|
|
212
|
+
base_url: request_options[:base_url],
|
|
213
|
+
method: "DELETE",
|
|
214
|
+
path: "v2/businesses/#{URI.encode_uri_component(params[:business_reference].to_s)}",
|
|
215
|
+
headers: headers,
|
|
216
|
+
body: body,
|
|
217
|
+
request_options: request_options
|
|
218
|
+
)
|
|
219
|
+
begin
|
|
220
|
+
response = @client.send(request)
|
|
221
|
+
rescue Net::HTTPRequestTimeout
|
|
222
|
+
raise Payabli::Errors::TimeoutError
|
|
223
|
+
end
|
|
224
|
+
code = response.code.to_i
|
|
225
|
+
if code.between?(200, 299)
|
|
226
|
+
Payabli::Types::BusinessDeactivatedEnvelope.load(response.body)
|
|
227
|
+
else
|
|
228
|
+
error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
|
|
229
|
+
raise error_class.new(response.body, code: code)
|
|
230
|
+
end
|
|
231
|
+
end
|
|
232
|
+
|
|
233
|
+
# Applies a partial update to a business. Send only the fields you want to change.
|
|
234
|
+
#
|
|
235
|
+
# @param request_options [Hash]
|
|
236
|
+
# @param params [Payabli::Businesses::Types::UpdateBusinessRequest]
|
|
237
|
+
# @option request_options [String] :base_url
|
|
238
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
239
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
240
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
241
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
242
|
+
# @option params [String] :business_reference
|
|
243
|
+
#
|
|
244
|
+
# @example
|
|
245
|
+
# client.businesses.update_business(
|
|
246
|
+
# business_reference: "019fed1a-3d6e-75d3-a81e-cba3874b0a55",
|
|
247
|
+
# website: "https://example.org"
|
|
248
|
+
# )
|
|
249
|
+
#
|
|
250
|
+
# @return [Payabli::Types::BusinessUpdatedEnvelope]
|
|
251
|
+
def update_business(request_options: {}, **params)
|
|
252
|
+
params = Payabli::Internal::Types::Utils.normalize_keys(params)
|
|
253
|
+
request_data = Payabli::Businesses::Types::UpdateBusinessRequest.new(params).to_h
|
|
254
|
+
non_body_param_names = %w[businessReference]
|
|
255
|
+
body = request_data.except(*non_body_param_names)
|
|
256
|
+
|
|
257
|
+
headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }])
|
|
258
|
+
request = Payabli::Internal::JSON::Request.new(
|
|
259
|
+
base_url: request_options[:base_url],
|
|
260
|
+
method: "PATCH",
|
|
261
|
+
path: "v2/businesses/#{URI.encode_uri_component(params[:business_reference].to_s)}",
|
|
262
|
+
headers: headers,
|
|
263
|
+
body: body,
|
|
264
|
+
request_options: request_options
|
|
265
|
+
)
|
|
266
|
+
begin
|
|
267
|
+
response = @client.send(request)
|
|
268
|
+
rescue Net::HTTPRequestTimeout
|
|
269
|
+
raise Payabli::Errors::TimeoutError
|
|
270
|
+
end
|
|
271
|
+
code = response.code.to_i
|
|
272
|
+
if code.between?(200, 299)
|
|
273
|
+
Payabli::Types::BusinessUpdatedEnvelope.load(response.body)
|
|
274
|
+
else
|
|
275
|
+
error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
|
|
276
|
+
raise error_class.new(response.body, code: code)
|
|
277
|
+
end
|
|
278
|
+
end
|
|
279
|
+
|
|
280
|
+
# Retrieves a business by reference with sensitive fields unmasked.
|
|
281
|
+
#
|
|
282
|
+
# @param request_options [Hash]
|
|
283
|
+
# @param params [Hash]
|
|
284
|
+
# @option request_options [String] :base_url
|
|
285
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
286
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
287
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
288
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
289
|
+
# @option params [String] :business_reference
|
|
290
|
+
#
|
|
291
|
+
# @example
|
|
292
|
+
# client.businesses.get_business_unmasked(business_reference: "019fed1a-3d6e-75d3-a81e-cba3874b0a55")
|
|
293
|
+
#
|
|
294
|
+
# @return [Payabli::Types::BusinessDetailEnvelope]
|
|
295
|
+
def get_business_unmasked(request_options: {}, **params)
|
|
296
|
+
params = Payabli::Internal::Types::Utils.normalize_keys(params)
|
|
297
|
+
headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }])
|
|
298
|
+
request = Payabli::Internal::JSON::Request.new(
|
|
299
|
+
base_url: request_options[:base_url],
|
|
300
|
+
method: "GET",
|
|
301
|
+
path: "v2/businesses/#{URI.encode_uri_component(params[:business_reference].to_s)}/unmasked",
|
|
302
|
+
headers: headers,
|
|
303
|
+
request_options: request_options
|
|
304
|
+
)
|
|
305
|
+
begin
|
|
306
|
+
response = @client.send(request)
|
|
307
|
+
rescue Net::HTTPRequestTimeout
|
|
308
|
+
raise Payabli::Errors::TimeoutError
|
|
309
|
+
end
|
|
310
|
+
code = response.code.to_i
|
|
311
|
+
if code.between?(200, 299)
|
|
312
|
+
Payabli::Types::BusinessDetailEnvelope.load(response.body)
|
|
313
|
+
else
|
|
314
|
+
error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
|
|
315
|
+
raise error_class.new(response.body, code: code)
|
|
316
|
+
end
|
|
317
|
+
end
|
|
318
|
+
|
|
319
|
+
# Lists the addresses on a business. Each address is identified by its `businessAddressReference`.
|
|
320
|
+
#
|
|
321
|
+
# @param request_options [Hash]
|
|
322
|
+
# @param params [Hash]
|
|
323
|
+
# @option request_options [String] :base_url
|
|
324
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
325
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
326
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
327
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
328
|
+
# @option params [String] :business_reference
|
|
329
|
+
#
|
|
330
|
+
# @example
|
|
331
|
+
# client.businesses.list_business_addresses(business_reference: "019fed1a-3d6e-75d3-a81e-cba3874b0a55")
|
|
332
|
+
#
|
|
333
|
+
# @return [Payabli::Types::BusinessAddressListEnvelope]
|
|
334
|
+
def list_business_addresses(request_options: {}, **params)
|
|
335
|
+
params = Payabli::Internal::Types::Utils.normalize_keys(params)
|
|
336
|
+
headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }])
|
|
337
|
+
request = Payabli::Internal::JSON::Request.new(
|
|
338
|
+
base_url: request_options[:base_url],
|
|
339
|
+
method: "GET",
|
|
340
|
+
path: "v2/businesses/#{URI.encode_uri_component(params[:business_reference].to_s)}/addresses",
|
|
341
|
+
headers: headers,
|
|
342
|
+
request_options: request_options
|
|
343
|
+
)
|
|
344
|
+
begin
|
|
345
|
+
response = @client.send(request)
|
|
346
|
+
rescue Net::HTTPRequestTimeout
|
|
347
|
+
raise Payabli::Errors::TimeoutError
|
|
348
|
+
end
|
|
349
|
+
code = response.code.to_i
|
|
350
|
+
if code.between?(200, 299)
|
|
351
|
+
Payabli::Types::BusinessAddressListEnvelope.load(response.body)
|
|
352
|
+
else
|
|
353
|
+
error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
|
|
354
|
+
raise error_class.new(response.body, code: code)
|
|
355
|
+
end
|
|
356
|
+
end
|
|
357
|
+
|
|
358
|
+
# Adds an address to a business. Returns the new address and its `businessAddressReference`.
|
|
359
|
+
#
|
|
360
|
+
# @param request_options [Hash]
|
|
361
|
+
# @param params [Payabli::Businesses::Types::CreateBusinessAddressRequest]
|
|
362
|
+
# @option request_options [String] :base_url
|
|
363
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
364
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
365
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
366
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
367
|
+
# @option params [String] :business_reference
|
|
368
|
+
#
|
|
369
|
+
# @example
|
|
370
|
+
# client.businesses.create_business_address(
|
|
371
|
+
# business_reference: "019fed1a-3d6e-75d3-a81e-cba3874b0a55",
|
|
372
|
+
# type: "mailing",
|
|
373
|
+
# location: "warehouse",
|
|
374
|
+
# address_line_1: "202 Warehouse Ln",
|
|
375
|
+
# city_locality: "Austin",
|
|
376
|
+
# state_province: "TX",
|
|
377
|
+
# postal_code: "73302",
|
|
378
|
+
# country: "US"
|
|
379
|
+
# )
|
|
380
|
+
#
|
|
381
|
+
# @return [Payabli::Types::BusinessAddressEnvelope]
|
|
382
|
+
def create_business_address(request_options: {}, **params)
|
|
383
|
+
params = Payabli::Internal::Types::Utils.normalize_keys(params)
|
|
384
|
+
request_data = Payabli::Businesses::Types::CreateBusinessAddressRequest.new(params).to_h
|
|
385
|
+
non_body_param_names = %w[businessReference]
|
|
386
|
+
body = request_data.except(*non_body_param_names)
|
|
387
|
+
|
|
388
|
+
headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }])
|
|
389
|
+
request = Payabli::Internal::JSON::Request.new(
|
|
390
|
+
base_url: request_options[:base_url],
|
|
391
|
+
method: "POST",
|
|
392
|
+
path: "v2/businesses/#{URI.encode_uri_component(params[:business_reference].to_s)}/addresses",
|
|
393
|
+
headers: headers,
|
|
394
|
+
body: body,
|
|
395
|
+
request_options: request_options
|
|
396
|
+
)
|
|
397
|
+
begin
|
|
398
|
+
response = @client.send(request)
|
|
399
|
+
rescue Net::HTTPRequestTimeout
|
|
400
|
+
raise Payabli::Errors::TimeoutError
|
|
401
|
+
end
|
|
402
|
+
code = response.code.to_i
|
|
403
|
+
if code.between?(200, 299)
|
|
404
|
+
Payabli::Types::BusinessAddressEnvelope.load(response.body)
|
|
405
|
+
else
|
|
406
|
+
error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
|
|
407
|
+
raise error_class.new(response.body, code: code)
|
|
408
|
+
end
|
|
409
|
+
end
|
|
410
|
+
|
|
411
|
+
# Retrieves a single business address by its `businessAddressReference`.
|
|
412
|
+
#
|
|
413
|
+
# @param request_options [Hash]
|
|
414
|
+
# @param params [Hash]
|
|
415
|
+
# @option request_options [String] :base_url
|
|
416
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
417
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
418
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
419
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
420
|
+
# @option params [String] :business_reference
|
|
421
|
+
# @option params [String] :business_address_reference
|
|
422
|
+
#
|
|
423
|
+
# @example
|
|
424
|
+
# client.businesses.get_business_address(
|
|
425
|
+
# business_reference: "019fed1a-3d6e-75d3-a81e-cba3874b0a55",
|
|
426
|
+
# business_address_reference: "019fed1a-84a6-7043-a6c0-e8aa2d4bec36"
|
|
427
|
+
# )
|
|
428
|
+
#
|
|
429
|
+
# @return [Payabli::Types::BusinessAddressEnvelope]
|
|
430
|
+
def get_business_address(request_options: {}, **params)
|
|
431
|
+
params = Payabli::Internal::Types::Utils.normalize_keys(params)
|
|
432
|
+
headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }])
|
|
433
|
+
request = Payabli::Internal::JSON::Request.new(
|
|
434
|
+
base_url: request_options[:base_url],
|
|
435
|
+
method: "GET",
|
|
436
|
+
path: "v2/businesses/#{URI.encode_uri_component(params[:business_reference].to_s)}/addresses/#{URI.encode_uri_component(params[:business_address_reference].to_s)}",
|
|
437
|
+
headers: headers,
|
|
438
|
+
request_options: request_options
|
|
439
|
+
)
|
|
440
|
+
begin
|
|
441
|
+
response = @client.send(request)
|
|
442
|
+
rescue Net::HTTPRequestTimeout
|
|
443
|
+
raise Payabli::Errors::TimeoutError
|
|
444
|
+
end
|
|
445
|
+
code = response.code.to_i
|
|
446
|
+
if code.between?(200, 299)
|
|
447
|
+
Payabli::Types::BusinessAddressEnvelope.load(response.body)
|
|
448
|
+
else
|
|
449
|
+
error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
|
|
450
|
+
raise error_class.new(response.body, code: code)
|
|
451
|
+
end
|
|
452
|
+
end
|
|
453
|
+
|
|
454
|
+
# Removes an address from a business.
|
|
455
|
+
#
|
|
456
|
+
# @param request_options [Hash]
|
|
457
|
+
# @param params [Hash]
|
|
458
|
+
# @option request_options [String] :base_url
|
|
459
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
460
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
461
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
462
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
463
|
+
# @option params [String] :business_reference
|
|
464
|
+
# @option params [String] :business_address_reference
|
|
465
|
+
#
|
|
466
|
+
# @example
|
|
467
|
+
# client.businesses.delete_business_address(
|
|
468
|
+
# business_reference: "019fed1a-3d6e-75d3-a81e-cba3874b0a55",
|
|
469
|
+
# business_address_reference: "019fed1a-67d6-768a-b4cc-29d4299e21d9"
|
|
470
|
+
# )
|
|
471
|
+
#
|
|
472
|
+
# @return [Payabli::Types::BusinessAddressDeletedEnvelope]
|
|
473
|
+
def delete_business_address(request_options: {}, **params)
|
|
474
|
+
params = Payabli::Internal::Types::Utils.normalize_keys(params)
|
|
475
|
+
headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }])
|
|
476
|
+
request = Payabli::Internal::JSON::Request.new(
|
|
477
|
+
base_url: request_options[:base_url],
|
|
478
|
+
method: "DELETE",
|
|
479
|
+
path: "v2/businesses/#{URI.encode_uri_component(params[:business_reference].to_s)}/addresses/#{URI.encode_uri_component(params[:business_address_reference].to_s)}",
|
|
480
|
+
headers: headers,
|
|
481
|
+
request_options: request_options
|
|
482
|
+
)
|
|
483
|
+
begin
|
|
484
|
+
response = @client.send(request)
|
|
485
|
+
rescue Net::HTTPRequestTimeout
|
|
486
|
+
raise Payabli::Errors::TimeoutError
|
|
487
|
+
end
|
|
488
|
+
code = response.code.to_i
|
|
489
|
+
if code.between?(200, 299)
|
|
490
|
+
Payabli::Types::BusinessAddressDeletedEnvelope.load(response.body)
|
|
491
|
+
else
|
|
492
|
+
error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
|
|
493
|
+
raise error_class.new(response.body, code: code)
|
|
494
|
+
end
|
|
495
|
+
end
|
|
496
|
+
|
|
497
|
+
# Applies a partial update to a business address. Send only the fields you want to change; omitted fields are
|
|
498
|
+
# kept.
|
|
499
|
+
#
|
|
500
|
+
# @param request_options [Hash]
|
|
501
|
+
# @param params [Payabli::Businesses::Types::UpdateBusinessAddressRequest]
|
|
502
|
+
# @option request_options [String] :base_url
|
|
503
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
504
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
505
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
506
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
507
|
+
# @option params [String] :business_reference
|
|
508
|
+
# @option params [String] :business_address_reference
|
|
509
|
+
#
|
|
510
|
+
# @example
|
|
511
|
+
# client.businesses.update_business_address(
|
|
512
|
+
# business_reference: "019fed1a-3d6e-75d3-a81e-cba3874b0a55",
|
|
513
|
+
# business_address_reference: "019fed1a-67d6-768a-b4cc-29d4299e21d9",
|
|
514
|
+
# type: "billing"
|
|
515
|
+
# )
|
|
516
|
+
#
|
|
517
|
+
# @return [Payabli::Types::BusinessAddressEnvelope]
|
|
518
|
+
def update_business_address(request_options: {}, **params)
|
|
519
|
+
params = Payabli::Internal::Types::Utils.normalize_keys(params)
|
|
520
|
+
request_data = Payabli::Businesses::Types::UpdateBusinessAddressRequest.new(params).to_h
|
|
521
|
+
non_body_param_names = %w[businessReference businessAddressReference]
|
|
522
|
+
body = request_data.except(*non_body_param_names)
|
|
523
|
+
|
|
524
|
+
headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }])
|
|
525
|
+
request = Payabli::Internal::JSON::Request.new(
|
|
526
|
+
base_url: request_options[:base_url],
|
|
527
|
+
method: "PATCH",
|
|
528
|
+
path: "v2/businesses/#{URI.encode_uri_component(params[:business_reference].to_s)}/addresses/#{URI.encode_uri_component(params[:business_address_reference].to_s)}",
|
|
529
|
+
headers: headers,
|
|
530
|
+
body: body,
|
|
531
|
+
request_options: request_options
|
|
532
|
+
)
|
|
533
|
+
begin
|
|
534
|
+
response = @client.send(request)
|
|
535
|
+
rescue Net::HTTPRequestTimeout
|
|
536
|
+
raise Payabli::Errors::TimeoutError
|
|
537
|
+
end
|
|
538
|
+
code = response.code.to_i
|
|
539
|
+
if code.between?(200, 299)
|
|
540
|
+
Payabli::Types::BusinessAddressEnvelope.load(response.body)
|
|
541
|
+
else
|
|
542
|
+
error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
|
|
543
|
+
raise error_class.new(response.body, code: code)
|
|
544
|
+
end
|
|
545
|
+
end
|
|
546
|
+
|
|
547
|
+
# Lists the people linked to a business, each with the relationship's role, ownership, and relationship-scoped
|
|
548
|
+
# contact details.
|
|
549
|
+
#
|
|
550
|
+
# @param request_options [Hash]
|
|
551
|
+
# @param params [Hash]
|
|
552
|
+
# @option request_options [String] :base_url
|
|
553
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
554
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
555
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
556
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
557
|
+
# @option params [String] :business_reference
|
|
558
|
+
#
|
|
559
|
+
# @example
|
|
560
|
+
# client.businesses.list_business_people(business_reference: "019fed1a-3d6e-75d3-a81e-cba3874b0a55")
|
|
561
|
+
#
|
|
562
|
+
# @return [Payabli::Types::BusinessPersonListEnvelope]
|
|
563
|
+
def list_business_people(request_options: {}, **params)
|
|
564
|
+
params = Payabli::Internal::Types::Utils.normalize_keys(params)
|
|
565
|
+
headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }])
|
|
566
|
+
request = Payabli::Internal::JSON::Request.new(
|
|
567
|
+
base_url: request_options[:base_url],
|
|
568
|
+
method: "GET",
|
|
569
|
+
path: "v2/businesses/#{URI.encode_uri_component(params[:business_reference].to_s)}/people",
|
|
570
|
+
headers: headers,
|
|
571
|
+
request_options: request_options
|
|
572
|
+
)
|
|
573
|
+
begin
|
|
574
|
+
response = @client.send(request)
|
|
575
|
+
rescue Net::HTTPRequestTimeout
|
|
576
|
+
raise Payabli::Errors::TimeoutError
|
|
577
|
+
end
|
|
578
|
+
code = response.code.to_i
|
|
579
|
+
if code.between?(200, 299)
|
|
580
|
+
Payabli::Types::BusinessPersonListEnvelope.load(response.body)
|
|
581
|
+
else
|
|
582
|
+
error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
|
|
583
|
+
raise error_class.new(response.body, code: code)
|
|
584
|
+
end
|
|
585
|
+
end
|
|
586
|
+
|
|
587
|
+
# Links an existing person to a business, setting the relationship's role, ownership, primary-controller flag,
|
|
588
|
+
# contact fields, and addresses.
|
|
589
|
+
#
|
|
590
|
+
# @param request_options [Hash]
|
|
591
|
+
# @param params [Payabli::Businesses::Types::LinkBusinessPersonRequest]
|
|
592
|
+
# @option request_options [String] :base_url
|
|
593
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
594
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
595
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
596
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
597
|
+
# @option params [String] :business_reference
|
|
598
|
+
#
|
|
599
|
+
# @example
|
|
600
|
+
# client.businesses.link_business_person(
|
|
601
|
+
# business_reference: "019fed1a-3d6e-75d3-a81e-cba3874b0a55",
|
|
602
|
+
# person_reference: "01a0014d-ce1a-7110-9bac-c4c59647a88d",
|
|
603
|
+
# person_type: "Owner",
|
|
604
|
+
# ownership_percentage: 100,
|
|
605
|
+
# is_primary_controller: true,
|
|
606
|
+
# is_signer: true,
|
|
607
|
+
# title: "CEO",
|
|
608
|
+
# primary_email: "contact@example.com",
|
|
609
|
+
# secondary_email: "contact.alt@example.net",
|
|
610
|
+
# primary_phone_number: "3055551212",
|
|
611
|
+
# secondary_phone_number: "3055559876",
|
|
612
|
+
# billing_address: {
|
|
613
|
+
# address_line_1: "123 Main Street",
|
|
614
|
+
# city_locality: "Miami",
|
|
615
|
+
# state_province: "FL",
|
|
616
|
+
# postal_code: "33101",
|
|
617
|
+
# country: "US",
|
|
618
|
+
# type: "billing"
|
|
619
|
+
# },
|
|
620
|
+
# mailing_address: {
|
|
621
|
+
# address_line_1: "456 Oak Avenue",
|
|
622
|
+
# city_locality: "Miami",
|
|
623
|
+
# state_province: "FL",
|
|
624
|
+
# postal_code: "33102",
|
|
625
|
+
# country: "US",
|
|
626
|
+
# type: "mailing"
|
|
627
|
+
# }
|
|
628
|
+
# )
|
|
629
|
+
#
|
|
630
|
+
# @return [Payabli::Types::BusinessPersonEnvelope]
|
|
631
|
+
def link_business_person(request_options: {}, **params)
|
|
632
|
+
params = Payabli::Internal::Types::Utils.normalize_keys(params)
|
|
633
|
+
request_data = Payabli::Businesses::Types::LinkBusinessPersonRequest.new(params).to_h
|
|
634
|
+
non_body_param_names = %w[businessReference]
|
|
635
|
+
body = request_data.except(*non_body_param_names)
|
|
636
|
+
|
|
637
|
+
headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }])
|
|
638
|
+
request = Payabli::Internal::JSON::Request.new(
|
|
639
|
+
base_url: request_options[:base_url],
|
|
640
|
+
method: "POST",
|
|
641
|
+
path: "v2/businesses/#{URI.encode_uri_component(params[:business_reference].to_s)}/people",
|
|
642
|
+
headers: headers,
|
|
643
|
+
body: body,
|
|
644
|
+
request_options: request_options
|
|
645
|
+
)
|
|
646
|
+
begin
|
|
647
|
+
response = @client.send(request)
|
|
648
|
+
rescue Net::HTTPRequestTimeout
|
|
649
|
+
raise Payabli::Errors::TimeoutError
|
|
650
|
+
end
|
|
651
|
+
code = response.code.to_i
|
|
652
|
+
if code.between?(200, 299)
|
|
653
|
+
Payabli::Types::BusinessPersonEnvelope.load(response.body)
|
|
654
|
+
else
|
|
655
|
+
error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
|
|
656
|
+
raise error_class.new(response.body, code: code)
|
|
657
|
+
end
|
|
658
|
+
end
|
|
659
|
+
|
|
660
|
+
# Retrieves a single business-person link by the person's reference.
|
|
661
|
+
#
|
|
662
|
+
# @param request_options [Hash]
|
|
663
|
+
# @param params [Hash]
|
|
664
|
+
# @option request_options [String] :base_url
|
|
665
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
666
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
667
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
668
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
669
|
+
# @option params [String] :business_reference
|
|
670
|
+
# @option params [String] :person_reference
|
|
671
|
+
#
|
|
672
|
+
# @example
|
|
673
|
+
# client.businesses.get_business_person(
|
|
674
|
+
# business_reference: "019fed1a-3d6e-75d3-a81e-cba3874b0a55",
|
|
675
|
+
# person_reference: "01a0014d-ce1a-7110-9bac-c4c59647a88d"
|
|
676
|
+
# )
|
|
677
|
+
#
|
|
678
|
+
# @return [Payabli::Types::BusinessPersonEnvelope]
|
|
679
|
+
def get_business_person(request_options: {}, **params)
|
|
680
|
+
params = Payabli::Internal::Types::Utils.normalize_keys(params)
|
|
681
|
+
headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }])
|
|
682
|
+
request = Payabli::Internal::JSON::Request.new(
|
|
683
|
+
base_url: request_options[:base_url],
|
|
684
|
+
method: "GET",
|
|
685
|
+
path: "v2/businesses/#{URI.encode_uri_component(params[:business_reference].to_s)}/people/#{URI.encode_uri_component(params[:person_reference].to_s)}",
|
|
686
|
+
headers: headers,
|
|
687
|
+
request_options: request_options
|
|
688
|
+
)
|
|
689
|
+
begin
|
|
690
|
+
response = @client.send(request)
|
|
691
|
+
rescue Net::HTTPRequestTimeout
|
|
692
|
+
raise Payabli::Errors::TimeoutError
|
|
693
|
+
end
|
|
694
|
+
code = response.code.to_i
|
|
695
|
+
if code.between?(200, 299)
|
|
696
|
+
Payabli::Types::BusinessPersonEnvelope.load(response.body)
|
|
697
|
+
else
|
|
698
|
+
error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
|
|
699
|
+
raise error_class.new(response.body, code: code)
|
|
700
|
+
end
|
|
701
|
+
end
|
|
702
|
+
|
|
703
|
+
# Removes the link between a person and a business. The person record itself isn't deleted.
|
|
704
|
+
#
|
|
705
|
+
# @param request_options [Hash]
|
|
706
|
+
# @param params [Hash]
|
|
707
|
+
# @option request_options [String] :base_url
|
|
708
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
709
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
710
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
711
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
712
|
+
# @option params [String] :business_reference
|
|
713
|
+
# @option params [String] :person_reference
|
|
714
|
+
#
|
|
715
|
+
# @example
|
|
716
|
+
# client.businesses.unlink_business_person(
|
|
717
|
+
# business_reference: "019fed1a-3d6e-75d3-a81e-cba3874b0a55",
|
|
718
|
+
# person_reference: "01a0014d-ce1a-7110-9bac-c4c59647a88d"
|
|
719
|
+
# )
|
|
720
|
+
#
|
|
721
|
+
# @return [untyped]
|
|
722
|
+
def unlink_business_person(request_options: {}, **params)
|
|
723
|
+
params = Payabli::Internal::Types::Utils.normalize_keys(params)
|
|
724
|
+
headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }])
|
|
725
|
+
request = Payabli::Internal::JSON::Request.new(
|
|
726
|
+
base_url: request_options[:base_url],
|
|
727
|
+
method: "DELETE",
|
|
728
|
+
path: "v2/businesses/#{URI.encode_uri_component(params[:business_reference].to_s)}/people/#{URI.encode_uri_component(params[:person_reference].to_s)}",
|
|
729
|
+
headers: headers,
|
|
730
|
+
request_options: request_options
|
|
731
|
+
)
|
|
732
|
+
begin
|
|
733
|
+
response = @client.send(request)
|
|
734
|
+
rescue Net::HTTPRequestTimeout
|
|
735
|
+
raise Payabli::Errors::TimeoutError
|
|
736
|
+
end
|
|
737
|
+
code = response.code.to_i
|
|
738
|
+
return if code.between?(200, 299)
|
|
739
|
+
|
|
740
|
+
error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
|
|
741
|
+
raise error_class.new(response.body, code: code)
|
|
742
|
+
end
|
|
743
|
+
|
|
744
|
+
# Applies a partial update to a business-person link. Send only the fields you want to change; omitted fields are
|
|
745
|
+
# kept.
|
|
746
|
+
#
|
|
747
|
+
# @param request_options [Hash]
|
|
748
|
+
# @param params [Payabli::Businesses::Types::UpdateBusinessPersonRequest]
|
|
749
|
+
# @option request_options [String] :base_url
|
|
750
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
751
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
752
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
753
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
754
|
+
# @option params [String] :business_reference
|
|
755
|
+
# @option params [String] :person_reference
|
|
756
|
+
#
|
|
757
|
+
# @example
|
|
758
|
+
# client.businesses.update_business_person(
|
|
759
|
+
# business_reference: "019fed1a-3d6e-75d3-a81e-cba3874b0a55",
|
|
760
|
+
# person_reference: "01a0014d-ce1a-7110-9bac-c4c59647a88d",
|
|
761
|
+
# is_primary_controller: true,
|
|
762
|
+
# primary_email: "updated.contact@example.com"
|
|
763
|
+
# )
|
|
764
|
+
#
|
|
765
|
+
# @return [Payabli::Types::BusinessPersonEnvelope]
|
|
766
|
+
def update_business_person(request_options: {}, **params)
|
|
767
|
+
params = Payabli::Internal::Types::Utils.normalize_keys(params)
|
|
768
|
+
request_data = Payabli::Businesses::Types::UpdateBusinessPersonRequest.new(params).to_h
|
|
769
|
+
non_body_param_names = %w[businessReference personReference]
|
|
770
|
+
body = request_data.except(*non_body_param_names)
|
|
771
|
+
|
|
772
|
+
headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }])
|
|
773
|
+
request = Payabli::Internal::JSON::Request.new(
|
|
774
|
+
base_url: request_options[:base_url],
|
|
775
|
+
method: "PATCH",
|
|
776
|
+
path: "v2/businesses/#{URI.encode_uri_component(params[:business_reference].to_s)}/people/#{URI.encode_uri_component(params[:person_reference].to_s)}",
|
|
777
|
+
headers: headers,
|
|
778
|
+
body: body,
|
|
779
|
+
request_options: request_options
|
|
780
|
+
)
|
|
781
|
+
begin
|
|
782
|
+
response = @client.send(request)
|
|
783
|
+
rescue Net::HTTPRequestTimeout
|
|
784
|
+
raise Payabli::Errors::TimeoutError
|
|
785
|
+
end
|
|
786
|
+
code = response.code.to_i
|
|
787
|
+
if code.between?(200, 299)
|
|
788
|
+
Payabli::Types::BusinessPersonEnvelope.load(response.body)
|
|
789
|
+
else
|
|
790
|
+
error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
|
|
791
|
+
raise error_class.new(response.body, code: code)
|
|
792
|
+
end
|
|
793
|
+
end
|
|
794
|
+
end
|
|
795
|
+
end
|
|
796
|
+
end
|