BME:API

Uit Kennisnet Developers Documentatie
Ga naar: navigatie, zoeken

BronMetadataEditor-symbol.png BronMetadataEditor: API

De API van de BME wordt gebruikt om nieuwe records aan te maken of bestaande records te wijzigen. De gegevens dienen via een POST of GET request te worden doorgegeven. Het aanvragen van een BME-ticket (create) dient middels een POST-request te gebeuren. Applicatie-authenticatie vindt plaats op basis van een account.

Endpoints

  • http://metaplus.kennisnet.nl/bme/
  • http://metaplus.acceptatie.kennisnet.nl/bme/

Bij het testen kan gebruik gemaakt worden van de acceptatieomgeving van de BME. De acceptatieomgeving van de BME is gekoppeld aan de stagingomgeving van Edurep (voor controle op dubbelingen).

Acties

Een overzicht van de ondersteunde acties:

POST/GET endpoint omschrijving
 ?r=ticket%2Fcreate aanvragen ticket Lees meer
 ?r=ticket%2Facknowledge bevestigen bewerken mogelijk dubbel record Lees meer
 ?r=ticket%2Fview opvragen status Lees meer
 ?r=ticket%2Fresult opvragen resultaat document Lees meer

Voorbeeld Verzoek

http://www.metaplus.kennisnet.nl/bme/?r=ticket%2Fview&ticket=4f68b193b25e4&application_id=demo&application_password=demo

Voorbeeld Respons

<ticket-status>
  <status>completed</status>
  <ticket>4f68b193b25e4</ticket>
  <repositoryId>{repository id}</repositoryId>
  <callback-url>http://example.com/record/43/metadatacompleted</callback-url>
</ticket-status>

Account

Alleen geautoriseerde diensten kunnen sessies aanmaken en bevragen. Voor authenticatie is een applicatie identifier en een wachtwoord nodig. Neem hiervoor contact op met onze servicedesk. Voor het bewerken van record in de BME wordt de gebruiker gestuurd naar een URL met een sessie id. Dit id is een willekeurige waarde van een dusdanige grootte dat deze nagenoeg onmogelijk te raden is.

Statuscodes

Hieronder een overzicht van de statuscodes die door de BME kunnen worden gehanteerd:

statuscode omschrijving
ready Sessie is gereed om te starten.
acknowledgement-needed Bevestiging is noodzakelijk.
editing Sessie is gestart (metadateerder heeft formulier geopend).
completed Sessie is voltooid (metadateerder heeft aangegeven dat bewerken is voltooid).
completed-but-missing-identifier-or-location Sessie is voltooid (metadateerder heeft aangegeven dat bewerken is voltooid), maar in de XML ontbreekt een geldige identifier.

De BME biedt geen mogelijkheid voor het bewerken van de identifier en geeft middels deze code aan dat het veld nog ontbreekt. Het is aan de Repository dit veld zo nodig aan te vullen.

error Fout bij het verwerken van een aanvraag naar de BME API. Zie de foutmeldingen pagina voor meer informatie.


Foutmeldingen

Generiek wordt er gebruik gemaakt van HTTP status codes voor foutmeldingen: 400 (fout in aangeleverde argumenten, 403 (missende of ongeldige authenticatiegegevens), 404 (resultaatrecord of ticket niet beschikbaar) en 500 (fout in afhandeling aan serverzijde). De specifieke foutmeldingen zijn afhankelijk van het type request.

create

message omschrijving
Access denied ontbrekende of incorrecte authenticatie
Repository ID is verplicht ontbrekende parameters
Retour URI is verplicht ontbrekende parameters
Provided XML is not well-formed aangeleverd LOM XML record is niet leeg of well-formed XML
Internal server error fout aan de zijde van BME

Voorbeeld

<ticket-request>
  <status>error</status>
  <message>Provided XML is not well-formed</message>
</ticket-request>

acknowledge

message omschrijving
Access denied ontbrekende of incorrecte authenticatie
Missing ticket parameter ontbrekende parameters
Ticket not found onbekend ticket of ticket is verlopen en verwijderd
Invalid state for acknowledgement sessie hoeft niet, of niet meer, bevestigd te worden
Internal server error fout aan de zijde van BME

Voorbeeld

<ticket-request>
  <status>error</status>
  <message>Access denied</message>
</ticket-request>

view

message omschrijving
Access denied ontbrekende of incorrecte authenticatie
Missing ticket parameter ontbrekende parameters
Ticket not found onbekend ticket of ticket is verlopen en verwijderd
Internal server error fout aan de zijde van BME

Voorbeeld

<ticket-status>
  <status>error</status>
  <message>Ticket not found</message>
</ticket-status>

result

message omschrijving
Access denied ontbrekende of incorrecte authenticatie
Missing ticket parameter ontbrekende parameters
Ticket not found onbekend ticket of ticket is verlopen en verwijderd
Result document not available geen resutaat document beschikbaar
Internal server error fout aan de zijde van BME

Voorbeeld

<ticket-result>
  <status>error</status>
  <message>Result document not available</message>
</ticket-result>