develop #38
206
src/openapi/nfc_reader/servicedeskcardreader-api.yaml
Normal file
206
src/openapi/nfc_reader/servicedeskcardreader-api.yaml
Normal file
@ -0,0 +1,206 @@
|
||||
openapi: 3.0.3
|
||||
info:
|
||||
title: Service Desk Card Reader API
|
||||
version: 0.9.0
|
||||
description: |-
|
||||
This API enables that external systems (such as SOS) can operate on information from service desk card readers.
|
||||
|
||||
### 0.9.0
|
||||
- First draft version
|
||||
servers:
|
||||
- url: /v1
|
||||
paths:
|
||||
/card-reader/token:
|
||||
post:
|
||||
tags:
|
||||
- CardReader
|
||||
summary: Register a token from the card
|
||||
operationId: registerToken
|
||||
description: |
|
||||
Register a token from the card to the external system.
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/TokenRegisterRequest"
|
||||
responses:
|
||||
"202":
|
||||
description: Accepted
|
||||
"400":
|
||||
description: |-
|
||||
Bad Request. Occurs when the readerId is unknown to the external system. A call to `/card-reader/registrations`,
|
||||
followed by a `/card-reader/register` is needed in order to restore reader registrations.
|
||||
/card-reader/register:
|
||||
post:
|
||||
tags:
|
||||
- CardReader
|
||||
summary: Register a reader that is connected to the Card Reader Interface
|
||||
operationId: registerReader
|
||||
description: |
|
||||
Register a reader to the external system to receive a newly generated readerID.
|
||||
|
||||
**N.B.**: After the last reader has been registered, an initial `/card-reader/registrations` call must be sent.
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/ReaderRegisterRequest"
|
||||
responses:
|
||||
"200":
|
||||
description: Registration was successful
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/ReaderRegisterResponse"
|
||||
"400":
|
||||
description: Bad Request
|
||||
|
||||
/card-reader/unregister:
|
||||
post:
|
||||
tags:
|
||||
- CardReader
|
||||
summary: Unregister a reader from the external system
|
||||
operationId: unregisterReader
|
||||
description: |
|
||||
Unregister a reader from the external system.
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/ReaderUnregisterRequest"
|
||||
responses:
|
||||
"204":
|
||||
description: Unregistration was successful
|
||||
"400":
|
||||
description: Bad Request
|
||||
/card-reader/registrations:
|
||||
post:
|
||||
tags:
|
||||
- CardReader
|
||||
summary: Send a list of readers that should currently be registered
|
||||
operationId: sendReaderRegistrations
|
||||
description: |
|
||||
Send a list of readers of which the Card Reader Interface believes are registered. This must be done periodically.
|
||||
The period is determined by the timeout duration in the response.
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/RegistrationsRequest"
|
||||
responses:
|
||||
"200":
|
||||
description: Reader registrations successfully received
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/RegistrationsResponse"
|
||||
|
||||
components:
|
||||
schemas:
|
||||
TokenRegisterRequest:
|
||||
description: Request containing token information read using the card reader
|
||||
type: object
|
||||
properties:
|
||||
readerId:
|
||||
$ref: "#/components/schemas/ReaderId"
|
||||
xBot:
|
||||
type: string
|
||||
format: uuid
|
||||
description: The unique identifier of the token.
|
||||
required:
|
||||
- readerId
|
||||
- xBot
|
||||
|
||||
ReaderRegisterRequest:
|
||||
description: Request containing card reader information for one or more readers to be be registered
|
||||
type: object
|
||||
properties:
|
||||
readerIdQuantity:
|
||||
type: integer
|
||||
default: 1
|
||||
minimum: 1
|
||||
cardReaderInterfaceId:
|
||||
$ref: "#/components/schemas/cardReaderInterfaceId"
|
||||
locationName:
|
||||
$ref: "#/components/schemas/LocationName"
|
||||
required:
|
||||
- cardReaderInterfaceId
|
||||
- locationName
|
||||
- readerIdQuantity
|
||||
ReaderRegisterResponse:
|
||||
description: Response containing one or more readerIds for the registered reader(s)
|
||||
type: object
|
||||
properties:
|
||||
readerIds:
|
||||
type: array
|
||||
items:
|
||||
$ref: "#/components/schemas/ReaderId"
|
||||
required:
|
||||
- readerIds
|
||||
|
||||
ReaderUnregisterRequest:
|
||||
description: Request containing the readerId to unregister
|
||||
type: object
|
||||
properties:
|
||||
cardReaderInterfaceId:
|
||||
$ref: "#/components/schemas/cardReaderInterfaceId"
|
||||
locationName:
|
||||
$ref: "#/components/schemas/LocationName"
|
||||
readerId:
|
||||
$ref: "#/components/schemas/ReaderId"
|
||||
required:
|
||||
- readerId
|
||||
|
||||
RegistrationsRequest:
|
||||
description: Request containing a list of readerId of which the Card Reader Interface believes are registered.
|
||||
type: object
|
||||
properties:
|
||||
cardReaderInterfaceId:
|
||||
$ref: "#/components/schemas/cardReaderInterfaceId"
|
||||
locationName:
|
||||
$ref: "#/components/schemas/LocationName"
|
||||
readerIds:
|
||||
type: array
|
||||
items:
|
||||
$ref: "#/components/schemas/ReaderId"
|
||||
required:
|
||||
- cardReaderInterfaceId
|
||||
- locationName
|
||||
- readerIds
|
||||
RegistrationsResponse:
|
||||
description: Response with actionable information for the Card Reader Interface.
|
||||
type: object
|
||||
properties:
|
||||
nextCallTimeout:
|
||||
|
||||
type: integer
|
||||
description: |
|
||||
Timeout duration in seconds BEFORE which the next `/card-reader/registrations` call should happen.
|
||||
Failure to send a call before this timeout will result in automatic unregistration of all readers associated to this Card Read Interface.
|
||||
|
||||
The external systems must maintain a grace period on reception of the next call.
|
||||
The Card Read Interface must start sending the next call on or before the timeout (grace period not needed).
|
||||
readerIds:
|
||||
type: array
|
||||
items:
|
||||
$ref: "#/components/schemas/ReaderId"
|
||||
description: |
|
||||
A list of readerIds that are registered to the external system. This mean all readerIds that readers with
|
||||
readerIds missing from this list must be reregistered using `/card-reader/register`.
|
||||
required:
|
||||
- nextCallTimeout
|
||||
- readerIds
|
||||
|
||||
cardReaderInterfaceId:
|
||||
type: string
|
||||
description: Each Card Reader Interface has a unique cardReaderInterfaceId. Identifier for the Card Reader Interface to which one or more readers are connected.
|
||||
LocationName:
|
||||
type: string
|
||||
description: Name of the location of the reader. A location can have one ore more Card Reader Interfaces (cardReaderInterfaceIds)
|
||||
ReaderId:
|
||||
type: string
|
||||
description: Unique identifier generated by the external system. Should be displayed on the screen of the reader.
|
||||
Loading…
Reference in New Issue
Block a user