Skip to main content

GetClasses, GetClassesFilteredByDate en GetClassesFilteredByTraining

Met deze methods kan informatie over lichtingen worden opgehaald. Het format van het resultaat is voor alledrie de methods hetzelfde. De methods verschillen in de manier waarop gefilterd kan worden:

  • GetClasses geeft de volledige lijst van lichtingen terug;
  • GetClassesFilteredByDate geeft de mogelijkheid om lichtingen met een startdatum binnen een bepaald datumbereik op te halen;
  • GetClassesFilteredByTraining geeft de mogelijkheid om de lichtingen van een bepaalde opleiding of opleidingsblok op te halen.

Let op: Gebruik geen GET-requests. Deze worden in plaintext verstuurd, en zijn dus niet veilig.

GetClasses
POST /service/apiservice.asmx/GetClasses HTTP/1.1
Host: domein.pynter.nl
Content-Type: application/x-www-form-urlencoded
Content-Length: length

username=string&password=string&includeArchived=boolean

De includeArchived parameter geeft aan of gearchiveerde lichtingen ook opgehaald moeten worden.

GetClassesFilteredByDate
POST /service/apiservice.asmx/GetClassesFilteredByDate HTTP/1.1
Host: domein.pynter.nl
Content-Type: application/x-www-form-urlencoded
Content-Length: length

username=string&password=string&fromDate=datetime&toDate=datetime&includeArchived=boolean

De fromDate en toDate parameters geven een datumbereik aan. Het filteren gebeurt aan de hand van de startdatum van de lichting, en is inclusief. Een request met fromDate = 2025-04-28 en toDate = 2025-05-07 bevat dus alle lichtingen die op 28 april 2025 of later en vóór of op 7 mei 2025 beginnen.

GetClassesFilteredByTraining
POST /service/apiservice.asmx/GetClassesFilteredByTraining HTTP/1.1
Host: domein.pynter.nl
Content-Type: application/x-www-form-urlencoded
Content-Length: length

username=string&password=string&trainingId=number&trainingType=trainingtype&includeArchived=boolean

De trainingId en trainingType parameters kunnen samen gebruikt worden om te filteren op opleidingen. De trainingType parameter kan de volgende waarden hebben:

  • 0 of Learning: Reguliere opleidingen
  • 1 of Longterm: Opleidingsblokken

Let op: als je de tekstversie van de trainingType gebruikt is deze hoofdlettergevoelig!

Bij het succesvol aanroepen ziet een response er als volgt uit:

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<ApiResponseOfListOfTrainingClass xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/">
    <Success>true</Success>
    <Contents>
      // Meerdere TrainingClass objecten
    </Contents>
</ApiResponseOfListOfTrainingClass>

Het TrainingClass object is als volgt gestructureerd:

<TrainingClass>
  <!-- De unieke ID van de lichting. -->
  <Id>number</Id>
  
  <!-- De naam van de lichting. -->
  <Name>string</Name>
  
  <!-- Het maximale aantal inschrijvingen voor de lichting. Als er geen maximum is, wordt hier null teruggegeven. -->
  <MaximumEnrollments>number</MaximumEnrollments>
  
  <!-- Het minimum aantal inschrijvingen voor de lichting. Als er geen minimum is, wordt hier null teruggegeven. -->
  <MinimumEnrollments>number</MinimumEnrollments>
  
  <!-- Of de lichting geannuleerd is. -->
  <IsCancelled>boolean</IsCancelled>
  
  <!-- Of de lichting gearchiveerd is. -->
  <IsArchived>boolean</IsArchived>
  
  <!-- Of de lichting zichtbaar is in de opleidingscatalogus. -->
  <IsVisibleInCatalog>true</IsVisibleInCatalog>
  
  <!-- Of de lichting zichtbaar is in de opleidingskalender. -->
  <IsVisibleInCalendar>true</IsVisibleInCalendar>
  
  <!-- Of de opleiding getoond moet worden op externe websites. -->
  <VisibleExternally>true</VisibleExternally>
  
  <!-- Of medewerkers zich kunnen inschrijven voor een wachtlijst wanneer het maximum aantal deelnemers is bereikt. -->
  <HasWaitingList>false</HasWaitingList>
  
  <!-- Het maximale aantal inschrijvignen voor de wachtlijst. Als er geen maximum is, wordt hier null teruggegeven. -->
  <MaximumWaitingListEnrollments>number</MaximumWaitingListEnrollments>
  
  <!-- De trainingsdata die bij deze lichting horen. -->
  <Dates>
    <TrainingClassDate>
      
      <!-- De unieke ID van deze trainingsdag. -->
      <Id>number</Id>
      
      <!-- De datum van deze trainingsdag in ISO 8601 format (YYYY-MM-DD). -->
      <Date>date</Date>
      
      <!-- De starttijd van deze trainingsdag in ISO8601 format (HH:MM:SS). -->
      <StartsAt>time</StartsAt>
      
      <!-- De eindtijd van deze trainingsdag in ISO8601 format (HH:MM:SS). -->
      <EndsAt>time</EndsAt>
      
      <!-- De locatie van deze trainingsdag. -->
      <Location>
        
        <!-- De naam van deze trainigsdag. -->
        <Name>string</Name>
        
        <!-- Het adres van deze trainingsdag. -->
        <Address>string</Address>
      </Location>
      
      <!-- De IDs van de trainers voor deze opleiding. -->
      <TrainerIds/>
    </TrainingClassDate>
  </Dates>

  <!-- De ids van de gebruikers die voor deze lichting zijn ingeschreven. -->
  <Enrollments/>

  <!-- De IDs van de gebruikers die voor de wachtlijst van deze training zijn ingeschreven. -->
  <WaitingListEnrollments/>

  <!-- Informatie over de opleiding waar deze lichting onderdeel van is -->
  <Training>
    <!-- De unieke ID van de opleiding -->
    <Id>number</Id>
    
    <!-- Het opleidingstype van de opleiding. "Learning" voor reguliere opleidingen, "Longterm" voor opleidingsblokken. -->
    <Type>trainingType</Type>
    
    <!-- De naam van de opleiding -->
    <Name>string</Name>
  </Training>
</TrainingClass>