From 298f089d6c365c2d5c1abb9ce9613b5e1298f009 Mon Sep 17 00:00:00 2001 From: Mirjam Herald Date: Fri, 21 Feb 2025 11:33:54 +0100 Subject: [PATCH] added billing information CRUD en some tidying --- src/openapi/customers/customers-crud-v2.yaml | 681 +++++++++++++------ 1 file changed, 483 insertions(+), 198 deletions(-) diff --git a/src/openapi/customers/customers-crud-v2.yaml b/src/openapi/customers/customers-crud-v2.yaml index b4327ae..27bf74d 100644 --- a/src/openapi/customers/customers-crud-v2.yaml +++ b/src/openapi/customers/customers-crud-v2.yaml @@ -1119,125 +1119,6 @@ paths: - default: [] x-auth-type: Application & Application User x-throttling-tier: Unlimited - /customers/{customerProfileId}/ovpaytokens: - post: - tags: - - Ovpay Token - summary: Create a new ovpay token - description: >- - - parameters: - - name: customerProfileId - in: path - required: true - schema: - type: integer - example: 1 - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/ovPayTokenEntity" - examples: - EMV token: - value: - ovpaytoken: - tokenTypeId: 1 - xTat: 0115b0df-db38-4702-8811-6f7de00db3ac - xBot: 71a88843-32b8-4d52-ac25-de2458c47775 - alias: Mijn Rabo Pas - tokenStatusId: 2 - expirationDate: "2026-04-20T17:05:52.000+02:00" - OVpas token physical: - value: - ovpaytoken: - tokenTypeId: 2 - xTat: 0115b0df-db38-4702-8811-6f7de00db3ac - xBot: 71a88843-32b8-4d52-ac25-de2458c47775 - alias: Mijn OV Pas - ovpasNumber: 4048453105891361 - tokenStatusId: 2 - expirationDate: "2026-04-20T17:05:52.000+02:00" - required: true - responses: - 201: - description: Successfully created a customer ovpaytoken - content: - application/json: - schema: - $ref: "#/components/schemas/postOvPayTokenResponse" - security: - - default: [] - x-auth-type: Application & Application User - x-throttling-tier: Unlimited - /ovpaytokens/{ovpaytokenId}: - patch: - tags: - - Ovpay Token - summary: Update an ovpay token - description: >- - - parameters: - - name: ovpaytokenId - in: path - required: true - schema: - type: integer - example: 1 - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/ovPayTokenEntity" - examples: - updateTokenAlias: - value: - ovpaytoken: - alias: "ING pas mobiel" - updateTokenStatus to removed: - value: - ovpaytoken: - tokenStatusId: 6 - replaceToken: - value: - ovpaytoken: - tokenStatusId: 3 - replacedByTokenId: 8 - required: true - responses: - 200: - description: Successfully updated a customer ovpaytoken - content: - application/json: - schema: - $ref: "#/components/schemas/postOvPayTokenResponse" - security: - - default: [] - x-auth-type: Application & Application User - x-throttling-tier: Unlimited - delete: - tags: - - Ovpay Token - summary: Delete an ovpay token - description: >- - - parameters: - - name: ovpaytokenId - in: path - required: true - schema: - type: integer - example: 2 - responses: - 200: - description: Successfully deleted a customer ovpaytoken - content: - application/json: - {} - security: - - default: [] - x-auth-type: Application & Application User - x-throttling-tier: Unlimited /ovpaytokens: get: tags: @@ -1361,6 +1242,125 @@ paths: ], "href": null, } + /customers/{customerProfileId}/ovpaytokens: + post: + tags: + - Ovpay Token + summary: Create a new ovpay token + description: >- + + parameters: + - name: customerProfileId + in: path + required: true + schema: + type: integer + example: 1 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ovPayTokenEntity" + examples: + EMV token: + value: + ovpaytoken: + tokenTypeId: 1 + xTat: 0115b0df-db38-4702-8811-6f7de00db3ac + xBot: 71a88843-32b8-4d52-ac25-de2458c47775 + alias: Mijn Rabo Pas + tokenStatusId: 2 + expirationDate: "2026-04-20T17:05:52.000+02:00" + OVpas token physical: + value: + ovpaytoken: + tokenTypeId: 2 + xTat: 0115b0df-db38-4702-8811-6f7de00db3ac + xBot: 71a88843-32b8-4d52-ac25-de2458c47775 + alias: Mijn OV Pas + ovpasNumber: 4048453105891361 + tokenStatusId: 2 + expirationDate: "2026-04-20T17:05:52.000+02:00" + required: true + responses: + 201: + description: Successfully created a customer ovpaytoken + content: + application/json: + schema: + $ref: "#/components/schemas/postOvPayTokenResponse" + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /ovpaytokens/{ovpaytokenId}: + patch: + tags: + - Ovpay Token + summary: Update an ovpay token + description: >- + + parameters: + - name: ovpaytokenId + in: path + required: true + schema: + type: integer + example: 1 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ovPayTokenEntity" + examples: + updateTokenAlias: + value: + ovpaytoken: + alias: "ING pas mobiel" + updateTokenStatus to removed: + value: + ovpaytoken: + tokenStatusId: 6 + replaceToken: + value: + ovpaytoken: + tokenStatusId: 3 + replacedByTokenId: 8 + required: true + responses: + 200: + description: Successfully updated a customer ovpaytoken + content: + application/json: + schema: + $ref: "#/components/schemas/postOvPayTokenResponse" + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + delete: + tags: + - Ovpay Token + summary: Delete an ovpay token + description: >- + + parameters: + - name: ovpaytokenId + in: path + required: true + schema: + type: integer + example: 2 + responses: + 200: + description: Successfully deleted a customer ovpaytoken + content: + application/json: + {} + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited /customers/{customerProfileId}/ovchipcards: post: tags: @@ -1458,6 +1458,233 @@ paths: - default: [] x-auth-type: Application & Application User x-throttling-tier: Unlimited + /billingInformations: + get: + tags: + - Billing Information + summary: Find billing information + description: >- + + parameters: + - name: customerProfileId + in: query + schema: + type: integer + example: 1 + - name: issuerCountry + in: query + schema: + type: string + example: "NL" + - name: iban + in: query + schema: + type: string + example: "NL73RABO2677424363" + - name: swift + in: query + schema: + type: string + example: "GHJZIEJSKVM" + - name: ascription + in: query + schema: + type: string + example: "J. Doe" + - name: alias + in: query + schema: + type: string + example: "John's billing details" + - name: billingAddressID + in: query + schema: + type: integer + example: 1 + responses: + 200: + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + examples: + getBillingInformationMultipleSpecificCustomer: + summary: Get multiple billing information entities for a specific customers + description: >- + Found multiple billing informations matching the search parameters + value: + { + "billingInformations":[ + { + "billingInformationId": 1, + "customerProfileId": 1, + "issuerCountry": "NL", + "iban": "NL06RABO8902022560", + "ascription": "J. Doe", + "alias": null, + "billingAddressId": 3 + }, + { + "billingInformationId": 2, + "customerProfileId": 1, + "issuerCountry": "NL", + "iban": "NL27ABNA4458972219", + "swift": "GHJZIEJSKVM", + "ascription": "J. Doe", + "alias": "John's billing details", + "billingAddressId": 4 + } + ] + } + getBillingInformationSingleSpecificCustomer: + summary: Get singel billing information entity for a specific customers + description: >- + Found one billing information matching the search parameters + value: + { + "billingInformations":[ + { + "billingInformationId": 1, + "customerProfileId": 1, + "issuerCountry": "NL", + "iban": "NL06RABO8902022560", + "ascription": "J. Doe", + "alias": null, + "billingAddressId": 3 + } + ] + } + getBillingInformationIssuerCountry: + summary: Get multiple billing information entities for a specific issuer country + description: >- + Found multiple billing informations matching the search parameters + value: + { + "billingInformations":[ + { + "billingInformationId": 1, + "customerProfileId": 1, + "issuerCountry": "NL", + "iban": "NL06RABO8902022560", + "ascription": "J. Doe", + "alias": null, + "billingAddressId": 3 + }, + { + "billingInformationId": 2, + "customerProfileId": 5, + "issuerCountry": "NL", + "iban": "NL27ABNA4458972219", + "swift": "GHJZIEJSKVM", + "ascription": "J. Doe", + "alias": null, + "billingAddressId": 42 + }, + { + "billingInformationId": 11, + "customerProfileId": 9, + "issuerCountry": "NL", + "iban": "NL27ABNA4458972219", + "swift": "GHJZIEJSKVM", + "ascription": "J. Doe", + "alias": null, + "billingAddressId": 84 + } + ] + } + /customers/{customerProfileId}/billingInformations: + post: + tags: + - Billing Information + summary: Add billing information for a customer + description: >- + + parameters: + - name: customerProfileId + in: path + required: true + schema: + type: integer + example: 1 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/billingInformationEntity" + examples: + customerBillinginformationMandatoryFields: + value: + billingInformation: + issuerCountry: "NL" + iban: "NL73RABO2677424363" + ascription: "J. Doe" + billingAddressId: 1 + customerBillinginformationMandatoryFull: + value: + billingInformation: + issuerCountry: "NL" + iban: "NL73RABO2677424363" + swift: "GHJZIEJSKVM" + ascription: "J. Doe" + alias: "John's billing details" + billingAddressId: 1 + required: true + responses: + 201: + description: Successfully created a customer billingInformation + content: + application/json: + schema: + $ref: "#/components/schemas/postBillingInformationResponse" + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /billingInformations/{billingInformationId}: + patch: + tags: + - Billing Information + summary: Update a billing information + description: >- + + parameters: + - name: billingInformationId + in: path + required: true + schema: + type: integer + example: 1 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/billingInformationEntity" + examples: + updateBillingInformationAlias: + value: + billingInformation: + alias: "Mijn rekening details" + updateBillingInformationAdressId: + value: + billingInformation: + billingAddressId: 4 + updateBillingInformation: + value: + billingInformation: + alias: "Mijn rekening details" + billingAddressId: 4 + required: true + responses: + 200: + description: Successfully updated a customer billing information + content: + application/json: + {} + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited /directdebitmandates: get: tags: @@ -1582,7 +1809,7 @@ paths: post: tags: - Mandates - summary: Add a customer direct debitmandate + summary: Add a customer direct debit mandate description: >- parameters: @@ -1617,6 +1844,42 @@ paths: - default: [] x-auth-type: Application & Application User x-throttling-tier: Unlimited + /directdebitmandates/{directdebitmandateId}: + patch: + tags: + - Mandates + summary: Update a customer direct debit mandate + description: >- + + parameters: + - name: directdebitmandateId + in: path + required: true + schema: + type: integer + example: 1 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/mandateEntity" + examples: + customerDirectDebitMandatePrepared: + value: + directDebitMandate: + mandateState: CANCELLED + required: true + responses: + 200: + description: Successfully updated a customer mandate + content: + application/json: + {} + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + components: securitySchemes: default: @@ -1857,65 +2120,6 @@ components: type: array items: $ref: "#/components/schemas/getAuditTrails" - ovPayTokenEntity: - type: object - properties: - ovPayTokenId: - type: integer - tokenType: - type: object - properties: - tokenTypeId: - type: string - name: - type: string - xTat: - type: string - xBot: - type: string - alias: - type: string - lastDigits: - type: integer - ovpasNumber: - type: string - tokenStatus: - type: object - properties: - tokenStatusId: - type: integer - name: - type: string - expirationDate: - type: string - replacedByTokenId: - type: integer - ovChipcardEntity: - type: object - properties: - chipCardNumber: - type: integer - validUntil: - type: string - format: date - alias: - type: string - personEntity: - type: object - properties: - birthname: - type: string - surname: - type: string - prefix: - type: string - suffix: - type: string - dateOfBirth: - type: string - format: date - emailAddress: - type: string addressPostEntity: required: - addressTypeId @@ -2029,21 +2233,6 @@ components: type: boolean addressType: type: integer - customerPreferencesEntity: - type: object - properties: - languageId: - type: integer - customerStatusEntity: - type: object - properties: - customerStatusId: - type: integer - customersEntity: - type: object - properties: - debtorStatusId: - type: integer postCustomerProfileResponse: type: object properties: @@ -2068,12 +2257,9 @@ components: phoneId: type: integer example: 2 - postCustomerProfileBillingInformationResponse: + postBillingInformationResponse: type: object properties: - customerNumber: - type: integer - example: 10000001 billingInformationId: type: integer example: 1 @@ -2123,6 +2309,42 @@ components: type: array items: $ref: "#/components/schemas/ovPayTokenEntity" + customerPreferencesEntity: + type: object + properties: + customerPreferenceId: + type: integer + languageId: + type: integer + customerStatusEntity: + type: object + properties: + customerStatusId: + type: integer + customersEntity: + type: object + properties: + debtorStatusId: + type: integer + billingInformationEntity: + type: object + properties: + billingInformationId: + type: integer + issuerCountry: + type: string + iban: + type: string + bic: + type: string + swift: + type: string + ascription: + type: string + alias: + type: string + billingAddressId: + type: integer mandateEntity: type: object properties: @@ -2136,6 +2358,69 @@ components: type: string mandateState: type: string + ovPayTokenEntity: + type: object + properties: + ovPayTokenId: + type: integer + tokenType: + type: object + properties: + tokenTypeId: + type: string + name: + type: string + xTat: + type: string + xBot: + type: string + alias: + type: string + lastDigits: + type: integer + ovpasNumber: + type: string + tokenStatus: + type: object + properties: + tokenStatusId: + type: integer + name: + type: string + expirationDate: + type: string + replacedByTokenId: + type: integer + ovChipcardEntity: + type: object + properties: + ovChipCardId: + type: integer + chipCardNumber: + type: integer + validUntil: + type: string + format: date + alias: + type: string + personEntity: + type: object + properties: + personId: + type: integer + birthname: + type: string + surname: + type: string + prefix: + type: string + suffix: + type: string + dateOfBirth: + type: string + format: date + emailAddress: + type: string postOvPayTokenResponse: type: object properties: