688 lines
22 KiB
YAML
688 lines
22 KiB
YAML
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"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|