blob: 74111b640dc379253429d24d57511d5faaf88725 [file] [log] [blame]
swagger: '2.0'
info:
title: Einspeiserstandorte
description: Diese Schnittstelle ist Teil der [oK](http://www.openkonsequenz.de) Quellsystem-API.
version: Revision 1 (cim-profile openkonsequenz)
contact:
name: BTC AG
url: http://www.btc-ag.com
email: openk@btc-ag.com
license:
name: Eclipse Public License 1.0
url: https://www.eclipse.org/legal/epl-v10.html
host: api.openk.de
schemes:
- http
basePath: /source-system/electricity/asset-data
produces:
- application/xml
paths:
/energy-source-locations:
get:
summary: Die Schnittstelle gibt die Standorte aller Einspeiser zurück. Weiterhin werden über die Schnittstelle einspeiserbezogene Kontaktinformationen, wie bspw. Adressen, Telefonnummern sowie Web- und E-Mail-Adressen, bereitgestellt. Der geografische Standort des Einspeisers wird über x- und y-Koordinaten im crsUrn-Format zurückgegeben.
parameters:
- name: revision
in: query
description: Version, die den Nachrichtenaustausch definiert. Dies ist nicht die CIM-Version.
required: true
type: integer
format: int32
minimum: 1
maximum: 1
- name: timestamp
in: query
description: Zeitpunkt, an dem die Nachricht versendet wurde (in UTC gemäß ISO-8601-Format YYYY-MM-DDTHH:mm:ss.SSSZ).
required: false
type: string
format: date-time
pattern: '^([0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|30|31)T(([0-1][0-9])|(2[0-3]))(:[0-5][0-9]){2}\.[0-9]{3}Z)$'
- name: source
in: query
description: Eindeutige Bezeichnung des Senders der Nachricht.
required: false
type: string
- name: user-id
in: query
description: Eindeutige Kennung des angemeldeten Nutzers (Sender).
required: false
type: string
- name: message-id
in: query
description: Eindeutige Kennung dieser Nachricht. Generiert vom Sender der Nachricht.
required: false
type: string
format: uuid
pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$'
responses:
200:
description: Die Liste aller Anlagenbetreiber.
schema:
$ref: '#/definitions/ResponseMessage'
400:
description: Die Schnittstelle wurde mit ungültigen Parametern aufgerufen.
500:
description: Es trat ein allgemeiner Fehler bei der Verarbeitung der Anfrage auf.
definitions:
### specific definitions ######################################################
EnergySourceLocations:
description: Auflistung der Einspeiserstandorte.
type: array
items:
$ref: '#/definitions/Location'
xml:
wrapped: true
Location:
description: Einspeiserstandort
type: object
properties:
mRID:
description: Eindeutige Kennung des Einspeiserstandorts.
type: string
format: uuid
pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$'
electronicAddress:
$ref: '#/definitions/Location.electronicAddress'
mainAddress:
$ref: '#/definitions/Location.mainAddress'
phone1:
$ref: '#/definitions/Location.phone1'
phone2:
$ref: '#/definitions/Location.phone2'
secondaryAddress:
$ref: '#/definitions/Location.secondaryAddress'
CoordinateSystem:
$ref: '#/definitions/Location.CoordinateSystem'
PositionPoints:
$ref: '#/definitions/Location.PositionPoint'
required:
- mRID
xml:
name: Location
Location.CoordinateSystem:
description: Referenz auf das verwendete Koordinatensystem.
properties:
CoordinateSystem:
$ref: '#/definitions/CoordinateSystem'
Location.electronicAddress:
description: Die elektronische Adresse des Standortes.
type: object
properties:
ElectronicAddress:
$ref: '#/definitions/ElectronicAddress'
required:
- ElectronicAddress
Location.mainAddress:
description: Anschrift
properties:
StreetAddress:
$ref: '#/definitions/StreetAddress'
Location.phone1:
description: Telefonnummer
properties:
TelephoneNumber:
$ref: '#/definitions/TelephoneNumber'
Location.phone2:
description: alternative Telefonnummer
properties:
TelephoneNumber:
$ref: '#/definitions/TelephoneNumber'
Location.PositionPoint:
description: Geografische Angabe des Einspeiserstandorts.
properties:
PositionPoint:
$ref: '#/definitions/PositionPoint'
Location.secondaryAddress:
description: alternative Anschrift
properties:
StreetAddress:
$ref: '#/definitions/StreetAddress'
Payload:
description: Der Inhalt der CIM-Nachricht.
type: object
properties:
EnergySourceLocations:
$ref: '#/definitions/EnergySourceLocations'
required:
- EnergySourceLocations
### common definitions ########################################################
CoordinateSystem:
description: Beschreibung des Koordinatensystems
type: object
properties:
crsUrn:
description: Bezeichnung Koordinatensystems
type: string
minLength: 1
maxLength: 256
xml:
name: CoordinateSystem
ElectronicAddress:
description: elektronische Adresse
type: object
properties:
email1:
description: E-Mail-Adresse
type: string
minLength: 1
maxLength: 256
email2:
description: alternative E-Mail-Adresse
type: string
minLength: 1
maxLength: 256
web:
description: URL
type: string
minLength: 1
maxLength: 1024
xml:
name: ElectronicAddress
Header_Reply:
description: Der Kopf der CIM-Nachricht.
type: object
properties:
Verb:
description: Hinweis, um welche Art von Nachricht es sich handelt.
type: string
default: reply
Noun:
description: Hinweis auf den Nachrichteninhalt.
type: string
Revision:
description: Version, die den Nachrichtenaustausch definiert. Dies ist nicht die CIM-Version.
type: integer
format: int32
minimum: 1
maximum: 1
Timestamp:
description: Zeitpunkt, an dem die Nachricht versendet wurde (in UTC gemäß ISO-8601-Format YYYY-MM-DDThh:mm:ss.sssZ).
type: string
format: date-time
pattern: '^([0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|30|31)T(([0-1][0-9])|(2[0-3]))(:[0-5][0-9]){2}\.[0-9]{3}Z)$'
Source:
description: Eindeutige Bezeichnung des Senders der Nachricht.
type: string
User:
$ref: '#/definitions/User'
MessageID:
description: Eindeutige Kennung dieser Nachricht. Generiert vom Sender der Nachricht.
type: string
format: uuid
pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$'
required:
- Verb
- Noun
- Revision
- Timestamp
- Source
- MessageID
xml:
name: Header
PositionPoint:
description: geografische Position
type: object
properties:
xPosition:
description: geographische Länge
type: string
minLength: 1
maxLength: 64
yPosition:
description: geographische Breite
type: string
minLength: 1
maxLength: 64
xml:
name: PositionPoint
StreetAddress:
description: Postanschrift
type: object
properties:
poBox:
description: Postfach
type: string
minLength: 0
maxLength: 16
postalCode:
description: Postleitzahl
type: string
minLength: 0
maxLength: 16
streetDetail:
$ref: '#/definitions/StreetAddress.streetDetail'
townDetail:
$ref: '#/definitions/StreetAddress.townDetail'
StreetAddress.streetDetail:
description: Detailinformationen zur Straße.
type: object
properties:
StreetDetail:
$ref: '#/definitions/StreetDetail'
required:
- StreetDetail
StreetAddress.townDetail:
description: Detailinformationen zum Ort.
type: object
properties:
TownDetail:
$ref: '#/definitions/TownDetail'
required:
- TownDetail
StreetDetail:
description: Straße
type: object
properties:
name:
description: Straßenname
type: string
minLength: 1
maxLength: 256
number:
description: Hausnummer
type: string
minLength: 1
maxLength: 256
xml:
name: StreetDetail
TelephoneNumber:
description: Telefonnummer.
type: object
properties:
cityCode:
description: Ortsvorwahl.
type: string
minLength: 1
maxLength: 32
dialOut:
description: Amtsvorwahl.
type: string
minLength: 1
maxLength: 32
extension:
description: Durchwahl.
type: string
minLength: 1
maxLength: 32
internationalPrefix:
description: Ländervorwahl.
type: string
minLength: 1
maxLength: 32
localNumber:
description: Telefonnummer.
type: string
minLength: 1
maxLength: 32
xml:
name: TelephoneNumber
TownDetail:
description: Stadt
type: object
properties:
country:
description: Land.
type: string
minLength: 1
maxLength: 256
name:
description: Name der Stadt.
type: string
minLength: 1
maxLength: 256
stateOrProvince:
description: Bundesland.
type: string
minLength: 1
maxLength: 256
xml:
name: TownDetail
Reply_OK:
description: Die Antwort der CIM-Nachricht.
type: object
properties:
Result:
description: Antworttext
type: string
default: OK
required:
- Result
xml:
name: Reply
ResponseMessage:
description: Die CIM-Nachricht.
type: object
properties:
Header:
$ref: '#/definitions/Header_Reply'
Reply:
$ref: '#/definitions/Reply_OK'
Payload:
$ref: '#/definitions/Payload'
required:
- Header
- Reply
- Payload
User:
properties:
userId:
description: Eindeutige Kennung des angemeldeten Nutzers (Empfänger).
type: string
xml:
name: UserID
required:
- UserID