Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

authHeader

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>


loginHeader

...

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.