Compare commits

...

6 Commits

4 changed files with 190 additions and 4 deletions

View File

@@ -19,6 +19,7 @@ https://www.astera.com/de/type/blog/api-design-best-practices
https://www.citusdata.com/blog/2016/03/30/five-ways-to-paginate/
https://stackoverflow.blog/2021/10/06/best-practices-for-authentication-and-authorization-for-rest-apis/
https://www.akamai.com/blog/security/rest-api-security-best-practices
https://jakarta.ee/specifications/data/1.0/
# Examples

View File

@@ -1287,6 +1287,62 @@ paths:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/Documents/{Guid}/custommethods/AcceptOffer:
post:
tags:
- "Documents"
description: "Accepts an offer. Dependant on the implementation, it could be that the offer is after the operation an order."
parameters:
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/_HashValueParameter"
- name: "Comment"
in: "query"
required: false
schema:
type: "string"
default: null
example: "Thanks you!"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/Document"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/Documents/{Guid}/custommethods/RejectOffer:
post:
tags:
- "Documents"
description: "Rejects an offer. Dependant on the implementation, the offer keeps beeing open for further responses or gets historic."
parameters:
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/_HashValueParameter"
- name: "Comment"
in: "query"
required: false
schema:
type: "string"
default: null
example: "The price is higher than excepted. Can you make another offer?"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/Document"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/DocumentPositions:
get:
tags:

View File

@@ -1,7 +1,7 @@
openapi: 3.0.0
info:
title: "TyrePro-API, Shop"
version: "Version 8"
version: "Version 9"
servers:
- url: "https://musterreifen.com/api/shop"
description: "Development server, customers domain"
@@ -486,7 +486,7 @@ paths:
200:
description: "successful operation"
headers:
GuidShopArticleConfig:
Guid-Shop-Article-Config:
schema:
type: "string"
description: "The ShopArticleConfig which was used to build the response. With this unification the configuration is maybe not precise, but you can show the results in a unified form (columns). Currently it's a response header. In the future we will maybe change this as a field in a response object."
@@ -1371,7 +1371,17 @@ components:
type: "string"
format: "date"
AmountInCart:
type: "number"
type: "array"
items:
type: "object"
required:
- "GuidCart"
- "Amount"
properties:
GuidCart:
type: "string"
Amount:
type: "number"
MaterialType:
type: "object"
required:
@@ -1406,6 +1416,8 @@ components:
type: "object"
required:
- "Guid"
- "CreationMoment"
- "LastModificationMoment"
- "Designation"
- "SequenceNumber"
- "ProvidedByShopOperator"
@@ -1413,6 +1425,14 @@ components:
Guid:
type: "string"
readOnly: true
CreationMoment:
type: "string"
format: "date-time"
readOnly: true
LastModificationMoment:
type: "string"
format: "date-time"
readOnly: true
Designation:
type: "string"
SequenceNumber:
@@ -1425,6 +1445,8 @@ components:
required:
- "Guid"
- "GuidCalculationProfile"
- "CreationMoment"
- "LastModificationMoment"
- "Designation"
- "SequenceNumber"
properties:
@@ -1433,6 +1455,14 @@ components:
readOnly: true
GuidCalculationProfile:
type: "string"
CreationMoment:
type: "string"
format: "date-time"
readOnly: true
LastModificationMoment:
type: "string"
format: "date-time"
readOnly: true
Designation:
type: "string"
SequenceNumber:
@@ -1454,6 +1484,8 @@ components:
required:
- "Guid"
- "GuidCalculation"
- "CreationMoment"
- "LastModificationMoment"
- "SequenceNumber"
- "NetPrice"
- "Mode"
@@ -1465,6 +1497,14 @@ components:
readOnly: true
GuidCalculation:
type: "string"
CreationMoment:
type: "string"
format: "date-time"
readOnly: true
LastModificationMoment:
type: "string"
format: "date-time"
readOnly: true
SequenceNumber:
type: "integer"
PriceNet:
@@ -1573,6 +1613,8 @@ components:
type: "object"
required:
- "Guid"
- "CreationMoment"
- "LastModificationMoment"
- "SequenceNumber"
- "Designation"
- "IsUsedByDefault"
@@ -1583,6 +1625,14 @@ components:
Guid:
type: "string"
readOnly: true
CreationMoment:
type: "string"
format: "date-time"
readOnly: true
LastModificationMoment:
type: "string"
format: "date-time"
readOnly: true
SequenceNumber:
type: "integer"
Designation:

View File

@@ -1,7 +1,7 @@
openapi: 3.0.0
info:
title: "TyrePro-API, TPMS"
version: "Version 4"
version: "Version 7"
servers:
- url: "https://musterreifen.com/api/tpms"
description: "Development server"
@@ -167,6 +167,23 @@ paths:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/CustomerStorages/{Guid}/custommethods/Rearrange:
post:
tags:
- "TPMS / customer storage"
parameters:
- $ref: "#/components/parameters/GuidPathParameter"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/CustomerStorage"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/CustomerStoragePositions/{Guid}:
get:
tags:
@@ -572,6 +589,7 @@ paths:
$ref: "#/components/schemas/Customer"
default:
$ref: "#/components/responses/GenericError"
deprecated: true
security:
- SessionScheme: []
/CustomerStorages:
@@ -599,6 +617,7 @@ paths:
$ref: "#/components/schemas/CustomerStorage"
default:
$ref: "#/components/responses/GenericError"
deprecated: true
security:
- SessionScheme: []
/CustomerVehicles:
@@ -625,6 +644,7 @@ paths:
$ref: "#/components/schemas/CustomerVehicle"
default:
$ref: "#/components/responses/GenericError"
deprecated: true
security:
- SessionScheme: []
/CustomerVehicles/{Guid}/CustomerStorages:
@@ -653,6 +673,7 @@ paths:
$ref: "#/components/schemas/CustomerStorage"
default:
$ref: "#/components/responses/GenericError"
deprecated: true
security:
- SessionScheme: []
/CustomerVehicles/{Guid}/TpmsMeasurements:
@@ -680,6 +701,7 @@ paths:
$ref: "#/components/schemas/TpmsMeasurement"
default:
$ref: "#/components/responses/GenericError"
deprecated: true
security:
- SessionScheme: []
post:
@@ -702,6 +724,7 @@ paths:
$ref: "#/components/schemas/TpmsMeasurement"
default:
$ref: "#/components/responses/GenericError"
deprecated: true
security:
- SessionScheme: []
/DbBlobs/{Guid}:
@@ -722,6 +745,7 @@ paths:
$ref: "#/components/schemas/DbBlob"
default:
$ref: "#/components/responses/GenericError"
deprecated: true
security:
- SessionScheme: []
/DmsFiles:
@@ -743,6 +767,7 @@ paths:
$ref: "#/components/schemas/DmsFile"
default:
$ref: "#/components/responses/GenericError"
deprecated: true
security:
- SessionScheme: []
/Documents:
@@ -782,6 +807,7 @@ paths:
$ref: "#/components/schemas/Document"
default:
$ref: "#/components/responses/GenericError"
deprecated: true
security:
- SessionScheme: []
/Documents/{Guid}:
@@ -799,6 +825,7 @@ paths:
$ref: "#/components/schemas/Document"
default:
$ref: "#/components/responses/GenericError"
deprecated: true
security:
- SessionScheme: []
/Employees:
@@ -826,6 +853,7 @@ paths:
$ref: "#/components/schemas/Employee"
default:
$ref: "#/components/responses/GenericError"
deprecated: true
security:
- SessionScheme: []
/Employees/{Guid}:
@@ -843,6 +871,7 @@ paths:
$ref: "#/components/schemas/Employee"
default:
$ref: "#/components/responses/GenericError"
deprecated: true
security:
- SessionScheme: []
/TpmsMeasurements:
@@ -864,6 +893,7 @@ paths:
$ref: "#/components/schemas/TpmsMeasurement"
default:
$ref: "#/components/responses/GenericError"
deprecated: true
security:
- SessionScheme: []
/TpmsMeasurements/{Guid}:
@@ -881,6 +911,7 @@ paths:
$ref: "#/components/schemas/TpmsMeasurement"
default:
$ref: "#/components/responses/GenericError"
deprecated: true
security:
- SessionScheme: []
patch:
@@ -904,6 +935,7 @@ paths:
$ref: "#/components/schemas/TpmsMeasurement"
default:
$ref: "#/components/responses/GenericError"
deprecated: true
security:
- SessionScheme: []
/TpmsMeasurements/{Guid}/DmsFiles:
@@ -931,6 +963,7 @@ paths:
$ref: "#/components/schemas/DmsFile"
default:
$ref: "#/components/responses/GenericError"
deprecated: true
security:
- SessionScheme: []
post:
@@ -953,6 +986,7 @@ paths:
$ref: "#/components/schemas/DmsFile"
default:
$ref: "#/components/responses/GenericError"
deprecated: true
security:
- SessionScheme: []
/TpmsMeasurements/{Guid}/TpmsMeasurementPositions:
@@ -980,6 +1014,7 @@ paths:
$ref: "#/components/schemas/TpmsMeasurementPosition"
default:
$ref: "#/components/responses/GenericError"
deprecated: true
security:
- SessionScheme: []
post:
@@ -1002,6 +1037,7 @@ paths:
$ref: "#/components/schemas/TpmsMeasurementPosition"
default:
$ref: "#/components/responses/GenericError"
deprecated: true
security:
- SessionScheme: []
/TpmsMeasurementPositions:
@@ -1023,6 +1059,7 @@ paths:
$ref: "#/components/schemas/TpmsMeasurementPosition"
default:
$ref: "#/components/responses/GenericError"
deprecated: true
security:
- SessionScheme: []
/TpmsMeasurementPositions/{Guid}:
@@ -1040,6 +1077,7 @@ paths:
$ref: "#/components/schemas/TpmsMeasurementPosition"
default:
$ref: "#/components/responses/GenericError"
deprecated: true
security:
- SessionScheme: []
patch:
@@ -1063,6 +1101,7 @@ paths:
$ref: "#/components/schemas/TpmsMeasurementPosition"
default:
$ref: "#/components/responses/GenericError"
deprecated: true
security:
- SessionScheme: []
/TpmsMeasurementPositions/{Guid}/DmsFiles:
@@ -1090,6 +1129,7 @@ paths:
$ref: "#/components/schemas/DmsFile"
default:
$ref: "#/components/responses/GenericError"
deprecated: true
security:
- SessionScheme: []
post:
@@ -1112,6 +1152,7 @@ paths:
$ref: "#/components/schemas/DmsFile"
default:
$ref: "#/components/responses/GenericError"
deprecated: true
security:
- SessionScheme: []
/VehicleTypes:
@@ -1139,6 +1180,7 @@ paths:
$ref: "#/components/schemas/VehicleType"
default:
$ref: "#/components/responses/GenericError"
deprecated: true
security:
- SessionScheme: []
/VehicleTypes/{Guid}:
@@ -1156,6 +1198,7 @@ paths:
$ref: "#/components/schemas/VehicleType"
default:
$ref: "#/components/responses/GenericError"
deprecated: true
security:
- SessionScheme: []
components:
@@ -1233,10 +1276,13 @@ components:
type: "object"
required:
- "Guid"
- "Score"
- "Number"
properties:
Guid:
type: "string"
Score:
type: "number"
Number:
type: "integer"
Name1:
@@ -1255,11 +1301,14 @@ components:
type: "object"
required:
- "Guid"
- "Score"
- "GuidCustomer"
- "CustomerNumber"
properties:
Guid:
type: "string"
Score:
type: "number"
LicenceTagNumber:
type: "string"
GuidCustomer:
@@ -1274,14 +1323,24 @@ components:
type: "object"
required:
- "Guid"
- "Score"
- "Number"
- "ContractStartDate"
- "IsActive"
- "GuidCustomer"
- "CustomerNumber"
properties:
Guid:
type: "string"
Score:
type: "number"
Number:
type: "integer"
ContractStartDate:
type: "string"
format: "date"
IsActive:
type: "boolean"
DimensionFrontLeft:
type: "string"
LicenceTagNumber:
@@ -1294,12 +1353,19 @@ components:
type: "integer"
CustomerName1:
type: "string"
StorageDesignation:
type: "string"
StoragePlaceDesignation:
type: "string"
RemoteStorageReference:
type: "string"
Documents:
type: "array"
items:
type: "object"
required:
- "Guid"
- "Score"
- "DocumentTypeDesignation"
- "Date"
- "Number"
@@ -1310,6 +1376,8 @@ components:
properties:
Guid:
type: "string"
Score:
type: "number"
DocumentTypeDesignation:
type: "string"
Date:
@@ -1339,12 +1407,15 @@ components:
type: "object"
required:
- "Guid"
- "Score"
- "StartMoment"
- "Designation"
- "WasCreatedByOnlineScheduler"
properties:
Guid:
type: "string"
Score:
type: "number"
StartMoment:
type: "string"
format: "date-time"
@@ -1393,6 +1464,8 @@ components:
type: "string"
GuidStorageLocation:
type: "string"
RemoteStorageReference:
type: "string"
CommentExternal:
type: "string"
CommentInternal:
@@ -1414,6 +1487,8 @@ components:
readOnly: true
PositionDescription:
type: "string"
GuidArticleTyre:
type: "string"
TyreDimension:
type: "string"
TyreManufacturer:
@@ -1430,6 +1505,8 @@ components:
type: "integer"
TyreDotWeek:
type: "integer"
GuidArticleRim:
type: "string"
RimDimension:
type: "string"
RimManufacturer:
@@ -1445,6 +1522,8 @@ components:
- "SteelRim"
- "WithoutRim"
- "Unknown"
GuidArticleTpms:
type: "string"
TpmsSensorId:
type: "string"
TpmsSensorBatteryInPercent: