Split of documents done.

This commit is contained in:
Nico Kroll 2024-04-15 11:11:36 +02:00
parent a377a8ecbb
commit 2c5c2a804b
9 changed files with 5381 additions and 8688 deletions

View File

@ -11,9 +11,15 @@ The documentations follow the OpenAPI 3.0.0 specifications. You can read the yam
## Is the API stable?
*Time is change. Nothing is stable.* Even when it may sound rough, but it's the truth. During development on a specific part, there will be a lot of changes. Someone requests something new (or changed) and there will be changes. We need to update some points to fullfil further requirements in our application - other changes coming.
*The only constant is change.* Even when it may sound rough, but it's the truth. During development on a specific part, there will be a lot of changes. Someone requests, something new (or changed) and there will be changes. Further we want to provide you and our customers best service and keep our software up to date.
That is the reason why we put this API documentation in a public git: that you're able to track what changed.
Follow this git repository, track changes and stay tuned!
## What about pricing?
Light usage will be for free, but we'll start charging for more frequent and heavy usage. If you've doubts, please contact us and explain your wish and what you want to achive.
Special requirements or endpoints will get charged as customizing on an per hour base.
## I've more questions!

617
src/article.yaml Normal file
View File

@ -0,0 +1,617 @@
openapi: 3.0.0
info:
title: "TyrePro-API, Article"
version: "1"
servers:
- url: "https://musterreifen.com/api"
description: "Demo server"
- url: "https://onlineservices.demo.rz2.prm-ag.de/O6J20ZebmghzkNgrdD759A/api"
description: "Development server"
paths:
/Articles:
get:
tags:
- "Articles"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/IsActiveParameter"
- $ref: "#/components/parameters/SearchTermParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/Article"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/Articles/{Guid}:
get:
tags:
- "Articles"
parameters:
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/Article"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/MaterialGroups:
get:
tags:
- "MaterialGroups"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/SearchTermParameter"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/MaterialGroup"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/MaterialGroups/{Guid}:
get:
tags:
- "MaterialGroups"
parameters:
- $ref: "#/components/parameters/GuidPathParameter"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/MaterialGroup"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/MaterialSubGroups:
get:
tags:
- "MaterialSubGroups"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/SearchTermParameter"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/MaterialSubGroup"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/MaterialSubGroups/{Guid}:
get:
tags:
- "MaterialSubGroups"
parameters:
- $ref: "#/components/parameters/GuidPathParameter"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/MaterialSubGroup"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/MaterialTypes:
get:
tags:
- "MaterialTypes"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/SearchTermParameter"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/MaterialType"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/MaterialTypes/{Guid}:
get:
tags:
- "MaterialTypes"
parameters:
- $ref: "#/components/parameters/GuidPathParameter"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/MaterialType"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/Storages:
get:
tags:
- "Storages"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/IsActiveParameter"
- $ref: "#/components/parameters/SearchTermParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/Storage"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/Storages/{Guid}:
get:
tags:
- "Storages"
parameters:
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/Storage"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/StorageLocations:
get:
tags:
- "StorageLocations"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/IsActiveParameter"
- $ref: "#/components/parameters/SearchTermParameter"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/StorageLocation"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/StorageLocations/{Guid}:
get:
tags:
- "StorageLocations"
parameters:
- $ref: "#/components/parameters/GuidPathParameter"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/StorageLocation"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
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"
_HashValue:
type: "string"
description: "HashValue of the object which you'll need to process write-operations."
example: "f50df554352ac91635f900026860e3371a71999d"
Article:
type: "object"
required:
- "Guid"
- "GuidMaterialType"
- "IsActive"
- "Designation"
properties:
Guid:
type: "string"
GuidMaterialType:
type: "string"
GuidMaterialGroup:
type: "string"
GuidMaterialSubGroup:
type: "string"
IsActive:
type: "boolean"
Designation:
type: "string"
Manufacturer:
type: "string"
ManufacturerArticleNumber:
type: "string"
Ean:
type: "string"
KronprinzNumber:
type: "string"
AlcarNumber:
type: "string"
SuedradNumber:
type: "string"
DiameterInInch:
type: "number"
WidthInMm:
type: "number"
SectionInMm:
type: "number"
LoadIndex:
type: "string"
SpeedIndex:
type: "string"
OffsetInMm:
type: "number"
HubBoreHoleInMm:
type: "number"
HoleCount:
type: "number"
HoleCircleInMm:
type: "number"
WeightInKg:
type: "number"
FuelConsumptionClass:
type: "string"
BrakingPerformanceClass:
type: "string"
NoiseClass:
type: "string"
NoiseLevelInDb:
type: "number"
VehicleClass:
type: "string"
RegulationNumber:
type: "string"
_HashValue:
$ref: "#/components/schemas/_HashValue"
example:
Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidMaterialType: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidMaterialGroup: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidMaterialSubGroup: "ebb89e89-8d25-809e-7814-c53b686ae164"
Designation: "Michelin 205/55R16 91H M+S 3PMSF Alpin 6"
IsActive: true
MaterialGroup:
type: "object"
required:
- "Guid"
- "Designation"
properties:
Guid:
type: "string"
Designation:
type: "string"
_HashValue:
$ref: "#/components/schemas/_HashValue"
example:
Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
Designation: "Sommerreifen"
MaterialSubGroup:
type: "object"
required:
- "Guid"
- "Designation"
properties:
Guid:
type: "string"
Designation:
type: "string"
_HashValue:
$ref: "#/components/schemas/_HashValue"
example:
Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
Designation: "RFT-Seal-Sommer-PKW-Reifen"
MaterialType:
type: "object"
required:
- "Guid"
- "Designation"
properties:
Guid:
type: "string"
Designation:
type: "string"
_HashValue:
$ref: "#/components/schemas/_HashValue"
example:
Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
Designation: "Reifen"
Storage:
type: "object"
required:
- "Guid"
- "IsActive"
- "Designation"
- "Number"
properties:
Guid:
type: "string"
IsActive:
type: "boolean"
Designation:
type: "string"
Number:
type: "integer"
_HashValue:
$ref: "#/components/schemas/_HashValue"
example:
Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
IsActive: true
Designation: "Reifen"
Number: 1
StorageLocation:
type: "object"
required:
- "Guid"
- "IsActive"
- "Designation"
- "Number"
properties:
Guid:
type: "string"
GuidStorage:
type: "string"
IsActive:
type: "boolean"
Designation:
type: "string"
Number:
type: "integer"
_HashValue:
$ref: "#/components/schemas/_HashValue"
example:
Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
IsActive: true
Designation: "Reifen"
Number: 1
securitySchemes:
SessionScheme:
type: http
scheme: bearer
parameters:
_HashValueParameter:
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"
GuidPathParameter:
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"
IsActiveParameter:
name: "IsActive"
in: "query"
description: "Only active elements shall be returned. If null both will get returned."
required: false
schema:
type: "boolean"
default: null
example: true
LimitParameter:
name: "Limit"
in: "query"
description: "Limits the number of result entries."
required: false
schema:
type: "integer"
default: null
minimum: 1
maximum: 2147483647
example: 20
OffsetParameter:
name: "Offset"
in: "query"
description: "Skip the first number of entries."
required: false
schema:
type: "integer"
default: null
minimum: 0
maximum: 2147483647
example: 0
ResponseResolutionDepthParameter:
name: "ResponseResolutionDepth"
in: "query"
description: "If your response object has a field with GuidSomething, this last object will be resolved. Instead of the field GuidSomething you'll get a json object of type Something with it's content. The depth determines how deep this operation shall be. The deeper, the slower your operation will be in general."
required: false
schema:
type: "integer"
default: 0
minimum: 0
maximum: 3
example: 1
SearchTermParameter:
name: "SearchTerm"
in: "query"
description: "Searches the entries and it's content."
required: false
schema:
type: "string"
default: null
example: "mc*onald"
responses:
SessionOfOnlineUserOrHigherRequired:
description: "You need a session of type OnlineUser or TyreProUser."
content:
application/json:
schema:
$ref: "#/components/schemas/GenericError"
SessionOfTyreProUserOrHigherRequired:
description: "You need a session of type TyreProUser."
content:
application/json:
schema:
$ref: "#/components/schemas/GenericError"
GenericError:
description: "Unexpected error like 4XX or 5XX http errors."
content:
application/json:
schema:
$ref: "#/components/schemas/GenericError"

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,945 @@
openapi: 3.0.0
info:
title: "TyrePro-API, Customer and Vehicle"
version: "1"
servers:
- url: "https://musterreifen.com/api"
description: "Demo server"
- url: "https://onlineservices.demo.rz2.prm-ag.de/O6J20ZebmghzkNgrdD759A/api"
description: "Development server"
paths:
/Customers:
get:
tags:
- "Customers"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/IsActiveParameter"
- $ref: "#/components/parameters/SearchTermParameter"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/Customer"
401:
$ref: "#/components/responses/SessionOfTyreProUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
post:
tags:
- "Customers"
parameters:
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Customer"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/Customer"
401:
$ref: "#/components/responses/SessionOfTyreProUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/Customers/{Guid}:
get:
tags:
- "Customers"
parameters:
- $ref: "#/components/parameters/GuidPathParameter"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/Customer"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
patch:
tags:
- "Customers"
parameters:
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/_HashValueParameter"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Customer"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/Customer"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/Customers/{Guid}/DmsFiles:
get:
tags:
- "Customers"
- "DmsFiles"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/SearchTermParameter"
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/DmsFilesTypeParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/DmsFile"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/Customers/custommethods/FindSimilarAccounts:
get:
tags:
- "Customers"
description: "Finds similar accounts. The algorithm uses for example phonetic analysis and more to create the results."
parameters:
- name: "Name1"
in: "query"
required: true
schema:
type: "string"
default: null
example: "Max Mustermann"
- name: "Name2"
in: "query"
required: false
schema:
type: "string"
default: null
- name: "Name3"
in: "query"
required: false
schema:
type: "string"
default: null
- name: "Street"
in: "query"
required: true
schema:
type: "string"
default: null
example: "Musterstraße 123"
- name: "Postalcode"
in: "query"
required: true
schema:
type: "string"
default: null
example: "01234"
- name: "Town"
in: "query"
required: true
schema:
type: "string"
default: null
example: "Musterhausen"
- name: "EMailAddress"
in: "query"
required: false
schema:
type: "string"
default: null
example: "max@mustermann.de"
- name: "SalesTaxIdentificationNumber"
in: "query"
required: false
schema:
type: "string"
default: null
responses:
200:
description: "successful operation"
content:
application/json:
schema:
type: "array"
items:
type: "object"
required:
- "WouldBeChoosenAutomatically"
- "GuidCustomer"
properties:
WouldBeChoosenAutomatically:
type: "boolean"
AutomaticChoiceDescription:
type: "string"
NameSimilarityInPercent:
type: "number"
AddressSimilarityInPercent:
type: "number"
GuidCustomer:
type: "string"
example:
WouldBeChoosenAutomatically: true
AutomaticChoiceDescription: "USt.-IdNr. stimmt überein"
NameSimilarityInPercent: 100
AddressSimilarityInPercent: 97.4
GuidCustomer: "9acea90b-f0d9-2d95-7814-c53b28d87980"
401:
$ref: "#/components/responses/SessionOfTyreProUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/CustomerVehicles:
get:
tags:
- "CustomerVehicles"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/IsActiveParameter"
- $ref: "#/components/parameters/SearchTermParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/CustomerVehicle"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/CustomerVehicles/{Guid}:
get:
tags:
- "CustomerVehicles"
parameters:
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/CustomerVehicle"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
patch:
tags:
- "CustomerVehicles"
parameters:
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/_HashValueParameter"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/CustomerVehicle"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/CustomerVehicle"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/CustomerVehicles/{Guid}/CustomerStorages:
get:
tags:
- "CustomerVehicles"
- "CustomerStorages"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/IsActiveParameter"
- $ref: "#/components/parameters/SearchTermParameter"
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/CustomerStorage"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/CustomerVehicles/{Guid}/DmsFiles:
get:
tags:
- "CustomerVehicles"
- "DmsFiles"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/SearchTermParameter"
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/DmsFilesTypeParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/DmsFile"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/CustomerVehicles/{Guid}/SchedulerAppointments:
get:
tags:
- "CustomerVehicles"
- "SchedulerAppointments"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/IsActiveParameter"
- $ref: "#/components/parameters/SearchTermParameter"
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/SchedulerAppointment"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/CustomerVehicles/custommethods/GenerateCsvFile:
get:
tags:
- "CustomerVehicles"
description: "Generates a CSV-file with all customer vehicle information and delivers the binary file content."
parameters:
- $ref: "#/components/parameters/ContentDispositionParameter"
responses:
200:
description: "successful operation"
content:
text/csv:
schema:
type: "string"
format: "binary"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
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"
_HashValue:
type: "string"
description: "HashValue of the object which you'll need to process write-operations."
example: "f50df554352ac91635f900026860e3371a71999d"
Customer:
type: "object"
required:
- "Guid"
- "Number"
- "IsActive"
properties:
Guid:
type: "string"
GuidBranch:
type: "string"
Number:
type: "integer"
IsActive:
type: "boolean"
Address:
$ref: "#/components/schemas/PostalAddress"
PhoneNumber:
type: "string"
FaxNumber:
type: "string"
MobilphoneNumber:
type: "string"
EMailAddress:
type: "string"
HomepageAddress:
type: "string"
SalesTaxIdentificationNumber:
type: "string"
_HashValue:
$ref: "#/components/schemas/_HashValue"
example:
Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidBranch: "ebb89e89-8d25-809e-7814-c53b686ae164"
Number: 123456
IsActive: true
Address: null
PhoneNumber: "0123456789"
FaxNumber: null
MobilphoneNumber: null
MailAddress: "max@mustermann.de"
HomepageAddress: null
SalesTaxIdentificationNumber: null
CustomerStorage:
type: "object"
required:
- "Guid"
- "Number"
- "Date"
- "IsActive"
- "GuidCustomer"
- "GuidBranch"
- "StorageType"
properties:
Guid:
type: "string"
Number:
type: "integer"
Date:
type: "string"
format: "date"
IsActive:
type: "boolean"
GuidCustomerVehicle:
type: "string"
GuidCustomer:
type: "string"
GuidBranch:
type: "string"
Comment:
type: "string"
DriverName:
type: "string"
ExternalReferenceNumber:
type: "string"
ShallBeWashed:
type: "boolean"
ShallBeBalanced:
type: "boolean"
ShallBeRdksChecked:
type: "boolean"
RimType:
type: "string"
enum:
- "Carbon"
- "AlloyRimOriginal"
- "AlloyRimAftermarket"
- "SteelRim"
- "WithoutRim"
- "Unknown"
GuidCustomerStorageStatus:
type: "string"
GuidMaterialGroup:
type: "string"
StorageType:
type: "string"
enum:
- "Storage"
- "Customer"
GuidStorage:
type: "string"
GuidStorageLocation:
type: "string"
ExternalStorageReferenceNumber:
type: "string"
_HashValue:
$ref: "#/components/schemas/_HashValue"
example:
Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
Number: 123456
Date: "2021-02-02"
IsActive: true
GuidCustomerVehicle: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidCustomer: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidBranch: "ebb89e89-8d25-809e-7814-c53b686ae164"
Comment: null
DriverName: "Max Mustermann Junior"
ExternalReferenceNumber: null
ShallBeWashed: true
ShallBeBalanced: true
ShallBeRdksChecked: false
RimType: "AlloyRimAftermarket"
GuidCustomerStorageStatus: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidMaterialGroup: "ebb89e89-8d25-809e-7814-c53b686ae164"
StorageType: "Branch"
GuidStorage: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidStorageLocation: "ebb89e89-8d25-809e-7814-c53b686ae164"
ExternalStorageReferenceNumber: null
CustomerVehicle:
type: "object"
required:
- "Guid"
- "GuidCustomer"
- "IsActive"
- "LicenceTagNumber"
properties:
Guid:
type: "string"
GuidCustomer:
type: "string"
IsActive:
type: "boolean"
LicenceTagNumber:
type: "string"
ChassisNumber:
type: "string"
EgTypeApprovalNumber:
type: "string"
KbaNumber1:
type: "string"
KbaNumber2:
type: "string"
VehicleManufacturer:
type: "string"
VehicleDesignation:
type: "string"
VehicleType:
type: "string"
VehicleModel:
type: "string"
RegistrationDate:
type: "string"
format: "date"
FuelType:
type: "string"
DisplacementInCcm:
type: "number"
PowerInKw:
type: "number"
MileageInKm:
type: "number"
TuevDate:
type: "string"
format: "date"
InspectionDate:
type: "string"
format: "date"
UvvDate:
type: "string"
format: "date"
_HashValue:
$ref: "#/components/schemas/_HashValue"
example:
Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidCustomer: "ebb89e89-8d25-809e-7814-c53b686ae164"
IsActive: true
LicenceTagNumber: "A-BC 1234"
ChassisNumber: null
KbaNumber1: "8004"
KbaNumber2: "AHE"
VehicleManufacturer: "Skoda"
VehicleDesignation: "Octavia"
VehicleType: "Limosine"
VehicleModel: "1Z, Facelift"
RegistrationDate: "2021-02-02"
DmsFile:
type: "object"
required:
- "Guid"
- "TableName"
- "GuidOfTableName"
- "ProgramIdentifier"
- "ProgramIdentifierDesignation"
- "Type"
properties:
Guid:
type: "string"
TableName:
type: "string"
enum:
- "Customer"
- "CustomerStorage"
- "CustomerVehicle"
- "Document"
- "SchedulerAppointment"
- "DmsFile"
GuidOfTableName:
type: "string"
ProgramIdentifier:
type: "string"
enum:
- "Billing"
- "Cub"
- "Direct"
- "Etirehotel"
- "GlMesstechnik"
- "GudatSolutions"
- "MacsDia"
- "OnlineServices"
- "Printout"
- "PurchaseSource"
- "SalesInterchange"
- "Somplatzki"
- "Zollhof"
ProgramIdentifierDesignation:
type: "string"
Type:
type: "string"
enum:
- "Directory"
- "File"
Designation:
type: "string"
GuidDbBlob:
type: "string"
Description:
type: "string"
_HashValue:
$ref: "#/components/schemas/_HashValue"
example:
Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
TableName: "DmsFile"
GuidOfTableName: "ebb89e89-8d25-809e-7814-c53b686ae164"
ProgramIdentifier: "Direct"
ProgramIdentifierDesignation: "Manuell hinzugefügte Dateien"
Type: "File"
GuidDbBlob: "ebb89e89-8d25-809e-7814-c53b686ae164"
Designation: null
Description: null
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"
SchedulerAppointment:
type: "object"
required:
- "Guid"
- "Designation"
- "StartMoment"
- "EndMoment"
- "WasCreatedByOnlineScheduler"
properties:
Guid:
type: "string"
Designation:
type: "string"
LicenceTagNumber:
type: "string"
StartMoment:
type: "string"
format: "date-time"
EndMoment:
type: "string"
format: "date-time"
Comment:
type: "string"
WasCreatedByOnlineScheduler:
type: "boolean"
OnlineSchedulerText:
type: "string"
AppointmentMakerEmailAddress:
type: "string"
GuidBranch:
type: "string"
GuidOnlineSchedulerBranch:
type: "string"
GuidCustomerVehicle:
type: "string"
GuidCustomerStorage:
type: "string"
GuidDocument:
type: "string"
_HashValue:
$ref: "#/components/schemas/_HashValue"
example:
Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
Designation: "Max Müller, A-BC 1234"
LicenceTagNumber: "A-BC 1234"
StartMoment: "2021-02-02T10:36:10.172"
EndMoment: "2021-02-02T10:36:10.172"
Comment: null
WasCreatedByOnlineScheduler: true
OnlineSchedulerText: "Service: Ich möchte einen Termin für eine Einlagerung haben."
AppointmentMakerEmailAddress: "info@prm-ag.de"
GuidBranch: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidOnlineSchedulerBranch: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidCustomerVehicle: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidCustomerStorage: "ebb89e89-8d25-809e-7814-c53b686ae164"
securitySchemes:
SessionScheme:
type: http
scheme: bearer
parameters:
_HashValueParameter:
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"
ContentDispositionParameter:
name: "ContentDisposition"
in: "query"
description: "How the file is deliverd. Inline is inside the same browser tab i.e.. This parameter takes only effect if parameter BinaryResponse=true."
required: false
schema:
type: "string"
enum:
- "Inline"
- "Attachment"
default: "Inline"
example: "Inline"
DmsFilesTypeParameter:
name: "Type"
in: "query"
description: "Filter by type."
required: false
schema:
type: "string"
enum:
- "Directory"
- "File"
example: "File"
GuidPathParameter:
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"
IsActiveParameter:
name: "IsActive"
in: "query"
description: "Only active elements shall be returned. If null both will get returned."
required: false
schema:
type: "boolean"
default: null
example: true
LimitParameter:
name: "Limit"
in: "query"
description: "Limits the number of result entries."
required: false
schema:
type: "integer"
default: null
minimum: 1
maximum: 2147483647
example: 20
OffsetParameter:
name: "Offset"
in: "query"
description: "Skip the first number of entries."
required: false
schema:
type: "integer"
default: null
minimum: 0
maximum: 2147483647
example: 0
ResponseResolutionDepthParameter:
name: "ResponseResolutionDepth"
in: "query"
description: "If your response object has a field with GuidSomething, this last object will be resolved. Instead of the field GuidSomething you'll get a json object of type Something with it's content. The depth determines how deep this operation shall be. The deeper, the slower your operation will be in general."
required: false
schema:
type: "integer"
default: 0
minimum: 0
maximum: 3
example: 1
SearchTermParameter:
name: "SearchTerm"
in: "query"
description: "Searches the entries and it's content."
required: false
schema:
type: "string"
default: null
example: "mc*onald"
responses:
SessionOfOnlineUserOrHigherRequired:
description: "You need a session of type OnlineUser or TyreProUser."
content:
application/json:
schema:
$ref: "#/components/schemas/GenericError"
SessionOfTyreProUserOrHigherRequired:
description: "You need a session of type TyreProUser."
content:
application/json:
schema:
$ref: "#/components/schemas/GenericError"
GenericError:
description: "Unexpected error like 4XX or 5XX http errors."
content:
application/json:
schema:
$ref: "#/components/schemas/GenericError"

