Class: FdxV660Api::PayStubInformationController
- Inherits:
-
BaseController
- Object
- BaseController
- FdxV660Api::PayStubInformationController
- Defined in:
- lib/fdx_v660_api/controllers/pay_stub_information_controller.rb
Overview
PayStubInformationController
Constant Summary
Constants inherited from BaseController
Instance Attribute Summary
Attributes inherited from BaseController
Instance Method Summary collapse
-
#get_paystub(paystub_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 paystub as a Base64 PDF file retrieve.
-
#get_paystubs(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, start_date: nil, end_date: nil, page_key: nil) ⇒ ApiResponse
Search for and retrieve the employee's latest paystubs 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 retrieval of elements (ISO 8601 format).
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_paystub(paystub_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 paystub as a Base64 PDF file retrieve. This can be any ID which the data provider creates specific to the consenting person's paystub, perhaps simply the pay date as a string optionally followed by a sequence number: "2024-09-30-01". Need only be unique within the current employee's consent / token, according to data provider's preference 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
137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 |
# File 'lib/fdx_v660_api/controllers/pay_stub_information_controller.rb', line 137 def get_paystub(paystub_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/paystubs/{paystubId}', Server::DEFAULT) .template_param(new_parameter(paystub_id, key: 'paystubId') .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(PaystubEntity2.method(:from_hash)) .is_api_response(true) .local_error('400', 'Required input data not sent', ErrorException) .local_error('404', 'Pay Stub 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_paystubs(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, start_date: nil, end_date: nil, page_key: nil) ⇒ ApiResponse
Search for and retrieve the employee's latest paystubs 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 retrieval of elements (ISO 8601 format). Provider to define the date ranges and behaviors they will support. Example of defined behavior: - Recipients need to either specify both start date and end date or neither. If both start date and end date are not specified; default provided. Default range: 7 Days of past data. (Today's date - 6 days both dates are inclusive) - Recipient can specify the same start date and end date. The returned data will reflect transactions from that date - If start date and end date both are specified and if start date is later than end date, return 'invalid date range' error code: 703, HTTPS 400 per the FDX spec - If start Date and end date both are specified and if start date is older than what the Data Provider supports, then the Data Provider should return 'invalid date range' error code: 703, HTTPS 400 per the FDX spec. Example: If today is 5/14/2024 and the DP supports 24 months, the start date should be 5/14/2022 and newer; it should not be 5/13/2022 or older - If start date is specified but end date is not specified or vice versa; Data Provider should return 'invalid date range' error code: 703, HTTPS 400 per the FDX spec of elements (ISO 8601 format). Provider to define the date ranges and behaviors they will support. Example of defined behavior: - Recipients need to either specify both start date and end date or neither. If both start date and end date are not specified; default provided. Default range: 7 Days of past data. (Today's date - 6 days both dates are inclusive) - Recipient can specify the same start date and end date. The returned data will reflect transactions from that date - If start date and end date both are specified and if start date is later than end date, return 'invalid date range' error code: 703, HTTPS 400 per the FDX spec
- If start Date and end date both are specified and if start date is older than what the Data Provider supports, then the Data Provider should return 'invalid date range' error code: 703, HTTPS 400 per the FDX spec. Example: If today is 5/14/2024 and the DP supports 24 months, the start date should be 5/14/2022 and newer; it should not be 5/13/2022 or older - If start date is specified but end date is not specified or vice versa; Data Provider should return 'invalid date range' error code: 703, HTTPS 400 per the FDX spec - If end date is today's date, the most recent transactions from the time the request is received will be returned provider to send the next set of records. Pagination can be implemented per provider's preference
65 66 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 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
# File 'lib/fdx_v660_api/controllers/pay_stub_information_controller.rb', line 65 def get_paystubs(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, start_date: nil, end_date: nil, page_key: nil) @api_call .request(new_request_builder(HttpMethodEnum::GET, '/payroll/paystubs', Server::DEFAULT) .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')) .query_param(new_parameter(start_date, key: 'startDate')) .query_param(new_parameter(end_date, key: 'endDate')) .query_param(new_parameter(page_key, key: 'pageKey')) .header_param(new_parameter('application/json', key: 'accept'))) .response(new_response_handler .deserializer(APIHelper.method(:custom_type_deserializer)) .deserialize_into(PaystubListEntity1.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 |