More endpoints integrated

This commit is contained in:
Nico Kroll 2024-07-15 11:44:02 +02:00
parent ad34e634ca
commit 8954cbd05f
2 changed files with 700 additions and 188 deletions

View File

@ -10,10 +10,11 @@ servers:
- url: "http://localhost/ROOT/api/shop"
description: "Local development server"
paths:
# General
/AddressStates:
get:
tags:
- "Configuration"
- "General"
responses:
200:
description: "successful operation"
@ -30,7 +31,7 @@ paths:
/Branches:
get:
tags:
- "Configuration"
- "General"
parameters:
- $ref: "#/components/parameters/GuidOnlineService"
responses:
@ -46,10 +47,258 @@ paths:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/MaterialTypes:
get:
tags:
- "General"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/MaterialType"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/MaterialGroups:
get:
tags:
- "General"
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:
- "General"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/MaterialSubGroup"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
# Settings
/Configs:
get:
tags:
- "Settings"
parameters:
- $ref: "#/components/parameters/GuidOnlineService"
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"
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: []
/Addresses:
get:
tags:
- "Settings"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/Address"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
post:
tags:
- "Settings"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Address"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/Address"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/Addresses/{Guid}:
patch:
tags:
- "Settings"
parameters:
- $ref: "#/components/parameters/GuidPath"
- $ref: "#/components/parameters/_HashValue"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Address"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/Address"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
delete:
tags:
- "Settings"
parameters:
- $ref: "#/components/parameters/GuidPath"
- $ref: "#/components/parameters/_HashValue"
responses:
200:
description: "successful operation"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/OfferArticles:
get:
tags:
- "Settings"
parameters:
- $ref: "#/components/parameters/GuidOnlineService"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/OfferArticle"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
post:
tags:
- "Settings"
parameters:
- $ref: "#/components/parameters/GuidOnlineService"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/OfferArticle"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/OfferArticle"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/OfferArticles/{Guid}:
patch:
tags:
- "Settings"
parameters:
- $ref: "#/components/parameters/GuidPath"
- $ref: "#/components/parameters/_HashValue"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/OfferArticle"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/OfferArticle"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
delete:
tags:
- "Settings"
parameters:
- $ref: "#/components/parameters/GuidPath"
- $ref: "#/components/parameters/_HashValue"
responses:
200:
description: "successful operation"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
# Menu
/Modules:
get:
tags:
- "Configuration"
- "Menu"
parameters:
- $ref: "#/components/parameters/GuidOnlineService"
responses:
@ -65,10 +314,36 @@ paths:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/Downloads:
get:
tags:
- "Menu"
parameters:
- name: "GuidModule"
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/Download"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
# Search
/TableConfigs:
get:
tags:
- "Configuration"
- "Search"
parameters:
- $ref: "#/components/parameters/GuidOnlineService"
responses:
@ -87,7 +362,6 @@ paths:
/FilterSuggestions:
get:
tags:
- "Configuration"
- "Search"
parameters:
- $ref: "#/components/parameters/GuidOnlineService"
@ -205,57 +479,7 @@ paths:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/MaterialTypes:
get:
tags:
- "Calculation"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/MaterialType"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/MaterialGroups:
get:
tags:
- "Calculation"
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:
- "Calculation"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/MaterialSubGroup"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
# Calculation
/CalculationProfiles:
get:
tags:
@ -514,6 +738,213 @@ paths:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
# Cart
/Carts:
get:
tags:
- "Cart"
parameters:
- $ref: "#/components/parameters/GuidOnlineService"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/Cart"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
post:
tags:
- "Cart"
parameters:
- $ref: "#/components/parameters/GuidOnlineService"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Cart"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/Cart"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/Carts/{Guid}:
patch:
tags:
- "Cart"
parameters:
- $ref: "#/components/parameters/GuidPath"
- $ref: "#/components/parameters/_HashValue"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Cart"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/Cart"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
delete:
tags:
- "Cart"
parameters:
- $ref: "#/components/parameters/GuidPath"
- $ref: "#/components/parameters/_HashValue"
responses:
200:
description: "successful operation"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/CartSets:
get:
tags:
- "Cart"
parameters:
- name: "GuidCart"
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/CartSet"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
post:
tags:
- "Cart"
parameters:
- name: "GuidCart"
in: "query"
required: true
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/CartSet"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/CartSet"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/CartSets/{Guid}:
patch:
tags:
- "Cart"
parameters:
- $ref: "#/components/parameters/GuidPath"
- $ref: "#/components/parameters/_HashValue"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/CartSet"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/CartSet"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
delete:
tags:
- "Cart"
parameters:
- $ref: "#/components/parameters/GuidPath"
- $ref: "#/components/parameters/_HashValue"
responses:
200:
description: "successful operation"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/DeliveryTypes:
get:
tags:
- "Cart"
parameters:
- $ref: "#/components/parameters/GuidOnlineService"
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:
- $ref: "#/components/parameters/GuidOnlineService"
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:
@ -576,7 +1007,7 @@ components:
Name1: "Max Mustermann"
Name2: null
Name3: null
Street: "Musterstra<EFBFBD>e 123"
Street: "Musterstr. 123"
Postalcode: "01234"
Town: "Musterhausen"
Township: "Musterviertel"
@ -886,6 +1317,213 @@ components:
type: "number"
FixedSurcharge:
type: "number"
Config:
type: "object"
required:
- "Guid"
- "DefaultAmount"
- "OneClickPurchase"
- "FullTaxPercentage"
- "ReducedTaxPercentage"
- "OfferLayout"
properties:
Guid:
type: "string"
readOnly: true
DefaultAmount:
type: "number"
readOnly: true
OneClickPurchase:
type: "boolean"
readOnly: true
FullTaxPercentage:
type: "number"
ReducedTaxPercentage:
type: "number"
OfferLayout:
type: "object"
properties:
GuidDbBlobBackground:
type: "string"
TopOffsetInPixel:
type: "integer"
BottomOffsetInPixel:
type: "integer"
CalculationFilter:
type: "object"
readOnly: true
required:
- "MaterialTypes"
- "MaterialGroups"
- "MaterialSubGroups"
properties:
MaterialTypes:
type: "array"
items:
type: "object"
required:
- "Guid"
- "Designation"
properties:
Guid:
type: "string"
Designation:
type: "string"
MaterialGroups:
type: "array"
items:
type: "object"
required:
- "Guid"
- "Designation"
properties:
Guid:
type: "string"
Designation:
type: "string"
MaterialSubGroups:
type: "array"
items:
type: "object"
required:
- "Guid"
- "Designation"
properties:
Guid:
type: "string"
Designation:
type: "string"
OfferArticle:
type: "object"
required:
- "Guid"
- "SequenceNumber"
- "Designation"
- "IsUsedByDefault"
- "Amount"
- "SalesNetPrice"
- "TaxType"
properties:
Guid:
type: "string"
SequenceNumber:
type: "integer"
Designation:
type: "string"
IsUsedByDefault:
type: "boolean"
Amount:
type: "number"
SalesNetPrice:
type: "number"
TaxType:
type: "string"
enum:
- "Full"
- "Reduced"
- "None"
Address:
type: "object"
required:
- "Guid"
- "Type"
- "Address"
properties:
Guid:
type: "string"
Type:
type: "string"
readOnly: true
enum:
- "Primary"
- "SubAccount"
- "Individual"
Address:
$ref: "#/components/schemas/PostalAddress"
Cart:
type: "object"
required:
- "Guid"
- "CreationMoment"
- "SequenceNumber"
- "Comment"
properties:
Guid:
type: "string"
readOnly: true
CreationMoment:
type: "string"
format: "date-time"
readOnly: true
Designation:
type: "string"
Comment:
type: "string"
CartSet:
type: "object"
required:
- "Guid"
- "Articles"
properties:
Guid:
type: "string"
readOnly: true
Comment:
type: "string"
Articles:
type: "array"
items:
type: "object"
required:
- "Guid"
- "GuidArticle"
- "Amount"
properties:
Guid:
type: "string"
GuidArticle:
type: "string"
Amount:
type: "number"
NetPrice:
type: "number"
Download:
type: "object"
required:
- "Guid"
- "GuidDbBlob"
- "Type"
properties:
Guid:
type: "string"
GuidDbBlob:
type: "string"
Type:
type: "string"
enum:
- "NewTab"
- "SameTab"
- "Embedded"
DeliveryType:
type: "object"
required:
- "Guid"
- "Designation"
properties:
Guid:
type: "string"
Designation:
type: "string"
PaymentType:
type: "object"
required:
- "Guid"
- "Designation"
properties:
Guid:
type: "string"
Designation:
type: "string"
securitySchemes:
SessionScheme:
type: http

View File

@ -1,28 +1,3 @@
/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:
@ -30,42 +5,13 @@
/Tubes:
get:
- Unsicher, ob das so bleibt
/Carts:
/Documents:
- Alle anderen Belege
/Campaigns:
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:
/Areas:
get:
- Dynamisch Preisänderungen und co anzeigen
/Carts/{Guid}/Order:
post:
- GuidDeliveryType
@ -74,75 +20,3 @@
- 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.