diff --git a/src/openapi/claims/claims-forms.yaml b/src/openapi/claims/claims-forms.yaml new file mode 100644 index 0000000..a9f43f2 --- /dev/null +++ b/src/openapi/claims/claims-forms.yaml @@ -0,0 +1,269 @@ +openapi: 3.0.1 +info: + title: ClaimsAPI + version: '1.0' +servers: + - url: https://services.acc.api.htm.nl/chipkaart/1.0 + - url: http://services.acc.api.htm.nl/chipkaart/1.0 +security: + - default: [] +tags: + - name: Claims +paths: + /claims: + post: + tags: + - Claims + summary: Create a claim + description: > + Create a claim by sending a JSON as specified in the schema. By + specifying the chipcardnumber under 'chipkaart', + + a claim for OV chipcard will be send to the OVC API. If no + chipcardnumber is specified under 'chipkaart', a claim for EMV is send + to mendix. + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/claimsEntity' + examples: + OVCK: + value: + aankomsthalte: '1' + instapdatum: '2024-03-06T15:20:44.549Z' + instaptijd: '2024-03-06T15:20:44.549Z' + ingecheckt: true + uitgecheckt: true + chipkaart: '1234123412341234' + afgeschrevenbedrag: 0 + vertrekhalte: string + korting: true + iban: '1234123412341234' + naam: string + emailadres: user@example.com + uitstaptijd: '2024-03-06T15:20:44.549Z' + verwachtbedrag: 0 + toelichting: string + lijn: '1' + vervoertype: '1' + serviceRefId: '1' + Totaalbedrag: 0 + EMV: + value: + aankomsthalte: '1' + instapdatum: '2024-03-06T15:20:44.549Z' + instaptijd: '2024-03-06T15:20:44.549Z' + ingecheckt: true + uitgecheckt: true + afgeschrevenbedrag: 0 + vertrekhalte: string + korting: true + iban: '1234123412341234' + naam: string + emailadres: user@example.com + uitstaptijd: '2024-03-06T15:20:44.549Z' + verwachtbedrag: 0 + toelichting: string + lijn: '1' + vervoertype: '1' + serviceRefId: '1' + Totaalbedrag: 0 + responses: + '200': + description: ok + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /refunds: + post: + tags: + - Claims + summary: Create a refund request + description: Create a refund request by sending a JSON as specified in the schema. Either a serviceReferenceId or ovPasNumber should be present in order to fulfill the refund request. + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/refundsEntity' + examples: + EMV: + value: + emailAddress: 'j.beek@htm.nl' + orderNumber: 'ORD1000046' + serviceReferenceId: '7703be98-57f4-4d02-887f-68348788f476' + amount: 2305 + iban: 'NL98INGB0003856625' + orderDate: '2025-01-13' + productName: 'HTM 20% korting' + OVpas: + value: + emailAddress: 'j.beek@htm.nl' + orderNumber: 'ORD1000046' + ovpasNumber: '63AW974' + iban: 'NL98INGB0003856625' + orderDate: '2025-01-13' + productName: 'HTM 20% korting' + responses: + '201': + description: Created + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited +components: + schemas: + claimsEntity: + required: + - Totaalbedrag + - aankomsthalte + - afgeschrevenbedrag + - emailadres + - instapdatum + - instaptijd + - korting + - lijn + - serviceRefId + - toelichting + - uitgecheckt + - vertrekhalte + - vervoertype + - verwachtbedrag + type: object + properties: + aankomsthalte: + type: string + instapdatum: + type: string + format: date-time + instaptijd: + type: string + format: date-time + ingecheckt: + type: boolean + uitgecheckt: + type: boolean + chipkaart: + type: string + afgeschrevenbedrag: + type: number + format: float + vertrekhalte: + type: string + korting: + type: boolean + iban: + type: string + description: String of length between 15 en 32 characters + example: '1234123412341234' + naam: + type: string + emailadres: + type: string + format: email + uitstaptijd: + type: string + format: date-time + verwachtbedrag: + type: number + format: float + toelichting: + type: string + lijn: + type: string + vervoertype: + type: string + serviceRefId: + type: string + Totaalbedrag: + type: number + format: float + refundsEntity: + required: + - emailAddress + - iban + type: object + properties: + emailAddress: + type: string + format: email + example: j.beek@htm.nl + orderNumber: + type: string + example: ORD1000046 + serviceReferenceId: + type: string + format: uuid + example: 7703be98-57f4-4d02-887f-68348788f476 + amount: + type: integer + example: 12305 + ovpasNumber: + type: string + example: 63AW974 + iban: + type: string + example: NL00RABO000001337 + orderDate: + type: string + format: date + example: 2025-01-13 + productName: + type: string + example: HTM 20% korting + 401Response: + type: object + properties: + code: + type: string + example: '900901' + type: + type: string + message: + type: string + example: Invalid Credentials + description: + type: string + example: >- + Invalid Credentials. Make sure you have provided the correct + security credentials + 500Response: + type: object + properties: + error: + type: string + example: error while connecting to backend + securitySchemes: + default: + type: oauth2 + flows: + implicit: + authorizationUrl: https://services.acc.api.htm.nl/authorize + scopes: {}