Class: FdxV660Api::PayrollInformationController

Inherits:
BaseController show all
Defined in:
lib/fdx_v660_api/controllers/payroll_information_controller.rb

Overview

PayrollInformationController

Constant Summary

Constants inherited from BaseController

BaseController::GLOBAL_ERRORS

Instance Attribute Summary

Attributes inherited from BaseController

#config, #http_call_back

Instance Method Summary collapse

Methods inherited from BaseController

#initialize, #new_parameter, #new_request_builder, #new_response_handler, user_agent, user_agent_parameters

Constructor Details

This class inherits a constructor from FdxV660Api::BaseController

Instance Method Details

#get_payroll_report(report_id, x_fapi_interaction_id, fdx_api_actor_type: nil, fdx_api_client_public_key: nil, fdx_api_data_provider_id: nil, fdx_api_data_recipient_id: nil) ⇒ ApiResponse

Retrieve the employee's specified payroll report retrieve identifier for this interaction, as defined by [FAPI 2.0 Implementation Advice, 2.2.1 x-fapi-interaction-id](https://openid.bitbucket.io/fapi/fapi-2_0-implement ation_advice.html#name-x-fapi-interaction-id) whether the customer is present (USER) or it is a BATCH operation for data provider to encrypt sensitive response data financial institution responding to the request for the data recipient(s) on whose behalf the request is being made

Parameters:

  • report_id (String)

    Required parameter: Specific reportId to

  • x_fapi_interaction_id (UUID | String)

    Required parameter: Unique

  • fdx_api_actor_type (FdxApiActorType) (defaults to: nil)

    Optional parameter: Identifies

  • fdx_api_client_public_key (String) (defaults to: nil)

    Optional parameter: Public key

  • fdx_api_data_provider_id (String) (defaults to: nil)

    Optional parameter: ID for the

  • fdx_api_data_recipient_id (Array[String]) (defaults to: nil)

    Optional parameter: ID(s)

Returns:

  • (ApiResponse)

    Complete http response with raw body and status code.



100
101
102
103
104
105
106
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
133
134
135
136
137
138
139
140
141
142
143
# File 'lib/fdx_v660_api/controllers/payroll_information_controller.rb', line 100

def get_payroll_report(report_id,
                       x_fapi_interaction_id,
                       fdx_api_actor_type: nil,
                       fdx_api_client_public_key: nil,
                       fdx_api_data_provider_id: nil,
                       fdx_api_data_recipient_id: nil)
  @api_call
    .request(new_request_builder(HttpMethodEnum::GET,
                                 '/payroll/reports/{reportId}',
                                 Server::DEFAULT)
               .template_param(new_parameter(report_id, key: 'reportId')
                                .is_required(true)
                                .should_encode(true))
               .header_param(new_parameter(x_fapi_interaction_id, key: 'x-fapi-interaction-id')
                              .is_required(true))
               .header_param(new_parameter(fdx_api_actor_type, key: 'FDX-API-Actor-Type'))
               .header_param(new_parameter(fdx_api_client_public_key, key: 'FDX-API-Client-Public-Key'))
               .header_param(new_parameter(fdx_api_data_provider_id, key: 'FDX-API-Data-Provider-Id'))
               .header_param(new_parameter(fdx_api_data_recipient_id, key: 'FDX-API-Data-Recipient-Id'))
               .header_param(new_parameter('application/json', key: 'accept')))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(PayrollReportEntity1.method(:from_hash))
                .is_api_response(true)
                .local_error('400',
                             'Required input data not sent',
                             ErrorException)
                .local_error('404',
                             'Payroll Report with provided ID was not found',
                             ErrorException)
                .local_error('500',
                             'Catch-all exception where request was not processed due to an'\
                              ' internal outage/issue. Consider other more specific errors'\
                              ' before using this error',
                             ErrorException)
                .local_error('501',
                             'Error when FdxVersion in Header is not one of those'\
                              ' implemented at backend',
                             ErrorException)
                .local_error('503',
                             'System is down for maintenance',
                             ErrorException))
    .execute
end

#get_payroll_reports(x_fapi_interaction_id, report_type, fdx_api_actor_type: nil, fdx_api_client_public_key: nil, fdx_api_data_provider_id: nil, fdx_api_data_recipient_id: nil, result_type: ResultType::LIGHTWEIGHT) ⇒ ApiResponse

Search for the employee's latest payroll report identifier for this interaction, as defined by [FAPI 2.0 Implementation Advice, 2.2.1 x-fapi-interaction-id](https://openid.bitbucket.io/fapi/fapi-2_0-implement ation_advice.html#name-x-fapi-interaction-id) retrieve Verification of Employment ("VOE") or Verification of Income and Employment ("VOIE") reports whether the customer is present (USER) or it is a BATCH operation for data provider to encrypt sensitive response data financial institution responding to the request for the data recipient(s) on whose behalf the request is being made you want a lightweight array of metadata (AccountDescriptor or Tax or Operations) or full item details (Account or a Tax subclass or Availability details). If set to 'lightweight', should only return the fields associated with the metadata entity. This field is not required, defaults to lightweight

Parameters:

  • x_fapi_interaction_id (UUID | String)

    Required parameter: Unique

  • report_type (PayrollReportType)

    Required parameter: Whether to

  • fdx_api_actor_type (FdxApiActorType) (defaults to: nil)

    Optional parameter: Identifies

  • fdx_api_client_public_key (String) (defaults to: nil)

    Optional parameter: Public key

  • fdx_api_data_provider_id (String) (defaults to: nil)

    Optional parameter: ID for the

  • fdx_api_data_recipient_id (Array[String]) (defaults to: nil)

    Optional parameter: ID(s)

  • result_type (ResultType) (defaults to: ResultType::LIGHTWEIGHT)

    Optional parameter: Flag to indicate if

Returns:

  • (ApiResponse)

    Complete http response with raw body and status code.



33
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
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/fdx_v660_api/controllers/payroll_information_controller.rb', line 33

def get_payroll_reports(x_fapi_interaction_id,
                        report_type,
                        fdx_api_actor_type: nil,
                        fdx_api_client_public_key: nil,
                        fdx_api_data_provider_id: nil,
                        fdx_api_data_recipient_id: nil,
                        result_type: ResultType::LIGHTWEIGHT)
  @api_call
    .request(new_request_builder(HttpMethodEnum::GET,
                                 '/payroll/reports',
                                 Server::DEFAULT)
               .header_param(new_parameter(x_fapi_interaction_id, key: 'x-fapi-interaction-id')
                              .is_required(true))
               .query_param(new_parameter(report_type, key: 'reportType')
                             .is_required(true))
               .header_param(new_parameter(fdx_api_actor_type, key: 'FDX-API-Actor-Type'))
               .header_param(new_parameter(fdx_api_client_public_key, key: 'FDX-API-Client-Public-Key'))
               .header_param(new_parameter(fdx_api_data_provider_id, key: 'FDX-API-Data-Provider-Id'))
               .header_param(new_parameter(fdx_api_data_recipient_id, key: 'FDX-API-Data-Recipient-Id'))
               .query_param(new_parameter(result_type, key: 'resultType'))
               .header_param(new_parameter('application/json', key: 'accept')))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(PayrollReportListEntity1.method(:from_hash))
                .is_api_response(true)
                .local_error('400',
                             'Input sent by client does not satisfy API specification',
                             ErrorException)
                .local_error('401',
                             'Request lacks valid authentication credentials for the target'\
                              ' resource',
                             ErrorException)
                .local_error('404',
                             'Data not found for request parameters',
                             ErrorException)
                .local_error('500',
                             'Catch-all exception where request was not processed due to an'\
                              ' internal outage/issue. Consider other more specific errors'\
                              ' before using this error',
                             ErrorException)
                .local_error('501',
                             'Error when FdxVersion in Header is not one of those'\
                              ' implemented at backend',
                             ErrorException)
                .local_error('503',
                             'System is down for maintenance',
                             ErrorException))
    .execute
end