Contract

Beskrivning

Generisk tjänst för hantering av avtal (arrendeavtal t ex).

I version 1 implementeras följande:

GET:

  • contracts/{personId} - hämta alla avtal för en person

  • contracts/{organizationNumber} - hämta alla avtal för en organisation

  • contracts/{propertyDesignation} - hämta alla avtal för en fastighet

  • contracts/{geoReference} - hämta ett/alla avtal baserat på en geografisk referens

  • contracts/{id} - hämta ett avtal baserat på avtalets id

  • contracts/{externalReferanceId} - hämta ett avtal baserat på avtalets historiska id

  • contracts/{end} - hämta alla avtal baserat på avtalets slutdatum

  • contracts/{leaseType} - hämta alla avtal baserat på avtaletstyp

POST:

  • contracts/ - skapa ett avtal

PATCH:

  • contracts/{id} - uppdatera ett avtal

  • contracts/{id}/terminate - avsluta ett avtal

Livscykelstatus

Design

Lösningsbeskrivning

Datamodell

Hantering av personuppgifter

<Vilka personuppgifter hanteras och varför?>

API specifikation (draft)

/GET

contracts/template/{id} - hämta avtalsmall

contracts/{personId} - hämta alla avtal för en person

contracts/{organisationNumber} - hämta alla avtal för en organisation

contracts/{geoReference} - hämta ett avtal baserat på en geografisk referens

contracts/{id} - hämta ett avtal

contracts/{id}/asPdf - hämta ett avtal på pdf-format

/POST

contracts/ - skapa ett avtal

contracts/{id}/sign - trigga en avtalssignering

contracts/{id}/archive - trigga en arkivering

/PATCH

contracts/{id} - uppdatera ett avtal

contracts/{id}/signReminder - skicka en signeringspåminnelse

/DELETE

contracts/{id} - radera ett avtal

Exempel på anrop

Skapa kontrakt

POST /contracts

Request body:

Contract | ContractHolder objektet

Hämta kontrakt

GET /contracts

Tillgängliga query-parametrar:

  • end

  • externalReferenceId

  • landLeaseType

  • organizationNumber

  • personId

  • propertyDesignation

Response body:

Contract | ContractHolder objektet

Hämta kontrakt med kontrakt-ID

GET /contracts/{id}

Response body:

Contract | ContractHolder objektet

Uppdatera kontrakt

PATCH /contracts/{id}

Request body:

De fält som ska uppdateras.

Response body:

Contract | ContractHolder objektet

Avsluta kontrakt

PATCH /contracts/{id}

Request body:

{ "landLeaseContracts": [ { "status": "TERMINATED" } ] }

Response body:

Contract | ContractHolder objektet

ContractHolder-objektet

Detta är ett objekt som kommer innehålla listor med alla kontraktstyper. Detta kommer innebära att vi kan lägga till nya kontraktstyper utan att bryta det befintliga API’t samt att vi kan minimera antalet sökvägar till resurserna.

Strukturen blir enligt följande:

{ "firstContractType": [ { "field" : "value" } ], "secondContractType": [ { "field" : "value" } ], "thirdContractType": [ { "field" : "value" } ] }

Exempel (endast en typ av kontrakt hittills):

{ "landLeaseContracts": [ { "version": 0, "status": "ACTIVE", "caseId": 100, "indexTerms": "string", "description": "string", "additionalTerms": "string", "stakeholders": [ { "type": "ASSOCIATION", "roles": [ "ARRENDATOR" ], "organizationName": "Sundsvalls kommun", "organizationNumber": "212000-2411", "firstName": "Test", "lastName": "Testorsson", "personId": "40f14de9-815d-44a5-a34d-b1d38b628e07", "phoneNumber": "0701231212", "emailAddress": "test.testorsson@test.se", "address": { "streetAddress": "Testgatan 1A", "postalCode": "841 76", "town": "Sundsvall", "country": "Sweden", "attention": "Test Testorsson" }, "billingAddress": { "streetAddress": "Testgatan 1A", "postalCode": "841 76", "town": "Sundsvall", "country": "Sweden", "attention": "Test Testorsson" } } ], "attachments": [ { "category": "KONTRAKT", "name": "Arrendekontrakt", "extension": ".pdf", "mimeType": "application/pdf", "note": "Kontraktet var lite skrynkligt vid inskanningen.", "file": "string" } ], "landLeaseType": "LEASEHOLD", "leaseholdType": "AGRICULTURE", "usufructType": "FISHING", "externalReferenceId": "string", "propertyDesignation": "Skalvik 1:13", "leaseDuration": 3, "rental": 4350, "start": "2020-01-01", "end": "2022-01-01", "periodOfNotice": 90, "area": 150 } ] }

 

Säkerhetsklassning

Säkerhetsklass TBD

Autentiseringsmetod: Oauth2

(Ref: Säkerhetsklassning av APIer )

API-ägare

<Kontaktuppgifter till den verksamhet som äger APIets livscykel>

Teknisk ägare

https://sundsvall.atlassian.net/wiki/spaces/API

För tekniska frågor:

Länkar

<Länkar till dev-portal;

  • Test

  • Sandbox

  • Produktion>

FAQ

<FAQ>