Versions Compared

Key

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

Beskrivning

Hanterar publicering av meddelanden i Open-E, samt möjliggör att dessa meddelanden kan hämtas upp även för andra kanaler.

För att kunna publicera meddelanden på Open-E förutsätts att en av externalReferes vara ett flowInstanceId (ärendenummer i Open-E), exempel:

Code Block
"name" : "flowInstanceId",
"value" : "356t4r34f"

Saknas flowInstanceId så lagras meddelandet i databas, inget mer.

Livscykelstatus

Design

Lösningsbeskrivning

Gliffy
imageAttachmentIdatt916258829
macroId69052846-b404-4b65-b5d4-5f13e684a61d
baseUrlhttps://sundsvall.atlassian.net/wiki
namewebMess
diagramAttachmentIdatt916226075
containerId916455428
timestamp1643622232708

Hantering av personuppgifter

<Vilka personuppgifter hanteras och varför?>

API specifikation

Swagger ui
openapi: 3.0.1
info:
  title: API-WebMessageSender
  contact: {}
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  version: '@project.version@'
servers:
  - url: http://localhost:8080
    description: Generated server url
tags:
  - name: WebMessages
    description: Web messages
paths:
  /webmessages:
    post:
      tags:
        - WebMessages
      summary: Create web message
      operationId: createWebMessage
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWebMessageRequest'
        required: true
      responses:
        '201':
          description: Successful operation
          headers:
            Location:
              style: simple
              schema:
                type: string
        '400':
          description: Bad request
          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'
  /webmessages/{id}:
    get:
      tags:
        - WebMessages
      summary: Get web message by ID
      operationId: getWebMessageById
      parameters:
        - name: id
          in: path
          description: Web message ID
          required: true
          schema:
            type: string
          example: 81471222-5798-11e9-ae24-57fa13b361e1
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebMessage'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/WebMessage'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: Not found
          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'
    delete:
      tags:
        - WebMessages
      summary: Delete web message by ID
      operationId: deleteWebMessageById
      parameters:
        - name: id
          in: path
          description: Web message ID
          required: true
          schema:
            type: string
          example: 81471222-5798-11e9-ae24-57fa13b361e1
      responses:
        '204':
          description: Successful operation
        '400':
          description: Bad request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: Not found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal Server error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Problem'
  /webmessages/recipients/{partyId}:
    get:
      tags:
        - WebMessages
      summary: Get web messages by partyId
      operationId: getWebMessagesByPartyId
      parameters:
        - name: partyId
          in: path
          description: PartyID
          required: true
          schema:
            type: string
          example: 81471222-5798-11e9-ae24-57fa13b361e1
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WebMessage'
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WebMessage'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: Not found
          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'
  /webmessages/external-references/{key}/{value}:
    get:
      tags:
        - WebMessages
      summary: Get web messages by externalReference
      operationId: getWebMessagesByExternalReference
      parameters:
        - name: key
          in: path
          description: The external-reference key
          required: true
          schema:
            maxLength: 128
            minLength: 3
            type: string
          example: flowInstanceId
        - name: value
          in: path
          description: The external-reference value
          required: true
          schema:
            maxLength: 128
            minLength: 3
            type: string
          example: 356t4r34f
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WebMessage'
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WebMessage'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: Not found
          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'
components:
  schemas:
    CreateWebMessageRequest:
      type: object
      properties:
        partyId:
          type: string
          description: Party ID (e.g. a personId or an organizationId)
          example: 81471222-5798-11e9-ae24-57fa13b361e1
        message:
          type: string
          description: The message
          example: This is a message
        externalReferences:
          type: array
          items:
            $ref: '#/components/schemas/ExternalReference'
      description: CreateWebMessageRequest model
    ExternalReference:
      type: object
      properties:
        key:
          type: string
          description: The external reference key
          example: flowInstanceId
        value:
          type: string
          description: The external reference value
          example: 356t4r34f
      description: ExternalReference 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
    WebMessage:
      type: object
      properties:
        id:
          type: string
          description: Web Message ID
          example: f0882f1d-06bc-47fd-b017-1d8307f5ce95
        partyId:
          type: string
          description: Party ID (e.g. a personId or an organizationId)
          example: 81471222-5798-11e9-ae24-57fa13b361e1
        message:
          type: string
          description: The message
          example: This is a message
        externalReferences:
          type: array
          items:
            $ref: '#/components/schemas/ExternalReference'
        created:
          type: string
          description: Created timestamp
          format: date-time
          readOnly: true
      description: WebMessage model
  securitySchemes: {}

Säkerhetsklassning

Säkerhetsklass 2

Autentiseringsmetod: 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>