687
src/customerstorage.yaml Normal file
View File

@ -0,0 +1,687 @@
openapi: 3.0.0
info:
title: "TyrePro-API, CustomerStorage"
version: "1"
servers:
- url: "https://musterreifen.com/api"
description: "Demo server"
- url: "https://onlineservices.demo.rz2.prm-ag.de/O6J20ZebmghzkNgrdD759A/api"
description: "Development server"
paths:
/CustomerStorages:
get:
tags:
- "CustomerStorages"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/IsActiveParameter"
- $ref: "#/components/parameters/SearchTermParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/CustomerStorage"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/CustomerStorages/{Guid}:
get:
tags:
- "CustomerStorages"
parameters:
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/CustomerStorage"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/CustomerStorages/{Guid}/CustomerStoragePositions:
get:
tags:
- "CustomerStorages"
- "CustomerStoragePositions"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/SearchTermParameter"
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/CustomerStoragePosition"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/CustomerStorages/{Guid}/DmsFiles:
get:
tags:
- "CustomerStorages"
- "DmsFiles"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/SearchTermParameter"
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/DmsFilesTypeParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/DmsFile"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/CustomerStorages/{Guid}/SchedulerAppointments:
get:
tags:
- "CustomerStorages"
- "SchedulerAppointments"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/IsActiveParameter"
- $ref: "#/components/parameters/SearchTermParameter"
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/SchedulerAppointment"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/CustomerStoragePositions:
get:
tags:
- "CustomerStoragePositions"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/SearchTermParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/CustomerStoragePosition"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/CustomerStoragePositions/{Guid}:
get:
tags:
- "CustomerStoragePositions"
parameters:
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/CustomerStoragePosition"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/CustomerStorageStatus:
get:
tags:
- "CustomerStorageStatus"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/SearchTermParameter"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/CustomerStorageStatus"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/CustomerStorageStatus/{Guid}:
get:
tags:
- "CustomerStorageStatus"
parameters:
- $ref: "#/components/parameters/GuidPathParameter"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/CustomerStorageStatus"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
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"
_HashValue:
type: "string"
description: "HashValue of the object which you'll need to process write-operations."
example: "f50df554352ac91635f900026860e3371a71999d"
CustomerStorage:
type: "object"
required:
- "Guid"
- "Number"
- "Date"
- "IsActive"
- "GuidCustomer"
- "GuidBranch"
- "StorageType"
properties:
Guid:
type: "string"
Number:
type: "integer"
Date:
type: "string"
format: "date"
IsActive:
type: "boolean"
GuidCustomerVehicle:
type: "string"
GuidCustomer:
type: "string"
GuidBranch:
type: "string"
Comment:
type: "string"
DriverName:
type: "string"
ExternalReferenceNumber:
type: "string"
ShallBeWashed:
type: "boolean"
ShallBeBalanced:
type: "boolean"
ShallBeRdksChecked:
type: "boolean"
RimType:
type: "string"
enum:
- "Carbon"
- "AlloyRimOriginal"
- "AlloyRimAftermarket"
- "SteelRim"
- "WithoutRim"
- "Unknown"
GuidCustomerStorageStatus:
type: "string"
GuidMaterialGroup:
type: "string"
StorageType:
type: "string"
enum:
- "Storage"
- "Customer"
GuidStorage:
type: "string"
GuidStorageLocation:
type: "string"
ExternalStorageReferenceNumber:
type: "string"
_HashValue:
$ref: "#/components/schemas/_HashValue"
example:
Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
Number: 123456
Date: "2021-02-02"
IsActive: true
GuidCustomerVehicle: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidCustomer: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidBranch: "ebb89e89-8d25-809e-7814-c53b686ae164"
Comment: null
DriverName: "Max Mustermann Junior"
ExternalReferenceNumber: null
ShallBeWashed: true
ShallBeBalanced: true
ShallBeRdksChecked: false
RimType: "AlloyRimAftermarket"
GuidCustomerStorageStatus: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidMaterialGroup: "ebb89e89-8d25-809e-7814-c53b686ae164"
StorageType: "Branch"
GuidStorage: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidStorageLocation: "ebb89e89-8d25-809e-7814-c53b686ae164"
ExternalStorageReferenceNumber: null
CustomerStoragePosition:
type: "object"
required:
- "Guid"
- "GuidCustomerStorage"
- "PositionDescription"
properties:
Guid:
type: "string"
GuidCustomerStorage:
type: "string"
PositionDescription:
type: "string"
enum:
- "FR"
- "FL"
- "RR"
- "RL"
GuidArticleOfTyre:
type: "string"
TyreDimension:
type: "string"
TyreManufacturer:
type: "string"
TyreProfile:
type: "string"
TyreProfileDepthInMillimeters:
type: "number"
TyreDotYear:
type: "integer"
TyreDotWeek:
type: "integer"
RimDimension:
type: "string"
RimManufacturer:
type: "string"
GuidCustomerStorageStatus:
type: "string"
_HashValue:
$ref: "#/components/schemas/_HashValue"
example:
Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidCustomerStorage: "ebb89e89-8d25-809e-7814-c53b686ae164"
PositionDescription: "FR"
GuidArticleOfTyre: "ebb89e89-8d25-809e-7814-c53b686ae164"
TyreDimension: null
TyreManufacturer: null
TyreProfile: null
TyreProfileDepthInMillimeters: 5.6
TyreDotYear: 21
TyreDotWeek: 42
RimDimension: "7x17"
RimManufacturer: "AEZ"
GuidCustomerStorageStatus: "ebb89e89-8d25-809e-7814-c53b686ae164"
CustomerStorageStatus:
type: "object"
required:
- "Guid"
- "Designation"
properties:
Guid:
type: "string"
Designation:
type: "string"
_HashValue:
$ref: "#/components/schemas/_HashValue"
example:
Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
Designation: "In Ordnung"
DmsFile:
type: "object"
required:
- "Guid"
- "TableName"
- "GuidOfTableName"
- "ProgramIdentifier"
- "ProgramIdentifierDesignation"
- "Type"
properties:
Guid:
type: "string"
TableName:
type: "string"
enum:
- "Customer"
- "CustomerStorage"
- "CustomerVehicle"
- "Document"
- "SchedulerAppointment"
- "DmsFile"
GuidOfTableName:
type: "string"
ProgramIdentifier:
type: "string"
enum:
- "Billing"
- "Cub"
- "Direct"
- "Etirehotel"
- "GlMesstechnik"
- "GudatSolutions"
- "MacsDia"
- "OnlineServices"
- "Printout"
- "PurchaseSource"
- "SalesInterchange"
- "Somplatzki"
- "Zollhof"
ProgramIdentifierDesignation:
type: "string"
Type:
type: "string"
enum:
- "Directory"
- "File"
Designation:
type: "string"
GuidDbBlob:
type: "string"
Description:
type: "string"
_HashValue:
$ref: "#/components/schemas/_HashValue"
example:
Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
TableName: "DmsFile"
GuidOfTableName: "ebb89e89-8d25-809e-7814-c53b686ae164"
ProgramIdentifier: "Direct"
ProgramIdentifierDesignation: "Manuell hinzugefügte Dateien"
Type: "File"
GuidDbBlob: "ebb89e89-8d25-809e-7814-c53b686ae164"
Designation: null
Description: null
SchedulerAppointment:
type: "object"
required:
- "Guid"
- "Designation"
- "StartMoment"
- "EndMoment"
- "WasCreatedByOnlineScheduler"
properties:
Guid:
type: "string"
Designation:
type: "string"
LicenceTagNumber:
type: "string"
StartMoment:
type: "string"
format: "date-time"
EndMoment:
type: "string"
format: "date-time"
Comment:
type: "string"
WasCreatedByOnlineScheduler:
type: "boolean"
OnlineSchedulerText:
type: "string"
AppointmentMakerEmailAddress:
type: "string"
GuidBranch:
type: "string"
GuidOnlineSchedulerBranch:
type: "string"
GuidCustomerVehicle:
type: "string"
GuidCustomerStorage:
type: "string"
GuidDocument:
type: "string"
_HashValue:
$ref: "#/components/schemas/_HashValue"
example:
Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
Designation: "Max Müller, A-BC 1234"
LicenceTagNumber: "A-BC 1234"
StartMoment: "2021-02-02T10:36:10.172"
EndMoment: "2021-02-02T10:36:10.172"
Comment: null
WasCreatedByOnlineScheduler: true
OnlineSchedulerText: "Service: Ich möchte einen Termin für eine Einlagerung haben."
AppointmentMakerEmailAddress: "info@prm-ag.de"
GuidBranch: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidOnlineSchedulerBranch: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidCustomerVehicle: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidCustomerStorage: "ebb89e89-8d25-809e-7814-c53b686ae164"
securitySchemes:
SessionScheme:
type: http
scheme: bearer
parameters:
_HashValueParameter:
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"
DmsFilesTypeParameter:
name: "Type"
in: "query"
description: "Filter by type."
required: false
schema:
type: "string"
enum:
- "Directory"
- "File"
example: "File"
GuidPathParameter:
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"
IsActiveParameter:
name: "IsActive"
in: "query"
description: "Only active elements shall be returned. If null both will get returned."
required: false
schema:
type: "boolean"
default: null
example: true
LimitParameter:
name: "Limit"
in: "query"
description: "Limits the number of result entries."
required: false
schema:
type: "integer"
default: null
minimum: 1
maximum: 2147483647
example: 20
OffsetParameter:
name: "Offset"
in: "query"
description: "Skip the first number of entries."
required: false
schema:
type: "integer"
default: null
minimum: 0
maximum: 2147483647
example: 0
ResponseResolutionDepthParameter:
name: "ResponseResolutionDepth"
in: "query"
description: "If your response object has a field with GuidSomething, this last object will be resolved. Instead of the field GuidSomething you'll get a json object of type Something with it's content. The depth determines how deep this operation shall be. The deeper, the slower your operation will be in general."
required: false
schema:
type: "integer"
default: 0
minimum: 0
maximum: 3
example: 1
SearchTermParameter:
name: "SearchTerm"
in: "query"
description: "Searches the entries and it's content."
required: false
schema:
type: "string"
default: null
example: "mc*onald"
responses:
SessionOfOnlineUserOrHigherRequired:
description: "You need a session of type OnlineUser or TyreProUser."
content:
application/json:
schema:
$ref: "#/components/schemas/GenericError"
SessionOfTyreProUserOrHigherRequired:
description: "You need a session of type TyreProUser."
content:
application/json:
schema:
$ref: "#/components/schemas/GenericError"
GenericError:
description: "Unexpected error like 4XX or 5XX http errors."
content:
application/json:
schema:
$ref: "#/components/schemas/GenericError"

