Versions Compared
Version | Old Version 31 | New Version 32 |
---|---|---|
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 License url: https://opensource.org/licenses/MIT version: "1.0" servers: - url: https://api-test.sundsvall.se/businessengagements/sandbox/1.0 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: 6a5c3d04-412d-11ec-973a-0242ac130003 - 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 responses: "500": description: Internal Server Error 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' "400": description: Bad Request content: '*/*': schema: $ref: '#/components/schemas/Problem' "404": description: Not Found 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: reasonPhrase: type: string statusCode: type: integer format: int32 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 (UUID), 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 partyId:
serviceName
- Det system som anropet initierades ifrån.personalName
- Namnet på den person som företagen skall hämtas för.
Hämta företagsengagemang (/engagements)
Request: /engagements/6a5c3d04-412d-11ec-973a-0242ac130003?personalName=Jane%20Doe&serviceName=Kommunen
Code Block | ||
---|---|---|
| ||
{ "partyId": "6a5c3d04-412d-11ec-973a-0242ac130003", "personalName": "Jane Doe", "serviceName": "Kommunen" } |
Response:
Code Block | ||
---|---|---|
| ||
{ "engagements": [ { "organizationName": "Fritjofs blommor och blad", "organizationNumber": "5561234567", "organizationId": " 793afd03-3be5-4e14-863f-a61d4859841d" }, { "organizationName": "Vanja Jumpers plåt", "organizationNumber": "5561234568", } ] "organizationIdstatusDescriptions": "85da333a-abe7-4088-8224-5714e85c5f7d"{ "5561234568": "Couldn't }fetch guid for organization number" ] "statusDescriptions": null}, "status": "OKNOK" } |
Förtydligande response-parametrar:
engagements: Kan innehålla 0 → n antal engagemang personen har, varje objekt innehåller organisationsnamn och organisationsnummer.
organizationId; OBS WIP! Ej implementerad ännu: Kommer vara ett random-genererat UUID tills dess att integrationen mot tjänsten “Organization” blir implementerad: unikt uuid/guid för organisationsnumret.
statusDescriptions: Innehåller eventuella fel från bolagsverket, men där vi fått ett svar vi kan hanterai samband med hämtandet av bolagsengagemang eller organizationId. T.ex. kan det vara att underliggande system (från bolagsverket) överskred begärd svarstid eller att det inte gick att hämta organizationId. 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.
Testdata
Bolagsverket har lagt upp fiktiva personnummer med olika bolagsengagemang, partyId för dessa personer finns upplagda i testmiljön för CitizenMapping och mappar till följande dokument.
Personnummer | partyId |
---|---|
198104112381 | 65694a6d-5f5d-4bb6-b256-3b81cb419b60 |
198101032384 | d1eda732-5aec-45e2-a673-4debd42b2f04 |
198101052382 | d4554399-91bb-4258-a7a7-afb9f265dd66 |
198101012386 | 740c013c-f979-4ad3-a073-42a6d5255e3a |
198101042383 | 5a4afbf9-8897-42a8-aaf0-de9530849f7c |
193403223328 | af99121e-4dfc-477c-8b02-daf70603b55f |
198104152387 | ea4a0b53-fa9a-42a6-89a6-7ab1431a014f |
Säkerhetsklassning
Säkerhetsklass 1
Autentiseringsmetod: Oauth2
(Ref: Säkerhetsklassning av APIer )
API-ägare
<Kontaktuppgifter till den verksamhet som äger APIets livscykel>
Teknisk ägare
Ansvarigt team: Team Dynasty
För tekniska frågor: mailto:teamdynasty@sundsvall.se