Ophalen van leervoortgang van gebruikers

GetAllLearningPortfolioContent

GetAllLearningPortfolioContent kan gebruikt worden om alle leervoortgang van alle niet geanonimiseerde in dienst gebruikers op te halen. Elke rij in het resultaat geeft de status voor de opleiding in relatie tot de gebruiker weer. Daarnaast bevat elke rij extra informatie, zoals de trede, informatie over de opleiding en informatie over de gebruiker.

Het ophalen van de leervoortgang van een niet geanonimiseerde in dienst gebruiker binnen Pynter via de GetAllLearningPortfolioContent endpoint kan er als volgt uit zien:

POST /service/apiservice.asmx HTTP/1.1
Host: domein.acc.pynter.nl
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <GetAllLearningPortfolioContent xmlns="/service/ApiService.asmx">
      <username>string</username>
      <password>string</password>
    </GetAllLearningPortfolioContent>
  </soap12:Body>
</soap12:Envelope>

Voor extra configuratie zijn er twee optionele parameters beschikbaar:

<!-- Kan gebruikt worden om aan te geven of eerder behaalde opleidingen, die niet actief in of op het leeraanbod / thuispagina van de gebruiker staan mee worden gegeven. -->
<!-- Staat standaard op False. -->
<includeContentNotInPortfolio>bool</includeContentNotInPortfolio>

<!-- Kan gebruikt worden om aan te geven of de voortgang van inactieve trainingen mee worden gegeven. -->
<!-- Staat standaard op False. -->
<includeInactiveTrainings>bool</includeInactiveTrainings>

Bij het succesvol aanroepen ziet een respons 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"?>
<ApiResponse xmlns="/service/ApiService.asmx">
  <Success>boolean</Success>
  <Contents xmlns="BasicPersonInfo"></Contents>
  <Error>string</Error>
</ApiResponse>

De Contents zal een collectie van LearningPortfolioContentCached bevatten. LearningPortfolioContentCached is als volgt gestructureerd:

