View Categories

14.3 Studd Public API

8 min read

Om Studd Public API #

Studd Public API gir utdanningsinstitusjoner mulighet til å hente ut og vise informasjon fra Studd direkte på egne nettsider. Dette inkluderer informasjon om utdanningstilbud, opptak, kontaktpersoner og annen relevant data som normalt ville vært offentlig tilgjengelig.

Forutsetninger #

  • Institusjonens nettside må støtte integrasjon mot et API.
  • Oppsett og integrasjon gjøres av institusjonens egen webleverandør.
  • API-et er åpent (public) og krever ikke innlogging eller autentisering. Det er derfor kun mulig å hente ut informasjon som uansett er ment for offentlig publisering.

Bruk og begrensninger #

  • Det er ingen begrensninger på hvor ofte API-et kan benyttes, men vi forbeholder oss retten til å innføre autentisering eller trafikkbegrensninger i fremtiden ved behov. Institusjoner vil i så fall varsles i god tid.
  • API-et benytter ikke webhook eller tilsvarende for å varsle om endringer, men dette kan bli aktuelt på et senere tidspunkt.A

Studd Public API for ikke-utviklere #

Studd Public API gjør det mulig å automatisk synkronisere informasjon fra Studd til institusjonens nettside. Endringer i for eksempel emnebeskrivelser, åpne opptak og kontaktinformasjon blir dermed raskt synlige for publikum uten manuell oppdatering. Vi anbefaler at denne funksjonaliteten settes opp av den/de som har teknisk ansvar for nettsiden.

API-et består av flere adresser (URL-er) som kan hentes fra for å vise informasjon på nettsiden. Eksempler:

  • Opptak (admissions): Lister og detaljer om studier som er åpne for søknad, inkludert frister, beskrivelser og studiested.
  • Studieprogrammer: Beskrivelser av utdanningene institusjonen tilbyr, inkludert læringsutbytte, struktur og emner.
  • Emner (subjects): Detaljer om hvert enkelt fag/emne, som innhold, ansvarsperson og antall studiepoeng.

All informasjon er tilgjengelig i et fast format som utviklere lett kan hente ut og vise på nettsiden, f.eks. som lister, kort eller detaljerte sider.

Resten av dokumentet er teknisk og rettet mot utviklere og IT-kyndige.

Studd public API #

Base URL for produksjonsmiljø #

https://adm.studd.no/api/public/organisations/###

Der ### tilsvarer den aktuelle utdanningsinstitusjonens nummer i databasen. Superbruker kan finne dette nummeret ved å logge inn i studd og velge Oppsett. I eksempelet under har organisasjonen kortkode ABC og nummer 123.

Base URL for demomiljø #

https://demo-studd.kongarthur.no/api/public/organisations/###

Der ### tilsvarer den aktuelle utdanningsinstitusjonens nummer i databasen. Nummeret i demomiljøet vil være det samme som i produksjonsmiljøet.

Admission list #

Fetches a list with published Admissions.

URL path:
    GET /public/organisations/{organisationId}/admissions
Path parameters:
    organisationId - ID of the organisation

Return object example

{
    "content":[     // array with admission info objects
        {
            "id": 12345, // admission identificator
            "name": "Digital markedsføring - Høst 2022", // admission name
            "description":"<p>Description of admission</p>", // HTML formatted Admission description
            "openingDate":"2021-01-01", // Open for applications from
            "closingDate":"2022-04-30", // Open for applications to
            "teachingStartDate": "2022-08-01", // Date of study start
            "courseNusCode": "542207",
            "teachingLocationNames": ["Oslo", "Sandefjord"], // Study locations
            "courseSubjectAreas": ["Allmenne fag", "Humanistiske og estetiske fag"] // fagområder
            "courseId": 12345 // ID of the study program related with the admission
            "links": {
                "application":"https://demo-studd.kongarthur.no/abc/admissions/{admissionId}" // link to application form for admission
            },
            "category": "LOCAL" // possible values: LOCAL (for local admissions) or SAMMORDNA_OPPTAK (for Sammordna Opptak admissions)
        }, 
        ...
    ],
                                // paging info
    "totalPages":1,
    "first": true,
    "last": false,
    "numberOfElements": 20,
    "totalElements": 30,
    "size":20,  // page size
    "number":0, // page number starting from 0
    "empty":false
}

Admission details #

Fetches details about a single Admission.

URL path:
    GET /public/organisations/{organisationId}/admissions/{admissionId}
Path parameters:
    organisationId - ID of the organisation
    admissionId - ID of the admission

Response object example:

// Admission details object

{
    "id": 12345, // admission id
    "name": "Digital markedsføring - Høst 2022", // admission name
    "description":"<p>HTML formatted Admission description</p>", // HTML formatted admission description
    "openingDate":"2021-01-01", // Open for applications from
    "closingDate":"2022-04-30", // Open for applications to
    "courseId": 12345 // ID of the study program related with the admission
    "courseName": "Digital markedsføring", // Course name
    "courseNusCode": "542207",
    "courseSubjectAreas": ["Allmenne fag", "Humanistiske og estetiske fag"] // fagområder
    "courseDescription": "<p>HTML formatted Course description</p>", // HTML formatted general description of the course
    "courseCredits": 10, // Course size in credits
    "teachingDescription": "<p>HTML formatted teaching description</p>"
    "teachingStartDate": "2021-08-01", // Date of study start
    "teachingName":"Digital markedsføring - H21-V23", // name of the Teaching (Teaching - course with time perspective, f.ex. )
    "teachingDescription": "<p>HTML formatted Teaching description</p>", // HTML formatted Teaching description
    "contactPersonName": "Ola Nordman",
    "contactPersonPhone": "44332211",
    "contactPersonEmail": "olanordman@studd.no",
    "teachingLocationNames": ["Oslo", "Sandefjord"] // Study locations
    "links": {
        "application":"https://demo-studd.kongarthur.no/abc/admissions/{admissionId}"
    },
    "category": "LOCAL" // possible values: LOCAL (for local admissions) or SAMMORDNA_OPPTAK (for Sammordna Opptak admissions)
}

Study program list #

Fetches a list of Study Programs for an organisation.

URL path:
    GET /public/organisations/{organisationId}/study-programs
Path parameters:
    organisationId - ID of the organisation

Response object example:


// Study program details with structure. Fields not having content might be missing in the output.

{
    "id": 12345             // study program id
    "code": "SUTDD-1",      // study program cod
    "studyLevel": "Toårig fagskolestudium",     // study level (fagområde)
    "credits": 120.00,              // study program size in credits
    "category": "Studd course",     // study program category       
    "academicResponsibility": "Ola Nordman",        // person having academic responsibility for the study program
    "administrativeResponsibility": "Ola Nordman",  // person having administrative responsibility for the study program
    "teachingUnit": 1,      // for internal use
    "evaluationUnit": 1,    // for internal use
    "diplomaUnit": 1,       // for internal use
    "nusCode": "542207",    // NUS-kode
    "introduction": "HTML formatted text",      // Study program introduction
    "learningOutcomes": "HTML formatted text",  // Learning outcomes general
    "learningOutcomeKnowledge": "HTML formatted text",  // Knowledge
    "learningOutcomeSkills": "HTML formatted text",     // Skills
    "learningOutcomeGenComp": "HTML formatted text",    // General competence
    "learningMethods": "HTML formatted text",           // Learning methods
    "assessmentMethods": "HTML formatted text",           // Assessment methods
    "content": "HTML formatted text",                   // Subjects    
    "admissionRequirements": "HTML formatted text",
    "exams": "HTML formatted text",
    "structure": "HTML formatted text",
    "documentation": "HTML formatted text",
    "supplementaryInfoList": [  // study program info in different languages
        {
            "langCode": "NB",   // info language code
            "name": "Bachelor i Studd", // study program name
            "description": "<p>Html formatted public course description</p>"
        }
    ],
    "courseStructureElement": {
        "courseId": 12345,
        "courseRevisionId": 123456,
        "courseActive": 1,
        "courseCode": "STUDD-1",
        "courseName": "Bachelor i Studd",
        "courseElementType": "STUDY_PROGRAM",
        "credits": 120.00,
        "childElements": [
            {
                "courseId": 11111,
                "courseRevisionId": 11112,
                "courseActive": 1,
                "courseCode": "STUDD-001",
                "courseName": "Inføring i Studd",
                "courseElementType": "SUBJECT",
                "credits": 15.00,
                "mandatory": 1,
                "sequenceNo": 1,
                "childElements": []
            }
        ]
    }
}

Study program details #

Fetches study program details object.

URL path:
    GET /public/course/{studyProgramId}
Path parameters:
    studyProgramId - ID of the study program

// Study program details with structure. Fields not having content might be missing in the output.

{
    "id": 12345             // study program id
    "code": "SUTDD-1",      // study program code
    "studyLevel": "Toårig fagskolestudium",     // study level (fagområde)
    "credits": 120.00,              // study program size in credits
    "category": "Studd course",     // study program category       
    "academicResponsibility": "Ola Nordman",        // person having academic responsibility for the study program
    "administrativeResponsibility": "Ola Nordman",  // person having administrative responsibility for the study program
    "teachingUnit": 1,      // for internal use
    "evaluationUnit": 1,    // for internal use
    "diplomaUnit": 1,       // for internal use
    "nusCode": "542207",    // NUS-kode
    "introduction": "HTML formatted text",      // Study program introduction
    "learningOutcomes": "HTML formatted text",  // Learning outcomes general
    "learningOutcomeKnowledge": "HTML formatted text",  // Knowledge
    "learningOutcomeSkills": "HTML formatted text",     // Skills
    "learningOutcomeGenComp": "HTML formatted text",    // General competence
    "learningMethods": "HTML formatted text",           // Learning methods
    "assessmentMethods": "HTML formatted text",           // Assessment methods
    "content": "HTML formatted text",                   // Subjects    
    "admissionRequirements": "HTML formatted text",
    "exams": "HTML formatted text",
    "structure": "HTML formatted text",
    "documentation": "HTML formatted text",
    "supplementaryInfoList": [  // study program info in different languages
        {
            "langCode": "NB",   // info language code
            "name": "Bachelor i Studd", // study program name
            "description": "<p>Html formatted public course description</p>"
        }
    ],
    "courseStructureElement": {
        "courseId": 12345,
        "courseRevisionId": 123456,
        "courseActive": 1,
        "courseCode": "STUDD-1",
        "courseName": "Bachelor i Studd",
        "courseElementType": "STUDY_PROGRAM",
        "credits": 120.00,
        "childElements": [
            {
                "courseId": 11111,
                "courseRevisionId": 11112,
                "courseActive": 1,
                "courseCode": "STUDD-001",
                "courseName": "Inføring i Studd",
                "courseElementType": "SUBJECT",
                "credits": 15.00,
                "mandatory": 1,
                "sequenceNo": 1,
                "childElements": []
            }
        ]
    }
}