660
src/document.yaml Normal file
View File

@ -0,0 +1,660 @@
openapi: 3.0.0
info:
title: "TyrePro-API, Document"
version: "1"
servers:
- url: "https://musterreifen.com/api"
description: "Demo server"
- url: "https://onlineservices.demo.rz2.prm-ag.de/O6J20ZebmghzkNgrdD759A/api"
description: "Development server"
paths:
/Documents:
get:
tags:
- "Documents"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/IsActiveParameter"
- $ref: "#/components/parameters/SearchTermParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
- name: "Type"
in: "query"
required: false
description: "Type of the document. Remember: a finished invoice is not active anymore. So try the combinations of Type and IsActive to find your documents."
schema:
type: "string"
enum:
- "Offer"
- "Order"
- "DeliveryNote"
- "Invoice"
- "CreditNote"
example: "Invoice"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/Document"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/Documents/{Guid}:
get:
tags:
- "Documents"
parameters:
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
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}/DocumentPositions:
get:
tags:
- "Documents"
- "DocumentPositions"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/SearchTermParameter"
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/DocumentPosition"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/Documents/{Guid}/DmsFiles:
get:
tags:
- "Documents"
- "DmsFiles"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/SearchTermParameter"
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/DmsFilesTypeParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/DmsFile"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/Documents/{Guid}/SchedulerAppointments:
get:
tags:
- "Documents"
- "SchedulerAppointments"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/IsActiveParameter"
- $ref: "#/components/parameters/SearchTermParameter"
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/SchedulerAppointment"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/DocumentPositions:
get:
tags:
- "DocumentPositions"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/SearchTermParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/DocumentPosition"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/DocumentPositions/{Guid}:
get:
tags:
- "DocumentPositions"
parameters:
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/DocumentPosition"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
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"
_HashValue:
type: "string"
description: "HashValue of the object which you'll need to process write-operations."
example: "f50df554352ac91635f900026860e3371a71999d"
DmsFile:
type: "object"
required:
- "Guid"
- "TableName"
- "GuidOfTableName"
- "ProgramIdentifier"
- "ProgramIdentifierDesignation"
- "Type"
properties:
Guid:
type: "string"
TableName:
type: "string"
enum:
- "Customer"
- "CustomerStorage"
- "CustomerVehicle"
- "Document"
- "SchedulerAppointment"
- "DmsFile"
GuidOfTableName:
type: "string"
ProgramIdentifier:
type: "string"
enum:
- "Billing"
- "Cub"
- "Direct"
- "Etirehotel"
- "GlMesstechnik"
- "GudatSolutions"
- "MacsDia"
- "OnlineServices"
- "Printout"
- "PurchaseSource"
- "SalesInterchange"
- "Somplatzki"
- "Zollhof"
ProgramIdentifierDesignation:
type: "string"
Type:
type: "string"
enum:
- "Directory"
- "File"
Designation:
type: "string"
GuidDbBlob:
type: "string"
Description:
type: "string"
_HashValue:
$ref: "#/components/schemas/_HashValue"
example:
Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
TableName: "DmsFile"
GuidOfTableName: "ebb89e89-8d25-809e-7814-c53b686ae164"
ProgramIdentifier: "Direct"
ProgramIdentifierDesignation: "Manuell hinzugefügte Dateien"
Type: "File"
GuidDbBlob: "ebb89e89-8d25-809e-7814-c53b686ae164"
Designation: null
Description: null
Document:
type: "object"
required:
- "Guid"
- "IsActive"
- "Type"
- "Date"
- "Number"
- "GuidBranch"
- "GuidCustomer"
- "CreationMoment"
- "LastModificationMoment"
- "Address"
properties:
Guid:
type: "string"
IsActive:
type: "boolean"
Type:
type: "string"
enum:
- "Offer"
- "Order"
- "DeliveryNote"
- "Invoice"
- "CreditNote"
Date:
type: "string"
format: "date"
Number:
type: "number"
GuidBranch:
type: "string"
GuidCustomer:
type: "string"
GuidCustomerVehicle:
type: "string"
CreationMoment:
type: "string"
format: "date-time"
LastModificationMoment:
type: "string"
format: "date-time"
Address:
$ref: "#/components/schemas/PostalAddress"
DeliveryAddress:
$ref: "#/components/schemas/PostalAddress"
InvoiceAddress:
$ref: "#/components/schemas/PostalAddress"
GuidDocumentOfOffer:
type: "string"
GuidDocumentOfOrder:
type: "string"
GuidDocumentOfDeliveryNote:
type: "string"
GuidDocumentOfInvoice:
type: "string"
GuidDocumentOfCreditNote:
type: "string"
GuidEmployeeOfSeller:
type: "string"
SalesPriceNet:
type: "number"
SalesPriceGross:
type: "number"
_HashValue:
$ref: "#/components/schemas/_HashValue"
example:
Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
IsActive: true
Type: "Order"
Date: "2021-02-02"
Number: 123456
Guidbranch: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidCustomer: "ebb89e89-8d25-809e-7814-c53b686ae164"
CreationMoment: "2021-02-02T10:36:10.172"
LastModificationMoment: "2021-02-02T10:36:10.172"
Address: null
DeliveryAddress: null
InvoiceAddress: null
SalesPriceNet: 42.12
SalesPriceGross: 50.12
DocumentPosition:
type: "object"
required:
- "Guid"
- "GuidDocument"
- "Number"
- "Type"
properties:
Guid:
type: "string"
GuidDocument:
type: "string"
Number:
type: "number"
Type:
type: "string"
enum:
- "Article"
- "Text"
- "Sum"
- "Set"
GuidArticle:
type: "string"
Amount:
type: "number"
SalesPriceNetSingle:
type: "string"
SalesPriceGrossSingle:
type: "string"
SalesPriceNetTotal:
type: "string"
SalesPriceGrossTotal:
type: "string"
Designation:
type: "string"
_HashValue:
$ref: "#/components/schemas/_HashValue"
example:
Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidDocument: "ebb89e89-8d25-809e-7814-c53b686ae164"
Number: 1
Type: "Article"
GuidArticle: "ebb89e89-8d25-809e-7814-c53b686ae164"
Amount: 4
SalesPriceNetSingle: 42.12
SalesPriceGrossSingle: 50.12
SalesPriceNetTotal: 168.48
SalesPriceGrossTotal: 200.48
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"
SchedulerAppointment:
type: "object"
required:
- "Guid"
- "Designation"
- "StartMoment"
- "EndMoment"
- "WasCreatedByOnlineScheduler"
properties:
Guid:
type: "string"
Designation:
type: "string"
LicenceTagNumber:
type: "string"
StartMoment:
type: "string"
format: "date-time"
EndMoment:
type: "string"
format: "date-time"
Comment:
type: "string"
WasCreatedByOnlineScheduler:
type: "boolean"
OnlineSchedulerText:
type: "string"
AppointmentMakerEmailAddress:
type: "string"
GuidBranch:
type: "string"
GuidOnlineSchedulerBranch:
type: "string"
GuidCustomerVehicle:
type: "string"
GuidCustomerStorage:
type: "string"
GuidDocument:
type: "string"
_HashValue:
$ref: "#/components/schemas/_HashValue"
example:
Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
Designation: "Max Müller, A-BC 1234"
LicenceTagNumber: "A-BC 1234"
StartMoment: "2021-02-02T10:36:10.172"
EndMoment: "2021-02-02T10:36:10.172"
Comment: null
WasCreatedByOnlineScheduler: true
OnlineSchedulerText: "Service: Ich möchte einen Termin für eine Einlagerung haben."
AppointmentMakerEmailAddress: "info@prm-ag.de"
GuidBranch: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidOnlineSchedulerBranch: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidCustomerVehicle: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidCustomerStorage: "ebb89e89-8d25-809e-7814-c53b686ae164"
securitySchemes:
SessionScheme:
type: http
scheme: bearer
parameters:
_HashValueParameter:
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"
DmsFilesTypeParameter:
name: "Type"
in: "query"
description: "Filter by type."
required: false
schema:
type: "string"
enum:
- "Directory"
- "File"
example: "File"
GuidPathParameter:
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"
IsActiveParameter:
name: "IsActive"
in: "query"
description: "Only active elements shall be returned. If null both will get returned."
required: false
schema:
type: "boolean"
default: null
example: true
LimitParameter:
name: "Limit"
in: "query"
description: "Limits the number of result entries."
required: false
schema:
type: "integer"
default: null
minimum: 1
maximum: 2147483647
example: 20
OffsetParameter:
name: "Offset"
in: "query"
description: "Skip the first number of entries."
required: false
schema:
type: "integer"
default: null
minimum: 0
maximum: 2147483647
example: 0
ResponseResolutionDepthParameter:
name: "ResponseResolutionDepth"
in: "query"
description: "If your response object has a field with GuidSomething, this last object will be resolved. Instead of the field GuidSomething you'll get a json object of type Something with it's content. The depth determines how deep this operation shall be. The deeper, the slower your operation will be in general."
required: false
schema:
type: "integer"
default: 0
minimum: 0
maximum: 3
example: 1
SearchTermParameter:
name: "SearchTerm"
in: "query"
description: "Searches the entries and it's content."
required: false
schema:
type: "string"
default: null
example: "mc*onald"
responses:
SessionOfOnlineUserOrHigherRequired:
description: "You need a session of type OnlineUser or TyreProUser."
content:
application/json:
schema:
$ref: "#/components/schemas/GenericError"
SessionOfTyreProUserOrHigherRequired:
description: "You need a session of type TyreProUser."
content:
application/json:
schema:
$ref: "#/components/schemas/GenericError"
GenericError:
description: "Unexpected error like 4XX or 5XX http errors."
content:
application/json:
schema:
$ref: "#/components/schemas/GenericError"

