From 665ca2aae10d0a050483b4928d922d007bb2d814 Mon Sep 17 00:00:00 2001 From: Max Martens Date: Fri, 21 Mar 2025 17:40:55 +0100 Subject: [PATCH] Add OpenAPI spec for retrieving GboAgeProfile --- .../orders/SE-orders-gboAGeProfile.yaml | 150 ++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 src/openapi/orders/SE-orders-gboAGeProfile.yaml diff --git a/src/openapi/orders/SE-orders-gboAGeProfile.yaml b/src/openapi/orders/SE-orders-gboAGeProfile.yaml new file mode 100644 index 0000000..426ec6e --- /dev/null +++ b/src/openapi/orders/SE-orders-gboAGeProfile.yaml @@ -0,0 +1,150 @@ +openapi: 3.0.1 +info: + title: ABT Service Engine Order APIs + version: "1.0" + description: Order APIs available in the Service Engine for order validation and fulfillment. +servers: + - url: https://api.integratielaag.nl/abt/abtserviceengine/1.0 +paths: + /orders/validation/gboAgeProfile: + get: + tags: + - ServiceEngine Order validation + summary: Get GBO age profile that is valid for the given input + description: |- + Only one age profile can be valid at any one time, so only one profile is returned. + parameters: + - name: productStartDate + in: query + required: true + description: Start date of product validity + schema: + type: string + format: date + example: 2025-03-20 + - name: birthDate + in: query + required: true + description: Birthdate of the OVpay-token holder + schema: + type: string + format: date + example: 2000-01-01 + - name: ovPayTokenId + in: query + required: false + description: ovPayTokenId of the customer's selected token + schema: + type: integer + example: 1 + - name: customerTokenId + in: query + required: false + description: customerTokenId of the customer's selected token + schema: + type: string + format: uuid + example: "4a2d2c9c-1e5d-4d8a-9c0a-6c0a6c0a6c0a" + - name: serviceReferenceId + in: query + required: false + description: serviceReferenceId of the customer's selected token + schema: + type: string + example: "NLOV1234567ABCDEFG" + - name: amount + in: query + required: false + description: amount belonging to the serviceReferenceId + schema: + type: number + example: 100 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/GboAgeProfileResponse" + + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/rfc9457Response" + examples: + Missing parameter(s): + summary: Missing parameter(s) + value: + { + "type": "https://www.htm.nl/api/v1/400Error", + "title": "Missing parameter(s)", + "detail": "At least one of the following parameters must be present: ovPayTokenId, customerTokenId, (serviceReferenceId and amount)", + "instance": "urn:uuid:13c8416f-7632-4c8b-8a16-2132197be60c", + "apiErrorCode": "htm.api.err.400.2", + } + Invalid date format: + summary: Invalid date format + value: + { + "type": "https://www.htm.nl/api/v1/400Error", + "title": "Invalid input", + "detail": "The given birthDate is not a valid Date format", + "instance": "urn:uuid:13c8416f-7632-4c8b-8a16-2132197be60c", + "apiErrorCode": "htm.api.err.400.3", + } + +components: + schemas: + GboAgeProfileResponse: + type: object + required: + - gboAgeProfileId + - name + - minAge + - maxAge + properties: + gboAgeProfileId: + type: integer + example: 1 + name: + type: string + example: Kind (4 t/m 11 jaar) + minAge: + type: integer + example: 4 + maxAge: + type: integer + example: 11 + rfc9457Response: + type: object + properties: + type: + type: string + format: url + example: "https://www.htm.nl/api/v1/rfc9457Error" + title: + type: string + description: "Short summary of the error." + example: "The request is not valid." + detail: + type: string + description: "More detailed descriptionof the error." + example: "Some required parameters are missing." + instance: + type: string + description: "Unique identifier to correlate this specific error with logging in other applications." + example: "urn:uuid:13c8416f-7632-4c8b-8a16-2132197be60c" + additionalProperty1: + type: string + description: "Example of an additional property value to be used for error reporting." + example: "additionalValue1" + additionalProperty2: + type: array + description: "Example of an additional property array to be used for error reporting." + items: + type: string + example: + - "additionalValue2-1" + - "additionalValue2-2"