openapi: 3.2.0
info:
title: Logistics Cost Management HTTP Service API
description: Thank you for using our HTTP API documentation.
version: '2.0'
servers:
- url: https://rz3.aeb.de/demo1billing/rest
security:
- SWAGGER_AUTH_KEY: []
- BASIC_AUTH: []
tags:
- name: Service
description: REST API for services
paths:
/billing-scenarios/{id}/services/{service-id}:
get:
tags:
- Service
description: Returns the service of the billing scenario with the requested ID
operationId: getService
parameters:
- name: id
in: path
description: The requested ID of the billing scenario.
required: true
schema:
type: string
example: '001'
- name: service-id
in: path
description: The requested ID of the service.
required: true
schema:
type: string
example: UPS_EXPR
responses:
'200':
description: Successful call.
content:
application/json:
schema:
$ref: '#/components/schemas/Service'
examples:
Service entry:
description: Service entry
value:
identCode: DHL_EXPR_INT1030
translations:
- language: DE
description: DHL Express International 10:30 Uhr (USA)
- language: EN
description: DHL Express International 10:30 (USA)
attribute: DHL
quantityUnitType: QUANTITY
'404':
description: Requested carrier setup does not exist.
content:
application/json:
examples:
Service not found:
description: Service not found
value:
errorMessage: Kein Leistungstyp mit dem Kürzel 'UPS_EXPR' für das Billingszenario '001' gefunden.
put:
tags:
- Service
description: Create or update a service in a billing scenario with the requested ID. If the service with the given ID does not exist, a new service is created. If the service exists, the existing service is fully updated. Not filled fields in the request are treated thereby as empty data fields and lead to empty fields in an existing service. It is therefore recommended to use GET/billing-scenarios/{id}/services to check whether a service with an ID already exists BEFORE you use PUT/billing-scenarios/{id}/services/{service-id}
operationId: createOrUpdateService
parameters:
- name: id
in: path
description: The requested ID of the billing scenario.
required: true
schema:
type: string
example: '001'
- name: service-id
in: path
description: The requested ID of the service.
required: true
schema:
type: string
example: UPS_EXPR
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Service'
examples:
Service request:
description: Service request
value:
identCode: DHL_EXPR_INT1030
translations:
- language: DE
description: DHL Express International 10:30 Uhr (USA)
- language: EN
description: DHL Express International 10:30 (USA)
attribute: DHL
quantityUnitType: QUANTITY
responses:
'200':
description: Successful call.
content:
application/json:
schema:
$ref: '#/components/schemas/Service'
examples:
Service entry:
description: Service entry
value:
identCode: DHL_EXPR_INT1030
translations:
- language: DE
description: DHL Express International 10:30 Uhr (USA)
- language: EN
description: DHL Express International 10:30 (USA)
attribute: DHL
quantityUnitType: QUANTITY
'400':
description: Locking error.
content:
application/json:
schema:
$ref: '#/components/schemas/AebProblem'
'404':
description: Requested billing scenario does not exist.
content:
application/json:
examples:
Service not found:
description: Service not found
value:
errorMessage: Kein Leistungstyp mit dem Kürzel 'UPS_EXPR' für das Billingszenario '001' gefunden.
delete:
tags:
- Service
description: Deletes a service in a billing scenario with the requested ID.
operationId: deleteService
parameters:
- name: id
in: path
description: The requested ID of the billing scenario.
required: true
schema:
type: string
example: '001'
- name: service-id
in: path
description: The requested ID of the service.
required: true
schema:
type: string
example: UPS_EXPR
responses:
'200':
description: Successful call.
content:
application/json:
schema:
$ref: '#/components/schemas/Service'
examples:
Service entry:
description: Service entry
value:
identCode: DHL_EXPR_INT1030
translations:
- language: DE
description: DHL Express International 10:30 Uhr (USA)
- language: EN
description: DHL Express International 10:30 (USA)
attribute: DHL
quantityUnitType: QUANTITY
'400':
description: Locking error.
content:
application/json:
schema:
$ref: '#/components/schemas/AebProblem'
'404':
description: Requested billing scenario does not exist.
content:
application/json:
examples:
Billing scenario not found:
description: Billing scenario not found
value:
errorMessage: Kein Billingszenario mit dem Kürzel '001' gefunden.
/billing-scenarios/{id}/services:
get:
tags:
- Service
description: Returns all services of a billing scenario matching the given filter criteria. In case no service matches the given filter criteria, an empty collection is returned. If the filter field supports place holders ('*' or '%'), all scenarios beginning with the value of the filter are returned. I.e. a place holder at the end of the filter value is added automatically.
operationId: searchServices
parameters:
- name: id
in: path
description: The requested ID of the billing scenario.
required: true
schema:
type: string
example: '001'
- name: ident_code_like
in: query
description: Filter services by ident code.
In the example, all services which include 'UPS' are returned.
This filter field is case insensitive.
Place holders are supported. The ident code is unique for one billing scenario.
schema:
maxLength: 50
minLength: 0
type: string
example: '*UPS*'
- name: description_like
in: query
description: Filter services by description.
In the example, all services which include 'UPS' in the description are returned.
This filter field is case insensitive.
Place holders are supported.
schema:
maxLength: 250
minLength: 0
type: string
example: '*UPS*'
- name: attribute_like
in: query
description: Filter services by attribute.
In the example, all services which include 'A' in the attribute are returned.
This filter field is case insensitive.
Place holders are supported.
schema:
maxLength: 75
minLength: 0
type: string
example: '*A*'
- name: offset
in: query
description: 'The starting point from which to return elements of the ordered list.
Minimum : 0'
schema:
minimum: 0
type: integer
format: int32
default: 0
example: 0
- name: limit
in: query
description: 'The maximum number of elements to be returned from the ordered list.
Minimum : 1
Maximum : 1000'
schema:
maximum: 1000
minimum: 1
type: integer
format: int32
default: 1000
example: 200
responses:
'200':
description: Successful call.
content:
application/json:
schema:
$ref: '#/components/schemas/ServicePage'
examples:
Service list:
description: Service list
value:
totalElements: 2
content:
- identCode: DHL_EXPR_INT1030
translations:
- language: DE
description: DHL Express International 10:30 Uhr (USA)
- language: EN
description: DHL Express International 10:30 (USA)
attribute: DHL
quantityUnitType: QUANTITY
- identCode: DHL_EXPR_WORLD
translations:
- language: DE
description: DHL Express Worldwide
- language: EN
description: DHL Express Worldwide
attribute: DHL
quantityUnitType: QUANTITY
components:
schemas:
AebProblemError:
type: object
properties:
code:
type: string
description: Code identifying the type of the error.
example: INVALID_VALUE
message:
type: string
description: Description of the error.
example: Item number invalid
field:
type: string
description: JSON pointer to a data field that contains the erroneous value.
example: items/2/itemNumber
value:
type: string
description: Textual representation of the erroneous value.
example: 7411A
description: Array of related errors
Service:
required:
- identCode
- quantityUnitType
- translations
type: object
properties:
identCode:
maxLength: 50
minLength: 1
pattern: '[a-zA-Z0-9:._\-/]*'
type: string
description: The identCode of the MO.
readOnly: true
translations:
type: array
description: The description of the service in multiple languages.
items:
$ref: '#/components/schemas/ServiceTextTranslation'
attribute:
maxLength: 75
minLength: 0
type: string
description: Free identifier of the service for searching and categorization.
quantityUnitType:
maxLength: 20
minLength: 0
type: string
description: '
The quantity unit type code of the service. Possible standard types are: