develop #38

Merged
bboterm merged 451 commits from develop into main 2025-11-19 14:28:14 +00:00
Showing only changes of commit 345a12fa90 - Show all commits

View File

@ -1,8 +1,8 @@
openapi: 3.0.1 openapi: 3.0.1
info: info:
title: Personal Account Data (PAD) APIs for touchpoints title: Personal Account Data (PAD) APIs for touchpoints and Service Engine
description: |- description: |-
APIs for touchpoints to manage Personal Account Data (PAD) on OVpay tokens (xTATs).\ APIs for touchpoints and Service Engine to manage Personal Account Data (PAD) on OVpay tokens (xTATs).\
These APIs connect directly to the PADP APIs in GBO APIM and are implemented in Logic Apps These APIs connect directly to the PADP APIs in GBO APIM and are implemented in Logic Apps
in the Integration Layer. in the Integration Layer.
version: '1.0' version: '1.0'
@ -11,6 +11,8 @@ servers:
tags: tags:
- name: Personal Data APIs for touchpoints - name: Personal Data APIs for touchpoints
description: Personal Data APIs for touchpoints, no Service Engine in between! description: Personal Data APIs for touchpoints, no Service Engine in between!
- name: Personal Data APIs for Service Engine
description: Personal Data APIs for Service Engine, not to be exposed to touchpoints!
paths: paths:
/personal-data/{xtat}: /personal-data/{xtat}:
post: post:
@ -230,8 +232,189 @@ paths:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/ErrorResponse' $ref: '#/components/schemas/ErrorResponse'
/personal-data/{xtat}/administrative-data:
get:
tags:
- Personal Data APIs for Service Engine
summary: API 1211 - Get Administrative Data
description: Integration Layer utilizes PAD management V2 in GBO APIM (`/pad-management/v2/..`)
operationId: GetAdministrativeData
parameters:
- name: xtat
description: xTAT to get administrative data for
in: path
required: true
schema:
type: string
format: uuid
example: 'c3a6c0f2-3b6a-4b9a-9c5d-5d9c6b3a4c5d'
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/AdministrativeData"
examples:
Valid and complete PAD:
summary: Valid and complete PAD
value:
name:
inaccuracyFlag: false
inaccuracyFlagReason: null
inaccuracyFlagCounter: 0
changeCounter: 0
maxUpdatesVerificationCount: 1
lastChangeDate: "2025-03-26T10:18:42.947"
isValidated: false
photo:
inaccuracyFlag: false
inaccuracyFlagReason: null
inaccuracyFlagCounter: 0
changeCounter: 0
maxUpdatesVerificationCount: 5
lastChangeDate: "2025-03-26T10:18:42.947"
isValidated: false
birthdate:
inaccuracyFlag: false
inaccuracyFlagReason: null
inaccuracyFlagCounter: 0
changeCounter: 0
maxUpdatesVerificationCount: 3
lastChangeDate: "2025-03-26T10:18:42.947"
isValidated: false
Partially filled PAD (no photo):
summary: Partially filled PAD (no photo)
value:
name:
inaccuracyFlag: false
inaccuracyFlagReason: null
inaccuracyFlagCounter: 0
changeCounter: 0
maxUpdatesVerificationCount: 1
lastChangeDate: "2025-03-26T10:18:42.947"
isValidated: false
photo: null
birthdate:
inaccuracyFlag: false
inaccuracyFlagReason: null
inaccuracyFlagCounter: 0
changeCounter: 0
maxUpdatesVerificationCount: 3
lastChangeDate: "2025-03-26T10:18:42.947"
isValidated: false
Flagged PAD:
summary: Flagged PAD
value:
name:
inaccuracyFlag: true
inaccuracyFlagReason: "Invalid name"
inaccuracyFlagCounter: 1
changeCounter: 1
maxUpdatesVerificationCount: 1
lastChangeDate: "2025-03-26T10:18:42.947"
isValidated: false
photo:
inaccuracyFlag: true
inaccuracyFlagReason: "Invalid photo"
inaccuracyFlagCounter: 1
changeCounter: 0
maxUpdatesVerificationCount: 5
lastChangeDate: "2025-03-26T10:18:42.947"
isValidated: false
birthdate:
inaccuracyFlag: true
inaccuracyFlagReason: "Invalid birthdate"
inaccuracyFlagCounter: 1
changeCounter: 2
maxUpdatesVerificationCount: 3
lastChangeDate: "2025-03-26T10:18:42.947"
isValidated: false
"400":
description: Bad Request
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Invalid UUID:
summary: Invalid UUID
value:
errors:
code: "0x03000103"
data: [
"geen-uuid"
]
message: "The provided scTat is not a valid UUID"
exceptionClassName: "PadpConstraintViolationException"
exceptionStackTrace: "not available because debug mode is turned off"
"404":
description: Not Found
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
No PAD found for xTAT:
summary: No PAD found for xTAT
value:
errors:
code: "0x03000105"
data: []
message: "Transit account not found"
exceptionClassName: "PadpEntityNotFoundException"
exceptionStackTrace: "not available because debug mode is turned off"
"500":
description: Internal Server Error
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Unknown xTAT:
summary: Unknown xTAT
value:
errors:
code: "0x00000001"
data: null
message: "400 : \"{\"errorMessage\":{\"referenceId\":\"076f0de4-df33-42a3-add0-def971ab6679\",\"message\":\"Unknown external transit account token.\"},\"businessExceptions\":[{\"code\":\"TM0207\",\"message\":\"Unknown external transit account token.\"}]}\""
exceptionClassName: "BadRequest"
exceptionStackTrace: "not available because debug mode is turned off"
components: components:
schemas: schemas:
AdministrativeData:
type: object
properties:
name:
$ref: '#/components/schemas/AdministrativeDataElement'
photo:
$ref: '#/components/schemas/AdministrativeDataElement'
birthdate:
$ref: '#/components/schemas/AdministrativeDataElement'
additionalProperties: false
AdministrativeDataElement:
type: object
properties:
inaccuracyFlag:
type: boolean
inaccuracyFlagReason:
type: string
nullable: true
inaccuracyFlagCounter:
type: integer
format: int32
changeCounter:
type: integer
format: int32
maxUpdatesVerificationCount:
type: integer
format: int32
lastChangeDate:
type: string
format: date-time
isValidated:
type: boolean
additionalProperties: false
DecryptedData: DecryptedData:
type: object type: object
properties: properties: