Provisioning
Documentatie voor provisioning middels de Pynter API
Gebruikers aanmaken
Voor het aanmaken van een gebruiker in Pynter kan gebruik gemaakt worden van de CreatePerson endpoint.
Deze endpoint ziet er als volgt uit:
POST /service/apiservice.asmx HTTP/1.1
Host: domein.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>
<CreatePerson xmlns="/service/ApiService.asmx">
<username>string</username>
<password>string</password>
<personCreate></personCreate>
</CreatePerson>
</soap12:Body>
</soap12:Envelope>
De endpoint verwacht een personCreate object geserialiseerd als XML. Dit object ziet er als volgt uit:
<personCreate>
<!-- Het medewerkernummer voor deze persoon. Kan gebruikt worden om de persoon op te wijzigen of op te halen. Moet uniek zijn. -->
<ExternalIdentifier>string</ExternalIdentifier>
<!-- De voornaam. -->
<FirstName>string</FirstName>
<!-- OPTIONEEL: Het tussenvoegsel. -->
<Insertion>string</Insertion>
<!-- De achternaam exclusief tussenvoegsel. -->
<FamilyName>string</FamilyName>
<!-- Een zakelijk e-mailadres voor de persoon. -->
<Email>string</Email>
<!-- OPTIONEEL: Het autorisatieniveau van de persoon. Wanneer dit niet gegeven wordt zal de persoon standaard ingesteld worden als cursist. -->
<!-- Zie de opmerking onder dit blok voor meer uitleg. -->
<AccountLevel></AccountLevel>
<!-- OPTIONEEL: De naam van de functie. -->
<!-- LET OP: Wanneer dit leeggelaten wordt krijgt de persoon 'Functie onbekend'. -->
<FunctionName>string</FunctionName>
<!-- OPTIONEEL: De naam van de divisie / locatie van de persoon. -->
<!-- LET OP: Wanneer dit leeggelaten wordt krijgt de persoon 'Locatie onbekend'. -->
<DivisionName>string</DivisionName>
<!-- OPTIONEEL: De kostenplaats voor de persoon. -->
<!-- LET OP: Wanneer dit leeggelaten wordt krijgt de persoon een lege kostenplaats. -->
<CostCentre>string</CostCentre>
<!-- OPTIONEEL: De telefoonnummer. -->
<PhoneNumber>string</PhoneNumber>
<!-- OPTIONEEL: Wanneer het contract van kracht is. -->
<ContractStartTime>datetime</ContractStartTime>
<!-- OPTIONEEL: Wanneer het contract afloopt. -->
<ContractEndTime>datetime</ContractEndTime>
<!-- OPTIONEEL: Het medewerkernummer van de leidinggevende van deze persoon. -->
<!-- LET OP: Wanneer dit leeggelaten wordt krijgt de persoon 'Manager onbekend'. -->
<ManagerExternalIdentifier>string</ManagerExternalIdentifier>
</personCreate>
Voor meer informatie over AccountLevel kan je de pagina over Autorisatie inzien.
Bij het succesvol aanroepen krijg je het volgende resultaat terug:
HTTP/1.1 200 OK
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>
<CreatePersonResponse xmlns="/service/ApiService.asmx">
<CreatePersonResult>
<Success>boolean</Success>
<Contents>int<Contents>
<Error>string</Error>
</CreatePersonResult>
</CreatePersonResponse>
</soap12:Body>
</soap12:Envelope>
In de Contents van de response bevind zich het interne Pynter ID van de persoon die later gebruikt kan worden voor het wijzigen van de persoon.
Gebruikers wijzigen
Voor het bewerken van een gebruiker in Pynter kan gebruik gemaakt worden van de UpdatePerson endpoint. Deze endpoint ziet er als volgt uit:
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>
<UpdatePerson xmlns="/service/ApiService.asmx">
<username>string</username>
<password>string</password>
<pynterPersonId>int</pynterPersonId>
<personUpdate>
<ManagerExternalIdentifier>string</ManagerExternalIdentifier>
</personUpdate>
</UpdatePerson>
</soap12:Body>
</soap12:Envelope>
De endpoint verwacht een pynterPersonId. Dit is het interne ID voor de persoon in Pynter. Deze krijg je terug wanneer je de createPerson endpoint aanroept. Voor meer informatie, zie de Gebruikers aanmaken sectie.
Daarnaast verwacht de endpoint een personUpdate object geserialiseerd als XML. Dit object is gelijk aan dat bij het personCreate object zoals besproken in de Gebruikers aanmaken sectie.
**Let op:** Wanneer je de gebruiker op uit dienst zet met een ContractEndDate die in het verleden ligt dan zullen updates aan alle andere velden niet verwerkt worden. Deze persoon komt alleen op uit dienst te staan.
Bij het succesvol aanroepen krijg je het volgende resultaat terug:
HTTP/1.1 200 OK
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>
<UpdatePersonResponse xmlns="/service/ApiService.asmx">
<UpdatePersonResult>
<Success>boolean</Success>
<Contents />
<Error>string</Error>
</UpdatePersonResult>
</UpdatePersonResponse>
</soap12:Body>
</soap12:Envelope>
In de Contents van de response bevind zich een lege waarde.