Compare commits
38 Commits
4134af8b3c
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| eb8630ff24 | |||
| 2960d1bd36 | |||
| 6eda09efbe | |||
| dc1751b852 | |||
| 760da37fe3 | |||
| adb589ef49 | |||
| fbcb1ff6bb | |||
| 68eca53428 | |||
| 694582091b | |||
| 254d3b09ae | |||
| 1c7255fa72 | |||
| 574b8caf49 | |||
| dacc6cade4 | |||
| 6d93e58c98 | |||
| 1edeb5178d | |||
| 1e6a843330 | |||
| b797105afc | |||
| 741f6c34dd | |||
| cb2e4d1d60 | |||
| 7449bb1a06 | |||
| 791d46ff6b | |||
| 5b9a836c65 | |||
| cec3fa68ad | |||
| 00243eb3b5 | |||
| 8cd8199417 | |||
| 738aaa0a6d | |||
| 094262e414 | |||
| 5bc944a908 | |||
| 8b6aa36d36 | |||
| a5aaa63f8a | |||
| a49185ea21 | |||
| 41ef94f527 | |||
| 78ff9504f6 | |||
| b4b5c587fa | |||
| 0bbb294b64 | |||
| 8954cbd05f | |||
| ad34e634ca | |||
| 3360b4c652 |
@@ -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
|
||||||
|
|
||||||
@@ -26,3 +27,4 @@ https://docs.hetzner.cloud/
|
|||||||
https://opensource.zalando.com/restful-api-guidelines
|
https://opensource.zalando.com/restful-api-guidelines
|
||||||
https://kubernetes.io/docs/reference/using-api/api-concepts
|
https://kubernetes.io/docs/reference/using-api/api-concepts
|
||||||
https://docs.stripe.com/api/prices
|
https://docs.stripe.com/api/prices
|
||||||
|
https://developer.clickup.com/docs/authentication
|
||||||
|
|||||||
@@ -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:
|
||||||
@@ -4137,6 +4193,7 @@ components:
|
|||||||
- "GuidOnlineSchedulerService"
|
- "GuidOnlineSchedulerService"
|
||||||
- "GuidBranch"
|
- "GuidBranch"
|
||||||
- "IsDefault"
|
- "IsDefault"
|
||||||
|
- "Hints"
|
||||||
properties:
|
properties:
|
||||||
Guid:
|
Guid:
|
||||||
type: "string"
|
type: "string"
|
||||||
@@ -4146,6 +4203,22 @@ components:
|
|||||||
type: "string"
|
type: "string"
|
||||||
IsDefault:
|
IsDefault:
|
||||||
type: "string"
|
type: "string"
|
||||||
|
Hints:
|
||||||
|
type: "array"
|
||||||
|
items:
|
||||||
|
type: "object"
|
||||||
|
required:
|
||||||
|
- "AttentionLevel"
|
||||||
|
- "Hint"
|
||||||
|
properties:
|
||||||
|
AttentionLevel:
|
||||||
|
type: "string"
|
||||||
|
enum:
|
||||||
|
- "Low"
|
||||||
|
- "Mid"
|
||||||
|
- "High"
|
||||||
|
Hint:
|
||||||
|
type: "string"
|
||||||
_HashValue:
|
_HashValue:
|
||||||
$ref: "#/components/schemas/_HashValue"
|
$ref: "#/components/schemas/_HashValue"
|
||||||
example:
|
example:
|
||||||
@@ -4206,6 +4279,7 @@ components:
|
|||||||
- "UsersMayEnterANewLicenceTag"
|
- "UsersMayEnterANewLicenceTag"
|
||||||
- "IsConnectedWithATyreStorage"
|
- "IsConnectedWithATyreStorage"
|
||||||
- "DeadlineTimeInSecondsSinceMidnight"
|
- "DeadlineTimeInSecondsSinceMidnight"
|
||||||
|
- "DeadlineTimeInSecondsSinceMidnight"
|
||||||
properties:
|
properties:
|
||||||
Guid:
|
Guid:
|
||||||
type: "string"
|
type: "string"
|
||||||
@@ -4230,6 +4304,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:
|
||||||
|
|||||||
2205
src/v2/shop.yaml
2205
src/v2/shop.yaml
File diff suppressed because it is too large
Load Diff
204
src/v2/todo.yaml
204
src/v2/todo.yaml
@@ -1,204 +0,0 @@
|
|||||||
/MaterialGroups:
|
|
||||||
get:
|
|
||||||
tags:
|
|
||||||
- "Filters"
|
|
||||||
responses:
|
|
||||||
200:
|
|
||||||
description: "successful operation"
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
type: "array"
|
|
||||||
items:
|
|
||||||
$ref: "#/components/schemas/MaterialGroup"
|
|
||||||
default:
|
|
||||||
$ref: "#/components/responses/GenericError"
|
|
||||||
security:
|
|
||||||
- SessionScheme: []
|
|
||||||
/MaterialSubGroups:
|
|
||||||
get:
|
|
||||||
tags:
|
|
||||||
- "Filters"
|
|
||||||
responses:
|
|
||||||
200:
|
|
||||||
description: "successful operation"
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
type: "array"
|
|
||||||
items:
|
|
||||||
$ref: "#/components/schemas/MaterialSubGroup"
|
|
||||||
default:
|
|
||||||
$ref: "#/components/responses/GenericError"
|
|
||||||
security:
|
|
||||||
- SessionScheme: []
|
|
||||||
/CalculationProfiles:
|
|
||||||
get:
|
|
||||||
post:
|
|
||||||
delete:
|
|
||||||
patch:
|
|
||||||
/Calculations:
|
|
||||||
get:
|
|
||||||
post:
|
|
||||||
delete:
|
|
||||||
patch:
|
|
||||||
/CalculationGroups:
|
|
||||||
get:
|
|
||||||
post:
|
|
||||||
delete:
|
|
||||||
patch:
|
|
||||||
- Teileart und Waren~ als Array übergeben
|
|
||||||
- SequenceNumber nach außen liefern. Patch sollte im Idealfall selbst dafür sorgen, dass die neu gegebene Nummer dann gültig ist - die Konflikte soll der Server lösen.
|
|
||||||
/CalculationSurcharges:
|
|
||||||
get:
|
|
||||||
post:
|
|
||||||
delete:
|
|
||||||
patch:
|
|
||||||
/Configs:
|
|
||||||
get:
|
|
||||||
patch:
|
|
||||||
> [{
|
|
||||||
"DefaultAmount": 4,
|
|
||||||
"OneClickPurchase": false,
|
|
||||||
"FullTaxPercentage": 19,
|
|
||||||
"ReducedTaxPercentage": 7,
|
|
||||||
"OfferLayout":
|
|
||||||
{
|
|
||||||
"GuidDbBlobBackground": "...",
|
|
||||||
"TopOffsetInPixel": 234,
|
|
||||||
"BottomOffsetInPixel": 234
|
|
||||||
}
|
|
||||||
}]
|
|
||||||
/OfferArticles:
|
|
||||||
get:
|
|
||||||
post:
|
|
||||||
delete:
|
|
||||||
patch:
|
|
||||||
/Addresses:
|
|
||||||
get:
|
|
||||||
post:
|
|
||||||
delete:
|
|
||||||
patch:
|
|
||||||
/ArticleInformations:
|
|
||||||
get:
|
|
||||||
/Vehicles:
|
|
||||||
get:
|
|
||||||
/Tubes:
|
|
||||||
get:
|
|
||||||
- Unsicher, ob das so bleibt
|
|
||||||
/Carts:
|
|
||||||
get:
|
|
||||||
post:
|
|
||||||
delete:
|
|
||||||
patch:
|
|
||||||
> [{
|
|
||||||
Comment
|
|
||||||
}]
|
|
||||||
/CartSets:
|
|
||||||
get:
|
|
||||||
post:
|
|
||||||
delete:
|
|
||||||
patch:
|
|
||||||
> [{
|
|
||||||
Comment,
|
|
||||||
Articles: [{
|
|
||||||
Guid
|
|
||||||
GuidCartSet
|
|
||||||
GuidArticle
|
|
||||||
Amount
|
|
||||||
Price
|
|
||||||
...
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Guid
|
|
||||||
GuidCartSet
|
|
||||||
GuidArticle
|
|
||||||
Amount
|
|
||||||
Price
|
|
||||||
...
|
|
||||||
}]
|
|
||||||
}]
|
|
||||||
/DeliveryTypes:
|
|
||||||
get:
|
|
||||||
/PaymentTypes:
|
|
||||||
get:
|
|
||||||
/Carts/{Guid}/Order:
|
|
||||||
post:
|
|
||||||
- GuidDeliveryType
|
|
||||||
- GuidPaymentType
|
|
||||||
- // Zusatzinformationen Payment
|
|
||||||
- Comment
|
|
||||||
...
|
|
||||||
> Document<Order>
|
|
||||||
/Documents:
|
|
||||||
- Alle anderen Belege
|
|
||||||
/Downloads:
|
|
||||||
get:
|
|
||||||
/Campaigns:
|
|
||||||
get:
|
|
||||||
/Areas:
|
|
||||||
get:
|
|
||||||
- Dynamisch Preisänderungen und co anzeigen
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
VehicleType:
|
|
||||||
> Designation, "ComfortSearchSet": [{"Designation": "Durchmesser", "Type": "Diameters"}, {"Designation": "Lochzahl", "Type": "HoleCircles"}]
|
|
||||||
|
|
||||||
/Articles:
|
|
||||||
get:
|
|
||||||
- Alle Suchparameter, wie Suchbegriff, Komfortsuchefelder und co
|
|
||||||
- Alle Felder, die der Kunde an dieser Stelle nicht sehen darf, werden mit null geliefert. Sonst ist das Antwortschema statisch und vollständig.
|
|
||||||
> [{
|
|
||||||
"Designation": null,
|
|
||||||
// Alle anderen Spalten,
|
|
||||||
"GuidColumnConfig": "82397489235",
|
|
||||||
...
|
|
||||||
}]
|
|
||||||
/Filters:
|
|
||||||
get:
|
|
||||||
- Liefert alle Metainformationen aus
|
|
||||||
- Alle Suchparameter, wie Suchbegriff, Komfortsuchefelder und co
|
|
||||||
> [{
|
|
||||||
"Designation": "Fahrzeugauswahl",
|
|
||||||
"Type": "Vehicle", // [Vehicle, MaterialType, Diameter...]
|
|
||||||
"Selection": [
|
|
||||||
{
|
|
||||||
"Designation": "PKW",
|
|
||||||
"NumberOfResults": 123,
|
|
||||||
"ParameterKey": "VehicleType",
|
|
||||||
"ParameterValue": "832745983475895"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Designation": "Motorrad",
|
|
||||||
"NumberOfResults": 12,
|
|
||||||
"ParameterKey": "VehicleType",
|
|
||||||
"ParameterValue": "83724534899"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}]
|
|
||||||
/ColumnConfigs:
|
|
||||||
get:
|
|
||||||
- Ein Set aus den Informationen der Detail- und Bestandsspaltenkonfigurationen.
|
|
||||||
1493
src/v2/tpms.yaml
1493
src/v2/tpms.yaml
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user