Subject list #

Fetches a list of Subjects for an organisation.

URL path:
    GET /public/organisations/{organisationId}/subjects
Path parameters:
    organisationId - ID of the organisation

Response object example:

// Subject list item object

{
    "content": [
        {
            "id": 11111,            // subject ID
            "code": "STUDD-101",    // subject code
            "credits": 15.00,       // subject size in credits
            "category": "Emner",    // subject category
            "academicResponsibility": "Ola Nordman",    // name of the person having academic responsibility for the subject 
            "administrativeResponsibility": "Olar Nordman", // name of the person having administrative responsibility for the subject
            "teachingUnit": 1,      // for internal use
            "evaluationUnit": 1,    // for internal use
            "diplomaUnit": 1,       // for internal use
            "supplementaryInfoList": [  // subject info in different languages
                {
                    "langCode": "NB",       // info language code
                    "name": "Inføring i Studd",     // subject name
                    "description": "<p>Html formatted description of the subject</p>"
                }
            ]
        }
    ],
    "totalPages":1,
    "first": true,
    "last": false,
    "numberOfElements": 20,
    "totalElements": 30,
    "size":20,  // page size
    "number":0, // page number starting from 0
    "empty":false
}

Subject details #

Fetches Subject details object.

URL path: 
    GET /public/course/{courseId}
Path parameters:
    courseId - ID of the subject

Response object example:

// Subject details with structure. Fields not having content might be missing in the output.

{
    "id": 12345             // study program id
    "code": "SUTDD-1",      // study program code
    "studyLevel": "Toårig fagskolestudium",     // study level (fagområde)
    "credits": 120.00,              // study program size in credits
    "category": "Studd course",     // study program category       
    "academicResponsibility": "Ola Nordman",        // person having academic responsibility for the study program
    "administrativeResponsibility": "Ola Nordman",  // person having administrative responsibility for the study program
    "teachingUnit": 1,      // for internal use
    "evaluationUnit": 1,    // for internal use
    "diplomaUnit": 1,       // for internal use
    "nusCode": "542207",    // NUS-kode
    "introduction": "HTML formatted text",      // Subject introduction
    "learningOutcomes": "HTML formatted text",  // Learning outcomes general
    "learningOutcomeKnowledge": "HTML formatted text",  // Knowledge
    "learningOutcomeSkills": "HTML formatted text",     // Skills
    "learningOutcomeReflection": "HTML formatted text",    // General qualifications
    "content": "HTML formatted text",                   // Subject content   
    "requiredPrerequisiteKnowledge": "HTML formatted text",
    "readingList": "HTML formatted text",
    "supplementaryInfoList": [  // study program info in different languages
        {
            "langCode": "NB",   // info language code
            "name": "Bachelor i Studd", // study program name
            "description": "<p>Html formatted public course description</p>"
        }
    ],
    "courseStructureElement": {
        "courseId": 12345,
        "courseRevisionId": 123456,
        "courseActive": 1,
        "courseCode": "STUDD-1",
        "courseName": "Bachelor i Studd",
        "courseElementType": "STUDY_PROGRAM",
        "credits": 120.00,
        "childElements": [
            {
                "courseId": 11111,
                "courseRevisionId": 11112,
                "courseActive": 1,
                "courseCode": "STUDD-001",
                "courseName": "Inføring i Studd",
                "courseElementType": "SUBJECT",
                "credits": 15.00,
                "mandatory": 1,
                "sequenceNo": 1,
                "childElements": []
            }
        ]
    }
}

URL query parameters #

All API methods fetching a list of objects can be used with the following URL query parameters:

page - page number (starting with 0) to fetch. Example: page=1.
size - page size to fetch (default 20). Example: size=15.
sort - allowed values: [openingDate(default), name],[asc(default), desc]. Example: sort=name,asc.
name.contains - allows searching for admissions with names containing parameter value. Example: name.contains=digital.

0 kommentarer

Legg igjen en kommentar

Avatar placeholder