<LearningPortfolioContentCached>
    <!-- De titel van de trede. -->
    <StepTitle>int</StepTitle>

    <!-- De introductie van de trede. -->
    <StepIntroduction>string</StepIntroduction>

    <!-- De volgorde index van de trede. -->
    <StepOrder>int</StepOrder>

    <!-- De titel van de training. -->
    <TrainingTitle>string</TrainingTitle>

    <!-- Of de training verplicht is. -->
    <TrainingIsMandatory>string</TrainingIsMandatory>

    <!-- OPTIONEEL: De naam van de afbeelding van de training op Pynter. -->
    <TrainingImageName>string</TrainingImageName>

    <!-- OPTIONEEL: De unieke identificatie van de persoon in het Provisioning systeem. -->
    <PersonExternalIdentifier>string</PersonExternalIdentifier>

    <!-- OPTIONEEL: De unieke identificatie van de leidinggevende van de persoon in het provisioning systeem. -->
    <ManagerExternalIdentifier>string</ManagerExternalIdentifier>

    <!-- De voornaam van de persoon. -->
    <PersonFirstName>string</PersonFirstName>

    <!-- De tussenvoegsels van de cursist. Leeg wanneer deze geen waarde heeft. -->
    <PersonNameInsertion>string</PersonNameInsertion>

    <!-- De achternaam van de cursist. -->
    <PersonFamilyName>string</PersonFamilyName>

    <!-- Het unieke identificatie nummer van de reden voor het dimmen als dit het geval is. (Alleen van toepassing als er redenen voor dimmen beschikbaar zijn voor de cursist.) -->
    <DimReasonId>int</DimReasonId>

    <!-- Of deze cursist de drempel voor het mogen openen van deze opleiding behaald heeft. -->
    <TrainingThresholdIsMet>bool</TrainingThresholdIsMet>

    <!-- Of deze cursist de opleiding handmatig toegevoegd heeft vanuit de catalogus. -->
    <TrainingIsManuallyAdded>bool</TrainingIsManuallyAdded>

    <!-- OPTIONEEL: Wanneer de cursist de opleiding voor het laatst gestart heeft. Heeft een waarde als dit van toepassing is. -->
    <TrainingStartedAt>DateTime</TrainingStartedAt>

    <!-- OPTIONEEL: Wanneer de cursist de opleiding voor het laatst afgerond heeft. Heeft een waarde als dit van toepassing is. -->
    <TrainingFinishedAt>DateTime</TrainingFinishedAt>

    <!-- Tot wanneer het behaalde resultaat geldig is voor de cursist. Geen waarde als er nog geen resultaat is of als het resultaat oneindig geldig is. -->
    <TrainingValidUntil>DateTime</TrainingValidUntil>

    <!-- De status van de persoon in relatie tot de opleiding:
      0: Niet in aanbod (intern gebruik.)
      1: Gedimd
      2: Wel in aanbod maar nog niet gestart
      3: Gestart (TrainingStartedAt kolom heeft een waarde.)
      4: Afgerond (TrainingFinishedAt kolom heeft een waarde. TrainingValidUntil kolom heeft een waarde als dit toepassing is.)
      5: Dreigt te verlopen (3 maanden van tevoren.)
      6: Verlopen
    -->
    <LearningPortfolioStatus>Status</LearningPortfolioStatus>

    <!-- Of de training in het aanbod van de gebruiker zit. Bevat alleen False waardes wanneer de optionele includeContentNotInPortfolio parameter True is. -->
    <InPortfolio>bool</InPortfolio>

    <!-- De afkomst van de training in het portfolio van de medewerker, genoteerd als bitmasker, meerde waardes zijn mogelijk:
      0 (0000 0000): De persoon heeft de training niet in hun portfolio.
      1 (0000 0001): Deze training is toegevoegd door het inschrijven op een klas of het toevoegen van een E-learning.
      2 (0000 0010): De training komt uit een leerpad.
      4 (0000 0100): De training komt uit een leerpad en is gekoppeld aan de gebruiker middels hun functie.
      8 (0000 1000): De training komt uit een leerpad en is gekoppeld aan de gebruiker middels hun locatie.
      16 (0001 0000): De training komt uit een leerpad die gekoppeld is aan een groep waar de persoon lid van is.
      32 (0010 0000): De training komt uit een leerpad die gekozen is als thema.
      64 (0100 0000): De persoon is trainer van de training en heeft deze in hun portfolio.

      Voor de waarden 4, 8, 16 en 32 zal altijd de waarde 2 (leerpad) ook aanwezig zijn.
      De waarde 2 kan dus gebruikt worden om direct te controleren of de training uit een leerpad komt.
    -->
    <Sources>int</Sources>

    <!-- Het aantal actieve trainingen waar de persoon een status voor heeft in dezelfde trede als dit resultaat waar InPortfolio gelijk is aan true. -->
    <TrainingsInPortfolioForPersonInStepCount>int</TrainingsInPortfolioForPersonInStepCount>

    <!-- Het aantal actieve trainingen die de persoon afgerond heeft in dezelfde trede als dit resultaat waar InPortfolio zowel True als False kan zijn. -->
    <TrainingsFinishedForPersonInStepCount>int</TrainingsFinishedForPersonInStepCount>

    <!-- Het aantal actieve trainingen die de persoon afgerond heeft in dezelfde trede als dit resultaat waar InPortfolio gelijk is aan True. -->
    <TrainingsInPortfolioFinishedForPersonInStepCount>int</TrainingsInPortfolioFinishedForPersonInStepCount>
</LearningPortfolioContentCached>

Training is een collectieve naam voor Opleiding en Opleidingsblok.

GetPaginatedLearningPortfolioContent

GetPaginatedLearningPortfolioContent kan gebruikt worden om alle leervoortgang van alle niet geanonimiseerde in dienst gebruikers op te halen. Deze method is vergelijkbaar met GetAllLearningPortfolioContent, maar hier kan pagina-informatie worden meegegeven. Elke rij in het resultaat geeft de status voor de opleiding in relatie tot de gebruiker weer. Daarnaast bevat elke rij extra informatie, zoals de trede, informatie over de opleiding en informatie over de gebruiker.

Het ophalen van de leervoortgang van een niet geanonimiseerde in dienst gebruiker binnen Pynter via de GetPaginatedLearningPortfolioContent endpoint kan er als volgt uit zien:

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

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

username=string&password=string&size=number&index=number

Voor extra configuratie zijn er twee optionele parameters beschikbaar:

includeContentNotInPortfolio=true|false
includeInactiveTrainings=true|false

Bij het succesvol aanroepen ziet een respons 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"?>
<ApiResponseOfLearningPortfolioContentPaginated 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>
        <TotalItems>402444</TotalItems>
        <Size>100</Size>
        <Index>1</Index>
        <TotalPages>4025</TotalPages>
        <Items></Items>
    </Contents>
</ApiResponseOfLearningPortfolioContentPaginated>

De Items zal een collectie van LearningPortfolioContentCached bevatten. LearningPortfolioContentCached is als volgt gestructureerd:

