Documentation (in progress)
Endpoints
...
Environment
...
URL
...
Production (not yet active)
...
https://lika.edu-ix.nl/soap/5.0/product
...
Acceptance
...
https://acc-lika.edu-ix.nl/soap/5.0/product
...
Test
...
https://test-lika.edu-ix.nl/soap/5.0/product
*Extend the URL with /wsdl to retrieve the WSDL
Endpoints
...
Environment
...
URL
...
WSDL
...
Production
...
https://lika.edu-ix.nl/soap/5.0/product
...
https://lika.edu-ix.nl/soap/5.0/product/wsdl
...
Acceptance
...
Documentation
Endpoints
Documentation
*Extend the URL with /wsdl to retrieve the WSDL
Operation overview
...
All operations need the loginHeader to authenticate.
Name | Type | Cardinality |
---|
authHeader | authHeader | 1...1 |
Source Code Block |
---|
<urn:authHeader>
<urn:loginHeader>
<urn:username>?</urn:username>
<urn:password>?</urn:password>
</urn:loginHeader>
</urn:authHeader> |
|
Operations
getProducts
Description
...
You must provide a loginHeader for authentication, see "Operation authentication".
Request
Name | Type | Cardinality | Description |
---|
searchTitle | string250 | 0...1 | Partial search (case insensitive) is done. |
searchProductId | string250 | 0...1 | Exact match is done. |
Code Block |
---|
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="1">
<xs:element name="searchTitle" type="types:string250" minOccurs="0" maxOccurs="1"/>
<xs:element name="searchProductId" type="types:string250" minOccurs="0" maxOccurs="1"/>
</xs:choice>
</xs:sequence>
</xs:complexType> |
|
Response
When the search was successful, one or more elements are returned. In case nothing was found, zero elements are returned.
Name | Type | Cardinality |
---|
product | product | 0...n |
Error codes
Error code | Description |
---|
2 | Authentication error |
4 | Authorization error |
5 | Invalid request |
6 | Missing required field(s) |
...
uploadProducts
Description
...
You must provide a loginHeader for authentication, see "Operation authentication".
Request
Name | Type | Cardinality |
---|
product | product | 1...100 |
Source Code Block |
---|
<xs:complexType>
<xs:sequence>
<xs:element name="product" type="types:product" minOccurs="1" maxOccurs="100"/>
</xs:sequence>
</xs:complexType> |
|
Response
An empty response is given when there are no errors.
In case of errors on one or more uploaded product elements, a faultPerProduct element is returned for each occurred error.
Error codes
Error code | Description |
---|
2 | Authentication error |
4 | Authorization error |
5 | Invalid request |
6 | Missing required field(s) or other validation error(s) |
...
Complex types
Name | Type | Cardinality | Description |
---|
loginHeader | loginHeader | 1...1 | contains credentials. |
Source Code Block |
---|
<xs:complexType name="authHeader">
<xs:sequence>
<xs:element name="loginHeader" type="types:loginHeader" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType> |
|
...
Name | Type | Cardinality | Description |
---|
username | string100 | 1...1 | An identification used by a person to login. |
password | string64 | 1...1 | A secret word or phrase used for authentication. |
Source Code Block |
---|
<xs:complexType name="loginHeader">
<xs:sequence>
<xs:element name="username" type="types:string100" minOccurs="1" maxOccurs="1"/>
<xs:element name="password" type="types:string64" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType> |
|
product
Name | Type |
| Description |
---|
productId | ProductIdType | 1...1 | Unieke code van het product |
publisher | MinLengthOneCharType | 1...1 | De uitgever van het Product |
publisherThumbnailLocation | UrlType | 1...1 | Publieke referentie naar thumbnail van het Logo van de uitgever |
title | MinLengthOneCharType | 1...1 | De titel van het product |
authors | Authors | 0...1 |
|
intendedEndUserRole | RoleType | 0...1 | Indicatie voor welke rol of het Product is bedoeld is. Vulling: onderwijsgever, onderwijsvolger, beheerder |
sectors | Sectors | 1...1 | Container voor Sectors |
courses | Courses | 1...1 | Container voor Courses |
levels | Levels | 1...1 | Container voor Levels |
durationDays | int | 1...1 | DurationDays: geeft aan hoe lang een licenties van het product geldig is. |
serviceCreditAllowed | boolean | 0...1 | Dit gegeven geeft aan of servicetegoeden voor dit product zijn toegestaan |
zeroEnabled | boolean | 0...1 | Dit gegeven geeft aan of zerolicenties voor dit product zijn toegestaan |
activationCodeEnabled | boolean | 0...1 | Dit gegeven geeft aan of het product activatiecodes toelaat |
priceIsIndicative | boolean | 0...1 | Dit gegeven geeft aan dat de prijs (indicatie) zeer waarschijnlijk tijdelijk is, het product is nog in ontwikkeling, op een later moment zal er een meer definitieve prijs vastgesteld worden. Waarde TRUE als het een indicatie betreft |
saleUnitSize | int | 1...1 | Verkoopeenheid: het aantal exemplaren van het (mogelijk samengesteld) product dat als eenheid wordt verkocht (cpi.AantalExemplarenPerVerkoopeenheid). Vullingsregels: waarde >= 0, waarde 0=niet apart leverbaar. |
productState | ProductStateType | 0...1 | Geeft de status van het product aan. Mogelijke waarden zijn: Nog niet leverbaar, Beperkt leverbaar, Leverbaar, Tijdelijk niet leverbaar, Niet meer leverbaar, Zal niet verschijnen |
prices | Prices | 0... | De prijs excl. btw van het product in centen. Per prijs kan het btw percentage aangegeven worden. Er kan optioneel ook een consumentenprijs in centen opgenomen worden. Vullingsregel: Het Prices element moet aanwezig zijn indien IsCatalogItem de waarde TRUE heeft. Er is dan minimaal 1 price element aanwezig |
contentLocation | UrlType | 0...1 | Referentie (URL) naar productpagina / methodepagina |
productThumbnailLocation | UrlType | 0...1 | Publieke referentie naar thumbnail van het product |
redirectURL | UrlType | 1...1 | Uiteindelijke redirect naar de content van de gebruiker bij het achterliggende LIKA |
medium | mediumType | 0...1 | Geeft aan wat voor een soort product het is. |
AccessLocation | UrlType | 0...1 | Referentie (URL) die toegang tot het product geeft. Note: veld bestaat alleen in de response. |
Source Code Block |
---|
<xs:complexType name="product">
<xs:sequence>
<xs:element name="productId" type="types:productIdType" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation>Unieke code van het product</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="publisher" type="types:minLengthOneCharType" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation>De uitgever van het product</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="publisherThumbnailLocation" type="types:urlType" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation>Publieke referentie naar thumbnail van het Logo van de uitgever</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="title" type="types:minLengthOneCharType" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation>De titel van het product</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="authors" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="author" type="types:minLengthOneCharType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>De personen en/of organisatie die hebben gewerkt aan de totstandkoming van het product. Default is publisher</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="intendedEndUserRole" type="types:roleType" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Indicatie voor welke rol of het product is bedoeld is. Vulling: onderwijsgever, onderwijsvolger, beheerder. Default is onderwijsvolger</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="sectors" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation>Container voor sectors</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="sector" type="types:sectorType" minOccurs="1" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Opleiding sector (OBK): Het studiegebied waartoe de opleiding behoort. Mogelijke waarden zijn: PO, VO, MBO, HO, WO </xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="courses" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation>Container voor courses</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="course" type="types:minLengthOneCharType" minOccurs="1" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>De thema's die horen bij verschillende vakken en kwalificaties. Zie vakken in het OBK</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="levels" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation>Container voor levels</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="level" type="types:minLengthOneCharType" minOccurs="1" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>OBK Onderwijsniveau: het niveau van de opleiding binnen de betreffende onderwijssector. Is met name van belang voor VO/MBO (voor PO is sectoraanduiding en jaar specifiek genoeg en wordt het level standaard gevuld met de waarde PO). Dit veld wordt dan selectie uit OBK Onderwijsniveau met waarden als VMBO gemengde leerweg, HAVO 5, MBO, Niveau 1: Assistentenopleiding, etc. Zie onderwijsniveau in het OBK. </xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="durationDays" type="xs:int" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation>DurationDays: geeft aan hoe lang een licenties van het product geldig is</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="serviceCreditAllowed" type="xs:boolean" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Dit gegeven geeft aan of servicetegoeden voor dit product zijn toegestaan. Default is false</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="zeroEnabled" type="xs:boolean" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Dit gegeven geeft aan of zerolicenties voor dit product zijn toegestaan. Default is false</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="activationCodeEnabled" type="xs:boolean" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Dit gegeven geeft aan of het product activatiecodes toelaat. Default is false</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="priceIsIndicative" type="xs:boolean" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Dit gegeven geeft aan dat de prijs (indicatie) zeer waarschijnlijk tijdelijk is, het product is nog in ontwikkeling, op een later moment zal er een meer definitieve prijs vastgesteld worden. Waarde true als het een indicatie betreft. Default is false</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="saleUnitSize" type="xs:int" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation>Verkoopeenheid: het aantal exemplaren van het (mogelijk samengesteld) product dat als eenheid wordt verkocht (cpi.AantalExemplarenPerVerkoopeenheid). Vullingsregels: waarde >= 0, waarde 0=niet apart leverbaar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="productState" type="types:productStateType" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Geeft de status van het product aan. Mogelijke waarden zijn: Nog niet leverbaar, Beperkt leverbaar, Leverbaar, Tijdelijk niet leverbaar, Niet meer leverbaar, Zal niet verschijnen. Default is Leverbaar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name = "prices" minOccurs="0">
<xs:annotation>
<xs:documentation>De prijs excl. btw van het product in centen. Per prijs kan het btw percentage aangegeven worden. Er kan optioneel ook een consumentenprijs in centen opgenomen worden. Vullingsregel: Het Prices element moet aanwezig zijn indien IsCatalogItem de waarde TRUE heeft. Er is dan minimaal 1 price element aanwezig</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name = "currency" type="types:currencyType" />
<xs:element name = "consumerPrice" minOccurs="0" type="xs:int" />
<xs:element name = "price" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name = "amount" type="xs:int" />
<xs:element name = "VAT" type="types:percentage" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="contentLocation" type="types:urlType" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Referentie (URL) naar productpagina / methodepagina</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="productThumbnailLocation" type="types:urlType" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Publieke referentie naar thumbnail van het product</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="redirectURL" type="types:urlType" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation>URL waar de student naar verwezen wordt om zijn licentie te verkrijgen</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="medium" type="types:mediumType" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Geeft aan wat voor een soort product het is.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<complexContent>
<extension base="types:product">
<all>
<xs:element name="accessLocation" type="types:urlType" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Referentie (URL) die toegang tot het product geeft. Verplicht als het een digitaal product betreft.</xs:documentation>
</xs:annotation>
</xs:element>
</all>
</extension>
</complexContent> |
|
faultPerProduct
Name | Type | Cardinality | Description |
---|
productFault | productFault | 0...n |
|
Source Code Block |
---|
<xs:element name="faultPerProduct">
<xs:complexType>
<xs:sequence>
<xs:element name="productFault" type="types:productFault" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element> |
|
productFault
Name | Type | Cardinality | Description |
---|
position | integer | 1...1 | Position of the element in the request array |
productId | productIdType | 0...1 |
|
code | integer | 0...1 |
|
message | string | 0...1 | Specific message which describes the fault. |
Source Code Block |
---|
<xs:complexType name="productFault">
<xs:sequence>
<xs:element name="position" type="types:integer" minOccurs="1" maxOccurs="1"/>
<xs:element name="productId" type="types:productIdType" minOccurs="0" maxOccurs="1" />
<xs:element name="code" type="types:integer" minOccurs="1" maxOccurs="1" />
<xs:element name="message" type="types:string" minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:complexType> |
|
Simple types
Name | Type | Possible values / format | Description |
---|
string64 | String | Max length: 64 characters | String limited by a number of maximum allowed characters. |
string100 | String | Max length: 100 characters | String limited by a number of maximum allowed characters. |
string256 | String | Max length: 256 characters | String limited by a number of maximum allowed characters. |
possitiveInteger | Integer | Greater then 0 | Integer value, can only be positive. |
minLengthOneCharType | String | Min length: 1 character | String with minimum number of characters. |
urlType | String | AnyURI pattern (e.g. http://.*) | Must be a valid URL. |
productIdType | String | Min length: 1, max length: 160 characters | String limited by a number of minimum and maximum allowed characters. |
roleType | Enum | Possible values: Onderwijsgever Onderwijsvolger Beheerder
| Role of a user. |
productStateType | Enum | Possible values: Nog niet leverbaar Beperkt leverbaar Leverbaar Tijdelijk niet leverbaar Niet meer leverbaar Zal niet verschijnen
| State of the product. |
mediumType | Enum | Possible values: Downloadable installer Boek USB CD-ROM DVD Anders"
| Geeft aan wat voor een soort product het is. |