Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Beskrivning
Camunda BPM är en processmotor och en viktig del i Sundsvalls kommuns strategi för att bygga en generell ärendehantering.
Det finns ett Rest-api för att prata med Camunda, men det kräver genomgripande kunskap av hur processmotorn fungerar.
Därför finns ProcessEngine-api:et för att göra det enklare att prata med processmotorn.
https://github.com/Sundsvallskommun/process-engine-parking-permit
Livscykelstatus
Test
Lösningsbeskrivning
API:et är ett Spring Boot-projekt som försöker efterlikna övriga API:er inom Sundsvalls kommuns utvecklingsfabrik. Därför används dept-44-dependecies för till exempel Webclient och Test.
Hantering av personuppgifter
Inga personuppgifter hanteras, endast ärendenummer skickas in och sparas i processmotorns historik. För tillfället finns ingen databas eller liknande kopplad till API:et.
API specifikation
<API specifikation i Swagger-UI (använd plug-in).
Swagger ui |
---|
openapi: 3.0.1 info: title: Process Engine contact: {} license: name: MIT License url: 'https://opensource.org/licenses/MIT' version: '1.0' servers: - url: 'https://camunda-test.sundsvall.se/process-engine-api/' description: Generated server url security: - default: [] paths: /process/update-process: post: tags: - camunda-endpoints description: Update a process instance with the given process instance ID operationId: updateParkingPermitProcess requestBody: content: application/json: schema: $ref: '#/components/schemas/CaseObject' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ParkingPermitResponse' security: - default: [] x-auth-type: Application & Application User x-throttling-tier: Unlimited x-wso2-application-security: security-types: - oauth2 optional: false /process/start-process: post: tags: - camunda-endpoints description: Start a new process instance with the given process name operationId: startParkingPermitProcess requestBody: content: application/json: schema: $ref: '#/components/schemas/CaseObject' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ParkingPermitResponse' security: - default: [] x-auth-type: Application & Application User x-throttling-tier: Unlimited x-wso2-application-security: security-types: - oauth2 optional: false /api-docs: get: tags: - API summary: OpenAPI operationId: getApiDocs responses: '200': description: OK content: application/yaml: schema: type: string security: - default: [] x-auth-type: None x-throttling-tier: Unlimited x-wso2-mutual-ssl: Optional x-wso2-application-security: security-types: - oauth2 optional: false components: schemas: CaseObject: type: object properties: processName: type: string caseNumber: type: string processInstanceId: type: string ParkingPermitResponse: type: object properties: processId: type: string example: bfc9d438-db4e-11ec-bb5b-0242ac110003 securitySchemes: default: type: oauth2 flows: implicit: authorizationUrl: 'https://test.com' scopes: {} x-wso2-cors: corsConfigurationEnabled: false accessControlAllowOrigins: - '*' accessControlAllowCredentials: false accessControlAllowHeaders: - authorization - Access-Control-Allow-Origin - Content-Type - SOAPAction - apikey - testKey accessControlAllowMethods: - GET - PUT - POST - DELETE - PATCH - OPTIONS x-wso2-production-endpoints: urls: - 'https://camunda-test.sundsvall.se/process-engine-api/' type: http x-wso2-basePath: /process-engine/1.0 x-wso2-transports: - https x-wso2-response-cache: enabled: false cacheTimeoutInSeconds: 300 |
API-specifikationen skall såklart reflektera att API-design följts fullt ut.>
Säkerhetsklassning
Säkerhetsklass ?
Autentiseringsmetod: API Key
(Ref: Säkerhetsklassning av APIer )
API-ägare
<Kontaktuppgifter till den verksamhet som äger APIets livscykel>
Teknisk ägare
<Kontaktuppgifter till utvecklare/teknisk förvaltare>
Källkod
https://github.com/Sundsvallskommun/process-engine-parking-permit