<LearningPortfolioContentCached>
    <!-- De titel van de trede. -->
    <StepTitle>int</StepTitle>

    <!-- De introductie van de trede. -->
    <StepIntroduction>string</StepIntroduction>

    <!-- De volgorde index van de trede. -->
    <StepOrder>int</StepOrder>

    <!-- De titel van de training. -->
    <TrainingTitle>string</TrainingTitle>

    <!-- Of de training verplicht is. -->
    <TrainingIsMandatory>string</TrainingIsMandatory>

    <!-- OPTIONEEL: De naam van de afbeelding van de training op Pynter. -->
    <TrainingImageName>string</TrainingImageName>

    <!-- OPTIONEEL: De unieke identificatie van de persoon in het Provisioning systeem. -->
    <PersonExternalIdentifier>string</PersonExternalIdentifier>

    <!-- OPTIONEEL: De unieke identificatie van de leidinggevende van de persoon in het provisioning systeem. -->
    <ManagerExternalIdentifier>string</ManagerExternalIdentifier>

    <!-- De voornaam van de persoon. -->
    <PersonFirstName>string</PersonFirstName>

    <!-- De tussenvoegsels van de cursist. Leeg wanneer deze geen waarde heeft. -->
    <PersonNameInsertion>string</PersonNameInsertion>

    <!-- De achternaam van de cursist. -->
    <PersonFamilyName>string</PersonFamilyName>

    <!-- Het unieke identificatie nummer van de reden voor het dimmen als dit het geval is. (Alleen van toepassing als er redenen voor dimmen beschikbaar zijn voor de cursist.) -->
    <DimReasonId>int</DimReasonId>

    <!-- Of deze cursist de drempel voor het mogen openen van deze opleiding behaald heeft. -->
    <TrainingThresholdIsMet>bool</TrainingThresholdIsMet>

    <!-- Of deze cursist de opleiding handmatig toegevoegd heeft vanuit de catalogus. -->
    <TrainingIsManuallyAdded>bool</TrainingIsManuallyAdded>

    <!-- OPTIONEEL: Wanneer de cursist de opleiding voor het laatst gestart heeft. Heeft een waarde als dit van toepassing is. -->
    <TrainingStartedAt>DateTime</TrainingStartedAt>

    <!-- OPTIONEEL: Wanneer de cursist de opleiding voor het laatst afgerond heeft. Heeft een waarde als dit van toepassing is. -->
    <TrainingFinishedAt>DateTime</TrainingFinishedAt>

    <!-- Tot wanneer het behaalde resultaat geldig is voor de cursist. Geen waarde als er nog geen resultaat is of als het resultaat oneindig geldig is. -->
    <TrainingValidUntil>DateTime</TrainingValidUntil>

    <!-- De status van de persoon in relatie tot de opleiding:
      0: Niet in aanbod (intern gebruik.)
      1: Gedimd
      2: Wel in aanbod maar nog niet gestart
      3: Gestart (TrainingStartedAt kolom heeft een waarde.)
      4: Afgerond (TrainingFinishedAt kolom heeft een waarde. TrainingValidUntil kolom heeft een waarde als dit toepassing is.)
      5: Dreigt te verlopen (3 maanden van tevoren.)
      6: Verlopen
    -->
    <LearningPortfolioStatus>Status</LearningPortfolioStatus>

    <!-- Of de training in het aanbod van de gebruiker zit. Bevat alleen False waardes wanneer de optionele includeContentNotInPortfolio parameter True is. -->
    <InPortfolio>bool</InPortfolio>

    <!-- De afkomst van de training in het portfolio van de medewerker, genoteerd als bitmasker, meerde waardes zijn mogelijk:
      0 (0000 0000): De persoon heeft de training niet in hun portfolio.
      1 (0000 0001): Deze training is toegevoegd door het inschrijven op een klas of het toevoegen van een E-learning.
      2 (0000 0010): De training komt uit een leerpad.
      4 (0000 0100): De training komt uit een leerpad en is gekoppeld aan de gebruiker middels hun functie.
      8 (0000 1000): De training komt uit een leerpad en is gekoppeld aan de gebruiker middels hun locatie.
      16 (0001 0000): De training komt uit een leerpad die gekoppeld is aan een groep waar de persoon lid van is.
      32 (0010 0000): De training komt uit een leerpad die gekozen is als thema.
      64 (0100 0000): De persoon is trainer van de training en heeft deze in hun portfolio.

      Voor de waarden 4, 8, 16 en 32 zal altijd de waarde 2 (leerpad) ook aanwezig zijn.
      De waarde 2 kan dus gebruikt worden om direct te controleren of de training uit een leerpad komt.
    -->
    <Sources>int</Sources>

    <!-- Het aantal actieve trainingen waar de persoon een status voor heeft in dezelfde trede als dit resultaat waar InPortfolio gelijk is aan true. -->
    <TrainingsInPortfolioForPersonInStepCount>int</TrainingsInPortfolioForPersonInStepCount>

    <!-- Het aantal actieve trainingen die de persoon afgerond heeft in dezelfde trede als dit resultaat waar InPortfolio zowel True als False kan zijn. -->
    <TrainingsFinishedForPersonInStepCount>int</TrainingsFinishedForPersonInStepCount>

    <!-- Het aantal actieve trainingen die de persoon afgerond heeft in dezelfde trede als dit resultaat waar InPortfolio gelijk is aan True. -->
    <TrainingsInPortfolioFinishedForPersonInStepCount>int</TrainingsInPortfolioFinishedForPersonInStepCount>
</LearningPortfolioContentCached>

Training is een collectieve naam voor Opleiding en Opleidingsblok.

GetHistoricAbsences

Met deze method kunnen de historische absenties worden opgehaald.

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

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

username=string&password=string

Bij het succesvol aanroepen ziet een respons 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"?>
<ApiResponseOfListOfHistoricAbsenceReasonDTO 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></Contents>
</ApiResponseOfListOfHistoricAbsenceReasonDTO>

De Contents zal een collectie van HistoricAbsenceReasonDTO bevatten. HistoricAbsenceReasonDTO is als volgt gestructureerd:

