Edurep:MBO Cloud

Uit Kennisnet Developers Documentatie
Ga naar: navigatie, zoeken

Edurep-symbol.png Edurep: MBO Cloud

De documentatie op deze pagina is bedoeld om de aansluiting op MBO Cloud Plateau 1 te ondersteunen. De specificaties op deze pagina zijn een uitgangspunt voor aansluiting. Heeft u vragen, neem contact met ons op.

Info.gif Deze informatie is alleen relevant voor u als u aansluit op MBO Cloud Plateau 1.


Aanbieder

Dit is het gewenste invoerformaat voor het importeren van artikelen in MBOCloud. De velden dienen met een komma te zijn gescheiden en voorzien van "quotes". De eerste regel is de header waarmee de volgorde van de velden wordt aangegeven. De veldnamen zijn daarom van belang. Let op: soms ontvangen wij CSV's waarbij de ean's zijn genoteerd in de wetenschappelijke integer notatie, dit is onbruikbaar.

"ean","title","publisher","price","material_url","supplier_url"
"9789050111652","Amfibieen en reptielen in beeld","KNNV Uitgeverij","2.99",,"http://www.educatheek.nl/_265.html"
Veldnaam Type veld Beschrijving
ean string het id van het artikel
title string de titel van het artikel aangeleverd door de leverancier
publisher string de naam van de uitgever van het artikel (dus niet verkoper)
price float de stuks prijs van het artikel met punt als decimaal scheidingsteken
material_url string de url naar het digitaal leermiddel om te gebruiken door de afnemer, als die er niet is dient dit veld leeg te zijn. Een boek is een voorbeeld van een artikel dat geen material_url heeft, een pdf online wel of de deeplink naar een wikiwijs-arrangement of methode.
supplier_url string de url naar een info/promo-pagina van het artikel bij de verkoper

Webshop

We zijn bezig met een eigen webshop als referentie for demonstration purposes only. Er is in iECK geen standaard gedefinieerd voor deze services dus zijn we er één aan het bedenken terwijl we een eigen "webshop"-ingang aan het bouwen zijn. Uitgangspunt is communicatie met browsers en dus proberen zonder server-2-server calls te komen tot een werkende uitwisseling van gegevens.

Request

We hebben een aanroep van het winkelmandje bij de webshop gedefinieerd met de volgende call. Dit is een (GET) url-encoded stringified json data object.

  • http://www.webshop.nl/winkelmand-endpoint/<urlencoded json>

Dit ziet er leesbaar uit als:

{
    "data": {
        "products": [{
            "id": "9789006901474",
            "qnt": "1"
        }, {
            "id": "9789006901504",
            "qnt": "1"
        }, {
            "id": "9789006901511",
            "qnt": "1"
        }, {
            "id": "9789006901528",
            "qnt": "1"
        }]
    },
    "metadata": {
        "redirect_url": "http://mbocloud-dev.kennisnet.nl/index.html#/purchase/",
        "userid": "jansmit@voorbeeld.org",
        "shopid": "572"
    }
}

Dus een array van producten met het aantal en een object met metadata zoals de url waarnaar terug moet worden gesprongen als de bestelling is afgerond met ook een data-component, zie hieronder, een userid van degene die bij ons is ingelogd (Kennisnet Federatie) en jullie shopid zoals wij die intern hanteren. Dit hebben wij weer nodig voor de return call.

Response

De redirect_url die de webshop moet gebruiken om de gebruiker na bestelling weer bij MBO Cloud te krijgen is bijv.:

  • http://mbocloud-dev.kennisnet.nl/index.html#/purchase/<urlencoded json>

En decoded en beautified is de data:

{
    "data": {
        "products": [{
            "id": "9789006901474",
            "qnt": "1",
            "status": "ok"
        }, {
            "id": "9789006901504",
            "qnt": "1",
            "status": "ok"
        }, {
            "id": "9789006901511",
            "qnt": "1",
            "status": "ok"
        }, {
            "id": "9789006901528",
            "qnt": "1",
            "status": "ok"
        }]
    },
    "metadata": {
        "shopid": "572",
        "userid": "jansmit@voorbeeld.org"
    }
}

Weer een array met de producten die daadwerkelijk zijn afgenomen met het aantal en voor nu alleen de status "ok" van de producten die zijn afgenomen. Is er een product niet afgenomen dan staat die niet in dit lijstje. En in de metadata weer het id van de webshop en de user.