api-documentation/src/v2/shop.yaml

1057 lines
28 KiB
YAML
Raw Blame History

openapi: 3.0.0
info:
title: "TyrePro-API, Shop"
version: "Version 4"
servers:
- url: "https://musterreifen.com/api/shop"
description: "Development server, customers domain"
- url: "https://onlineservices.dev.rz2.prm-ag.de/q7U4PLrRfa7vrzFR2Kvb3Q/api/shop"
description: "Development server, generic domain"
- url: "http://localhost/ROOT/api/shop"
description: "Local development server"
paths:
/AddressStates:
get:
tags:
- "Configuration"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/AddressState"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/Branches:
get:
tags:
- "Configuration"
parameters:
- $ref: "#/components/parameters/GuidOnlineService"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/Branch"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/Modules:
get:
tags:
- "Configuration"
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: []
/TableConfigs:
get:
tags:
- "Configuration"
parameters:
- $ref: "#/components/parameters/GuidOnlineService"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/TableConfig"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/FilterSuggestions:
get:
tags:
- "Configuration"
- "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: []
/Filters:
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"
- name: "Type"
description: "Provide the types you want to get. If this parameter is not provided, all types will be returned."
in: "query"
required: false
schema:
type: "array"
items:
type: "string"
enum:
- "MaterialType"
- "VehicleType"
- "Width"
- "Section"
- "Diameter"
- "SpeedIndex"
- "LoadIndex"
- "HoleCount"
- "HoleCircle"
- "Offset"
- "HubBoreHole"
- "Manufacturer"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/Filter"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/Articles:
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"
- name: "GuidBranch"
description: "Required for providing stock information."
in: "query"
required: true
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
- name: "Amount"
description: "Required for providing stock information."
in: "query"
required: true
schema:
type: "number"
default: null
example: 4
responses:
200:
description: "successful operation"
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/Article"
default:
$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: []
/CalculationProfiles:
get:
tags:
- "Calculation"
parameters:
- $ref: "#/components/parameters/GuidOnlineService"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/CalculationProfile"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
post:
tags:
- "Calculation"
parameters:
- $ref: "#/components/parameters/GuidOnlineService"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/CalculationProfile"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/CalculationProfile"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/CalculationProfiles/{Guid}:
patch:
tags:
- "Calculation"
parameters:
- $ref: "#/components/parameters/GuidPath"
- $ref: "#/components/parameters/_HashValue"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/CalculationProfile"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/CalculationProfile"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
delete:
tags:
- "Calculation"
parameters:
- $ref: "#/components/parameters/GuidPath"
- $ref: "#/components/parameters/_HashValue"
responses:
200:
description: "successful operation"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/Calculations:
get:
tags:
- "Calculation"
parameters:
- name: "GuidCalculationProfile"
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/Calculation"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
post:
tags:
- "Calculation"
parameters:
- name: "GuidCalculationProfile"
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/Calculation"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/Calculation"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/Calculations/{Guid}:
patch:
tags:
- "Calculation"
parameters:
- $ref: "#/components/parameters/GuidPath"
- $ref: "#/components/parameters/_HashValue"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Calculation"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/Calculation"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
delete:
tags:
- "Calculation"
parameters:
- $ref: "#/components/parameters/GuidPath"
- $ref: "#/components/parameters/_HashValue"
responses:
200:
description: "successful operation"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/CalculationSurcharges:
get:
tags:
- "Calculation"
parameters:
- name: "GuidCalculation"
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/CalculationSurcharge"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
post:
tags:
- "Calculation"
parameters:
- name: "GuidCalculation"
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/CalculationSurcharge"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/CalculationSurcharge"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/CalculationSurcharges/{Guid}:
patch:
tags:
- "Calculation"
parameters:
- $ref: "#/components/parameters/GuidPath"
- $ref: "#/components/parameters/_HashValue"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/CalculationSurcharge"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/CalculationSurcharge"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
delete:
tags:
- "Calculation"
parameters:
- $ref: "#/components/parameters/GuidPath"
- $ref: "#/components/parameters/_HashValue"
responses:
200:
description: "successful operation"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
components:
schemas:
GenericError:
type: "object"
required:
- "Message"
- "Details"
properties:
Message:
type: "string"
Details:
type: "string"
example:
Message: "Ihr Anwender wurde nicht gefunden."
Details: "Progress.Lang.AppError\n Ihr Anwender wurde nicht gefunden.\nat sourcecode.line 123"
AddressState:
type: "object"
required:
- "Guid"
- "Designation"
- "ISO2Code"
- "ISO3Code"
properties:
Guid:
type: "string"
Designation:
type: "string"
ISO2Code:
type: "string"
ISO3Code:
type: "string"
example:
Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
Designation: "Deutschland"
ISO2Code: "DE"
ISO3Code: "DEU"
PostalAddress:
type: "object"
properties:
Salutation:
type: "string"
Name1:
type: "string"
Name2:
type: "string"
Name3:
type: "string"
Street:
type: "string"
Postalcode:
type: "string"
Town:
type: "string"
Township:
type: "string"
GuidAddressState:
type: "string"
example:
Salutation: "Herr"
Name1: "Max Mustermann"
Name2: null
Name3: null
Street: "Musterstra<72>e 123"
Postalcode: "01234"
Town: "Musterhausen"
Township: "Musterviertel"
GuidAddressState: "ebb89e89-8d25-809e-7814-c53b686ae164"
Branch:
type: "object"
required:
- "Guid"
- "Designation"
- "Number"
- "IsActive"
properties:
Guid:
type: "string"
Designation:
type: "string"
Number:
type: "integer"
IsActive:
type: "boolean"
Address:
$ref: "#/components/schemas/PostalAddress"
EMailAddress:
type: "string"
PhoneNumber:
type: "string"
FaxNumber:
type: "string"
Latitude:
type: "number"
Longitude:
type: "number"
example:
Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
Designation: "Zentrale"
Number: 1
IsActive: true
Address: null
EMailAddress: "info@mail.org"
PhoneNumber: "+49123456789"
FaxNumber: null
Latitude: 12.34
Longitude: 12.34
TableConfig:
type: "object"
required:
- "Guid"
properties:
Guid:
type: "string"
DetailColumns:
type: "array"
items:
type: "object"
required:
- "Designation"
- "FieldName"
- "DataType"
properties:
Designation:
type: "string"
FieldName:
type: "string"
DataType:
type: "string"
enum:
- "string"
- "integer"
- "decimal"
- "boolean"
- "date"
- "dateTime"
StockColumns:
type: "array"
items:
type: "object"
required:
- "Designation"
- "FieldName"
properties:
Designation:
type: "string"
FieldName:
type: "string"
Module:
type: "object"
required:
- "Guid"
- "Designation"
- "Type"
properties:
Guid:
type: "string"
Designation:
type: "string"
Type:
type: "string"
enum:
- "Downloads"
- "Link"
LinkPath:
type: "string"
LinkType:
type: "string"
enum:
- "NewTab"
- "SameTab"
FilterSuggestion:
type: "object"
required:
- "Guid"
properties:
GuidMaterialType:
type: "string"
GuidVehicleType:
type: "string"
Types:
type: "array"
items:
type: "object"
required:
- "Designation"
- "Type"
properties:
Designation:
type: "string"
Type:
type: "string"
enum:
- "MaterialType"
- "VehicleType"
- "Width"
- "Section"
- "Diameter"
- "SpeedIndex"
- "LoadIndex"
- "HoleCount"
- "HoleCircle"
- "Offset"
- "HubBoreHole"
- "Manufacturer"
Filter:
type: "object"
required:
- "Guid"
- "Designation"
- "Type"
- "Options"
properties:
Guid:
type: "string"
Designation:
type: "string"
Type:
type: "string"
enum:
- "MaterialType"
- "VehicleType"
- "Width"
- "Section"
- "Diameter"
- "SpeedIndex"
- "LoadIndex"
- "HoleCount"
- "HoleCircle"
- "Offset"
- "HubBoreHole"
- "Manufacturer"
Options:
type: "array"
items:
type: "object"
required:
- "Designation"
- "NumberOfResults"
- "ParameterKey"
- "ParameterValue"
properties:
Designation:
type: "string"
NumberOfResults:
type: "integer"
ParameterKey:
type: "string"
ParameterValue:
type: "string"
Article:
type: "object"
required:
- "Guid"
- "StockType"
- "AmountInCart"
- "NumberOfDecimalPlacesForStock"
properties:
Guid:
type: "string"
Price:
type: "number"
StockType:
type: "string"
EarliestDeliveryDate:
type: "string"
format: "date"
LatestDeliveryDate:
type: "string"
format: "date"
AmountInCart:
type: "number"
AmountPrecisionInNumberOfDecimalPlaces:
type: "integer"
Detail-1:
type: "string"
Detail-2:
type: "integer"
Stock-1:
type: "number"
MaterialType:
type: "object"
required:
- "Guid"
- "Designation"
properties:
Guid:
type: "string"
Designation:
type: "string"
MaterialGroup:
type: "object"
required:
- "Guid"
- "Designation"
properties:
Guid:
type: "string"
Designation:
type: "string"
MaterialSubGroup:
type: "object"
required:
- "Guid"
- "Designation"
properties:
Guid:
type: "string"
Designation:
type: "string"
CalculationProfile:
type: "object"
required:
- "Guid"
- "Designation"
- "SequenceNumber"
properties:
Guid:
type: "string"
Designation:
type: "string"
SequenceNumber:
type: "integer"
Calculation:
type: "object"
required:
- "Guid"
- "Designation"
- "SequenceNumber"
properties:
Guid:
type: "string"
Designation:
type: "string"
SequenceNumber:
type: "integer"
MaterialTypes:
type: "array"
items:
type: "string"
MaterialGroups:
type: "array"
items:
type: "string"
MaterialSubGroups:
type: "array"
items:
type: "string"
CalculationSurcharge:
type: "object"
required:
- "Guid"
- "SequenceNumber"
- "NetPrice"
- "Mode"
- "PercentalSurcharge"
- "FixedSurcharge"
properties:
Guid:
type: "string"
SequenceNumber:
type: "integer"
NetPrice:
type: "number"
Mode:
type: "string"
enum:
- "PercentalBeforeFixed"
- "FixedBeforePercental"
PercentalSurcharge:
type: "number"
FixedSurcharge:
type: "number"
securitySchemes:
SessionScheme:
type: http
scheme: bearer
parameters:
_HashValue:
name: "_HashValue"
in: "query"
description: "If you want to process a write operation you shall provide the hashvalue of the current view of the object you want to write to. If someone else has written something before you'll get a 412 response code."
required: true
schema:
type: "string"
default: null
example: "f50df554352ac91635f900026860e3371a71999d"
GuidPath:
name: "Guid"
in: "path"
description: "The primary identifier of the entry (in the database)."
required: true
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidOnlineService:
name: "GuidOnlineService"
in: "query"
description: "The reference to the shop."
required: true
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidMaterialType:
name: "GuidMaterialType"
in: "query"
required: false
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidVehicleType:
name: "GuidVehicleType"
in: "query"
required: false
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidWidth:
name: "GuidWidth"
in: "query"
required: false
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidSection:
name: "GuidSection"
in: "query"
required: false
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidDiameter:
name: "GuidDiameter"
in: "query"
required: false
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidSpeedIndex:
name: "GuidSpeedIndex"
in: "query"
required: false
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidLoadIndex:
name: "GuidLoadIndex"
in: "query"
required: false
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidHoleCount:
name: "GuidHoleCount"
in: "query"
required: false
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidHoleCircle:
name: "GuidHoleCircle"
in: "query"
required: false
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidOffset:
name: "GuidOffset"
in: "query"
required: false
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidHubBoreHole:
name: "GuidHubBoreHole"
in: "query"
required: false
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidManufacturer:
name: "GuidManufacturer"
in: "query"
required: false
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
SearchTerm:
name: "SearchTerm"
in: "query"
required: false
schema:
type: "string"
default: null
example: "2055516"
responses:
GenericError:
description: "Unexpected error like 4XX or 5XX http errors."
content:
application/json:
schema:
$ref: "#/components/schemas/GenericError"