<HistoricAbsenceReasonDTO>
    <!-- De unieke identificatie van de persoon in het Provisioning systeem. -->
    <PersonExternalIdentifier>string</PersonExternalIdentifier>
    
    <!-- De voornaam van de persoon. -->
    <PersonFirstName>string</PersonFirstName>
  
    <!-- De tussenvoegsels van de persoon. Leeg wanneer deze geen waarde heeft. -->
    <PersonNameInsertion>string</PersonNameInsertion>
  
    <!-- De achternaam van de cursist. -->
    <PersonFamilyName>string</PersonFamilyName>
  
    <!-- De locatie van de persoon. -->
    <Location>string</Location>
  
    <!-- De divisie van de persoon. -->
    <Division>string</Division>
  
    <!-- De naam van de lichting waarvoor absentie is geregistreerd -->
    <GroupClassTitle>string</GroupClassTitle>
  
    <!-- De locatie(s) van de lichting. Als er meerdere locaties zijn, worden deze als kommagescheiden lijst weergegeven. -->
    <GroupClassLocations>string</GroupClassLocations>
  
    <!-- De datum of data van de lichting. Als er meerdere data zijn, worden deze als kommagescheiden lijst weergegeven -->
    <GroupClassDates>string</GroupClassDates>
  
    <!-- De code van de training. -->
    <TrainingCode>string</TrainingCode>
  
    <!-- Het type training. -->
    <TrainingType>string</TrainingType>
    
    <!-- De titel van de training. -->
    <TrainingTitle>string</TrainingTitle>
  
    <!-- De titel van de module. -->
    <TaskTitle>string</TaskTitle>
  
    <!-- De reden van absentie. -->
    <AbsenceReason>string</AbsenceReason>
  
    <!-- De datum date de absentie is geregistreerd. -->
    <CreationDate>datetime</CreationDate>
  
    <!-- De openbare kosten van de training. -->
    <PublicCosts>number</PublicCosts>
  
    <!-- De niet-openbare kosten van de training.  -->
    <HiddenCosts>number</HiddenCosts>
  
    <!-- De kostenplaats van de persoon. -->
    <KostenPlaats>string</KostenPlaats>
</HistoricAbsenceReasonDTO>


CompletedCourses

Met deze methode kunnen alle afgeronde (voltooide) cursussen worden opgehaald, voor een opgegeven tijdsperiode.

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

POST /service/apiservice.asmx/CompletedCourses 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

Bij een succesvolle aanroep ziet de 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"?>
<ApiResponseOfDataTable 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>
    <!-- Metadata, deze kan genegeerd worden. -->
    <xs:schema id="NewDataSet"></xs:schema>
    <diffgr:diffgram>
      <DocumentElement>
      </DocumentElement>
    </diffgr:diffgram>
  </Contents>
</ApiResponseOfDataTable>

De Contents.diffgr:diffgram bevat een DocumentElement waarin elke rij een afgeronde cursus representeert. De kolommen en hun betekenis zijn als volgt:

