feature/OVPAY-2473 #55

Merged
bboterm merged 10 commits from feature/OVPAY-2473 into develop 2026-03-16 13:56:19 +00:00
Showing only changes of commit 0749e927dc - Show all commits

View File

@ -0,0 +1,677 @@
openapi: 3.0.1
info:
title: ABTCustomers
version: '1.0'
servers:
- url: https://services.acc.api.htm.nl/abt/abtcustomers/1.0
security:
- default: []
paths:
/customers/tokens/{ovpayTokenId}/trips:
get:
tags:
- Customer self-service trips
summary: Get trips for a token
description: >-
Get the most recent trips for a given token ID, as long as this token is
bound to the profile (as derived from sub in given JWT)
parameters:
- name: X-HTM-JWT-AUTH-HEADER
in: header
required: true
style: simple
explode: false
schema:
type: string
- name: ovpayTokenId
in: path
required: true
style: simple
explode: false
schema:
type: integer
- name: dateTimeFrom
in: query
required: false
style: form
explode: false
schema:
type: string
- name: dateTimeUntil
in: query
required: false
style: form
explode: false
schema:
type: string
- name: organisationId
in: query
required: false
style: form
explode: false
schema:
type: string
- name: transportType
in: query
required: false
style: form
explode: false
schema:
type: string
- name: lineId
in: query
required: false
style: form
explode: false
schema:
type: string
- name: paymentMethod
in: query
required: false
style: form
explode: false
schema:
type: string
- name: productTemplateId
in: query
required: false
style: form
explode: false
schema:
type: string
- name: category
in: query
required: false
style: form
explode: false
schema:
type: string
- name: tripStatus
in: query
required: false
style: form
explode: false
schema:
type: string
- name: tripId
in: query
required: false
style: form
explode: false
schema:
type: string
- name: showSuperseedingTrips
in: query
required: false
style: form
explode: false
schema:
type: string
- name: organisationName
in: query
required: false
style: form
explode: false
schema:
type: string
- name: limit
in: query
required: false
style: form
explode: false
schema:
type: integer
- name: offset
in: query
required: false
style: form
explode: false
schema:
type: integer
responses:
'200':
description: ok
content:
application/json:
schema:
$ref: '#/components/schemas/getTokenTrips'
'400':
description: '400'
content:
application/json:
schema:
$ref: '#/components/schemas/400Response'
'401':
description: '401'
content:
application/json:
schema:
$ref: '#/components/schemas/401Response'
'403':
description: '403'
content:
application/json:
schema:
$ref: '#/components/schemas/403Response'
'404':
description: '404'
content:
application/json:
schema:
$ref: '#/components/schemas/404Response'
'500':
description: '500'
content:
application/json:
schema:
$ref: '#/components/schemas/500Response'
security:
- default: []
- default: []
x-auth-type: Application & Application User
x-throttling-tier: Unlimited
/customers/trips/{tripId}:
get:
tags:
- Customer self-service trips
summary: Get trips details for a trip and token
description: >-
Get the trip details for a given trip and token ID, as long as the trip
belongs to the token and this token is bound to the profile (as derived
from sub in given JWT)
parameters:
- name: X-HTM-JWT-AUTH-HEADER
in: header
required: true
style: simple
explode: false
schema:
type: string
- name: tripId
in: path
required: true
style: simple
explode: false
schema:
type: integer
- name: ovPayTokenId
in: query
required: true
style: form
explode: false
schema:
type: integer
responses:
'200':
description: ok
content:
application/json:
schema:
$ref: '#/components/schemas/getTrips'
'400':
description: '400'
content:
application/json:
schema:
$ref: '#/components/schemas/400Response'
'401':
description: '401'
content:
application/json:
schema:
$ref: '#/components/schemas/401Response'
'403':
description: '403'
content:
application/json:
schema:
$ref: '#/components/schemas/403Response'
'404':
description: '404'
content:
application/json:
schema:
$ref: '#/components/schemas/404Response'
'500':
description: '500'
content:
application/json:
schema:
$ref: '#/components/schemas/500Response'
security:
- default: []
- default: []
x-auth-type: Application & Application User
x-throttling-tier: Unlimited
components:
schemas:
getTokenTrips:
type: array
items:
type: object
properties:
tripId:
type: number
tripVersion:
type: number
transportType:
type: string
lineId:
type: string
tripStatus:
type: string
fare:
type: number
currency:
type: string
lastUpdatedTripDateTime:
type: string
checkinTransactionTimestamp:
type: string
checkoutTransactionTimestamp:
type: string
checkinLocation:
type: object
properties:
stopId:
type: number
stopName:
type: object
properties:
items:
type: array
items:
type: object
properties:
key:
type: string
value:
type: string
stopDesc:
type: string
stopUrl:
type: string
locationType:
type: number
checkoutLocation:
type: object
properties:
stopId:
type: number
stopName:
type: object
properties:
items:
type: array
items:
type: object
properties:
key:
type: string
value:
type: string
stopDesc:
type: string
stopUrl:
type: string
locationType:
type: number
loyaltyOrDiscount:
type: boolean
_links:
type: object
properties:
tripDetails:
type: object
properties:
href:
type: string
method:
type: string
templated:
type: boolean
getTrips:
type: object
properties:
tripId:
type: number
tripVersion:
type: number
tripStatus:
type: string
organisationIcon:
type: string
organisationId:
type: string
organisationName:
type: string
supersededByTripIds:
type: array
items:
type: number
supersedesTripIds:
type: array
items:
type: object
tripStartTxnId:
type: number
tripEndTxnId:
type: number
numberOfSyntheticLegs:
type: number
numberofSyntheticTrips:
type: number
products:
type: array
items:
type: object
properties:
productTemplateId:
type: string
purchaseDateTime:
type: string
appliedValue:
type: number
xspit:
type: string
category:
type: string
typesOfFareProduct:
type: array
items:
type: object
properties:
privateCode:
bboterm marked this conversation as resolved
Review

We geven in de tripdetails nergens de xbot mee terug, die krijgen we wel. Als we het zo houden hebben we 2 opties (1) TP pakt Xbot uit tokendetails om de stops call mee te doen (2) we geven de info terug in de Hateoas voor ingevuld. Of we voegen de info hier toe, die hebben we toen weggehaald, met het idee dat de XBOT een privacy gevoelig gegeven was.

We geven in de tripdetails nergens de xbot mee terug, die krijgen we wel. Als we het zo houden hebben we 2 opties (1) TP pakt Xbot uit tokendetails om de stops call mee te doen (2) we geven de info terug in de Hateoas voor ingevuld. Of we voegen de info hier toe, die hebben we toen weggehaald, met het idee dat de XBOT een privacy gevoelig gegeven was.
Review

Ja je miste dus die ene commit van mij die ik niet had gepusht. Hij zit idd in de HATEOAS.

Ja je miste dus die ene commit van mij die ik niet had gepusht. Hij zit idd in de HATEOAS.
type: string
checkinTransactionTimestamp:
type: string
checkoutTransactionTimestamp:
type: string
checkinTransactionReference:
type: string
checkoutTransactionReference:
type: string
checkinLocation:
type: object
properties:
stopId:
type: number
stopName:
type: object
properties:
items:
type: array
items:
type: object
properties:
key:
type: string
value:
type: string
stopDesc:
type: string
stopUrl:
type: string
locationType:
type: number
checkoutLocation:
type: object
properties:
stopId:
type: number
stopName:
type: object
properties:
items:
type: array
items:
type: object
properties:
key:
type: string
value:
type: string
stopDesc:
type: string
stopUrl:
type: string
locationType:
type: number
xbot:
type: string
tokenType:
type: string
transportType:
type: string
lineId:
type: string
networkId:
type: string
networkName:
type: string
currency:
type: string
transportIcon:
type: string
legs:
type: array
items:
type: object
properties:
legId:
type: number
checkinTransactionTimestamp:
type: string
checkoutTransactionTimestamp:
type: string
checkinLocation:
type: object
properties:
stopId:
type: number
stopName:
type: object
properties:
items:
type: array
items:
type: object
properties:
key:
type: string
value:
type: string
stopDesc:
type: string
stopUrl:
type: string
locationType:
type: number
checkoutLocation:
type: object
properties:
stopId:
type: number
stopName:
type: object
properties:
items:
type: array
items:
type: object
properties:
key:
type: string
value:
type: string
stopDesc:
type: string
stopUrl:
type: string
locationType:
type: number
baseRate:
type: number
lineId:
type: string
networkId:
type: string
networkName:
type: string
fare:
type: number
fareState:
type: string
currency:
type: string
products:
type: array
items:
type: object
properties:
productTemplateId:
type: string
purchaseDateTime:
type: string
appliedValue:
type: number
xspit:
type: string
category:
type: string
bboterm marked this conversation as resolved
Review

Mist Hateoas voor het fixen van de missing CO

Mist Hateoas voor het fixen van de missing CO
Review

Ahh, ik had 1 commit niet gepushed. Daarom zag je hem niet. Hij zit er nu bij in elk geval!

Ahh, ik had 1 commit niet gepushed. Daarom zag je hem niet. Hij zit er nu bij in elk geval!
typesOfFareProduct:
type: array
items:
type: object
properties:
privateCode:
type: string
appliedTimePeriods:
type: array
items:
type: object
tariffJourneyStart:
type: boolean
tariffDistance:
type: number
aggrGeoIntervalDistance:
type: number
topoDistance:
type: number
concessionId:
type: string
tripLegIdx:
type: number
appliedZones:
type: array
items:
type: object
properties:
zoneId:
type: string
zoneName:
type: object
properties:
items:
type: array
items:
type: object
properties:
key:
type: string
value:
type: string
lastUpdatedTripDateTime:
type: string
fare:
type: number
loyaltyOrDiscount:
type: boolean
supportCode:
type: string
checkinTransactionId:
type: string
checkoutTransactionId:
type: string
tariffVersionId:
type: string
correlationId:
type: string
createdAt:
type: string
400Response:
type: object
properties:
code:
type: string
example: '400'
type:
type: string
message:
type: string
example: Bad Request
description:
type: string
example: >-
'Bad Request: Input parameters missing! Please fill in at least 1
valid input parameter.
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.
403Response:
type: object
properties:
code:
type: string
example: '900901'
type:
type: string
message:
type: string
example: Retailer not authorized
description:
type: string
example: >-
The retailer is not allowed to access resource for requested
touchpoint.
404Response:
type: object
properties:
code:
type: string
example: '404'
type:
type: string
example: Status report
message:
type: string
example: Not Found
description:
type: string
example: The requested resource is not available.
500Response:
type: object
properties:
code:
type: string
example: '500'
type:
type: string
message:
type: string
example: Internal Server Error
description:
type: string