File diff suppressed because it is too large Load Diff

725
src/onlineservice.yaml Normal file
View File

@ -0,0 +1,725 @@
openapi: 3.0.0
info:
title: "TyrePro-API, OnlineService"
version: "1"
servers:
- url: "https://musterreifen.com/api"
description: "Demo server"
- url: "https://onlineservices.demo.rz2.prm-ag.de/O6J20ZebmghzkNgrdD759A/api"
description: "Development server"
paths:
/OnlineServiceDomainFooterModules:
get:
tags:
- "OnlineServiceDomainFooterModules"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/SearchTermParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
- name: "GuidOnlineServiceDomain"
in: "query"
required: false
description: "Parentreference. Required if your session is not TyreProUser or higher."
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/OnlineServiceDomainFooterModule"
401:
$ref: "#/components/responses/SessionOfTyreProUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/OnlineServiceDomainFooterModules/{Guid}:
get:
tags:
- "OnlineServiceDomainFooterModules"
parameters:
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/OnlineServiceDomainFooterModule"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/OnlineServiceDomains:
get:
tags:
- "OnlineServiceDomains"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/SearchTermParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
- name: "Domain"
in: "query"
description: "When the parameter is not given the results will be filtered by your calling domain."
required: false
schema:
type: "string"
default: null
example: "shop.musterreifen.de"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/OnlineServiceDomain"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/OnlineServiceDomains/{Guid}:
get:
tags:
- "OnlineServiceDomains"
parameters:
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/OnlineServiceDomain"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/OnlineServiceDomains/{Guid}/OnlineServiceDomainFooterModules:
get:
tags:
- "OnlineServiceDomains"
- "OnlineServiceDomainFooterModules"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/SearchTermParameter"
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/OnlineServiceDomainFooterModule"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/OnlineServiceDomains/{Guid}/OnlineServices:
get:
tags:
- "OnlineServiceDomains"
- "OnlineServices"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/SearchTermParameter"
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/OnlineService"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/OnlineServiceDomains/{Guid}/custommethods/GenerateCssFile:
get:
tags:
- "OnlineServiceDomains"
description: "Generates a CSS-file with the colors as css-variables and delivers the binary file content."
parameters:
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/ContentDispositionParameter"
responses:
200:
description: "successful operation"
content:
text/css:
schema:
type: "string"
format: "binary"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/OnlineServices:
get:
tags:
- "OnlineServices"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/SearchTermParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
- name: "GuidOnlineServiceDomain"
in: "query"
required: false
description: "Parentreference. Required if your session is not TyreProUser or higher."
schema:
type: "string"
default: null
example: "ebb89e89-8d25-809e-7814-c53b686ae164"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/OnlineService"
401:
$ref: "#/components/responses/SessionOfTyreProUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/OnlineServices/{Guid}:
get:
tags:
- "OnlineServices"
parameters:
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/OnlineService"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/OnlineServices/{Guid}/OnlineSchedulerServices:
get:
tags:
- "OnlineServices"
- "OnlineSchedulerServices"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/SearchTermParameter"
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/ResponseResolutionDepthParameter"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/OnlineSchedulerService"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/OnlineUsers:
get:
tags:
- "OnlineUsers"
parameters:
- $ref: "#/components/parameters/OffsetParameter"
- $ref: "#/components/parameters/LimitParameter"
- $ref: "#/components/parameters/SearchTermParameter"
- $ref: "#/components/parameters/UsernameParameter"
responses:
200:
description: "successful operation"
headers:
TotalNumberOfEntries:
schema:
type: integer
description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/OnlineUser"
401:
$ref: "#/components/responses/SessionOfTyreProUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/OnlineUsers/{Guid}:
get:
tags:
- "OnlineUsers"
parameters:
- $ref: "#/components/parameters/GuidPathParameter"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/OnlineUser"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
default:
$ref: "#/components/responses/GenericError"
security:
- SessionScheme: []
/OnlineUsers/{Guid}/custommethods/SetPassword:
post:
tags:
- "OnlineUsers"
description: "Sets a (new) password."
parameters:
- $ref: "#/components/parameters/GuidPathParameter"
- $ref: "#/components/parameters/PasswordHashValueParameter"
responses:
200:
description: "successful operation"
401:
$ref: "#/components/responses/SessionOfOnlineUserOrHigherRequired"
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"
_HashValue:
type: "string"
description: "HashValue of the object which you'll need to process write-operations."
example: "f50df554352ac91635f900026860e3371a71999d"
OnlineSchedulerService:
type: "object"
required:
- "Guid"
- "GuidOnlineService"
- "Designation"
- "IsDefault"
- "CalendarType"
- "UsersHaveToEnterALicenceTag"
- "UsersMayEnterANewLicenceTag"
- "IsConnectedWithATyreStorage"
- "DeadlineTimeInSecondsSinceMidnight"
properties:
Guid:
type: "string"
GuidOnlineService:
type: "string"
Designation:
type: "string"
IsVisible:
type: "boolean"
IsDefault:
type: "boolean"
CalendarType:
type: "string"
enum:
- "Date"
- "DateAndTime"
UsersHaveToEnterALicenceTag:
type: "boolean"
UsersMayEnterANewLicenceTag:
type: "boolean"
IsConnectedWithATyreStorage:
type: "boolean"
DeadlineTimeInSecondsSinceMidnight:
type: "integer"
_HashValue:
$ref: "#/components/schemas/_HashValue"
example:
Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidOnlineService: "ebb89e89-8d25-809e-7814-c53b686ae164"
Designation: "Termin für eine Einlagerung."
IsVisible: true
IsDefault: true
CalendarType: "Date"
UsersHaveToEnterALicenceTag: true
UsersMayEnterANewLicenceTag: false
IsConnectedWithATyreStorage: true
DeadlineTimeInSecondsSinceMidnight: 43200
OnlineServiceDomainFooterModule:
type: "object"
required:
- "Guid"
- "Designation"
- "IsLegalNotice"
- "ContentType"
- "Content"
properties:
Guid:
type: "string"
Designation:
type: "string"
IsLegalNotice:
type: "boolean"
ContentType:
type: "string"
enum:
- "Link"
- "Text"
Content:
type: "string"
_HashValue:
$ref: "#/components/schemas/_HashValue"
example:
Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
Designation: "Facebook"
ContentType: "Link"
Content: "https://example.domain/foo?bar=true"
OnlineServiceDomain:
type: "object"
required:
- "Guid"
- "Domain"
properties:
Guid:
type: "string"
CompanyName:
type: "string"
Domain:
type: "string"
GuidDbBlobHeaderLogo:
type: "string"
GuidDbBlobFooterLogo:
type: "string"
BodyBackgroundColor:
type: "string"
FormBackgroundColor:
type: "string"
PrimaryColor:
type: "string"
SecondaryColor:
type: "string"
_HashValue:
$ref: "#/components/schemas/_HashValue"
example:
Guid: "9acea90b-f0d9-2d95-7814-c53b28d87980"
Domain: "musterreifen.com"
GuidDbBlobHeaderLogo: "9acea90b-f0d9-2d95-7814-c53b28d87980"
GuidDbBlobFooterLogo: null
BodyBackgroundColor: null
FormBackgroundColor: "rgb(255,0,0)"
PrimaryColor: null
SecondaryColor: null
OnlineService:
type: "object"
required:
- "Guid"
- "GuidOnlineServiceDomain"
- "Designation"
- "IsVisible"
- "IsDefault"
- "Type"
properties:
Guid:
type: "string"
GuidOnlineServiceDomain:
type: "string"
GuidOnlineServiceOfScheduler:
type: "string"
Designation:
type: "string"
IsVisible:
type: "boolean"
IsDefault:
type: "boolean"
Type:
type: "string"
enum:
- "CustomerInformation"
- "Scheduler"
- "Shop"
UrlExtension:
type: "string"
NewUsersMayRegister:
type: "boolean"
OneClickPurchaseIsAllowed:
type: "boolean"
TyreProArticleColorsShallBeUsed:
type: "boolean"
DefaultArticleAmount:
type: "number"
_HashValue:
$ref: "#/components/schemas/_HashValue"
example:
Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
GuidOnlineServiceDomain: "ebb89e89-8d25-809e-7814-c53b686ae164"
Designation: "B2B-Shop"
IsVisible: true
IsDefault: true
Type: "Shop"
UrlExtension: "Shop"
NewUsersMayRegister: false
OneClickPurchaseIsAllowed: true
TyreProArticleColorsShallBeUsed: true
DefaultArticleAmount: 4
OnlineUser:
type: "object"
required:
- "Guid"
- "Username"
- "IsActive"
- "GuidCustomer"
- "MayChangeTheMainAddress"
- "FullTaxPercentage"
- "ReducedTaxPercentage"
properties:
Guid:
type: "string"
Username:
type: "string"
IsActive:
type: "boolean"
GuidCustomer:
type: "string"
MayChangeTheMainAddress:
type: "boolean"
FullTaxPercentage:
type: "number"
ReducedTaxPercentage:
type: "number"
_HashValue:
$ref: "#/components/schemas/_HashValue"
example:
Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
Username: "Mustermann"
IsActive: true
GuidCustomer: "ebb89e89-8d25-809e-7814-c53b686ae164"
MayChangeTheMainAddress: true
FullTaxPercentage: 19
ReducedTaxPercentage: 7
securitySchemes:
SessionScheme:
type: http
scheme: bearer
parameters:
_HashValueParameter:
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"
ContentDispositionParameter:
name: "ContentDisposition"
in: "query"
description: "How the file is deliverd. Inline is inside the same browser tab i.e.. This parameter takes only effect if parameter BinaryResponse=true."
required: false
schema:
type: "string"
enum:
- "Inline"
- "Attachment"
default: "Inline"
example: "Inline"
GuidPathParameter:
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"
IsActiveParameter:
name: "IsActive"
in: "query"
description: "Only active elements shall be returned. If null both will get returned."
required: false
schema:
type: "boolean"
default: null
example: true
LimitParameter:
name: "Limit"
in: "query"
description: "Limits the number of result entries."
required: false
schema:
type: "integer"
default: null
minimum: 1
maximum: 2147483647
example: 20
OffsetParameter:
name: "Offset"
in: "query"
description: "Skip the first number of entries."
required: false
schema:
type: "integer"
default: null
minimum: 0
maximum: 2147483647
example: 0
PasswordHashValueParameter:
name: "PasswordHashValue"
in: "query"
description: "The SHA-1-value of the password. The hash should be formatted as a hex-encoded string."
required: false
schema:
type: "string"
default: null
example: "e099b5c2aef873f5e2612da35056bd2287a3c404"
ResponseResolutionDepthParameter:
name: "ResponseResolutionDepth"
in: "query"
description: "If your response object has a field with GuidSomething, this last object will be resolved. Instead of the field GuidSomething you'll get a json object of type Something with it's content. The depth determines how deep this operation shall be. The deeper, the slower your operation will be in general."
required: false
schema:
type: "integer"
default: 0
minimum: 0
maximum: 3
example: 1
SearchTermParameter:
name: "SearchTerm"
in: "query"
description: "Searches the entries and it's content."
required: false
schema:
type: "string"
default: null
example: "mc*onald"
UsernameParameter:
name: "Username"
in: "query"
required: false
schema:
type: "string"
default: null
responses:
SessionOfOnlineUserOrHigherRequired:
description: "You need a session of type OnlineUser or TyreProUser."
content:
application/json:
schema:
$ref: "#/components/schemas/GenericError"
SessionOfTyreProUserOrHigherRequired:
description: "You need a session of type TyreProUser."
content:
application/json:
schema:
$ref: "#/components/schemas/GenericError"
GenericError:
description: "Unexpected error like 4XX or 5XX http errors."
content:
application/json:
schema:
$ref: "#/components/schemas/GenericError"

1738
src/scheduler.yaml Normal file

File diff suppressed because it is too large Load Diff