<completedCoursesTable>
  <!-- De unieke identificatie van de opleiding/module. -->
  <OpleidingsId>int</OpleidingsId>
  
  <!-- De naam van de gevolgde opleiding of module. -->
  <Opleiding>string</Opleiding>
  
  <!-- De naam van de lichting waarin de opleiding is gevolgd. -->
  <Lichting>string</Lichting>
  
  <!-- De trede waar de opleiding onder hoort. -->
  <Trede>string</Trede>
  
  <!-- Overzicht van data en tijden van contactmomenten, als kommagescheiden lijst. -->
  <Contactmomenten>string</Contactmomenten>
  
  <!-- Namen van de trainers (kommagescheiden indien meerdere). -->
  <Trainers>string</Trainers>
  
  <!-- De code van de opleiding. -->
  <Opleidingscode>string</Opleidingscode>
  
  <!-- De versie van de opleiding. -->
  <Versie>string</Versie>
  
  <!-- De status: 'Afgerond' of 'Verlopen', afhankelijk van geldigheid. -->
  <Status>string</Status>
  
  <!-- De startdatum van de opleiding. -->
  <Startdatum>datetime</Startdatum>
  
  <!-- De datum waarop de opleiding is afgerond. -->
  <Afronddatum>datetime</Afronddatum>
  
  <!-- De datum waarop de opleiding verloopt. -->
  <Verloopdatum>datetime</Verloopdatum>
  
  <!-- De voornaam van de deelnemer. -->
  <Voornaam>string</Voornaam>
  
  <!-- De achternaam en eventuele tussenvoegsels van de deelnemer. -->
  <Achternaam>string</Achternaam>
  
  <!-- Het externe personeelsnummer van de deelnemer. -->
  <Personeelsnummer>string</Personeelsnummer>
  
  <!-- De locatie van de deelnemer. -->
  <Locatie>string</Locatie>
  
  <!-- De divisie van de deelnemer. -->
  <Divisie>string</Divisie>
  
  <!-- De functietitel van de deelnemer. -->
  <Functie>string</Functie>
  
  <!-- Het e-mailadres van de deelnemer. -->
  <Email>string</Email>
  
  <!-- Volledige naam van de leidinggevende van de deelnemer. -->
  <Leidinggevende>string</Leidinggevende>
  
  <!-- De kostenplaats van de deelnemer. -->
  <Kostenplaats>string</Kostenplaats>
  
  <!-- De kosten van deelname aan de opleiding. -->
  <Kosten>string</Kosten>
  
  <!-- De wijze van betaling (indien bekend). -->
  <Betaling>string</Betaling>
  
  <!-- 'Ja' als de deelnemer uit dienst is, anders 'Nee'. -->
  <Uit_dienst>string</Uit_dienst>
  
  <!-- De datum van inschrijving voor de opleiding. -->
  <Inschrijfdatum>datetime</Inschrijfdatum>
  
  <!-- De datum van de laatste wijziging van de registratie. -->
  <Mutatiedatum>datetime</Mutatiedatum>
  
  <!-- De datum van annulering (indien van toepassing). -->
  <Annuleringsdatum>datetime</Annuleringsdatum>
  
  <!-- Als de inschrijving is geannuleerd staat hier de reden van annuleren. Mogelijke waarden:
    * Reden onbekend
    * Geweigerd door planner
    * Geweigerd door leidinggevende
    * Geannuleerd door medewerker
    * Geannuleerd door planner
    * Omgepland door medewerker
    * Omgepland door planner
    * Omgepland door teaminschrijving
    * Medewerker uit dienst
    * Overgeplaatst van wachtlijst
   -->
  <Geannuleerd_door>string</Geannuleerd_door>
  
  <!-- Reden van annulering wanneer er hierboven voor "Geannuleerd door X" gekozen is. ('No show', 'Afgemeld', of leeg). -->
  <Annuleringsreden>string</Annuleringsreden>
  
  <!-- 'Ja', 'Nee' of 'N.v.t.' afhankelijk van behaalde certificering. -->
  <Certificaat_behaald>string</Certificaat_behaald>
  
  <!-- 'Ja' als de opleiding verplicht was, anders 'Nee'. -->
  <Verplicht>string</Verplicht>
  
  <!-- 'Intern' of 'Extern' afhankelijk van het type dienstverband. -->
  <Medewerkertype>string</Medewerkertype>
  
  <!-- Altijd '100%' voor afgeronde modules. -->
  <Percentage_gereed>string</Percentage_gereed>
</completedCoursesTable>

GetPersonAgenda

Met deze method kan de Pynter-agenda van een gebruiker worden opgehaald. Hierin staat trainingen met een of meer fysieke trainingsdagen.

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

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

username=string&password=string&identifier=string

Bij het succesvol aanroepen ziet een respons 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"?>
<ApiResponseOfListOfAgendaDTO>
  <Succes>true</Succes>
  <Contents></Contents>
</ApiResponseOfListOfAgendaDTO>

`Contents` bevat een of meer keer een `AgendaDTO` object. `AgendaDTO` is als volgt gestructureerd:

<AgendaDTO>
  <!-- De unieke ID van het agenda-item. -->
  <id>int</id>
  
  <!-- De naam van het agenda-item. -->
  <agendaItem>string</agendaItem>
  
  <!-- De datum van het agenda-item in het format dd MMMM yyyy, bijvoorbeeld "28 januari 2025". -->
  <agendaDatum>string</agendaDatum>

  <!-- De unieke ID van de lichting waar dit agenda-item onderdeel van is. -->
  <classID>int</classID>

  <!-- Het personeelsnummer van de medewerker. -->
  <externalIdentifier>string</externalIdentifier>
  
  <!-- De inschrijvingsstatus van het agenda-item.
    0: Aangemeld
       De medewerker is aangemeld voor het agenda-item, maar wacht nog op goedkeuring en/of planning.
    1: Goedgekeurd door leidinggevende
       De leidinggevende heeft de aanmelding goedgekeurd, maar de planner nog niet.
    2: Afgewezen
       De aanmelding is afgekeurd of geannuleerd.
    3: Ingepland
       De medewerker is ingeschreven.
  -->
  <State>int</State>

  <!-- Is de bijbehorende lichting geannuleerd Ja/Nee. -->
  <Cancelled>boolean</Cancelled>
  
  <!-- Ongebruikt. Heeft altijd de waarde "training". -->
  <type>string</type>
  
  <!-- Ongebruikt. Heeft altijd de waarde "#". -->
  <agendaHyperlink>string</agendaHyperlink>

  <!-- Ongebruikt. Heeft altijd de waarde "".  -->
  <agendaTarget>string</agendaTarget>
</AgendaDTO>

 

StartedCourses

Met deze method kan informatie worden opgehaald over de inschrijvingsstatus van alle medewerkers.

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

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

username=string&password=string&fromDate=string&tillDate=string

fromDate en tillDate geven het tijdsbereik van de inschrijvingen aan, en moeten in het format "yyyy-MM-dd" worden opgegeven, bijvoorbeeld "2025-01-01". Bij het succesvol aanroepen ziet een respons 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"?>
<ApiResponseOfDataTable>
  <Success>true</Success>
  <Contents>
    <!-- Metadata, deze kan genegeerd worden. -->
    <xs:schema id="NewDataSet"></xs:schema>
    <diffgr:diffgram>
      <DocumentElement>
      </DocumentElement>
    </diffgr:diffgram>
  </Contents>
</ApiResponseOfDataTable>

De Contents.diffgr:diffgram bevat een DocumentElement met daarin elementen van type startedCoursesTable. Elk element geeft de inschrijvingsstatus van een medewerker weer. De inhoud van startedCoursesTable is als volgt opgebouwd:

