Introduction
etinglysing.no enables electronic registration of documents to the Land Registry. The service provides both a web user interface and a web service interface for integration. This document will help you in the integration process.
The following document types are currently supported:
Registration
Mortgages - to establish collateral (pantedokument or sikringspant/urådighet)
Deeds - to change ownership (skjøte)
Change
Transport of rights, including mass transportation (transport or massetransport)
Re-registration (retinglysing/tinglysing på ny)
Deletion (sletting)
Overall process
The integration basically consists of three steps:
Figure 1: Basic flow
Generate, sign & tinglys (register). Additional there are services for administrative tasks and fetching the receipt (Grunnboksutskrift)
Figure 2: Document flow
Step 3 in the figure shows that signing is performed outside www.etinglysing.no.
The endpoints
Etinglysing consist of several endpoints to fully support the registration process to Statens Kartverk. API-specifications are available here.
Document
Current version: v7 The document endpoint supports the whole process of creating, signing and registering documents. Currently there are three active versions of this endpoint, but we recommend all clients to move to the latest version as it contains the newest features.
Event (Hendelse)
Current version: v5 The hendelse endpoint supports tracking of events in the system. As a document flows through the process of registration, its different states can be observed/pulled to trigger actions automatically.
Single Sign On
The single sign on endpoint serves the purpose of generating a token to be used when the user is “jumped” into www.etinglysing.no without having to identify him/her self.
Assignment (Oppdrag)
The assignment (oppdrag) endpoint enables brokers to send relevant information to www.etinglysing.no to enable easy creation of documents, without having to punch information twice. The brokers work task-/assignment based, so the oppdrag (task/assignment) is central. All documents are related to and created based on a oppdrag. The endpoint enables to create/update an assignment with relevant data. From there the users can jump onto www.etinglysing.no to perform document creation, signing and registration.
Generate document
The API provides document creation of the above mentioned types, on the format generate<TYPE>
. Calling any generate operation will return this structure:
Status | id, status code and when it was created |
---|---|
status | the unique id of the document, created date and state |
document | base64 encoded BIDXML, type corresponds with the created document, format and type |
warnings | warnings (if any) from validation received from Kartverket |
version | KARTVERKET (historically it could have been EDOK) |
dokumentMessages | A list of documentMessage that contain all error or information messages for the tinglysing operation on a specific document. It might be returned from the tinglys or the getStatus operation. |
Example:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:generatePantedokumentResponse xmlns:ns2="http://dokument.ws7.etinglysing.no/"> <return> <status> <created>2018-09-06T14:09:34.710+02:00</created> <id>15742141</id> <statusCode>OPPRETTET</statusCode> </status> <documentHolder> <content>PEJhbmtJRFhNT...</content> <format>BIDXML</format> <type>PANTEDOKUMENT</type> </documentHolder> <documentVersion>KARTVERKET</documentVersion> </return> </ns2:generatePantedokumentResponse> </soap:Body> </soap:Envelope>
Generate pantedokument
The integrator initiates the process by sending a data structure (as described in the WSDL) to the web service. Etinglysing will return an object containing the document itself, a reference to the document in etinglysing and some key information about it.
Normal flow
Example request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dok="http://dokument.ws7.etinglysing.no/"> <soapenv:Header/> <soapenv:Body> <dok:generatePantedokument> <pantedokument referanse="Example"> <panteobjekter> <panteobjekt> <matrikkel kommunenummer="1234" gaardsnummer="1" bruksnummer="1" festenummer="0" seksjonsnummer="0" eiendomsnivaa="G"/> <hjemmelshavere> <hjemmelshaver> <organisasjon id="123456789"> <navn>Organization name</navn> <!--Optional, not needed for production--> <!--Will be validated towards Enhetsregisteret if present--> <signaturberettigede> <signaturberettigede id="12345678901"> <fornavn>First Name</fornavn> <etternavn>Surname</etternavn> <epost>person@example.com</epost> </signaturberettigede> </signaturberettigede> </organisasjon> <broek teller="1" nevner="1"/> </hjemmelshaver> </hjemmelshavere> </panteobjekt> </panteobjekter> <pantebeloeper> <pantebeloep valuta="NOK" verdi="100000"/> </pantebeloeper> <panthavere> <panthaverId>123456789</panthaverId> </panthavere> <dokumentflyt>DOKUMENT_TIL_TINGLYSING</dokumentflyt> <refinansiering>false</refinansiering> </pantedokument> <options> <returnPdf>false</returnPdf> </options> </dok:generatePantedokument> </soapenv:Body> </soapenv:Envelope>
Example response:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:generatePantedokumentResponse xmlns:ns2="http://dokument.ws7.etinglysing.no/"> <return> <status> <created>2018-09-06T14:09:34.710+02:00</created> <id>15742141</id> <statusCode>OPPRETTET</statusCode> </status> <documentHolder> <content>PEJhbmtJRFhNT...</content> <format>BIDXML</format> <type>PANTEDOKUMENT</type> </documentHolder> <documentVersion>KARTVERKET</documentVersion> </return> </ns2:generatePantedokumentResponse> </soap:Body> </soap:Envelope>
Validation & error handling
Example response:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <soap:Fault> <faultcode>soap:Server</faultcode> <faultstring>Ugyldig personnr eller organisasjonsnr: 123456789</faultstring> <detail> <ns2:FellesDokumentException xmlns:ns2="http://dokument.ws7.etinglysing.no/"> <exceptionId>1536235901863</exceptionId> <documentMessages> <documentMessage> <errorGroup>VALIDERINGSFEIL</errorGroup> <message>Ugyldig personnr eller organisasjonsnr: 123456789</message> <errorCode>9014</errorCode> </documentMessage> </documentMessages> </ns2:FellesDokumentException> </detail> </soap:Fault> </soap:Body> </soap:Envelope>
If an error is detected, the document is not produced and an error response is returned to with detailed information. The integrator can correct the error and try again.
Information messages
In some cases informational messages are returned alongside the document. These messages do not prevent the document from being generated, but imply that the integrator need to ensure/think of how to process the document further.
How to set document flow
When generating a mortgage you may have two scenarios:
Send the document to the Land Registry
Send the document to a broker
This you can control by setting the flow. The possible flows are:
DOKUMENT_TIL_TINGLYSING
Document to be sent directly to LR
This is equivalent to eiendomsoverdragelse=false.DOKUMENT_TIL_OPPGJOER
Document to be sent to broker.
This is equivalent to `eiendomsoverdragelse=true and would produce a document even if there is no electronic settlement matching the document. This flow should be used to send to brokers, through any channel.DOKUMENT_TIL_EKSISTERENDE_OPPGJOER
Document to be sent to broker through the Ambita service; Electronic Property Settlement (EPS). This flow prevents the document from being generated if there is no relevant settlement in the service.
How to migrating to version 7
Compared to V5/V6 there has been som small changes to tidy the model and remove a known bug. In previous, when a organization was the owner, the signaturberettigede had to be populated to make it work. This was unintentional and is fixed in V7.
How to set the property
Previously each property was modelled as either borett or matrikkel:
<eiendommer> <matrikkel kommunenr="1234" gaardsnr="1" bruksnr="1" festenr="0" seksjonsnr="0" eiendomsnivaa="G"> </matrikkel> </eiendommer>
From V7 the property contains a matrikkel or borett
<panteobjekter> <panteobjekt> <matrikkel kommunenummer="1234" gaardsnummer="1" bruksnummer="1" festenummer="0" seksjonsnummer="0" eiendomsnivaa="G"/> </panteobjekt> </panteobjekter> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dok="http://dokument.ws7.etinglysing.no/"> <soapenv:Header/> <soapenv:Body> <dok:generatePantedokument> <pantedokument referanse="Example"> <panteobjekter> <panteobjekt> <matrikkel kommunenummer="1234" gaardsnummer="1" bruksnummer="1" festenummer="0" seksjonsnummer="0" eiendomsnivaa="G"/> <hjemmelshavere> <hjemmelshaver> <organisasjon id="123456789"> <navn>Organization name</navn> <!--Optional, not needed for production--> <!--Will be validated towards Enhetsregisteret if present--> <signaturberettigede> <signaturberettigede id="12345678901"> <fornavn>First Name</fornavn> <etternavn>Surname</etternavn> <epost>person@example.com</epost> </signaturberettigede> </signaturberettigede> </organisasjon> <broek teller="1" nevner="1"/> </hjemmelshaver> </hjemmelshavere> </panteobjekt> </panteobjekter> <pantebeloeper> <pantebeloep valuta="NOK" verdi="100000"/> </pantebeloeper> <panthavere> <panthaverId>123456789</panthaverId> </panthavere> <dokumentflyt>DOKUMENT_TIL_TINGLYSING</dokumentflyt> <refinansiering>false</refinansiering> </pantedokument> <options> <returnPdf>false</returnPdf> </options> </dok:generatePantedokument> </soapenv:Body> </soapenv:Envelope>
How to handle additional signatures
For some cases it is not enough that the owners sign the document. This typically means that there are “rettighetshavere” that needs to be taken into account. If not taken into account the service will respond with validation errors on generate (and that could be valuable and correct). If the case is, however, that you intend to get these signatures, the signature role must be applied. This tells the service that “I’ve got it!”.
There are four types of roles:
Role | Description |
---|---|
BORTFESTER | The land owner that lease out land |
RETTIGHETSHAVER_I_URAADIGHET | A legal person is blocking registration |
UTSTEDER | The seller is not the land owner |
PANTSETTER | The legal person if not equal to the land owner |
In V7 this is put outside the property, hence yields the whole document (across all properties)
<pantedokument referanse="Demo"> <!--Optional:--> <signatarroller> <!--Zero or more repetitions:--> <signatarrolle> <!--1 or more repetitions:--> <signatarrolleTyper></signatarrolleTyper> <organisasjon id="?"> <navn>?</navn> <!--Optional:--> <signaturberettigede> <!--Zero or more repetitions:--> <signaturberettigede id="?"> <fornavn>?</fornavn> <etternavn>?</etternavn> <!--Optional:--> <epost>?</epost> </signaturberettigede> </signaturberettigede> </organisasjon> <person id="?"> <fornavn>?</fornavn> <etternavn>?</etternavn> <!--Optional:--> <epost>?</epost> </person> </signatarrolle> </signatarroller> </pantedokument>
How to handle fractions
If you do not have the individual fraction owned by each person (“idell andel”) you may set the total fraction per property instead..
We have added two optional attributes to the WSDL on the Eiendom node (Matrikkel or Borett).
There are:
Totalteller (Total nominator)
Totalnevner (Total denominator)
Once these are given, the teller and nevner applied to the individual hjemmelshaver are ignored and correct values are loaded from Grunnboken. This will not work for documents used in transfer of ownership (skjøte), as the future fractions are not known.
Example:
Figure 4: Example total fractions
The picture shows how the borettsandel has added the two new attributes. The teller/nevner shown in the example are not used, and can therefore contain any value.
Validation. Using total fractions will check if the total fraction equals the summed fractions, fetched from Grunnboken, of the hjemmelshaver-list. Also, if owners (hjemmelshaver) do not match the Grunnbok, exceptions will be thrown.
How to handle roles
This feature enables the integrator to generate documents on behalf of another organization. Once added into the request, the document will be generated accordingly unless the validation fails to validate that the respective organisation is defined as rekvirent or panthaver (dokumenteier) in the user profile.
Figure 5Example rekvirent & panthaver
Generate prerequisite
Upcoming feature
Prerequisite or prerequisite letter is a document sent from bank to reale state broker with terms from the bank to the real estate broker. Spesifies:
The banks required priority for the pantedokument
Payment details
Broker contact information
Bank contact information
generatePrerequisite
requires the documentID from the generatePantedocument call(panteDokumentId
).
Example:
<soapenv:Envelope xmlns:dok="http://dokument.ws7.etinglysing.no/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header/> <soapenv:Body> <dok:generatePrerequisite> <panteDokumentId>12345</panteDokumentId> <PrerequisiteLetter> <PrioritetsDetaljer> <ForstePrioritet>true</ForstePrioritet> </PrioritetsDetaljer> <OverfoerselDetaljer> <Beloep>2100000</Beloep> <BeloepOverfortDato>2020-01-23</BeloepOverfortDato> <TotalBeloep>2500000</TotalBeloep> <TilKontonummer>65501100000</TilKontonummer> <KID>10001000222111</KID> <KreditorSaksnummer>Lånesak 124-221/22</KreditorSaksnummer> <MeglerSaksnummer>117-00-1002 Bankgaten 15 B</MeglerSaksnummer> <BeloepGjelder>dekning av kjøpesum for ovennevnte eiendom</BeloepGjelder> <ProdusertDato>2019-01-25T10:15:23.2962746+01:00</ProdusertDato> </OverfoerselDetaljer> <Forutsetninger> <string> Beløpet er overført under forutsetning av at vedlagte pantedokument/er blir besørget tinglyst av Dem og returnert vår depotavdeling med oppgitt prioritet i eiendommen. Hjemmel til eiendommen forutsettes tinglyst på Arne Arnesen og Anne Arnesen. Det forutsettes videre at: - forutsetning A - og forutsetning B Eller at forutsetning C, og så videre. </string> </Forutsetninger> <AnnenFritekst>Dersom vi ikke har mottatt ovennevnte dokumenter innen 6 måneder fra dette brevs dato, ber vi Dem, av hensyn til bankens kontrollorganer, i god tid meddele når vi kan forvente å motta dokumentene i retur.</AnnenFritekst> <ReturneresTil> <Navn>aBank AB (publ), , v/ Depot Bergen</Navn> <Postadresse>PB 6001</Postadresse> <Postnummer>5000</Postnummer> <Poststed>Bergen</Poststed> </ReturneresTil> <Avsender> <Navn>Bank adviser</Navn> <Email>bank.adviser@aBank.com</Email> <TelefonDirekte>99999999</TelefonDirekte> <Telefon>23206001</Telefon> </Avsender> <Mottaker> <Navn>Broker company</Navn> <Organisasjonsnummer>123321123</Organisasjonsnummer> </Mottaker> </PrerequisiteLetter> </dok:generatePrerequisite> </soapenv:Body> </soapenv:Envelope>
Generate uraadighet
This is identical to the operation “Generate Pantedokument” but creates an additional rettsstiftelse “URO” to prevent the owner to operate without consent from the rights holder.
Example request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dok="http://dokument.ws7.etinglysing.no/"> <soapenv:Header/> <soapenv:Body> <dok:generateUraadighet> <pantedokument referanse="Example"> <rekvirentId>Organization number</rekvirentId> <panteobjekter> <!--1 or more repetitions:--> <panteobjekt> <matrikkel kommunenummer="1234" gaardsnummer="0" bruksnummer="0" festenummer="0" seksjonsnummer="0" eiendomsnivaa="E"/> <!--or--> <borettsandel organisasjonsnummer="987654321" andelsnummer="432" borettslagnavn="Housing cooperative name"/> <hjemmelshavere> <hjemmelshaver> <organisasjon id="123456789"> <navn>Organization name</navn> </organisasjon> <!--or--> <personMedSivilstand id="12345678987"> <fornavn>First Name</fornavn> <etternavn>Surname</etternavn> <epost>Email</epost> <sivilstand gift="true" beggeHjemmelshavere="false" fellesBolig="true"> <ektefelle id="12345678987"> <fornavn>Spouse First Name</fornavn> <etternavn>Spouse Surname</etternavn> <epost>Email</epost> </ektefelle> </sivilstand> </personMedSivilstand> <broek teller="1" nevner="1"/> </hjemmelshaver> </hjemmelshavere> <!--Optional:--> <totalBroek teller="1" nevner="1"/> </panteobjekt> </panteobjekter> <pantebeloeper> <!--1 or more repetitions:--> <pantebeloep valuta="0" verdi="0"/> </pantebeloeper> <!--Optional:--> <panthavere> <!--Zero or more repetitions:--> <panthaverId>123456789</panthaverId> </panthavere> <dokumentflyt>DOKUMENT_TIL_TINGLYSING</dokumentflyt> <refinansiering>false</refinansiering> </pantedokument> <!--Optional:--> <options> <returnPdf>false</returnPdf> <oppdragID>12345</oppdragID> </options> </dok:generateUraadighet> </soapenv:Body> </soapenv:Envelope>
Generate skjøte
The integrator initiates the process by sending a data structure (as described in the WSDL) to the web service. Etinglysing will return an object containing the document itself, a unique reference and some key information about.
Example request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dok="http://dokument.ws7.etinglysing.no/"> <soapenv:Header/> <soapenv:Body> <dok:generateSkjoete> <skjoete referanse="Example"> <!--Optional:--> <signatarroller> <signatarrolle> <signatarrolleTyper>BORTFESTER</signatarrolleTyper> <organisasjon id="987654321"> <navn>Organizartion Name</navn> <!--Optional:--> <signaturberettigede> <!--Zero or more repetitions:--> <signaturberettigede id="987654321"> <fornavn>Company owner name</fornavn> <etternavn>Company owner surname</etternavn> <epost>Company owner email</epost> </signaturberettigede> </signaturberettigede> </organisasjon> <!--or--> <person id="12345678912"> <fornavn>Person name</fornavn> <etternavn>Person Surname</etternavn> <epost>email</epost> </person> </signatarrolle> </signatarroller> <rekvirentId>987654321</rekvirentId> <skjoeteobjekter> <skjoeteobjekt> <matrikkel kommunenummer="1234" gaardsnummer="0" bruksnummer="0" festenummer="0" seksjonsnummer="0" eiendomsnivaa="E"/> <!--or--> <borettsandel organisasjonsnummer="987654321" andelsnummer="432" borettslagnavn="Housing cooperative name"/> <hjemmelshavere> <hjemmelshaver> <organisasjon id="123456789"> <navn>Organization name</navn> </organisasjon> <!--or--> <personMedSivilstand id="12345678987"> <fornavn>First Name</fornavn> <etternavn>Surname</etternavn> <epost>Email</epost> <sivilstand gift="true" beggeHjemmelshavere="false" fellesBolig="true"> <ektefelle id="12345678987"> <fornavn>Spouse First Name</fornavn> <etternavn>Spouse Surname</etternavn> <epost>Email</epost> </ektefelle> </sivilstand> </personMedSivilstand> <broek teller="1" nevner="1"/> </hjemmelshaver> </hjemmelshavere> <!--Optional:--> <kjoeperAvBoligseksjonMaaSignere>false</kjoeperAvBoligseksjonMaaSignere> <kjoepere> <kjoeper> <organisasjon id="987654321"> <navn>Organization name</navn> </organisasjon> <!--or--> <person id="12345678987"> <fornavn>Name</fornavn> <etternavn>Surname</etternavn> <epost>Buyer email</epost> </person> <broek teller="1" nevner="1"/> </kjoeper> </kjoepere> <boligtype>TOMANNSBOLIG</boligtype> <brukstype>BOLIGEIENDOM</brukstype> </skjoeteobjekt> </skjoeteobjekter> <kjoepesum valuta="NOK" verdi="2000000"/> <avgiftsgrunnlag valuta="NOK" verdi="2000000"/> <aarsakstype>HOVEDREGEL</aarsakstype> <omsetningsopplysninger> <omsetningstype>FRITT_SALG</omsetningstype> <utlystTilSalgPaaDetFrieMarked>true</utlystTilSalgPaaDetFrieMarked> </omsetningsopplysninger> </skjoete> </dok:generateSkjoete> </soapenv:Body> </soapenv:Envelope>
Generate sletting
generateSletting is to be used for deleting documents from the registry.
Field | Explaination |
---|---|
kommunenummer | The official number of the municipality. Only needed for cadaster (Deprecated: use embetenummer instead) |
embetenummer | The office number from Grunnboken |
dokumentaar | The year of the registered document to be deleted |
dokumentnummer | The document number from the registry |
referanse | The reference for the document |
The response will be a normal document response The representation of the generated document, as described here
Example:
<soapenv:Envelope xmlns:dok="http://dokument.ws7.etinglysing.no/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header/> <soapenv:Body> <dok:generateSletting> <dok:sletting kommunenummer="1201" dokumentaar="2017" dokumentnummer="123123" referanse="demo"/> </dok:generateSletting> </soapenv:Body> </soapenv:Envelope>
Generate retinglysing
Liabilities registered in grunnboken are given legal protection from the time they are entered in the registry. As a general rule, the effect of land registration lasts for 30 years. For enforcements this effect is limited to 5 years.
Re-registration (retinglysing, or “tinglysing på nytt”) means that if the charge is re-registered within the 30-year deadline for voluntary documents, or 5-year for enforcements, it will retain its original priority.
If retinglysing is attempted after the expiry of the original document, this registration process will fail, priority is lost, and potential a new document must be registered.
Explanations
Field | Explaination |
---|---|
embetenummer | The office number from Grunnboken |
dokumentaar | The year of the registered document to be deleted |
dokumentnummer | The document number from Grunnboken |
rettsstiftelsesnummer | Index of entry within a document, indexed from 1 |
rettsstiftelsestype | The type of entry within a document, for example “OB_PDB” |
referanse | The reference for the document |
There are two possible ways to generate such a document; either by providing the document number og the individual entries within a document (rettstiftelse))
Request
Example with a document reference:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dok="http://dokument.ws7.etinglysing.no/"> <soapenv:Header/> <soapenv:Body> <dok:generateRetinglysing> <retinglysing referanse="Demo-Retinglysing"> <paategner> <dokument embetenummer="200" dokumentaar="2019" dokumentnummer="123456"/> </paategner> </retinglysing> </dok:generateRetinglysing> </soapenv:Body> </soapenv:Envelope>
In this scenario, etinglysing will fetch all entries, rettsstiftelser, relevant from the registry to generate the signing payload.
Example with a list of entries/rettsstiftelsesreferanse:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dok="http://dokument.ws7.etinglysing.no/"> <soapenv:Header/> <soapenv:Body> <dok:generateRetinglysing> <retinglysing referanse="DemoWithRettsstiftelseList"> <paategner> <rettsstiftelser> <rettsstiftelsesreferanse embetenummer="200" dokumentaar="2019" dokumentnummer="123456" rettsstiftelsesnummer="1" rettsstiftelsestype="TV_UTL"/> <rettsstiftelsesreferanse embetenummer="200" dokumentaar="2019" dokumentnummer="123456" rettsstiftelsesnummer="2" rettsstiftelsestype="TV_UTL"/> </rettsstiftelser> </paategner> </retinglysing> </dok:generateRetinglysing> </soapenv:Body> </soapenv:Envelope>
This requires the integrator to know explicit the rettsstiftelsesnummer (index of entry in a document) and it’s type.
When called the service wil validate the consistency of the document and filter out irrelevant rettsstiftelser not applicable for this type of operation (retinglysing). Each retinglysing document can only point to one document in grunnboken.
Signature Requirements
Licensee of the original document (panthaver/saksøker/prosessfullmektig) must sign the retinglysing document. The signature typically will be from a corporate certificate (virksomhetssignatur)
Response
The response is equal to other generate calls. If validation fails, a list of errors are returned.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:generateRetinglysingResponse xmlns:ns2="http://dokument.ws7.etinglysing.no/"> <return> <status> <created>2019-08-20T15:14:24.463+02:00</created> <id>123</id> <statusCode>OPPRETTET</statusCode> </status> <documentHolder> <content>CjwvQklEWFNMPjwvQmFua0lEWE1MPg==</content> <format>BIDXML</format> <type>RETINGLYSING</type> </documentHolder> <documentVersion>KARTVERKET</documentVersion> </return> </ns2:generateRetinglysingResponse> </soap:Body> </soap:Envelope>
Generate transport
Transport are documents that transports changes panthaver for existing pantedokuments It is possible to change from one or more rettighetshaver to one or more rettighetshaver. Example request:
<soapenv:Envelope xmlns:dok="http://dokument.ws7.etinglysing.no/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header/> <soapenv:Body> <dok:generateTransport> <dok:transport referanse="Customer reference" transporttype="MASSETRANSPORT_MED_GEBYR"> <rettstiftelser> <rettstiftelse dokumentaar="2015" dokumentnummer="1" embetenummer="200" rettsstiftelsestype="OB_PDB" rettstiftelsenummer="1"/> <rettstiftelse dokumentaar="2012" dokumentnummer="2" embetenummer="200" rettsstiftelsestype="OB_PDO" rettstiftelsenummer="1"/> <rettstiftelse dokumentaar="2013" dokumentnummer="3" embetenummer="200" rettsstiftelsestype="OB_PDO" rettstiftelsenummer="1"/> <rettstiftelse dokumentaar="2016" dokumentnummer="4" embetenummer="200" rettsstiftelsestype="OB_PDO" rettstiftelsenummer="1"/> <rettstiftelse dokumentaar="2014" dokumentnummer="5" embetenummer="200" rettsstiftelsestype="OB_PDB" rettstiftelsenummer="1"/> <rettstiftelse dokumentaar="2013" dokumentnummer="6" embetenummer="200" rettsstiftelsestype="OB_PDO" rettstiftelsenummer="1"/> <rettstiftelse dokumentaar="2016" dokumentnummer="7" embetenummer="200" rettsstiftelsestype="OB_PDO" rettstiftelsenummer="1"/> <rettstiftelse dokumentaar="2016" dokumentnummer="8" embetenummer="200" rettsstiftelsestype="OB_PDO" rettstiftelsenummer="1"/> </rettstiftelser> <transporterFra> <organisasjon id="123456789"> <navn>OLD_RETTTIGHETSHAVER_BANK</navn> </organisasjon> </transporterFra> <transporterTil> <organisasjon id="987654321"> <navn>NEW_RETTTIGHETSHAVER_BANK1</navn> </organisasjon> <organisasjon id="987654321"> <navn>NEW_RETTTIGHETSHAVER_BANK2</navn> </organisasjon> </transporterTil> </dok:transport> </dok:generateTransport> </soapenv:Body> </soapenv:Envelope>
The example create a transport document, changing rettighetshaver on 8 documents to both NEW_RETTTIGHETSHAVER_BANK1 and NEW_RETTTIGHETSHAVER_BANK2.
Transporttype
decides the type of transport
MASSETRANSPORT_MED_GEBYR Masse Transport: allows to transport between 2 and 1000 rettsstiftelser. Charge is 10 times the cost of one transport.
MASSETRANSPORT_UTEN_GEBYR Masse tranport: allows to transport between 2 and 1000 rettsstiftelser. This type is in use if more than 1000 documents must have their rettighetshaver changed. More than 1000 can be be transported for the same cost.
TRANSPORT Enkelt transport: allows to transport 1 document (with one or more rettsstiftelser).
FUSJON Masse transport: allows to transport between 2 and 1000 documents. Is only available when “fra” pantehaver is merged with “til” panthavere (“a merger” or “fusjon in norwegian”) Unlike the other two types of transport, the cover letter must be signed by the “til” panthaver. Tranport if type FUSJON is free of charge
Generate foelgebrev
All registrations/shipments are called messages. This implies that several documents can be registered in the same message. All documents in one message are treated as one transaction, which means that all or nothing will be registered.
The følgebrev, or the slip, is essential to register documents.
In the beginning, to support the existing business flow, we recommend generating one følgebrev per document. This is done by sending the document reference (documentID) returned from the generatePantedokument method. The følgebrev is also a document on the BIDXML format. It is generated per the requirements given by the API of Statens Kartverk. These documents must be signed with a server certificate and set back into Ambita using the setSDO function. The format is SEID-SDO as any other document, but only containing the server signature (BrukerstedsBankID) from a legal organization.
Example:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dok="http://dokument.ws7.etinglysing.no/"> <soapenv:Header/> <soapenv:Body> <dok:generateFoelgebrev> <documentList documents="12345,23456"/> </dok:generateFoelgebrev> </soapenv:Body> </soapenv:Envelope>
Post processing
After generating document, it needs to be signed according to the rules for that document type. When it is signed you can:
Set SDO (set the signed document back into the service
Set SDO list (set a list of signed document back into the service
Tinglys (Set SDO and register into the land registry directly)
Tinglys list (Set SDO list and register into the land registry directly)
Send to broker (Set SDO send the document to the brokers settlement)
Set SDO
In this scenario, there are some prerequisites:
The unsigned document is generated by etinglysing.
The document is signed by required parties
Set SDO The integrator initiates the process by sending a SDO to www.etinglysing.no, with the documents unique ID in etinglysing as input.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dok="http://dokument.ws7.etinglysing.no/"> <soapenv:Header/> <soapenv:Body> <dok:setSDO> <documentId>12345</documentId> <sdo>Byte64 representation</sdo> </dok:setSDO> </soapenv:Body> </soapenv:Envelope>
Example response
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:getStatusResponse xmlns:ns2="http://dokument.ws7.etinglysing.no/"> <ns2:return> <status> <created>2018-08-02T14:00:09.205+02:00</created> <documentStatusTinglysing/> <id>45721524</id> <statusCode>SIGNERT</statusCode> </status> <type>PANTEDOKUMENT</type> <documentVersion>KARTVERKET</documentVersion> </ns2:return> </ns2:getStatusResponse> </soap:Body> </soap:Envelope>
Alternative flow Set sdo - Error in provided SDO
In this case the web service has detected an error, due to an invalid SDO or that the content is changed from what was generated. In this case the response will indicate the error. The document will not be updated with the received SDO, which will be reflected in the document status.
Set SDO as list
This scenario is equal to the setSDO function, but enables the integrator to send multiple SDOs in a list, and return multiple responses.
Tinglys
In this scenario, there are some prerequisites:
The set sdo-service must have been executed with successful result
Tinglys The integrator initiates the process by requesting www.etinglysing.no with the document’s unique ID in etinglysing as input.
www.etinglysing.no will return a document status
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:getStatusResponse xmlns:ns2="http://dokument.ws7.etinglysing.no/"> <ns2:return> <status> <created>2018-08-02T14:00:09.205+02:00</created> <documentStatusTinglysing/> <id>45721524</id> <statusCode>UNDER_TINGLYSING</statusCode> </status> <type>PANTEDOKUMENT</type> <documentVersion>KARTVERKET</documentVersion> </ns2:return> </ns2:getStatusResponse> </soap:Body> </soap:Envelope>
The actual tinglys-process at Statens Kartverk is an asynchronous process which will take some time. The response from the tinglys web service indicates that the process has started successfully. To verify the complete result, the integrator must request for status until status is tinglyst or tinglysing-feilet (see chapter 6.6.1 in page 28). The result will normally be available after three days for pantedokument, two days for cancellations.
Alternative flow Tinglys – Tinglysing with error
If an exception occurs during Tinglys, an error response will be returned. The response contains detailed error information. To request for status please use the Get status request.
Document status will either be:
‘Tinglysing feilet’: The document has been processed and will not be registered.
‘Signert’ or ‘Part signert’: In this case, you can try again.
Send to broker
Collaboration with broker
Our collaboration service Electronic Property Settlement (Elektronisk Eiendomsoppgjør), enables collaboration between bank and broker. This enables a bank to send the mortgage document to the broker for registration in the Land Registry, as part of a document package, together with the deed, which enables use of digital documents in the process of buying a house(realty). To do so we have implemented the possibility to generate documents for the future owner (buyer) so that, together with the deed, it will both change ownership and establish collateral for the bank, via the broker/real-estate agent.
Figure 7 Collaboration overview
sendToBroker( long documentID, Base64 sdo, Base64 priorityPrerequisiteDocument, String epsSettlementID, String altinnOrganizationID )
Input:
DocumentID | The unique id returned from the generate action |
---|---|
SDO | (optional) The Signed Data Object representation of the document. Could also be set in any of the actions the sets the SDO back to us; setSDO or setSDOList. |
Priority Prerequisite Document | (optional) The terms from the bank to the broker as PDF or as an xml document according to the standard defined by DSVE If the |
EPS Settlement ID | (optional) Explicit ID of the settlement selected in advance. To further benefit from the EPS services, the bank may utilize the content of the EPS settlement earlier in the loan process. If the coupling has already taken place, this can be used to dictate www.etinglysing.no were to send the document |
Altinn Organization ID | (optional) This is the organization number of the broker that only is available through the Altinn Formidlingstjeneste. When this field contains a valid organization number it will attempt to send the document to the broker. Currently this service is a one-way street from the bank to the broker to enable registration of deeds/packages. If the |
This service requires the documentID from the generate call, the signed version of that document and the pre-requisites pdf-bytes (optional). When called www.etinglysing.no will push the signed document to the relevant EPC settlement, if found. The document would be coupled to the relevant EPS settlement at any time in its lifetime. If no settlement process is found at the time of creation, this service will try to do the coupling based on the content of the document.
Note that there is no need to generate a foelgebrev for a document that is to be sent to the broker, as this will be done by the broker.
Send prerequisites
sendPriorityPrerequisiteDocumentToBroker( long documentID, byte64 priorityPrerequisiteDocument )
Input:
DocumentID | The unique id returned from the generate action |
---|---|
Priority Prerequisite Document | The terms from the bank to the broker as PDF |
This service only sends the prerequisites to the broker through EPS.
Get status
The integrator initiates the process by requesting www.etinglysing.no with the document’s unique ID in etinglysing as input. www.etinglysing.no will return a document status
Example request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dok="http://dokument.ws7.etinglysing.no/"> <soapenv:Header/> <soapenv:Body> <dok:getStatus> <documentId>1234567</documentId> </dok:getStatus> </soapenv:Body> </soapenv:Envelope>
Example response:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:getStatusResponse xmlns:ns2="http://dokument.ws7.etinglysing.no/"> <ns2:return> <status> <created>2018-08-02T14:00:09.205+02:00</created> <documentStatusTinglysing/> <id>45721524</id> <statusCode>SIGNERT</statusCode> </status> <type>PANTEDOKUMENT</type> <documentVersion>KARTVERKET</documentVersion> </ns2:return> </ns2:getStatusResponse> </soap:Body> </soap:Envelope>
Alternative flow Get status - Non-existing reference
www.etinglysing.no cannot return status, due to a non-existing document id. The document does not exist.
Get status of an assignment (oppdrag)
The integrator initiates the process by requesting www.etinglysing.no with the oppdrag’s unique ID in etinglysing as input. The response will be:
oppdragsNr: unique String
oppdragsId: unique ID in etinglysing (same as input)
epsSettlementId: unique EPS ID if exists
documentStatusList: list of document statuses for all documents that exists on this oppdrag
Figure 8 Example of response from getOppdragStatus operation
Get artifact
The artifacts are available at different stages. The different stages and artifacts available, are listed in the table below.
Document status | Artifact |
---|---|
PART_SIGNERT SIGNERT UNDER_TINGLYSING TINGLYSING_FEILET FJERNET_FRA_TINGLYSING | ALLE, DOKUMENT |
TINGLYST |
DOKUMENT is the signed data object (SDO).
Monitoring events
Every major change on a document is recorded as an event (hendelse). For monitoring a portfolio of document, events will give you a good way to handle post processing.
List events
«listHendelser» returns a list of events from the given eventid (fraHendelsesId). The service takes a list of parameter to limit the result.
Params:
Parameter | Description |
---|---|
fraHendelsesId | eventid to start from |
maxAntall | maximum number of events |
statuser | limit to certain WsDokumentStatus-types |
typer | event types as defined in WsHendelsesType |
kunEksterne | True: Only documents created by using the DocumentWS. |
Response:
Type | Description |
---|---|
id | event id |
type | one of WsHendelsesType |
dokumentId | documentid in www.etinglysing.no |
eksternEierId | document owner |
nyStatus | new status |
gammelStatus | old status |
beskrivelse | status description in Norwegian |
opprettet | event date |
eksterntOpprettetDokument | document is created by using DocumentWS |
dokumentRef | the document reference at the event time |
oppdragsId | oppdragsid in www.etinglysing.no |
List events with status
«listHendelserMedStatus» returns a list of events from the given eventID (fraHendelsesId). Attached to each event is the status of the document, as delivered in getStatus.
Create broker assignments
The Oppdrag service has only one operation; leggTilDokumentGrunnlag. This takes key information to create a baseline for continue working in etinglysing, with single sign on.
Create/Update assignment
The action will put relevant information over to www.etinglysing.no, easing the process of document creation, signing an tinglysing. The response is a unique id representing the oppdrag/assignment. This can be used for creating the correct URL to go directly to the Oppdrag in etinglysing.no. Consecutive calls with the same information will update the Oppdrag. The unique key for the oppdrag is oppdragsnr (the number used by the broker to identify a assignment)
Oppdrag model
Example:
<opp:dokumentGrunnlag oppdragsnr="123654poi123lkj"> <dok:panteopplysninger> <dok:fullsignert>true</dok:fullsignert> <dok:pantebeloep valuta="NOK" verdi="100000"/></dok:panteopplysninger> <dok:omsetningsopplysninger> <dok:omsetningsnr>00003-00</dok:omsetningsnr> <dok:omsetningsType>FRITT\_SALG</dok:omsetningsType> <dok:utlystTilSalgPaaDetFrieMarked>true</dok:utlystTilSalgPaaDetFrieMarked> <dok:kjoepesum>150000</dok:kjoepesum> <dok:avgiftsgrunnlag>0</dok:avgiftsgrunnlag> <dok:aarsak>HOVEDREGEL</dok:aarsak> </dok:omsetningsopplysninger> <dok:borettsandel orgnr="932305364" andelsnr="9" borettslagnavn="BAS"> <dok:selgere> <dok:hjemmelshaver teller="1" nevner="1"> <ret:person id="12345678901"> <ret:fornavn>Thomas</ret:fornavn> <ret:etternavn>Normann</ret:etternavn> <ret:epost>test@example.com</ret:epost> </ret:person> </dok:hjemmelshaver> </dok:selgere> <dok:kjoepere> <dok:kjoeper teller="1" nevner="1"> <ret:person id="1245678901"> <ret:fornavn>Kai</ret:fornavn> <ret:etternavn>Normann</ret:etternavn> </ret:person> </dok:kjoeper> </dok:kjoepere> </dok:borettsandel> </opp:dokumentGrunnlag>
Sso
The SSO (Single Sign On) endpoint enables the integrator to create a token URI that pre-authenticates the user, so that the user can navigate directly to the oppdrag/document requested.
The endpoint serves to actions:
MakeTokeUrls
This action takes the documentID or oppdragID as input. The user authenticated will be the user authenticated in the SOAP call. The response gives the following:
Name | Description |
---|---|
meglerOppdrag | Url to the oppdrag (Example: https://www.etinglysing.no/megler/oppdrag/231.form?token=abc321 |
meglerOppdragsListe | Url to the search opppdrag page. (Example: https://www.etinglysing.no/megler/oppdrag.form?token=abc123) |
tokenKey | The token(Example: 1so4NmpPKXWgVCQ6nZKWzA%3D%3D) |
validUntillGmtMs | The timestamp when token expires |
InvalidateToken
A service that invalidates a generated token. It only takes the token provided in the “makeTokenUrls” action.
Types
The web-services will return one of the elements listed below.
DokumentResponse | Document status and document holders |
---|---|
StatusResponse | Document status |
ArtifaktResponse | A list of artefacts |
UrlResponse | A list of document urls |
The basic element is described in the following chapters.
Document status
Id | Document id in www.etinglysing.no. |
---|---|
Current state for the document. | |
The object reflects what is registered in the Land Registry |
Each of the systems has its own document number series. To uniquely identify a document at the registration office you need system, year of registration and official document number.
Status/State
OPPRETTET | A document without a SDO |
---|---|
PART_SIGNERT | The document contains a SDO, signed by the title holder(s) but not by the sender of the document (rekvirent) |
UNDER_SIGNERING | The signing process has started but is not completed |
SIGNERT | All parties have signed the SDO. The document is ready for registration. |
FJERNET_FRA_SIGNERING | The document is removed from the signing process. V3 only. |
UNDER_TINGLYSING | The document has been sent for registration at Tinglysingsmyndigheten. |
TINGLYST | The document is confirmed registered with a successful result. |
TINGLYSING_FEILET | The document failed in registration. |
FJERNET_FRA_TINGLYSING | The document has been removed before it was registered. |
SLETTET | The document has been deleted from www.etinglysing.no. |
SENDT_TO_BROKER | The document is sent to broker for registration. |
Status transitions
From status | Action | To status |
---|---|---|
Generate pantedokument | OPPRETTET | |
Generate foelgebrev | OPPRETTET | |
OPPRETTET | Set SDOList (with both document and foelgebrev) | SIGNERT |
Alt. | ||
OPPRETTET | Set SDO | SIGNERT |
SIGNERT | Tinglys | UNDER_TINGLYSING TINGLYST TINGLYSING_FEILET |
SIGNERT | Send to broker | SENDT_TO_BROKER |
SENDT_TO_BROKER | ”Update from broker” | TINGLYST TINGLYSING_FEILET |
UNDER_TINGLYSING | CancelTinglys | FJERNET_FRA_TINGLYSING |
OPPRETTET | Tinglys Sdo | UNDER_TINGLYSING TINGLYST TINGLYSING_FEILET |
Alle | Get status | Does not change status |
Alle | Get artefact | Does not change status |
Document holder
Type | |
---|---|
Format | |
Content | byte array containing the document itself |
Artifakt
Dokument id | Document id in www.etinglysing.no. |
---|---|
Type | |
ArtifakterInBytes | byte array containing the artefact. |
This is only available for documents sent to the new
Artifact type
DOKUMENT | The document itself |
---|---|
PANTEATTEST | The former type of receipt from Kartverket |
OMSLAG (historical) | A historic type (not used anymore) |
GRUNNBOKSUTSKRIFT | The receipt showing a snapshot of Grunnboken after tinglysing operation |
Artifact scope
ALLE | All available atifacts |
---|---|
DOKUMENT | Document artifacts |
PANTEATTEST | Panteattest artifacts |
GRUNNBOKSUTSKRIFT | Only grunnboksutskrift |
OMSLAG | Only omslag |
RECEIPT | Both PANTEATTEST or GRUNNBOKSUTSKRIFT |
Document format
BIDXML | An XML structure to be used as input to BankID signing |
---|---|
SDO | A Signed Data Object defined by the SEID-SDO standard |
Portable document format | |
TEXT | Plain text |
Document type
PANTEDOKUMENT | Mortgage document |
---|---|
SLETTING | Deletion document |
FOELGEBREV | Slip/Envelope for registration process |
SKJOETE | Change of ownership |
Document status tinglysing
DokumentNr | The official document number assigned by the registration. |
---|---|
DokumentAar | The official registration year for the document. |
Embete | The office number |
Foeringsdag | The official registration date for the document. |
Foeringstidspunkt | The official registration time for the document. |
System | BORETT or EIENDOM |
List of Rettsstiftelser | A list of rettstiftelser within the registered document (rettsstiftelsesnummer, dokumenttypetekst and dokumenttypekode) |
Document url
Type | Valid value is DOCUMENT |
---|---|
Url | The document url. |
Definitions
Concept/Term | Description |
---|---|
Artefact/artifact | Documents returned from Statens Kartverk as a result of successful land registration. The type of artefact depends on the document registered. |
BankID | Online service for secure identification and electronic signing of documents. |
Elektronisk tinglysing | |
Ambita´s system for electronic registration (land registration, mortgages and corresponding cancellation). | |
Integrator | Bank og broker system |
Panteattest | A signed document returned by Statens Kartverk after a successful ‘tinglysing’ of a ‘pantedokument’ |
Pantedokument | A type of document typically used by banks to get security in a property for loans. |
SDO | Signed Data Object |
SSO | Single Sign On. A technical solution that enables users to log on to eTinglysing without entering username and password. |
Statens Kartverk | Owner of the land register |
Solution for signing documents electronically using BankID | |
SK-API | The Mapping authorities are creating a new system for tinglysing/registering which will deployed to production in September 2016 |
Følgebrev | Slip to be part of the shipment when registering document to Statens Kartverk |
Tinglys / Tinglysing | Norwegian term for land registration |
LR | Land Registry |
EPS | Electronic Settlement Process (Elektronisk Eiendomsoppgjør) |
Skjøte | A type of document used for changing owners of property |
Oppdrag | Placeholder for a group of related documents, often used by brokers |
Retinglysing | An addon (påtegning) prolonging the validity of a document |