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�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"