Versions Compared
Version | Old Version 18 | New Version 19 |
---|---|---|
Changes made by | ||
Saved on |
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Beskrivning
Hämta bolagengagemang för en privatperson från Bolagsverket.
I steg två skall tjänsten byggas ut mot Bolagsverkets Mina Ombud.
I ett första steg anropar vi Bolagsverkets engagemang-tjänst för att hämta vilka bolagsengagemang en privatperson har.
Då alla anrop mot bolagsverket innebär en kostnad, cachas alla svar från bolagsverket i 30 minuter.
Livscykelstatus
Design
Lösningsbeskrivning
Gliffy | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Hantering av personuppgifter
API specifikation
Swagger ui |
---|
openapi: 3.0.1 info: title: Business Engagements API contact: {} license: name: MIT url: https://opensource.org/licenses/MIT version: "1.0" servers: - url: http://localhost:4141 tags: - name: Business Engagements description: En tjänst som hämtar en persons företagsengagemang paths: /engagements/{partyId}/: get: tags: - Business Engagements operationId: getEngagements parameters: - name: partyId in: path required: true schema: type: string description: Unique identifier for a person example: 12490862-3823-444c-94f1-44946c4bf1e6 - name: personalName in: query required: true schema: type: string description: The first and surname of the person - name: serviceName in: query required: true schema: type: string description: Name of the system initiating the request example: Mina Sidor - name: useCaseArea in: query required: true schema: type: string description: "If a request is initiated from a real person: \"indirect\"\ \ or a system: \"direct\"" example: indirect responses: "400": description: Bad Request content: '*/*': schema: $ref: '#/components/schemas/Problem' "200": description: Successful Operation content: '*/*': schema: $ref: '#/components/schemas/BusinessEngagementsResponse' "204": description: No Content content: '*/*': schema: $ref: '#/components/schemas/BusinessEngagementsResponse' "404": description: Not Found content: '*/*': schema: $ref: '#/components/schemas/Problem' "500": description: Internal Server Error content: '*/*': schema: $ref: '#/components/schemas/Problem' components: schemas: 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 BusinessEngagementsResponse: required: - status type: object properties: engagements: type: array items: $ref: '#/components/schemas/Engagement' statusDescriptions: type: object additionalProperties: type: string description: "In case fetching one or more engagement failed, this will\ \ show why it failed. There may be more than one description if several\ \ engagements failed." example: Timeout description: "In case fetching one or more engagement failed, this will\ \ show why it failed. There may be more than one description if several\ \ engagements failed." example: Timeout status: type: string description: If fetching all engagements went "OK" or "NOK". A "NOK" may still return engagements but indicates that the information is incomplete. example: OK enum: - OK - NOK Engagement: type: object properties: organizationName: type: string description: Name of the organization example: Styrbjörns båtar organizationNumber: type: string description: "Organization number, may also be personal number in case of\ \ enskild firma" example: "2021005448" organizationId: type: string description: "Unique id for the organization, NOT implemented yet!" example: "2021005448" description: Represents a persons business engagement. securitySchemes: {} |
Alla anrop mot bolagsverket har två tvingande parametrar vilket även är tvingande in i detta API förutom personId:
serviceName
- Det system som anropet initierades ifrån.useCaseArea
- Indikerar om anropet originerar från ett system eller om det är en person "bakom" anropet.
Initieras requestet från en person skall “indirect” anges, initieras requestet från ett system (t.ex. batch-körning eller likn.) skall “direct” anges.
Hämta företagsengagemang
Request: /engagements/6a5c3d04-412d-11ec-973a-0242ac130003/?personalName=Jane%20Doe&serviceName=Kommunen&useCaseArea=indirect
Code Block | ||
---|---|---|
| ||
{ "personId": "6a5c3d04-412d-11ec-973a-0242ac130003", "personalName": "Jane Doe", "serviceName": "Kommunen", "useCaseArea": "indirect" } |
Response:
Code Block | ||
---|---|---|
| ||
{ "engagements": [ { "organizationName": "Fritjofs blommor och blad", "organizationNumber": "5561234567", "organizationId": " 793afd03-3be5-4e14-863f-a61d4859841d" }, { "organizationName": "Vanja Jumpers plåt", "organizationNumber": "5561234568", "organizationId": "85da333a-abe7-4088-8224-5714e85c5f7d" } ] "statusDescriptions": null, "status": "OK" } |
Förtydligande response-parametrar:
engagements: Kan innehålla 0 → n antal engagemang personen har, varje objekt innehåller organisationsnamn och organisationsnummer.
WIP: organizationId, kommer vara ett random-genererat UUID tills dess att integrationen mot tjänsten “Organization” blir implementerad.
statusDescriptions: Innehåller eventuella fel från bolagsverket, men där vi fått ett svar vi kan hantera. T.ex. kan det vara att underliggande system överskred begärd svarstid. Typen är en “Map<String, String>”.
status: Visar om personens alla engagemang kunde hämtas utan fel. Vid eventuella fel sätts denna till “NOK” och det reflekteras även i parametern statusDescriptions genom att varje felbeskrivning läggs till.
organizationId: Unik identifirerare för företaget, OBS! Ej implementerad ännu!
Säkerhetsklassning
Säkerhetsklass 1
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
FAQ
<FAQ>