Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Beskrivning

Tjänsten listar mätdata beroende på vilken kategori som anges.

Livscykelstatus

Design

Lösningsbeskrivning

<Infoga en Gliffy-bild som visuellt beskriver lösningen>

Hantering av personuppgifter

<Vilka personuppgifter hanteras och varför?>

API specifikation

Draft:

Swagger ui
---
openapi: 3.0.2
info:
  title: MeasurementData API
  description: "API for fetching measurement-data"
  version: 1.0.0
tags:
  - name: MeasurementData API endpoints
paths:
  /measurmentdata:
    get:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetMeasurementDataRequest'
        required: true      
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ElectricityData'
                  - $ref: '#/components/schemas/BroadbandData'
                  - $ref: '#/components/schemas/ElectricityData'
                  - $ref: '#/components/schemas/DistrictHeatingData'
                  - $ref: '#/components/schemas/WasteManagementData'
                discriminator:
                  propertyName: objectType
                  mapping:
                    electricityData: '#/components/schemas/ElectricityData'
                    broadbandData: '#/components/schemas/BroadbandData'
                    districtHeatingData: '#/components/schemas/DistrictHeatingData'
                    wasteManagementgData: '#/components/schemas/WasteManagementData'
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceErrorResponse'
        "500":
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceErrorResponse'
components:
  schemas:
      GetMeasurementDataRequest:
        type: object
        properties:
 
        personId:
 
          type: string
            description: Person ID
            example: '81471222-5798-11e9-ae24-57fa13b361e1'
          category:

           type: string
            description: Category
            example: 'ELECTRICITY'
          facilityId:
 
          type: string
            description: Facility ID
 
          example: '112233'
 
        fromDate:
 
          type: string
 
          format: date
            description: From-date
            example: '2022-01-01'
          toDate:
 
          type: string

           format: date
            description: To-date
            example: '2022-03-01'
          resulotionresolution:
            $ref: '#/components/schemas/ResulotionResolution'
    BroadbandData:
      type: object
      BroadbandDatadescription: Broadband data measurments
       typerequired:
object        - objectType
 description: Broadband data measurments    - installationId
     required:   - resolution
      properties:
  - objectType     objectType:
       - installationId  type: string
       properties:   example: 'broadbandData'
        objectTypeinstallationId:
              type: string
              example: 'broadbandData1112233'
        resolution:
   installationId:       $ref: '#/components/schemas/Resolution'
        typemeasurements:
string          type: array
   example: '1112233'       description: Measurement
        measurements:  items:
            type: arrayobject
              descriptionproperties: Measurement
              itemsresolutionPeriod:
                type: objectstring
                propertiesformat: date-time
                 unitexample: '2022-01-02 23:59:00'
                  typevalue:
string                type:    number
example: 'GB'               format: float
  value:              example: '22.43'
     type: number        unit:
            format: float   type: string
                example: '22.43GB'
 
    ElectricityData:
 
        type: object
          description: Electricity measurments
  
       required:
        - objectType
  - objectType     - installationId
      - installationId - resolution
        properties:
            objectType:
              type: string
  string
           example: 'electricityData'
            installationId:
   
          type: string
              example: '1112233'
        resolution:
    measurements:      $ref: '#/components/schemas/Resolution'
        typemeasurements:
array          type: array
   description: Measurement      description:  Measurement
      items:    items:
            type: object
                properties:
                  dateresolutionPeriod:
                    type: string
                    format: date-time
  time
                 example: '2022-01-01 00:00:00'
                  readingType:
   
                type: string
                    example: 'Aktiv'
                  value:
                    type: number
                    format: float
                    example: '6.10000'
   
              unit:
 
                  type: string
                    example: 'kWh'
 
    WasteManagementData:

         type: object
          description: WasteManagement measurments
          required:
            - objectType

           - installationId
        -  properties:
resolution
      properties:
    objectType:    objectType:
          type: string
   
          example: 'wasteManagementData'
            installationId:
               type: string
               example: '1112233'
        resolution:
     measurements:     $ref: '#/components/schemas/Resolution'
        typemeasurements:
array          type: array
   description: Measurement      description: Measurement
       items:   items:
             type: object
                properties:
                  readingTime:
   resolutionPeriod:
                type: string

                   format: date-time
                    example: '2022-01-02 23:59:00'
 
                value:
                    type: number

                   format: float
                    example: '6.10000'
 
                unit:
   
                type: string
   
                example: 'ton'            
                  productId:
   
                type: string

                   example: '1063-1380-0-0-0'
                  location:
                    type: string
                    example: 'Blåberget'

                 externalId:    externalId:
                type: string
                    example: '1302069'
   
              reference:
                    type: string
                    example: 'ABC123'                    
      DistrictHeatingData:
          type: object
          description: DistrictHeating measurments
 
        required:
            - objectType
          - installationId
- installationId         - resolution
properties:        properties:
      objectType:    objectType:
            type: string
  
             example: 'districtHeatingData'
          installationId:
   installationId:         type: string
            example: '1112233'
      type: string   resolution:
             example$ref: '1112233'
#/components/schemas/Resolution'
             measurements:
                type: array
                description: Measurement
                items:
 
                type: object
                  properties:
                    dateresolutionPeriod:
 
                    type: string
 
                    format: date-time
                      example: '2022-01-01 00:00:00'
                    energy:
                      type: number
 
                    format: float

                     example: '4.160000'
                    unitEnergy:
                      type: string
 
                    example: 'MWh'                      
                    volume:
                      type: number
                      format: float
                      example: '96.10000'

                   unitVolume:
                      type: string
 
                    example: 'm3'
 
                  flowTemprature:
 
                    type: number

                     format: float
                      example: '76.5'
                    returnTemprature:
 
                    type: string
 
                    example: '57.2'                      
      ServiceErrorResponse:
          type: object

         properties:
            httpCode:
 
            format: int32
   
          type: integer
   
        message:
              type: string
   
        technicalDetails:

             $ref: '#/components/schemas/TechnicalDetails'
      TechnicalDetails:
 
        type: object
          properties:
            rootCode:
              format: int32
  int32
           type: integer
            rootCause:
   
          type: string
            serviceId:
              type: string
            requestId:
              type: string
            details:
   
          type: array
 
            items:
                type: string
      ResulotionResolution:
          type: string
 
        enum:
            - Hour
            - Day
            - Month
   
        - Year

Säkerhetsklassning

Säkerhetsklass <0, 1, 2, 3, 4>

Autentiseringsmetod: <API Key, Oauth2>

(Ref: Säkerhetsklassning av APIer )

API-ägare

<Kontaktuppgifter till den verksamhet som äger APIets livscykel>

Teknisk ägare

<Kontaktuppgifter till utvecklare/teknisk förvaltare>

Länkar

<Länkar till dev-portal;

  • Test

  • Sandbox

  • Produktion>

FAQ

<FAQ>