api-documentation/src/v2/customerstorage.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"