Compare commits

...

16 Commits

Author SHA1 Message Date
dacc6cade4 Pair- or Couplesearch implementation
For different dimensions of front and rear axle
2025-10-16 09:25:45 +02:00
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
1edeb5178d Raw ProgramIdentifier 2025-10-07 09:28:58 +02:00
1e6a843330 Added designations for any UI, to show 2025-09-12 10:27:34 +02:00
b797105afc Added GuidOnlineService-Parameter 2025-09-04 06:38:13 +02:00
741f6c34dd Providing information about top sold articles 2025-08-21 10:28:38 +02:00
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
7449bb1a06 Wrong type 2025-08-21 07:44:08 +02:00
791d46ff6b ShopArticleInformation added. I.e. photos and marketing stuff 2025-08-21 07:40:44 +02:00
5b9a836c65 V10 - rework of Blob-Handling 2025-08-20 10:33:58 +02:00
cec3fa68ad The updated document gets returned 2025-08-20 10:30:59 +02:00
00243eb3b5 Small enhancements due to requests 2025-08-05 14:23:49 +02:00
8cd8199417 New fields for article references and the function to rearrange the customer storage 2025-06-19 14:05:05 +02:00
738aaa0a6d Amount in cart is now a complex object 2025-06-19 13:38:08 +02:00
094262e414 Naming in Browsers is stupid.
Yeah :/
2024-10-01 12:00:06 +02:00
5bc944a908 Some moments has been missing 2024-09-03 08:06:37 +02:00
4 changed files with 721 additions and 147 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 12"
servers:
- url: "https://musterreifen.com/api/shop"
description: "Development server, customers domain"
@@ -28,6 +28,25 @@ paths:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/Areas:
get:
tags:
- "General"
parameters:
- $ref: "#/components/parameters/GuidOnlineService"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/Area"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/Branches:
get:
tags:
@@ -47,6 +66,47 @@ paths:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/DeliveryTypes:
get:
tags:
- "General"
parameters:
- name: "GuidCart"
in: "query"
required: true
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
- name: "GuidBranch"
description: "Required for providing stock and price information."
in: "query"
required: true
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
- name: "GuidCalculationProfile"
description: "If provided, the prices will base on this profile."
in: "query"
required: false
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/DeliveryType"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/MaterialTypes:
get:
tags:
@@ -98,13 +158,34 @@ paths:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
# Settings
/Configs:
/PaymentTypes:
get:
tags:
- "Settings"
- "General"
parameters:
- $ref: "#/components/parameters/GuidOnlineService"
- name: "GuidCart"
in: "query"
required: true
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
- name: "GuidBranch"
description: "Required for providing stock and price information."
in: "query"
required: true
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
- name: "GuidCalculationProfile"
description: "If provided, the prices will base on this profile."
in: "query"
required: false
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
responses:
200:
description: "successful operation"
@@ -113,35 +194,42 @@ paths:
schema:
type: "array"
items:
$ref: "#/components/schemas/Config"
$ref: "#/components/schemas/PaymentType"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/Configs/{Guid}:
patch:
/TopSoldArticles:
get:
tags:
- "Settings"
- "General"
parameters:
- $ref: "#/components/parameters/GuidPath"
- $ref: "#/components/parameters/_HashValue"
requestBody:
- $ref: "#/components/parameters/GuidOnlineService"
- name: "Type"
description: "Provide the types you want to get."
in: "query"
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Config"
schema:
type: "string"
enum:
- "Last7Days"
- "Last30Days"
- "Last90Days"
- "Last365Days"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/Config"
type: "array"
items:
$ref: "#/components/schemas/TopSoldArticle"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
# Settings
/Addresses:
get:
tags:
@@ -216,6 +304,51 @@ paths:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/Configs:
get:
tags:
- "Settings"
parameters:
- $ref: "#/components/parameters/GuidOnlineService"
- $ref: "#/components/parameters/BinaryObjectContentType"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/Config"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/Configs/{Guid}:
patch:
tags:
- "Settings"
parameters:
- $ref: "#/components/parameters/GuidPath"
- $ref: "#/components/parameters/_HashValue"
- $ref: "#/components/parameters/BinaryObjectContentType"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Config"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/Config"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/OfferArticles:
get:
tags:
@@ -295,30 +428,12 @@ paths:
security:
- SessionScheme: []
# Menu
/Modules:
get:
tags:
- "Menu"
parameters:
- $ref: "#/components/parameters/GuidOnlineService"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/Module"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/Downloads:
get:
tags:
- "Menu"
parameters:
- $ref: "#/components/parameters/BinaryObjectContentType"
- name: "GuidModule"
in: "query"
required: true
@@ -339,11 +454,10 @@ paths:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
# Search
/FilterSuggestions:
/Modules:
get:
tags:
- "Search"
- "Menu"
parameters:
- $ref: "#/components/parameters/GuidOnlineService"
responses:
@@ -354,11 +468,12 @@ paths:
schema:
type: "array"
items:
$ref: "#/components/schemas/FilterSuggestion"
$ref: "#/components/schemas/Module"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
# Search
/Filters:
get:
tags:
@@ -420,6 +535,25 @@ paths:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/FilterSuggestions:
get:
tags:
- "Search"
parameters:
- $ref: "#/components/parameters/GuidOnlineService"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/FilterSuggestion"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/ShopArticleConfigs:
get:
tags:
@@ -458,6 +592,8 @@ paths:
- $ref: "#/components/parameters/GuidOffset"
- $ref: "#/components/parameters/GuidHubBoreHole"
- $ref: "#/components/parameters/GuidManufacturer"
- $ref: "#/components/parameters/BinaryObjectContentType"
- $ref: "#/components/parameters/GuidDeliveryType"
- name: "GuidBranch"
description: "Required for providing stock and price information."
in: "query"
@@ -466,14 +602,6 @@ paths:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
- name: "GuidDeliveryType"
description: "For providing more accurate stock and price information."
in: "query"
required: false
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
- name: "GuidCalculationProfile"
description: "If provided, the prices will base on this profile."
in: "query"
@@ -486,7 +614,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."
@@ -500,6 +628,165 @@ paths:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/ShopArticleInformations:
get:
tags:
- "Search"
parameters:
- $ref: "#/components/parameters/BinaryObjectContentType"
- $ref: "#/components/parameters/GuidOnlineService"
- name: "GuidShopArticle"
in: "query"
required: true
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/ShopArticleInformation"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/ShopArticlePairs:
get:
tags:
- "Search"
parameters:
- $ref: "#/components/parameters/GuidOnlineService"
- $ref: "#/components/parameters/SearchTerm"
- $ref: "#/components/parameters/GuidMaterialType"
- $ref: "#/components/parameters/GuidVehicleType"
- $ref: "#/components/parameters/GuidWidth"
- $ref: "#/components/parameters/GuidSection"
- $ref: "#/components/parameters/GuidDiameter"
- $ref: "#/components/parameters/GuidSpeedIndex"
- $ref: "#/components/parameters/GuidLoadIndex"
- $ref: "#/components/parameters/GuidHoleCount"
- $ref: "#/components/parameters/GuidHoleCircle"
- $ref: "#/components/parameters/GuidOffset"
- $ref: "#/components/parameters/GuidHubBoreHole"
- $ref: "#/components/parameters/GuidManufacturer"
- $ref: "#/components/parameters/BinaryObjectContentType"
- $ref: "#/components/parameters/GuidDeliveryType"
- name: "GuidBranch"
description: "Required for providing stock and price information."
in: "query"
required: true
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
- name: "GuidCalculationProfile"
description: "If provided, the prices will base on this profile."
in: "query"
required: false
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
- name: "SearchTerm2"
in: "query"
required: false
schema:
type: "string"
- name: "GuidWidth2"
in: "query"
required: false
schema:
type: "string"
- name: "GuidSection2"
in: "query"
required: false
schema:
type: "string"
- name: "GuidDiameter2"
in: "query"
required: false
schema:
type: "string"
- name: "GuidSpeedIndex2"
in: "query"
required: false
schema:
type: "string"
- name: "GuidLoadIndex2"
in: "query"
required: false
schema:
type: "string"
- name: "GuidHoleCount2"
in: "query"
required: false
schema:
type: "string"
- name: "GuidHoleCircle2"
in: "query"
required: false
schema:
type: "string"
- name: "GuidOffset2"
in: "query"
required: false
schema:
type: "string"
- name: "GuidHubBoreHole2"
in: "query"
required: false
schema:
type: "string"
responses:
200:
description: "successful operation"
headers:
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."
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/ShopArticlePair"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/ShopArticleStockDetails:
get:
tags:
- "Search"
parameters:
- $ref: "#/components/parameters/GuidOnlineService"
- $ref: "#/components/parameters/GuidDeliveryType"
- name: "GuidShopArticle"
in: "query"
required: true
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/ShopArticleStockDetail"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
# Calculation
/CalculationProfiles:
get:
@@ -1001,88 +1288,6 @@ paths:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/DeliveryTypes:
get:
tags:
- "Cart"
parameters:
- name: "GuidCart"
in: "query"
required: true
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
- name: "GuidBranch"
description: "Required for providing stock and price information."
in: "query"
required: true
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
- name: "GuidCalculationProfile"
description: "If provided, the prices will base on this profile."
in: "query"
required: false
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/DeliveryType"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/PaymentTypes:
get:
tags:
- "Cart"
parameters:
- name: "GuidCart"
in: "query"
required: true
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
- name: "GuidBranch"
description: "Required for providing stock and price information."
in: "query"
required: true
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
- name: "GuidCalculationProfile"
description: "If provided, the prices will base on this profile."
in: "query"
required: false
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/PaymentType"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
components:
schemas:
GenericError:
@@ -1098,6 +1303,36 @@ components:
example:
Message: "Ihr Anwender wurde nicht gefunden."
Details: "Progress.Lang.AppError\n Ihr Anwender wurde nicht gefunden.\nat sourcecode.line 123"
DbBlob:
type: "object"
required:
- "Designation"
- "MimeType"
- "CharacterSet"
- "LastFileModificationMoment"
- "Content"
- "ContentHashValue"
- "SizeInBytes"
properties:
Designation:
type: "string"
MimeType:
type: "string"
readOnly: true
CharacterSet:
type: "string"
LastFileModificationMoment:
type: "string"
format: "date-time"
readOnly: true
Content:
type: "string"
ContentHashValue:
type: "string"
readOnly: true
SizeInBytes:
type: "integer"
readOnly: true
AddressState:
type: "object"
required:
@@ -1189,6 +1424,43 @@ components:
FaxNumber: null
Latitude: 12.34
Longitude: 12.34
Area:
type: "object"
required:
- "Guid"
- "Designation"
- "SequenceNumber"
- "Position"
- "AttentionLevel"
- "MessageType"
- "Content"
properties:
Guid:
type: "string"
Designation:
type: "string"
SequenceNumber:
type: "integer"
Position:
type: "string"
enum:
- "top"
- "bottom"
- "left"
- "right"
AttentionLevel:
type: "string"
enum:
- "low"
- "mid"
- "high"
MessageType:
type: "string"
enum:
- "plaintext"
- "html"
Content:
type: "string"
ShopArticleConfig:
type: "object"
required:
@@ -1201,13 +1473,19 @@ components:
items:
type: "object"
required:
- "Designation"
- "FieldName"
- "Abbreviation"
- "Designation"
- "DataType"
- "StockDetailsAreAvailable"
properties:
FieldName:
type: "string"
Abbreviation:
type: "string"
Designation:
type: "string"
FieldName:
Description:
type: "string"
DataType:
type: "string"
@@ -1219,6 +1497,8 @@ components:
- "date"
- "dateTime"
- "stock"
StockDetailsAreAvailable:
type: "boolean"
Module:
type: "object"
required:
@@ -1330,6 +1610,7 @@ components:
- "AmountPrecisionInNumberOfDecimalPlaces"
- "Stocks"
- "AmountInCart"
- "HasShopArticleInformations"
properties:
Guid:
type: "string"
@@ -1359,19 +1640,93 @@ components:
required:
- "FieldName"
- "Amount"
- "StockType"
properties:
FieldName:
type: "string"
Amount:
type: "number"
StockType:
type: "string"
DeliveryDate:
type: "string"
format: "date"
AmountInCart:
type: "array"
items:
type: "object"
required:
- "GuidCart"
- "Amount"
properties:
GuidCart:
type: "string"
Amount:
type: "number"
HasShopArticleInformations:
type: "boolean"
Thumbnail:
$ref: "#/components/schemas/DbBlob"
ShopArticlePair:
type: "object"
required:
- "FrontArticle"
- "RearArticle"
properties:
FrontArticle:
$ref: "#/components/schemas/ShopArticle"
RearArticle:
$ref: "#/components/schemas/ShopArticle"
ShopArticleInformation:
type: "object"
required:
- "Type"
- "Designation"
- "Informations"
properties:
Type:
type: "string"
enum:
- "ManufacturerLink"
- "Photo"
- "MarketingInfo"
- "TestReport"
- "TechnicalInfo"
- "Certificate"
- "Manual"
Designation:
type: "string"
Informations:
type: "array"
items:
type: "object"
required:
- "Designation"
- "IsUrl"
properties:
Designation:
type: "string"
IsUrl:
type: "boolean"
Url:
type: "string"
File:
$ref: "#/components/schemas/DbBlob"
ShopArticleStockDetail:
type: "object"
required:
- "FieldName"
- "Designation"
- "Amount"
properties:
FieldName:
type: "string"
Designation:
type: "string"
GuidBranch:
type: "string"
Amount:
type: "number"
DeliveryDate:
type: "string"
format: "date"
MaterialType:
type: "object"
required:
@@ -1406,6 +1761,8 @@ components:
type: "object"
required:
- "Guid"
- "CreationMoment"
- "LastModificationMoment"
- "Designation"
- "SequenceNumber"
- "ProvidedByShopOperator"
@@ -1413,6 +1770,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 +1790,8 @@ components:
required:
- "Guid"
- "GuidCalculationProfile"
- "CreationMoment"
- "LastModificationMoment"
- "Designation"
- "SequenceNumber"
properties:
@@ -1433,6 +1800,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 +1829,8 @@ components:
required:
- "Guid"
- "GuidCalculation"
- "CreationMoment"
- "LastModificationMoment"
- "SequenceNumber"
- "NetPrice"
- "Mode"
@@ -1465,6 +1842,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:
@@ -1519,8 +1904,8 @@ components:
OfferLayout:
type: "object"
properties:
GuidDbBlobBackground:
type: "string"
BackgroundImage:
$ref: "#/components/schemas/DbBlob"
TopOffsetInPixel:
type: "integer"
BottomOffsetInPixel:
@@ -1573,6 +1958,8 @@ components:
type: "object"
required:
- "Guid"
- "CreationMoment"
- "LastModificationMoment"
- "SequenceNumber"
- "Designation"
- "IsUsedByDefault"
@@ -1583,6 +1970,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:
@@ -1697,13 +2092,13 @@ components:
type: "object"
required:
- "Guid"
- "GuidDbBlob"
- "File"
- "Type"
properties:
Guid:
type: "string"
GuidDbBlob:
type: "string"
File:
$ref: "#/components/schemas/DbBlob"
Type:
type: "string"
enum:
@@ -1741,6 +2136,16 @@ components:
type: "number"
PriceGross:
type: "number"
TopSoldArticle:
type: "object"
required:
- "GuidShopArticle"
- "NumberOfSells"
properties:
GuidShopArticle:
type: "string"
NumberOfSells:
type: "number"
securitySchemes:
SessionScheme:
type: http
@@ -1773,6 +2178,15 @@ components:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidDeliveryType:
name: "GuidDeliveryType"
description: "For providing more accurate stock and price information."
in: "query"
required: false
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidMaterialType:
name: "GuidMaterialType"
in: "query"
@@ -1877,6 +2291,19 @@ components:
type: "string"
default: null
example: "2055516"
BinaryObjectContentType:
name: "BinaryObjectContentType"
in: "query"
description: "Determines what you will find in the field content."
required: false
schema:
type: "string"
enum:
- "Base64"
- "UrlWithInlineContentDisposition"
- "UrlWithAttachmentContentDisposition"
default: "UrlWithInlineContentDisposition"
example: "UrlWithInlineContentDisposition"
responses:
GenericError:
description: "Unexpected error like 4XX or 5XX http errors."
@@ -1886,13 +2313,8 @@ components:
$ref: "#/components/schemas/GenericError"
# MISSING
# GET /ArticleInformation
# GET /Vehicles
# GET /Tubes
# GET /Campaigns
# GET /Areas
# GET /TopSoldArticles

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:
@@ -1405,6 +1478,7 @@ components:
- "Guid"
- "GuidCustomerStorage"
- "PositionDescription"
- "PositionDescriptionDesignation"
properties:
Guid:
type: "string"
@@ -1414,6 +1488,10 @@ components:
readOnly: true
PositionDescription:
type: "string"
PositionDescriptionDesignation:
type: "string"
GuidArticleTyre:
type: "string"
TyreDimension:
type: "string"
TyreManufacturer:
@@ -1430,6 +1508,8 @@ components:
type: "integer"
TyreDotWeek:
type: "integer"
GuidArticleRim:
type: "string"
RimDimension:
type: "string"
RimManufacturer:
@@ -1445,6 +1525,8 @@ components:
- "SteelRim"
- "WithoutRim"
- "Unknown"
GuidArticleTpms:
type: "string"
TpmsSensorId:
type: "string"
TpmsSensorBatteryInPercent:
@@ -1476,10 +1558,13 @@ components:
type: "object"
readOnly: true
required:
- "Guid"
- "Type"
- "Designation"
- "Axles"
properties:
Guid:
type: "string"
Type:
type: "string"
enum:
@@ -1503,6 +1588,7 @@ components:
- "IsDrivingAxle"
- "IsReserveAxle"
- "IsSteeringAxle"
- "Designation"
- "Positions"
properties:
BlockNumberFrontToBack:
@@ -1513,6 +1599,8 @@ components:
type: "boolean"
IsSteeringAxle:
type: "boolean"
Designation:
type: "string"
Positions:
type: "array"
items:
@@ -1520,11 +1608,14 @@ components:
required:
- "BlockNumberLeftToRight"
- "PositionDescription"
- "Designation"
properties:
BlockNumberLeftToRight:
type: "integer"
PositionDescription:
type: "string"
Designation:
type: "string"
ChassisNumber:
type: "string"
EgTypeApprovalNumber:
@@ -1569,6 +1660,7 @@ components:
type: "object"
required:
- "Guid"
- "ProgramIdentifier"
- "ProgramIdentifierDesignation"
- "Type"
- "Designation"
@@ -1580,6 +1672,9 @@ components:
ProgramIdentifierDesignation:
type: "string"
readOnly: true
ProgramIdentifier:
type: "string"
readOnly: true
Type:
type: "string"
enum: