Versions Compared

Key

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

Beskrivning

Tjänsten hanterar uppdateringar av händelser på ett ärende i POB.

Livscykelstatus

Test

Lösningsbeskrivning

Gliffy
imageAttachmentIdatt969605127
macroId82081a10-7273-436e-97b4-359f843c9ec1
baseUrlhttps://sundsvall.atlassian.net/wiki
nameSupportCenter_lösningsbeskr
diagramAttachmentIdatt969637889
containerId963772425
timestamp1648019627680

Hantering av personuppgifter

Inga personuppgifter hanteras i denna tjänst.

API specifikation

Expand
titleAPI-nyckel för sandbox-miljö. Klicka på "Authorize" nedan och ange denna nyckel för att testa API:et.

eyJ4NXQiOiJOVGRtWmpNNFpEazNOalkwWXpjNU1tWm1PRGd3TVRFM01XWXdOREU1TVdSbFpEZzROemM0WkE9PSIsImtpZCI6ImdhdGV3YXlfY2VydGlmaWNhdGVfYWxpYXMiLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJhZG1pbkBjYXJib24uc3VwZXIiLCJhcHBsaWNhdGlvbiI6eyJvd25lciI6ImFkbWluIiwidGllclF1b3RhVHlwZSI6bnVsbCwidGllciI6IlVubGltaXRlZCIsIm5hbWUiOiJTdXBwb3J0Q2VudGVyIiwiaWQiOjU4LCJ1dWlkIjoiYzhhMTg4NDctY2EzOC00YTk3LThjMGEtYjYwMjg5YWI2Y2VlIn0sImlzcyI6Imh0dHBzOlwvXC9hcGktaW0tdGVzdC5zdW5kc3ZhbGwuc2U6NDQzXC9vYXV0aDJcL3Rva2VuIiwidGllckluZm8iOnsiVW5saW1pdGVkIjp7InRpZXJRdW90YVR5cGUiOiJyZXF1ZXN0Q291bnQiLCJncmFwaFFMTWF4Q29tcGxleGl0eSI6MCwiZ3JhcGhRTE1heERlcHRoIjowLCJzdG9wT25RdW90YVJlYWNoIjp0cnVlLCJzcGlrZUFycmVzdExpbWl0IjowLCJzcGlrZUFycmVzdFVuaXQiOm51bGx9fSwia2V5dHlwZSI6IlNBTkRCT1giLCJwZXJtaXR0ZWRSZWZlcmVyIjoiIiwic3Vic2NyaWJlZEFQSXMiOlt7InN1YnNjcmliZXJUZW5hbnREb21haW4iOiJjYXJib24uc3VwZXIiLCJuYW1lIjoiU3VwcG9ydENlbnRlciIsImNvbnRleHQiOiJcL3N1cHBvcnRjZW50ZXJcLzEuMCIsInB1Ymxpc2hlciI6ImFkbWluIiwidmVyc2lvbiI6IjEuMCIsInN1YnNjcmlwdGlvblRpZXIiOiJVbmxpbWl0ZWQifV0sInBlcm1pdHRlZElQIjoiIiwiaWF0IjoxNjQ5MjQ2MDI4LCJqdGkiOiIwMDhjYjdhNi1lMWVhLTQ4ODYtYWQ1MC1jN2QyM2Y3NDIzZmEifQ==.tWsroc2LKrD6bLBsHPcHNTnFPiF9u90XUJuEJAxqXq0YgjVLYO1OYf43UiBjJVgyetX0aD93rDkYcsS6iuCeMaAt-Rwj7y70AjJyEstORgjFOY75Ju7Y9u9QyRxYgzzsBRLhaxQyzBgH-xTUldWp9fBJ3TbOn46zSkzxYj8kzu3R6WMRhQsKWsgV7HLMPJBtJrFyFnDysqL0KWWqkc2Rz4UhPH067blvX8oxrGrEUA9ruCNo2yRYmgeRGYUm05aGkoSE-YuEmYlMDWJ9N6YmmzkEElwnMxh2PrENHFR3nKLIOaN1A8IfzziAHwFZhG5ZOnR2ORvmpwdgWPaC5PKrgA==

Swagger ui
openapi: 3.0.1
info:
  title: api-supportcenter
  contact: {}
  license:
    name: MIT License
    url: 'https://opensource.org/licenses/MIT'
  version: '1.0'
servers:
  - url: https://api-test.sundsvall.se/supportcenter/1.0
tags:
  - name: Configuration
    description: Configuration operations
  - name: Cases
    description: Case operations
paths:
  '/cases/{caseId}':
    patch:
      tags:
        - Cases
      summary: Update existing case
      operationId: updateCase
      parameters:
        - name: pobKey
          in: header
          description: The POB API-key
          required: true
          style: simple
          explode: false
          schema:
            type: string
        - name: caseId
          in: path
          description: The Case-ID
          required: true
          style: simple
          explode: false
          schema:
            type: string
          example: 81471222
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCaseRequest'
        required: true
      responses:
        '204':
          description: Successful Operation
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/Problem'
                  - $ref: '#/components/schemas/ConstraintViolationProblem'
        '401':
          description: Unauthorized
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal Server Error
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /configuration/closureCodes:
    get:
      tags:
        - Configuration
      summary: Return all available closureCodes
      operationId: getClosureCodeList
      parameters:
        - name: pobKey
          in: header
          description: The POB API-key
          required: true
          style: simple
          explode: false
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
            application/problem+json:
              schema:
                type: array
                items:
                  type: string
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/Problem'
                  - $ref: '#/components/schemas/ConstraintViolationProblem'
            application/problem+json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/Problem'
                  - $ref: '#/components/schemas/ConstraintViolationProblem'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /configuration/caseCategories:
    get:
      tags:
        - Configuration
      summary: Return all available caseCategories
      operationId: getCaseCategoryList
      parameters:
        - name: pobKey
          in: header
          description: The POB API-key
          required: true
          style: simple
          explode: false
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
            application/problem+json:
              schema:
                type: array
                items:
                  type: string
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/Problem'
                  - $ref: '#/components/schemas/ConstraintViolationProblem'
            application/problem+json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/Problem'
                  - $ref: '#/components/schemas/ConstraintViolationProblem'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /api-docs:
    get:
      tags:
        - API
      summary: OpenAPI
      operationId: getApiDocs
      responses:
        '200':
          description: OK
          content:
            application/yaml:
              schema:
                type: string
security:
  - ApiKeyAuth: []
components:
  schemas:
    CaseStatus:
      type: string
      description: CaseStatus model
      enum:
        - Opened
        - In Process
        - Solved
        - Closed
    Note:
      required:
        - text
        - type
      type: object
      properties:
        type:
          $ref: '#/components/schemas/NoteType'
        text:
          type: string
          description: Note text
          example: This is a note
      description: Note model
    NoteType:
      type: string
      description: NoteType model
      enum:
        - PROBLEM
        - SOLUTION
        - WORKNOTE
    UpdateCaseRequest:
      type: object
      properties:
        note:
          $ref: '#/components/schemas/Note'
        externalCaseId:
          type: string
          description: External case-ID
          example: INC232323
        caseStatus:
          $ref: '#/components/schemas/CaseStatus'
        caseCategory:
          type: string
          description: Case category
          example: IT Användarhantering
        closureCode:
          type: string
          description: Closure code
          example: IT Byte/uppgradering av hårdvara
        responsibleGroup:
          type: string
          description: Responsible group
          example: First Line IT
      description: UpdateCaseRequest model
    Problem:
      type: object
      properties:
        instance:
          type: string
          format: uri
        type:
          type: string
          format: uri
        parameters:
          type: object
          additionalProperties:
            type: object
        status:
          $ref: '#/components/schemas/StatusType'
        title:
          type: string
        detail:
          type: string
    StatusType:
      type: object
      properties:
        statusCode:
          type: integer
          format: int32
        reasonPhrase:
          type: string
    ConstraintViolationProblem:
      type: object
      properties:
        cause:
          $ref: '#/components/schemas/ThrowableProblem'
        stackTrace:
          type: array
          items:
            type: object
            properties:
              classLoaderName:
                type: string
              moduleName:
                type: string
              moduleVersion:
                type: string
              methodName:
                type: string
              fileName:
                type: string
              lineNumber:
                type: integer
                format: int32
              nativeMethod:
                type: boolean
              className:
                type: string
        type:
          type: string
          format: uri
        status:
          $ref: '#/components/schemas/StatusType'
        violations:
          type: array
          items:
            $ref: '#/components/schemas/Violation'
        title:
          type: string
        message:
          type: string
        instance:
          type: string
          format: uri
        parameters:
          type: object
          additionalProperties:
            type: object
        detail:
          type: string
        suppressed:
          type: array
          items:
            type: object
            properties:
              cause:
                type: object
                properties:
                  stackTrace:
                    type: array
                    items:
                      type: object
                      properties:
                        classLoaderName:
                          type: string
                        moduleName:
                          type: string
                        moduleVersion:
                          type: string
                        methodName:
                          type: string
                        fileName:
                          type: string
                        lineNumber:
                          type: integer
                          format: int32
                        nativeMethod:
                          type: boolean
                        className:
                          type: string
                  message:
                    type: string
                  localizedMessage:
                    type: string
              stackTrace:
                type: array
                items:
                  type: object
                  properties:
                    classLoaderName:
                      type: string
                    moduleName:
                      type: string
                    moduleVersion:
                      type: string
                    methodName:
                      type: string
                    fileName:
                      type: string
                    lineNumber:
                      type: integer
                      format: int32
                    nativeMethod:
                      type: boolean
                    className:
                      type: string
              message:
                type: string
              localizedMessage:
                type: string
        localizedMessage:
          type: string
    ThrowableProblem:
      type: object
      properties:
        cause:
          $ref: '#/components/schemas/ThrowableProblem'
        stackTrace:
          type: array
          items:
            type: object
            properties:
              classLoaderName:
                type: string
              moduleName:
                type: string
              moduleVersion:
                type: string
              methodName:
                type: string
              fileName:
                type: string
              lineNumber:
                type: integer
                format: int32
              nativeMethod:
                type: boolean
              className:
                type: string
        message:
          type: string
        instance:
          type: string
          format: uri
        type:
          type: string
          format: uri
        parameters:
          type: object
          additionalProperties:
            type: object
        status:
          $ref: '#/components/schemas/StatusType'
        title:
          type: string
        detail:
          type: string
        suppressed:
          type: array
          items:
            type: object
            properties:
              cause:
                type: object
                properties:
                  stackTrace:
                    type: array
                    items:
                      type: object
                      properties:
                        classLoaderName:
                          type: string
                        moduleName:
                          type: string
                        moduleVersion:
                          type: string
                        methodName:
                          type: string
                        fileName:
                          type: string
                        lineNumber:
                          type: integer
                          format: int32
                        nativeMethod:
                          type: boolean
                        className:
                          type: string
                  message:
                    type: string
                  localizedMessage:
                    type: string
              stackTrace:
                type: array
                items:
                  type: object
                  properties:
                    classLoaderName:
                      type: string
                    moduleName:
                      type: string
                    moduleVersion:
                      type: string
                    methodName:
                      type: string
                    fileName:
                      type: string
                    lineNumber:
                      type: integer
                      format: int32
                    nativeMethod:
                      type: boolean
                    className:
                      type: string
              message:
                type: string
              localizedMessage:
                type: string
        localizedMessage:
          type: string
    Violation:
      type: object
      properties:
        field:
          type: string
        message:
          type: string
  securitySchemes:
    ApiKeyAuth: 
      type: apiKey
      in: header   
      name: apikey

Säkerhetsklassning

Säkerhetsklass 1

Autentiseringsmetod: Oauth2

(Ref: Säkerhetsklassning av APIer )

API-ägare

N/A

Teknisk ägare

https://sundsvall.atlassian.net/wiki/spaces/API
Team Unmasked
teamunmasked@sundsvall.se

Källkod

<Länk till källkoden på GIThub (om det finns)>https://github.com/Sundsvallskommun/api-service-supportcenter

FAQ

N/A