Introduktion

STS-UUID2CPR-PROXY er en støtte-service på NSP, der tillader opslag i Digitaliseringsstyrelsens NemLog-in opslagstjenester. Servicen udstiller et simpelt REST-interface, og kræver ikke sikkerhedsbillet. Servicen består af følgende oprationer

  • /service/lookup/{uuid}
  • /service/lookup-pid-cpr/{pid}
  • /service/lookup-uuid-rid/{uuid}

Snitfladebeskrivelse

Generelt

Servicen udstiller 3 operationer via GET. Operationerne er beskrevet i en OpenAPI-specifikation, som kan hentes på stien /uuid2cpr-proxy-api/openapi. For nuværende version af servicen ser specifikationen ud som nedenfor.


openapi: 3.0.0
info:
  title: Uuid2Cpr Proxy service
  description: Intern NSP service der kan anvendes til at kalde NemLogin opslags services.
  version: "1.0.0"

servers:
  - url: '%endpoint%'

paths:
  /service/lookup/{uuid}:
    get:
      summary: Hent cpr-nummer ud fra uuid.
      description: Hent cpr-nummer ud fra uuid.
      parameters:
        - in: path
          name: uuid
          schema:
            type: string
          required: true
          description: Uuid
      responses:
        200:
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/cpr'
        404:
          description: Det givne uuid har intet cpr-nummer tilknyttet.
        500:
          description: Der opstod en fejl under opslag af cpr-nummer.

  /service/lookup-pid-cpr/{pid}:
    get:
      summary: Hent cpr-nummer ud fra pid.
      description: Hent cpr-nummer ud fra pid.
      parameters:
        - in: path
          name: pid
          schema:
            type: string
          required: true
          description: Pid
      responses:
        200:
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/cpr'
        404:
          description: Det givne pid har intet cpr-nummer tilknyttet.
        500:
          description: Der opstod en fejl under opslag af cpr-nummer.

  /service/lookup-uuid-rid/{uuid}:
    get:
      summary: Hent rid ud fra uuid.
      description: Hent rid ud fra uuid.
      parameters:
        - in: path
          name: uuid
          schema:
            type: string
          required: true
          description: Uuid
      responses:
        200:
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rid'
        404:
          description: Det givne uuid har intet rid tilknyttet.
        500:
          description: Der opstod en fejl under opslag af rid.

components:
  responses:
    '404':
      description: "Resource findes ikke."
  schemas:
    cpr:
      type: object
      required:
        - value
      properties:
        value:
          type: string
    rid:
      type: object
      required:
        - value
      properties:
        value:
          type: string

Eksempler

Herunder illustreres et par eksempel-requests og de tilhørende responses for de forskellige services.

Service lookup

Cpr-nummer findes

Dette eksempel viser tilfældet hvor uuid'et har et matchende cpr-nummer.

Request:

curl -i localhost:8080/uuid2cpr-proxy-api/service/lookup/UI:DK-E:G:2634ccc3-225a-44ee-94bc-565904f46ead

Response:

HTTP/1.1 200 OK
Connection: keep-alive
Content-Type: application/json
Content-Length: 22
Date: Wed, 09 Mar 2022 15:28:08 GMT

{"value":"2501879875"}

Cpr-nummer findes ikke

Dette eksempel viser tilfældet hvor uuid'et ikke har et matchende cpr-nummer.

Request:

curl -i localhost:8080/uuid2cpr-proxy-api/service/lookup/UI:DK-E:G:2634ccc3-225a-44ee-94bc-000000000000

Response:

HTTP/1.1 404 Not Found
Connection: keep-alive
Content-Type: application/json
Content-Length: 74
Date: Wed, 08 Mar 2023 09:40:41 GMT

Uuid UI:DK-E:G:2634ccc3-225a-44ee-94bc-000000000000 has no associated cpr.

Service lookup-pid-cpr

Cpr-nummer findes

Dette eksempel viser tilfældet hvor pid har et matchende cpr-nummer.

Request:

curl -i localhost:8080/uuid2cpr-proxy-api/service/lookup-pid-cpr/9208-2002-2-199567135534

Response:

HTTP/1.1 200 OK
Connection: keep-alive
Content-Type: application/json
Content-Length: 22
Date: Fri, 24 Feb 2023 12:26:53 GMT

{"value":"2501879875"}

Cpr-nummer findes ikke

Dette eksempel viser tilfældet hvor pid ikke har et matchende cpr-nummer.

Request:

curl -i localhost:8080/uuid2cpr-proxy-api/service/lookup-pid-cpr/9208-2002-2-000000000000

Response:

HTTP/1.1 404 Not Found
Connection: keep-alive
Content-Type: application/json
Content-Length: 51
Date: Wed, 01 Mar 2023 05:43:12 GMT

Pid 9208-2002-2-000000000000 has no associated cpr.

Service lookup-uuid-rid

Rid findes

Dette eksempel viser tilfældet hvor uuid har et matchende rid.

Request:

curl -i localhost:8080/uuid2cpr-proxy-api/service/lookup-uuid-rid/UI:DK-E:G:2634ccc3-225a-44ee-94bc-565904f46ead

Response:

HTTP/1.1 200 OK
Connection: keep-alive
Content-Type: application/json
Content-Length: 20
Date: Fri, 24 Feb 2023 12:44:22 GMT

{"value":"72976780"}


Rid findes ikke

Dette eksempel viser tilfældet hvor uuid ikke har et matchende rid.

Request:

curl -i localhost:8080/uuid2cpr-proxy-api/service/lookup-uuid-rid/UI:DK-E:G:2634ccc3-225a-44ee-94bc-000000000000

Response:

HTTP/1.1 404 Not Found
Connection: keep-alive
Content-Type: application/json
Content-Length: 74
Date: Wed, 01 Mar 2023 05:45:00 GMT

Uuid UI:DK-E:G:2634ccc3-225a-44ee-94bc-000000000000 has no associated rid.




  • No labels