Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
<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:

Code Block
<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:

Code Block
<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:

Code Block
<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:

  1. Send the document to the Land Registry

  2. 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:

Code Block
<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

Code Block
<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
(feste))

RETTIGHETSHAVER_I_URAADIGHET

A legal person is blocking registration
unless his consent is given (signature on the document)

UTSTEDER

The seller is not the land owner
(only relevant for deeds)

PANTSETTER

The legal person if not equal to the land owner
(hjemmelshaver)

In V7 this is put outside the property, hence yields the whole document (across all properties)

Code Block
<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