Versions Compared

Key

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

...

Nærværende dokument indgår i den samlede dokumentationspakke for stamdataregistret på NSP. Dokumentationspakken giver tilsammen det fulde overblik over dokumentationen.

”Guide til anvendere - Yderinformation” er målrettet udviklere og arkitekter hos leverandører, som ønsker at anvende funktionaliteten udstillet af servicen "Yderinformation" i stamdataservicen.

...

Stamdataservicen udstiller en REST-service der, i sin nuværende form, kan anvendes til at hente det CVR-nummer der er tilknyttet et ydernummer.

Servicen udstiller følgende snitflader:

  1. Enkeltopslag - returnerer CVR-nummeret for ét ydernummer på en given dato.

  2. Batchopslag – modtager en liste af ydernumre grupperet efter dato og returnerer CVR-numre for dem alle i ét kald. Denne snitflade er særligt velegnet ved større mængder af opslag, hvor enkeltopslag ville medføre markant forsinkelse.

Bemærk: Denne service kan kun anvendes internt på NSP. Derfor har servicen heller ikke nogen sikkerhedsprotokol.

Herunder gengives den de aktuelle snitflade snitflader som den de ser ud ved servicens oprettelse. Den mest aktuelle specifikation kan findes i sourcekoden (som pt. hostes her her https://git.nspop.dk/projects/COM/repos/stamdatamodul/browse).

Code Block
languageyml
titleOpen API specifikation
collapsetrue
openapi: 3.0.0
info:
   title: Yder Information REST Service
   description: Intern NSP service, der kan anvendes til at slå informationer om en Yder op.
   version: "1.0.0"

servers:
   - url: '%endpoint%'

paths:
   /stamdata-yderinformation/20241003/yder/{ydernummer}/cvr:
      get:
         summary: Hent CVR nummer for en Yder.
         description: Returnerer CVR nummeret for en Yder givet et ydernummer og en dato.
         parameters:
            - in: path
               name: ydernummer
               schema:
                       type: string
                       pattern: '^\d{6}$'  # # Ydernummer er præcis 6 cifre.
               required: true
               description: Ydernummer, der skal søges efter.
               example: "010101"
            - in: query
               name: dato
               schema:
                       type: string
                       format: date
               required: false
               description: Dato for CVR opslag.
          Sættes til dags dato hvis ikke angivet.
          example: "2021-01-30"
         responses:
            200:
               description: OK - CVR nummer fundet.
               content:
                       application/json:
                           schema:
                               $ref: '#/components/schemas/cvr'
            400:
               description: Ugyldig forespørgsel (fx ugyldigt datoformat).
            404:
               description: Ydernummeret blev ikke fundet.
        500:
          description: Intern serverfejl.

  /stamdata-yderinformation/20260326/yder/cvr/batch:
    post:
      summary: Hent CVR numre for flere Ydere på tværs af datoer i ét kald.
      description: >
        Modtager en liste af operationer, hver med en dato og et eller flere ydernumre,
        og returnerer CVR-værdier for samtlige ydernumre i ét svar.
        Ydernumre der ikke findes returneres med cvr sat til null.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/batchCvrRequest'
            example:
              op: "BatchedOperations"
              operations:
                - op: "YderCvr"
                  dato: "2024-10-03"
                  ydernumre: ["010101", "020202"]
                - op: "YderCvr"
                  dato: "2024-11-01"
                  ydernumre: ["030303"]
      responses:
        200:
          description: OK - CVR numre returneret.
        500:
          Ydernumre der ikke findes har cvr sat til null.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/batchCvrResponse'
        400:
          description: Ugyldig forespørgsel (fx ugyldigt datoformat eller forkert op-værdi).
        500:
          description: Intern serverfejl.

components:
   schemas:
      cvr:
         type: object
         required:
            - cvr
         properties:
            cvr:
               type: string
               description: CVR nummeret for Yderen.
               pattern: '^\d{8}$'   ## CVR er præcis 8 cifre.
          example: "12345678"

    batchCvrRequest:
      type: object
      required:
        - op
        - operations
      properties:
        op:
          type: string
          enum: ["BatchedOperations"]
          description: Angiver at dette er en batch-forespørgsel.
        operations:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/yderCvrOperation'

    yderCvrOperation:
      type: object
      required:
        - op
        - ydernumre
      properties:
        op:
          type: string
          enum: ["YderCvr"]
          description: Operationstype.
        dato:
          type: string
          description: Dato for CVR opslag (ISO-8601, fx "2024-10-03"). Sættes til dags dato hvis ikke angivet.
          example: "2024-10-03"
        ydernumre:
          type: array
          minItems: 1
          items:
            type: string
            pattern: '^\d{6}$'  # Ydernummer er præcis 6 cifre.
         .
          description: Liste af ydernumre der skal slås op.
          example: ["010101", "020202"]

    batchCvrResponse:
      type: object
      required:
        - op
        - results
      properties:
        op:
          type: string
          enum: ["BatchedOperations"]
        results:
          type: array
          items:
            $ref: '#/components/schemas/yderCvrResult'

    yderCvrResult:
      type: object
      required:
        - op
        - dato
        - ydernummer
      properties:
        op:
          type: string
          enum: ["YderCvr"]
        dato:
          type: string
          description: Den dato opslaget blev foretaget for (ISO-8601, fx "2024-10-03").
          example: "2024-10-03"
        ydernummer:
          type: string
          pattern: '^\d{6}$'
          description: Det ydernummer resultatet vedrører.
          example: "010101"
        cvr:
          type: string
          pattern: '^\d{8}$'
          nullable: true
          description: CVR nummeret for Yderen, eller null hvis ydernummeret ikke blev fundet.
          example: "12345678"

Endpoints

Servicen kan tilgås på nedenstående endpoint endpoints, hvor stamdatahost `stamdatahost` skal tilrettets tilrettes til den aktuelle host.

...

Eksempler

Eksempel 1: Find CVR for ydernummer

...

Code Block
languagebash
curl --location 'http://stamdatahost/stamdata-yderinformation/20241003/yder/44733121212/cvr?dato=2026-10-21'

Response

Der svares med HTTP statuskode 200 og følgende JSON.

Code Block
languagejs
{"cvr":"11212122"}

Find CVR for flere ydernumre i ét kald

I dette eksempel kaldes batchsnitfladen med to operationer, der hver indeholder en dato og et eller flere ydernumre. Se i øvrigt API-specifikationen længere oppe.

Request

Request i form af et curl-udtryk.

Code Block
languagebash
curl --location 'http://stamdatahost/stamdata-yderinformation/20260326/yder/cvr/batch' \
  --header 'Content-Type: application/json' \
  --data '{
    "op": "BatchedOperations",
    "operations": [
      {
        "op": "YderCvr",
        "dato": "2024-10-21",
        "ydernumre": ["44733", "12345"]
      },
      {
        "op": "YderCvr",
        "dato": "2024-11-01",
        "ydernumre": ["67890"]
      }
    ]
  }'

Response

Der svares med HTTP statuskode 200 og følgende JSON. Ydernumre der ikke findes returneres med `cvr` sat til `null`.

Code Block
languagejs
{
  "op": "BatchedOperations",
  "results": [
    { "op": "YderCvr", "dato": "2024-10-21", "ydernummer": "44733", "cvr": "33257872" },
    { "op": "YderCvr", "dato": "2024-10-21", "ydernummer": "12345", "cvr": "00000003" },
    { "op": "YderCvr", "dato": "2024-11-01", "ydernummer": "67890", "cvr": null }
  ]
}