OVPAY-2186 - Added proper schema for POST contracts.

This commit is contained in:
Bas Boterman 2025-10-01 16:11:00 +02:00
parent b666f333cc
commit 7a2ecec133

View File

@ -34,7 +34,7 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/Contract" $ref: "#/components/schemas/Contracts"
example: example:
{ {
"contracts": "contracts":
@ -105,7 +105,7 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/Contract" $ref: "#/components/schemas/PostContractsRequestBody"
example: example:
{ {
"contract": "contract":
@ -147,7 +147,7 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/Contract" $ref: "#/components/schemas/PostContractsResponseBody"
example: example:
{ {
"contract": "contract":
@ -1110,6 +1110,103 @@ components:
scheme: bearer scheme: bearer
bearerFormat: JWT bearerFormat: JWT
schemas: schemas:
PostContractsRequestBody:
type: object
properties:
contract:
type: object
properties:
orderId:
type: string
format: uuid
example: eb3d08f7-7feb-4f31-9f5b-daa634e51f48
orderLineId:
type: string
format: uuid
example: 52efbbfc-8c28-4016-9ece-dc3ef9a70bd8
touchpointId:
type: integer
example: 2
termDuration:
type: string
format: ISO8601
example: P0Y1M0D
billingDay:
type: integer
example: 15
highestInvoiceTerm:
type: integer
example: 0
contractVersions:
type: array
items:
type: object
properties:
termsAndConditions:
type: string
format: url
example: https://www.htm.nl/reisproducten/productvoorwaarden/htm-maandkorting/
productId:
type: integer
example: 1
productName:
type: string
example: HTM Maand 20% korting
taxCode:
type: string
example: V9
taxPercentage:
type: number
format: float
example: 9.0
termAmountInclTax:
type: integer
example: 400
start:
type: string
format: date-time
example: 2024-07-04 15:01:00.000
end:
type: string
format: date-time
example: 2024-12-31 15:01:00.000
required:
- termsAndConditions
- productId
- productName
- taxCode
- taxPercentage
- termAmountInclTax
- start
required:
- orderId
- orderLineId
- touchpointId
- termDuration
- billingDay
- highestInvoiceTerm
- contractVersions
required:
- contract
PostContractsResponseBody:
type: object
properties:
contract:
type: object
properties:
contractId:
type: string
format: uuid
example: 5a3876a1-e9a1-4278-8983-4679a8d583c2
contractNumber:
type: string
pattern: '^D\d{6}$'
example: D123456
required:
- contractId
- contractNumber
required:
- contract
Contract: Contract:
type: object type: object
properties: properties: