Compare commits

...

23 Commits

Author SHA1 Message Date
Nico Kroll adb589ef49 New fields for redirecting to a customer url 2025-10-29 08:42:56 +01:00
Nico Kroll fbcb1ff6bb Filters extended for PairSearch 2025-10-20 09:08:40 +02:00
Nico Kroll 68eca53428 Added Motorcycle-Data 2025-10-17 09:41:45 +02:00
Nico Kroll 694582091b Typing error 2025-10-16 15:16:36 +02:00
Nico Kroll 254d3b09ae Search by motorcycles 2025-10-16 14:57:10 +02:00
Nico Kroll 1c7255fa72 Abfrage von Zuhebörteilen, wie z.B. Schläuchen 2025-10-16 11:33:09 +02:00
Nico Kroll 574b8caf49 Reorganization for better understanding 2025-10-16 10:14:28 +02:00
Nico Kroll dacc6cade4 Pair- or Couplesearch implementation
For different dimensions of front and rear axle
2025-10-16 09:25:45 +02:00
Nico Kroll 6d93e58c98 New Endpoint for StockDetails of an article
And some more descriptions for stock coloumns. The clients are using often abbreviations
2025-10-15 11:17:18 +02:00
Nico Kroll 1edeb5178d Raw ProgramIdentifier 2025-10-07 09:28:58 +02:00
Nico Kroll 1e6a843330 Added designations for any UI, to show 2025-09-12 10:27:34 +02:00
Nico Kroll b797105afc Added GuidOnlineService-Parameter 2025-09-04 06:38:13 +02:00
Nico Kroll 741f6c34dd Providing information about top sold articles 2025-08-21 10:28:38 +02:00
Nico Kroll cb2e4d1d60 Added Areas
These are blocks on the page to show custom content. Like typical advertisment-blocks on other websites.
2025-08-21 09:40:40 +02:00
Nico Kroll 7449bb1a06 Wrong type 2025-08-21 07:44:08 +02:00
Nico Kroll 791d46ff6b ShopArticleInformation added. I.e. photos and marketing stuff 2025-08-21 07:40:44 +02:00
Nico Kroll 5b9a836c65 V10 - rework of Blob-Handling 2025-08-20 10:33:58 +02:00
Nico Kroll cec3fa68ad The updated document gets returned 2025-08-20 10:30:59 +02:00
Nico Kroll 00243eb3b5 Small enhancements due to requests 2025-08-05 14:23:49 +02:00
Nico Kroll 8cd8199417 New fields for article references and the function to rearrange the customer storage 2025-06-19 14:05:05 +02:00
Nico Kroll 738aaa0a6d Amount in cart is now a complex object 2025-06-19 13:38:08 +02:00
Nico Kroll 094262e414 Naming in Browsers is stupid.
Yeah :/
2024-10-01 12:00:06 +02:00
Nico Kroll 5bc944a908 Some moments has been missing 2024-09-03 08:06:37 +02:00
4 changed files with 940 additions and 242 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://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://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://www.akamai.com/blog/security/rest-api-security-best-practices
https://jakarta.ee/specifications/data/1.0/
# Examples # Examples

View File

@ -1287,6 +1287,62 @@ paths:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
security: security:
- SessionScheme: [] - 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: /DocumentPositions:
get: get:
tags: tags:
@ -4206,6 +4262,7 @@ components:
- "UsersMayEnterANewLicenceTag" - "UsersMayEnterANewLicenceTag"
- "IsConnectedWithATyreStorage" - "IsConnectedWithATyreStorage"
- "DeadlineTimeInSecondsSinceMidnight" - "DeadlineTimeInSecondsSinceMidnight"
- "DeadlineTimeInSecondsSinceMidnight"
properties: properties:
Guid: Guid:
type: "string" type: "string"
@ -4230,6 +4287,16 @@ components:
type: "boolean" type: "boolean"
DeadlineTimeInSecondsSinceMidnight: DeadlineTimeInSecondsSinceMidnight:
type: "integer" type: "integer"
RedirectUrlType:
type: "string"
enum:
- "None"
- "NewTab"
- "SameTab"
RedirectUrl:
type: "string"
RedirectUrlShallBeShownAsOptionalButton:
type: "boolean"
_HashValue: _HashValue:
$ref: "#/components/schemas/_HashValue" $ref: "#/components/schemas/_HashValue"
example: example:

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
openapi: 3.0.0 openapi: 3.0.0
info: info:
title: "TyrePro-API, TPMS" title: "TyrePro-API, TPMS"
version: "Version 4" version: "Version 7"
servers: servers:
- url: "https://musterreifen.com/api/tpms" - url: "https://musterreifen.com/api/tpms"
description: "Development server" description: "Development server"
@ -167,6 +167,23 @@ paths:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
security: security:
- SessionScheme: [] - 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}: /CustomerStoragePositions/{Guid}:
get: get:
tags: tags:
@ -572,6 +589,7 @@ paths:
$ref: "#/components/schemas/Customer" $ref: "#/components/schemas/Customer"
default: default:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
deprecated: true
security: security:
- SessionScheme: [] - SessionScheme: []
/CustomerStorages: /CustomerStorages:
@ -599,6 +617,7 @@ paths:
$ref: "#/components/schemas/CustomerStorage" $ref: "#/components/schemas/CustomerStorage"
default: default:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
deprecated: true
security: security:
- SessionScheme: [] - SessionScheme: []
/CustomerVehicles: /CustomerVehicles:
@ -625,6 +644,7 @@ paths:
$ref: "#/components/schemas/CustomerVehicle" $ref: "#/components/schemas/CustomerVehicle"
default: default:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
deprecated: true
security: security:
- SessionScheme: [] - SessionScheme: []
/CustomerVehicles/{Guid}/CustomerStorages: /CustomerVehicles/{Guid}/CustomerStorages:
@ -653,6 +673,7 @@ paths:
$ref: "#/components/schemas/CustomerStorage" $ref: "#/components/schemas/CustomerStorage"
default: default:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
deprecated: true
security: security:
- SessionScheme: [] - SessionScheme: []
/CustomerVehicles/{Guid}/TpmsMeasurements: /CustomerVehicles/{Guid}/TpmsMeasurements:
@ -680,6 +701,7 @@ paths:
$ref: "#/components/schemas/TpmsMeasurement" $ref: "#/components/schemas/TpmsMeasurement"
default: default:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
deprecated: true
security: security:
- SessionScheme: [] - SessionScheme: []
post: post:
@ -702,6 +724,7 @@ paths:
$ref: "#/components/schemas/TpmsMeasurement" $ref: "#/components/schemas/TpmsMeasurement"
default: default:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
deprecated: true
security: security:
- SessionScheme: [] - SessionScheme: []
/DbBlobs/{Guid}: /DbBlobs/{Guid}:
@ -722,6 +745,7 @@ paths:
$ref: "#/components/schemas/DbBlob" $ref: "#/components/schemas/DbBlob"
default: default:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
deprecated: true
security: security:
- SessionScheme: [] - SessionScheme: []
/DmsFiles: /DmsFiles:
@ -743,6 +767,7 @@ paths:
$ref: "#/components/schemas/DmsFile" $ref: "#/components/schemas/DmsFile"
default: default:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
deprecated: true
security: security:
- SessionScheme: [] - SessionScheme: []
/Documents: /Documents:
@ -782,6 +807,7 @@ paths:
$ref: "#/components/schemas/Document" $ref: "#/components/schemas/Document"
default: default:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
deprecated: true
security: security:
- SessionScheme: [] - SessionScheme: []
/Documents/{Guid}: /Documents/{Guid}:
@ -799,6 +825,7 @@ paths:
$ref: "#/components/schemas/Document" $ref: "#/components/schemas/Document"
default: default:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
deprecated: true
security: security:
- SessionScheme: [] - SessionScheme: []
/Employees: /Employees:
@ -826,6 +853,7 @@ paths:
$ref: "#/components/schemas/Employee" $ref: "#/components/schemas/Employee"
default: default:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
deprecated: true
security: security:
- SessionScheme: [] - SessionScheme: []
/Employees/{Guid}: /Employees/{Guid}:
@ -843,6 +871,7 @@ paths:
$ref: "#/components/schemas/Employee" $ref: "#/components/schemas/Employee"
default: default:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
deprecated: true
security: security:
- SessionScheme: [] - SessionScheme: []
/TpmsMeasurements: /TpmsMeasurements:
@ -864,6 +893,7 @@ paths:
$ref: "#/components/schemas/TpmsMeasurement" $ref: "#/components/schemas/TpmsMeasurement"
default: default:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
deprecated: true
security: security:
- SessionScheme: [] - SessionScheme: []
/TpmsMeasurements/{Guid}: /TpmsMeasurements/{Guid}:
@ -881,6 +911,7 @@ paths:
$ref: "#/components/schemas/TpmsMeasurement" $ref: "#/components/schemas/TpmsMeasurement"
default: default:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
deprecated: true
security: security:
- SessionScheme: [] - SessionScheme: []
patch: patch:
@ -904,6 +935,7 @@ paths:
$ref: "#/components/schemas/TpmsMeasurement" $ref: "#/components/schemas/TpmsMeasurement"
default: default:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
deprecated: true
security: security:
- SessionScheme: [] - SessionScheme: []
/TpmsMeasurements/{Guid}/DmsFiles: /TpmsMeasurements/{Guid}/DmsFiles:
@ -931,6 +963,7 @@ paths:
$ref: "#/components/schemas/DmsFile" $ref: "#/components/schemas/DmsFile"
default: default:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
deprecated: true
security: security:
- SessionScheme: [] - SessionScheme: []
post: post:
@ -953,6 +986,7 @@ paths:
$ref: "#/components/schemas/DmsFile" $ref: "#/components/schemas/DmsFile"
default: default:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
deprecated: true
security: security:
- SessionScheme: [] - SessionScheme: []
/TpmsMeasurements/{Guid}/TpmsMeasurementPositions: /TpmsMeasurements/{Guid}/TpmsMeasurementPositions:
@ -980,6 +1014,7 @@ paths:
$ref: "#/components/schemas/TpmsMeasurementPosition" $ref: "#/components/schemas/TpmsMeasurementPosition"
default: default:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
deprecated: true
security: security:
- SessionScheme: [] - SessionScheme: []
post: post:
@ -1002,6 +1037,7 @@ paths:
$ref: "#/components/schemas/TpmsMeasurementPosition" $ref: "#/components/schemas/TpmsMeasurementPosition"
default: default:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
deprecated: true
security: security:
- SessionScheme: [] - SessionScheme: []
/TpmsMeasurementPositions: /TpmsMeasurementPositions:
@ -1023,6 +1059,7 @@ paths:
$ref: "#/components/schemas/TpmsMeasurementPosition" $ref: "#/components/schemas/TpmsMeasurementPosition"
default: default:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
deprecated: true
security: security:
- SessionScheme: [] - SessionScheme: []
/TpmsMeasurementPositions/{Guid}: /TpmsMeasurementPositions/{Guid}:
@ -1040,6 +1077,7 @@ paths:
$ref: "#/components/schemas/TpmsMeasurementPosition" $ref: "#/components/schemas/TpmsMeasurementPosition"
default: default:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
deprecated: true
security: security:
- SessionScheme: [] - SessionScheme: []
patch: patch:
@ -1063,6 +1101,7 @@ paths:
$ref: "#/components/schemas/TpmsMeasurementPosition" $ref: "#/components/schemas/TpmsMeasurementPosition"
default: default:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
deprecated: true
security: security:
- SessionScheme: [] - SessionScheme: []
/TpmsMeasurementPositions/{Guid}/DmsFiles: /TpmsMeasurementPositions/{Guid}/DmsFiles:
@ -1090,6 +1129,7 @@ paths:
$ref: "#/components/schemas/DmsFile" $ref: "#/components/schemas/DmsFile"
default: default:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
deprecated: true
security: security:
- SessionScheme: [] - SessionScheme: []
post: post:
@ -1112,6 +1152,7 @@ paths:
$ref: "#/components/schemas/DmsFile" $ref: "#/components/schemas/DmsFile"
default: default:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
deprecated: true
security: security:
- SessionScheme: [] - SessionScheme: []
/VehicleTypes: /VehicleTypes:
@ -1139,6 +1180,7 @@ paths:
$ref: "#/components/schemas/VehicleType" $ref: "#/components/schemas/VehicleType"
default: default:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
deprecated: true
security: security:
- SessionScheme: [] - SessionScheme: []
/VehicleTypes/{Guid}: /VehicleTypes/{Guid}:
@ -1156,6 +1198,7 @@ paths:
$ref: "#/components/schemas/VehicleType" $ref: "#/components/schemas/VehicleType"
default: default:
$ref: "#/components/responses/GenericError" $ref: "#/components/responses/GenericError"
deprecated: true
security: security:
- SessionScheme: [] - SessionScheme: []
components: components:
@ -1233,10 +1276,13 @@ components:
type: "object" type: "object"
required: required:
- "Guid" - "Guid"
- "Score"
- "Number" - "Number"
properties: properties:
Guid: Guid:
type: "string" type: "string"
Score:
type: "number"
Number: Number:
type: "integer" type: "integer"
Name1: Name1:
@ -1255,11 +1301,14 @@ components:
type: "object" type: "object"
required: required:
- "Guid" - "Guid"
- "Score"
- "GuidCustomer" - "GuidCustomer"
- "CustomerNumber" - "CustomerNumber"
properties: properties:
Guid: Guid:
type: "string" type: "string"
Score:
type: "number"
LicenceTagNumber: LicenceTagNumber:
type: "string" type: "string"
GuidCustomer: GuidCustomer:
@ -1274,14 +1323,24 @@ components:
type: "object" type: "object"
required: required:
- "Guid" - "Guid"
- "Score"
- "Number" - "Number"
- "ContractStartDate"
- "IsActive"
- "GuidCustomer" - "GuidCustomer"
- "CustomerNumber" - "CustomerNumber"
properties: properties:
Guid: Guid:
type: "string" type: "string"
Score:
type: "number"
Number: Number:
type: "integer" type: "integer"
ContractStartDate:
type: "string"
format: "date"
IsActive:
type: "boolean"
DimensionFrontLeft: DimensionFrontLeft:
type: "string" type: "string"
LicenceTagNumber: LicenceTagNumber:
@ -1294,12 +1353,19 @@ components:
type: "integer" type: "integer"
CustomerName1: CustomerName1:
type: "string" type: "string"
StorageDesignation:
type: "string"
StoragePlaceDesignation:
type: "string"
RemoteStorageReference:
type: "string"
Documents: Documents:
type: "array" type: "array"
items: items:
type: "object" type: "object"
required: required:
- "Guid" - "Guid"
- "Score"
- "DocumentTypeDesignation" - "DocumentTypeDesignation"
- "Date" - "Date"
- "Number" - "Number"
@ -1310,6 +1376,8 @@ components:
properties: properties:
Guid: Guid:
type: "string" type: "string"
Score:
type: "number"
DocumentTypeDesignation: DocumentTypeDesignation:
type: "string" type: "string"
Date: Date:
@ -1339,12 +1407,15 @@ components:
type: "object" type: "object"
required: required:
- "Guid" - "Guid"
- "Score"
- "StartMoment" - "StartMoment"
- "Designation" - "Designation"
- "WasCreatedByOnlineScheduler" - "WasCreatedByOnlineScheduler"
properties: properties:
Guid: Guid:
type: "string" type: "string"
Score:
type: "number"
StartMoment: StartMoment:
type: "string" type: "string"
format: "date-time" format: "date-time"
@ -1393,6 +1464,8 @@ components:
type: "string" type: "string"
GuidStorageLocation: GuidStorageLocation:
type: "string" type: "string"
RemoteStorageReference:
type: "string"
CommentExternal: CommentExternal:
type: "string" type: "string"
CommentInternal: CommentInternal:
@ -1405,6 +1478,7 @@ components:
- "Guid" - "Guid"
- "GuidCustomerStorage" - "GuidCustomerStorage"
- "PositionDescription" - "PositionDescription"
- "PositionDescriptionDesignation"
properties: properties:
Guid: Guid:
type: "string" type: "string"
@ -1414,6 +1488,10 @@ components:
readOnly: true readOnly: true
PositionDescription: PositionDescription:
type: "string" type: "string"
PositionDescriptionDesignation:
type: "string"
GuidArticleTyre:
type: "string"
TyreDimension: TyreDimension:
type: "string" type: "string"
TyreManufacturer: TyreManufacturer:
@ -1430,6 +1508,8 @@ components:
type: "integer" type: "integer"
TyreDotWeek: TyreDotWeek:
type: "integer" type: "integer"
GuidArticleRim:
type: "string"
RimDimension: RimDimension:
type: "string" type: "string"
RimManufacturer: RimManufacturer:
@ -1445,6 +1525,8 @@ components:
- "SteelRim" - "SteelRim"
- "WithoutRim" - "WithoutRim"
- "Unknown" - "Unknown"
GuidArticleTpms:
type: "string"
TpmsSensorId: TpmsSensorId:
type: "string" type: "string"
TpmsSensorBatteryInPercent: TpmsSensorBatteryInPercent:
@ -1476,10 +1558,13 @@ components:
type: "object" type: "object"
readOnly: true readOnly: true
required: required:
- "Guid"
- "Type" - "Type"
- "Designation" - "Designation"
- "Axles" - "Axles"
properties: properties:
Guid:
type: "string"
Type: Type:
type: "string" type: "string"
enum: enum:
@ -1503,6 +1588,7 @@ components:
- "IsDrivingAxle" - "IsDrivingAxle"
- "IsReserveAxle" - "IsReserveAxle"
- "IsSteeringAxle" - "IsSteeringAxle"
- "Designation"
- "Positions" - "Positions"
properties: properties:
BlockNumberFrontToBack: BlockNumberFrontToBack:
@ -1513,6 +1599,8 @@ components:
type: "boolean" type: "boolean"
IsSteeringAxle: IsSteeringAxle:
type: "boolean" type: "boolean"
Designation:
type: "string"
Positions: Positions:
type: "array" type: "array"
items: items:
@ -1520,11 +1608,14 @@ components:
required: required:
- "BlockNumberLeftToRight" - "BlockNumberLeftToRight"
- "PositionDescription" - "PositionDescription"
- "Designation"
properties: properties:
BlockNumberLeftToRight: BlockNumberLeftToRight:
type: "integer" type: "integer"
PositionDescription: PositionDescription:
type: "string" type: "string"
Designation:
type: "string"
ChassisNumber: ChassisNumber:
type: "string" type: "string"
EgTypeApprovalNumber: EgTypeApprovalNumber:
@ -1569,6 +1660,7 @@ components:
type: "object" type: "object"
required: required:
- "Guid" - "Guid"
- "ProgramIdentifier"
- "ProgramIdentifierDesignation" - "ProgramIdentifierDesignation"
- "Type" - "Type"
- "Designation" - "Designation"
@ -1580,6 +1672,9 @@ components:
ProgramIdentifierDesignation: ProgramIdentifierDesignation:
type: "string" type: "string"
readOnly: true readOnly: true
ProgramIdentifier:
type: "string"
readOnly: true
Type: Type:
type: "string" type: "string"
enum: enum: