Class: FinchAPI::Resources::HRIS::Benefits::Individuals

Inherits:
Object
  • Object
show all
Defined in:
lib/finch_api/resources/hris/benefits/individuals.rb,
sig/finch_api/resources/hris/benefits/individuals.rbs

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Individuals

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Individuals.

Parameters:



143
144
145
# File 'lib/finch_api/resources/hris/benefits/individuals.rb', line 143

def initialize(client:)
  @client = client
end

Instance Method Details

#enroll_many(benefit_id, entity_ids: nil, individuals: nil, request_options: {}) ⇒ FinchAPI::Models::HRIS::Benefits::EnrolledIndividualBenefitResponse

Some parameter documentations has been truncated, see Models::HRIS::Benefits::IndividualEnrollManyParams for more details.

Enroll an individual into a deduction or contribution. This is an overwrite operation. If the employee is already enrolled, the enrollment amounts will be adjusted. Making the same request multiple times will not create new enrollments, but will continue to set the state of the existing enrollment.

Parameters:

Returns:

See Also:



29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/finch_api/resources/hris/benefits/individuals.rb', line 29

def enroll_many(benefit_id, params = {})
  parsed, options = FinchAPI::HRIS::Benefits::IndividualEnrollManyParams.dump_request(params)
  query = FinchAPI::Internal::Util.encode_query_params(parsed.except(:individuals))
  @client.request(
    method: :post,
    path: ["employer/benefits/%1$s/individuals", benefit_id],
    query: query,
    body: parsed[:individuals],
    model: FinchAPI::HRIS::Benefits::EnrolledIndividualBenefitResponse,
    security: {bearer_auth: true},
    options: options
  )
end

#enrolled_ids(benefit_id, entity_ids: nil, request_options: {}) ⇒ FinchAPI::Models::HRIS::Benefits::IndividualEnrolledIDsResponse

Some parameter documentations has been truncated, see Models::HRIS::Benefits::IndividualEnrolledIDsParams for more details.

Lists individuals currently enrolled in a given deduction.

Parameters:

  • benefit_id (String)
  • entity_ids (Array<String>)

    The entity IDs to specify which entities' data to access. Provide exactly one en

  • request_options (FinchAPI::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/finch_api/resources/hris/benefits/individuals.rb', line 60

def enrolled_ids(benefit_id, params = {})
  parsed, options = FinchAPI::HRIS::Benefits::IndividualEnrolledIDsParams.dump_request(params)
  query = FinchAPI::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :get,
    path: ["employer/benefits/%1$s/enrolled", benefit_id],
    query: query,
    model: FinchAPI::Models::HRIS::Benefits::IndividualEnrolledIDsResponse,
    security: {bearer_auth: true},
    options: options
  )
end

#retrieve_many_benefits(benefit_id, entity_ids: nil, individual_ids: nil, request_options: {}) ⇒ FinchAPI::Internal::SinglePage<FinchAPI::Models::HRIS::Benefits::IndividualBenefit>

Some parameter documentations has been truncated, see Models::HRIS::Benefits::IndividualRetrieveManyBenefitsParams for more details.

Get enrollment information for the given individuals.

Parameters:

  • benefit_id (String)
  • entity_ids (Array<String>)

    The entity IDs to specify which entities' data to access. Provide exactly one en

  • individual_ids (String)

    comma-delimited list of stable Finch uuids for each individual. If empty, defaul

  • request_options (FinchAPI::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



92
93
94
95
96
97
98
99
100
101
102
103
104
# File 'lib/finch_api/resources/hris/benefits/individuals.rb', line 92

def retrieve_many_benefits(benefit_id, params = {})
  parsed, options = FinchAPI::HRIS::Benefits::IndividualRetrieveManyBenefitsParams.dump_request(params)
  query = FinchAPI::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :get,
    path: ["employer/benefits/%1$s/individuals", benefit_id],
    query: query,
    page: FinchAPI::Internal::SinglePage,
    model: FinchAPI::HRIS::Benefits::IndividualBenefit,
    security: {bearer_auth: true},
    options: options
  )
end

#unenroll_many(benefit_id, entity_ids: nil, individual_ids: nil, request_options: {}) ⇒ FinchAPI::Models::HRIS::Benefits::UnenrolledIndividualBenefitResponse

Some parameter documentations has been truncated, see Models::HRIS::Benefits::IndividualUnenrollManyParams for more details.

Unenroll individuals from a deduction or contribution

Parameters:

  • benefit_id (String)

    Path param

  • entity_ids (Array<String>)

    Query param: The entity IDs to specify which entities' data to access. Provide e

  • individual_ids (Array<String>)

    Body param: Array of individual_ids to unenroll.

  • request_options (FinchAPI::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



125
126
127
128
129
130
131
132
133
134
135
136
137
138
# File 'lib/finch_api/resources/hris/benefits/individuals.rb', line 125

def unenroll_many(benefit_id, params = {})
  query_params = [:entity_ids]
  parsed, options = FinchAPI::HRIS::Benefits::IndividualUnenrollManyParams.dump_request(params)
  query = FinchAPI::Internal::Util.encode_query_params(parsed.slice(*query_params))
  @client.request(
    method: :delete,
    path: ["employer/benefits/%1$s/individuals", benefit_id],
    query: query,
    body: parsed.except(*query_params),
    model: FinchAPI::HRIS::Benefits::UnenrolledIndividualBenefitResponse,
    security: {bearer_auth: true},
    options: options
  )
end