<startedCoursesTable>
  <!-- De naam van de opleiding. -->
  <Opleiding>string</Opleiding>

  <!-- De unieke ID van de opleiding. -->
  <OpleidingsId>int</OpleidingsId>

  <!-- Of de opleiding verplicht is. Mogelijke waarden: "Ja", "Nee" -->
  <Verplicht>string</Verplicht>

  <!-- De naam van de lichting. -->
  <Lichting>string</Lichting>

  <!-- De naam van de trede waar de opleiding onder zit. -->
  <Trede>string</Trede>

  <!-- De contactmomenten van de opleiding. 
    Kommagescheiden waarden in het format d-M-yyyy hh:mm-hh:hh, bijvoorbeeld "5-2-2025 10:00-11:00, 11-2-2025 10:00-11:00"
  -->
  <Contactmomenten>string</Contactmomenten>

  <!-- Alle trainers die bij de opleiding betrokken zijn. Kommagescheiden waarden, bijvoorbeeld "Jan de Vries, Maria de Jong" -->
  <Trainers>string</Trainers>

  <!-- De in Pynter instelbare opleidingscode. Vaak gebruikt om een eigen identificatiesysteem toe te passen in Pynter. -->
  <Opleidingscode>string</Opleidingscode>

  <!-- De versie van de opleiding. -->
  <Versie>string</Versie>

  <!-- De status van de opleiding. Mogelijke waarden:
    "Goedgekeurd"
    "Gestart"
    "Geannuleerd (te laat)"
    "Ingepland"
    "In aanbod"
  -->
  <Status>string</Status>

  <!-- De datum dat de medewerker is gestart aan de opleiding, in het format d-M-yyyy, bijvoorbeeld 23-02-2025. -->
  <Startdatum>string</Startdatum>

  <!-- De datum dat de medewerker de opleiding heeft afgerond, in het format d-M-yyyy, bijvoorbeeld 23-02-2025. -->
  <Afronddatum>string</Afronddatum>

  <!-- De datum dat de opleiding voor de medewerker verloopt, in het format d-M-yyyy, bijvoorbeeld 23-02-2025. -->
  <Verloopdatum>string</Verloopdatum>

  <!-- De voornaam van de medewerker. -->
  <Voornaam>string</Voornaam>

  <!-- De achternaam van de medewerker, in het format "[Achternaam], [tussenvoegsel]", bijvoorbeeld "Vries, de". -->
  <Achternaam>string</Achternaam>

  <!-- Het personeelsnummer van de medewerker. -->
  <Personeelsnummer>string</Personeelsnummer>

  <!-- De locatie van de medewerker. -->
  <Locatie>string</Locatie>

  <!-- De divisie van de medewerker. -->
  <Divisie>string</Divisie>

  <!-- De functie van de medewerker. -->
  <Functie>string</Functie>

  <!-- Het e-mailadres van de medewerker. -->
  <Email>string</Email>

  <!-- De volledige naam van de leidinggevende van de medewerker. -->
  <Leidinggevende>string</Leidinggevende>

  <!-- De kostenplaats van de medewerker. -->
  <Kostenplaats>string</Kostenplaats>

  <!-- De kosten voor de opleiding. -->
  <Kosten>string</Kosten>

  <!-- Ongebruikt. Altijd leeg. -->
  <Betaling>string</Betaling>

  <!-- Of de medewerker uit dienst is. Mogelijke waarden: "Ja", "Nee" -->
  <Uit_x0020_dienst>string</Uit_x0020_dienst>

  <!-- De datum dat de medewerker zich heeft ingeschreven voor de opleiding, in het format d-M-yyyy, bijvoorbeeld 23-02-2025. -->
  <Inschrijfdatum>string</Inschrijfdatum>

  <!-- De datum dat er voor het laatst iets is veranderd aan de inschrijving, in het format d-M-yyyy, bijvoorbeeld 23-02-2025. -->
  <Mutatiedatum>string</Mutatiedatum>

  <!-- De datum dat de inschrijving voor de opleiding is geannuleerd (indien van toepassing), in het format d-M-yyyy, bijvoorbeeld 23-02-2025. -->
  <Annuleringsdatum>string</Annuleringsdatum>

  <!-- De reden van annuleren (indien van toepassing). Mogelijke waarden:
    Reden onbekend
    Geweigerd door planner
    Geweigerd door leidinggevende
    Geannuleerd door medewerker
    Geannuleerd door planner
    Omgepland door medewerker
    Omgepland door planner
    Omgepland door teaminschrijving
    Medewerker uit dienst
    Overgeplaatst van wachtlijst
  -->
  <Geannuleerd_x0020_door>string</Geannuleerd_x0020_door>

  <!-- De reden van annuleren (indien van toepassing). Mogelijke waarden: "No show", "Afgemeld". -->
  <Annuleringsreden>string</Annuleringsreden>

  <!-- Of de medewerker met het afronden van de opleiding een certificaat. Mogelijke waarden: "Nee", "N.v.t.". -->
  <Certificaat_x0020_behaald>string</Certificaat_x0020_behaald>

  <!-- Het medewerkerstype. Mogelijke waarden: "Intern", "Extern". -->
  <Medewerkertype>string</Medewerkertype>

  <!-- Het percentage dat de medewerker de training heeft afgerond, in het format "X%", bijvoorbeeld "100%" of "12%". Wanneer dit niet van toepassing is wordt er "N.v.t." teruggegeven. -->
  <Percentage_x0020_gereed>string</Percentage_x0020_gereed>
</startedCoursesTable>