Deze pagina betreft een voorstel voor uitbreiding van de Edubadges API om het aanmaken van badgeclasses te ondersteunen.
Een tweede usecase betreft het aanmaken van badgeclasses via de Edubadges API.
Instellingen willen badgeclasses kunnen aanmaken waarbij de badgeclass metadata aangeleverd wordt vanuit de SIS of vanuit een ander instellingsbronsysteem.
Uitgangspunt is dat alle benodigde metadata (zie tabel hieronder) wat benodigd is om een badgeclass aan te kunnen maken, door de instelling via de API, wordt aangeleverd.
Userstory's
- Als instellingsgebruiker zou ik graag nieuwe Edubadges badgeclasses willen aanmaken, waarbij de benodigde data via een API wordt aangeleverd.
- Ik kan dit zowel per badgeclass als met meerdere badgeclasses tegelijk (bulk) aanmaken.
- Wanneer ik deze functie gebruikt heb, dan ontvang ik na het verwerken een overzicht van de status van deze verwerking. Ik zie daarbij wat de ID's en URL's van de aangemaakte badgeclasses zijn en zie eventueel ook welke badgeclasses niet aangemaakt konden worden en waarom.
- Ik kan deze API ook gebruiken om wijzigingen aan badgeclasses aan te brengen, zolang er nog geen Edubadges zijn uitgegeven.
Voorbeeld edubadges badgeclass metadata
Deze tabel geeft aan welke data een Edubadges badgeclass kan bevatten en welke dataelementen verplicht dan wel optioneel zijn.
Als voorbeeld dient de badgeclass op: https://demo.edubadges.nl/public/y9Zv1aFwREargJY47cO8ww
*) Verplicht veld
Voorbeeld data benodigd voor een badgeclass
| Metadata veld naam Nederlands/Engels | Bestaand Table / Field / Type | Voorbeeld data |
|---|---|---|
|
| |
*) Issuer / Issuer NB: het publieke issuer-ID zal hier moeten worden opgegeven | | issuer_id: 3 |
Badgeclass Entity-ID NB: Dit Badgeclass Entity-ID wordt teruggegeven na het aanmaken van een nieuwe badgeclass, maar kan optioneel worden gebruikt om wijzigingen aan te brengen aan het opgegeven badgeclass-ID |
| entity_id: y9Zv1aFwREargJY47cO8ww |
*) Edubadge afbeelding / Edubadge image NB: hoe images via deze API naar het Edubadges platform kunnen worden overgezet moet nader worden onderzocht. |
| image: uploads/badges/issuer_badgeclass_edb0a93a-b125-481e-9b74-d61b3179ef83.png |
| *) Standaard vervaldatum / Default expiration setting |
| Default: nooit (=0)
|
*) Naam / Name | issuer_badgeclass / name |
|
*) Beschrijving / Description |
|
|
| *) Taal van het onderwijs / Language of instruction |
|
|
Leeruitkomsten / Learning outcomes NB: Supports MarkDown
|
|
|
*) Criteria / Criteria Aan welke criteria moet je voldoen om in aanmerking te komen voor deze edubadge? NB1: Invullen van criteria of van criteria URL is verplicht. NB2: Supports MarkDown |
| criteria_text: This metadata field is used to describe the |
Of verstrek een criteria URL Geef een persistente (blijvende) link naar de criteria of meer informatie NB: Invullen van criteria of van criteria URL is verplicht. |
|
|
Studielast / Study load Studiepunten (ECTS) NB1: Alleen hele en halve punten. NB2: Een minimum van 0,5 punt is vereist. NB3: Of Studielast OF Tijd investering - Niet beiden mogelijk NB4: Voor MBO wordt de Studielast uitgedrukt in SBU: Studiebelastinguren |
|
|
Tijd investering / Time investment in uren |
|
|
Toegestane edubadge instellingen / NB: Alleen voor badgeclasses ZONDER Studielast (ECTS of SBU) |
|
|
Opleidingscodes / Programme Identifiers NB1: De opleidingscode is verplicht als er studiepunten zijn opgegeven. NB2: Meerdere Opleidingscodes mogelijk |
|
|
Indicatief EQF niveau / Indicative EQF level
|
|
|
| ||
Naam / Name |
|
|
URL / URL | issuer_badgeclassalignment / | target_url: https://esco.ec.europa.eu/nl/classification/skills?uri=http://data.europa.eu/esco/skill/ce6a9c03-7d45-4551-b47c-d6af1110f6a0 |
Omschrijving / Description |
|
|
|
|
|
| Code / Code | | target_code: ce6a9c03-7d45-4551-b47c-d6af1110f6a0 |
| Badge class opties / Badge class options | ||
| Privé badge class / Private badge class |
| is_private: 0 |
| Uitreiken aan niet gevalideerd account toestaan / Award to non-validated account allowed |
| award_non_validated_name_allowed: 0 |
| Badge class ihkv de pilot Microcredentials / Badge class related to Microcredentials pilot |
| is_micro_credentials: 0 |
| Archived |
| archived: 0 |
| Evidence/Narrative opties / Evidence/Narrative options | ||
| Bewijs (URL) verplicht bij uitgeven / Evidence (URL) required when issuing |
| evidence_required: 1 |
| Motivatie verplicht bij uitgeven / Narrative required when issuing |
| narrative_required: 1 |
| Motivatie verplicht voor aanvraag / Motivation required for enrollment |
| narrative_student_required: 1 |
| Bewijs (URL) verplicht voor aanvraag / Evidence (URL) required for enrollment |
| evidence_student_required: 1 |
| Award opties / Award options | ||
| Direct-Award niet toegestaan / Direct-Award disabled |
| direct_awarding_disabled: 0 |
| Self-enrollment niet toegestaan / Self-enrollment disabled |
| self_enrollment_disabled: 0 |
Voorbeeld Response data
| Status |
| 200 OK |
| Badgeclass-ID | issuer_badgeclass / idint(11) | id: 132 |
| Badgeclass Entity-ID |
| entity_id: y9Zv1aFwREargJY47cO8ww |
| Date and Time Created | | created_at: 2024-02-08 14:42:28.494484 |
| Created by UserID | | created_by_id: 2 |
| Date and Time Updated | | updated_at: 2024-02-08 14:42:28.866918 |
| Updated by UserID |
| updated_by_id: NULL |
Voorbeeld POST /badgeclass/create
Request Body
{
"bc_user_id": "string",
"issuer_id": "string",
"entity_id": "string",
"image": "string",
"expiration_period": "integer",
"name": "string",
"description": "string",
"Language": "string",
"LearningOutcome": "string",
"criteria_text": "string",
"criteria_url": "string",
"ECTS": "integer",
"TimeInvestment": "integer",
"EducationProgramIdentifier": "string",
"EQF": "integer",
"badgeclassalignment": [
{
"target_name": "string",
"target_url": "string",
"target_description": "string",
"target_framework": "string",
"target_code": "string"
}
],
"is_private": "boolean",
"award_non_validated_name_allowed": "boolean",
"is_micro_credentials": "boolean",
"archived": "boolean",
"evidence_required": "boolean",
"narrative_required": "boolean",
"narrative_student_required": "boolean",
"evidence_student_required": "boolean",
"direct_awarding_disabled": "boolean",
"self_enrollment_disabled": "boolean"
}'
cURL Examples
# Example Badgeclass Create
curl --location --request POST 'https://api-demo.edubadges.nl/badgeclass/create' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJraWQiOiJrZXlfMjAyM18wOF8xNV8wMF8wMF8wMF8wMjIiLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJvc2lyaXMuZGVtby5lZHViYWRnZXMubmwiLCJzdWIiOiJvc2lyaXMuZGVtby5lZHViYWRnZXMubmwiLCJuYmYiOjE2OTIwOTY1MTksInNjb3BlIjoiZWR1YmFkZ2VzLm5sXC9zaXMiLCJpc3MiOiJodHRwczpcL1wvY29ubmVjdC50ZXN0LnN1cmZjb25leHQubmwiLCJleHAiOjE2OTIxODI5MTksImlhdCI6MTY5MjA5NjUxOSwianRpIjoiMTNhZmIyMTktNDE5ZC00YWI4LTlhYzktZDY0MGUzZjJmM2YyIn0.RDGEhmOfTp-Nsr-rt_Wi6COSWwiBVrOIAMkax-gheO99rHsfbXIMKEBADEC0QzWn2LKifpsrBIbi6QBJvWcJkqcEUgg-3PflZPxq2ypOVFmqU0dqro92x5twLlpphydgcoucy2hfVVzxpfUq8nSOHIuu-8oHPdiyJ5zoLqt4NwPScMxqy3FJerTMcb7IwXX4oQdJQCRwnGxdDCTlH8KN2zckVHZIpyieFr-Xo9HpysOKbHYp6UFrpjf2nS3rXqMeOHlp8MaXd66-Pxl0jFILezM_b7_crld47y8NdYjqfBWk1jLWYuMcbVrXNyg9z1wHO14q3I6C4_Z5uhVxoSk_Pw' \
--data-raw '{
"bc_user_id": "Naam van de instellingsgebruiker die namens de instelling deze actie uitvoert",
"issuer_id": "gezBl177SuWhblEmfiSgDw",
"image": "uploads/badges/issuer_badgeclass_edb0a93a-b125-481e-9b74-d61b3179ef83.png",
"expiration_period": 0,
"name": "Edubadges Example Badgeclass - Metadata",
"description": "### Edubadges Example Badgeclass
The purpose of this badgeclass is to show an example of the metadata fields of a badgeclass.
*For demonstration purposes only *",
"Language": "en_EN",
"LearningOutcome": "The learning outcome of this badgeclass states that the recipient is able to read and
interpret ancient sources as well as modern texts, and demonstrates a good overview
of the important developments of this time period.",
"criteria_text": "To qualify for this edubadge the student needs to
successfully complete the course such-and-so",
"criteria_url": "https://wiki.surfnet.nl/display/Edubadges/Edubadges+Example+BadgeClass",
"ECTS": 5,
"TimeInvestment": 40,
"EducationProgramIdentifier": "23434534",
"EQF": 7,
"badgeclassalignment": [
{
"target_name": "History",
"target_url": "https://esco.ec.europa.eu/nl/classification/skills?uri=http://data.europa.eu/esco/skill/ce6a9c03-7d45-4551-b47c-d6af1110f6a0",
"target_description": "The methods, techniques and guidelines historians follow when researching and describing the past, such as the use of primary sources",
"target_framework": "ESCO",
"target_code": "ce6a9c03-7d45-4551-b47c-d6af1110f6a0"
}
],
"is_private": false,
"award_non_validated_name_allowed": false,
"is_micro_credentials": false,
"archived": false,
"evidence_required": true,
"narrative_required": true,
"narrative_student_required": true,
"evidence_student_required": true,
"direct_awarding_disabled": false,
"self_enrollment_disabled": false
}'
# Example Badgeclass Update
curl --location --request POST 'https://api-demo.edubadges.nl/badgeclass/create' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJraWQiOiJrZXlfMjAyM18wOF8xNV8wMF8wMF8wMF8wMjIiLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJvc2lyaXMuZGVtby5lZHViYWRnZXMubmwiLCJzdWIiOiJvc2lyaXMuZGVtby5lZHViYWRnZXMubmwiLCJuYmYiOjE2OTIwOTY1MTksInNjb3BlIjoiZWR1YmFkZ2VzLm5sXC9zaXMiLCJpc3MiOiJodHRwczpcL1wvY29ubmVjdC50ZXN0LnN1cmZjb25leHQubmwiLCJleHAiOjE2OTIxODI5MTksImlhdCI6MTY5MjA5NjUxOSwianRpIjoiMTNhZmIyMTktNDE5ZC00YWI4LTlhYzktZDY0MGUzZjJmM2YyIn0.RDGEhmOfTp-Nsr-rt_Wi6COSWwiBVrOIAMkax-gheO99rHsfbXIMKEBADEC0QzWn2LKifpsrBIbi6QBJvWcJkqcEUgg-3PflZPxq2ypOVFmqU0dqro92x5twLlpphydgcoucy2hfVVzxpfUq8nSOHIuu-8oHPdiyJ5zoLqt4NwPScMxqy3FJerTMcb7IwXX4oQdJQCRwnGxdDCTlH8KN2zckVHZIpyieFr-Xo9HpysOKbHYp6UFrpjf2nS3rXqMeOHlp8MaXd66-Pxl0jFILezM_b7_crld47y8NdYjqfBWk1jLWYuMcbVrXNyg9z1wHO14q3I6C4_Z5uhVxoSk_Pw' \
--data-raw '{
"bc_user_id": "Naam van de instellingsgebruiker die namens de instelling deze actie uitvoert",
"issuer_id": "gezBl177SuWhblEmfiSgDw",
"entity_id": "y9Zv1aFwREargJY47cO8ww",
"image": "uploads/badges/issuer_badgeclass_edb0a93a-b125-481e-9b74-d61b3179ef83.png",
"expiration_period": 0,
"name": "Edubadges Example Badgeclass - Metadata",
"description": "### Edubadges Example Badgeclass
The purpose of this badgeclass is to show an example of the metadata fields of a badgeclass.
*For demonstration purposes only *",
"Language": "en_EN",
"LearningOutcome": "The learning outcome of this badgeclass states that the recipient is able to read and
interpret ancient sources as well as modern texts, and demonstrates a good overview
of the important developments of this time period.",
"criteria_text": "To qualify for this edubadge the student needs to
successfully complete the course such-and-so",
"criteria_url": "https://wiki.surfnet.nl/display/Edubadges/Edubadges+Example+BadgeClass",
"ECTS": 5,
"TimeInvestment": 40,
"EducationProgramIdentifier": "23434534",
"EQF": 7,
"badgeclassalignment": [
{
"target_name": "History",
"target_url": "https://esco.ec.europa.eu/nl/classification/skills?uri=http://data.europa.eu/esco/skill/ce6a9c03-7d45-4551-b47c-d6af1110f6a0",
"target_description": "The methods, techniques and guidelines historians follow when researching and describing the past, such as the use of primary sources",
"target_framework": "ESCO",
"target_code": "ce6a9c03-7d45-4551-b47c-d6af1110f6a0"
}
],
"is_private": false,
"award_non_validated_name_allowed": false,
"is_micro_credentials": false,
"archived": false,
"evidence_required": true,
"narrative_required": true,
"narrative_student_required": true,
"evidence_student_required": true,
"direct_awarding_disabled": false,
"self_enrollment_disabled": false
}'