Mijn Communities
Help

Kennisbank Youforce API & bestandsuitwisseling

Sorteren op:
Veel arbodiensten gebruiken een eigen systeem om terugkoppelingsdocumenten op te stellen. Deze documenten zijn bedoeld voor betrokkenen binnen de klantorganisatie. Om deze terugkoppelingsdocumenten ook in Verzuim Management beschikbaar te krijgen, is het nodig om deze documenten handmatig in te voeren. Dit leidt echter tot dubbele invoer van de documenten en is bovendien foutgevoelig. Om deze dubbele invoer én eventuele fouten te voorkomen, is de SIVI documenten interface ontwikkeld. Bij gebruikmaking van SIVI documenten leveren de arbodiensten de bestanden geautomatiseerd aan Visma Raet, via een beveiligde verbinding. Deze bestanden worden gekoppeld aan in Verzuim Management bestaande acties die zijn ingericht met een verwijzing naar de Identificatie document soort van SIVI.   Het aanleveren van de bestanden aan Visma Raet gebeurt via onze File API, de werking van de File API is hier gedocumenteerd. De pagina Getting Started beschrijft hoe je een access token opvraagt en via Publishers/Multipart upload staat de API call beschreven die zorgt voor de upload.   Het bestand is het door SIVI voorgeschreven (XML)format versie 2020, de XML-bestandsnaam moet bij insturen via de File API voldoen aan het volgende formaat:   DO-XXXXXXXXXXXXXXX_YYYYMMDDHHMMSSFFF.xml of DO-XXXXXXXXXXXXXXX_YYYYMMDDHHMMSSFF.xml of DO-XXXXXXXXXXXXXXX_YYYYMMDDHHMMSS.xml   Toelichting: Onderdeel inhoud DO- Vaste waarde XXXXXXXXX Vrij in te vullen waarde. Variabel, minimaal 1 positie, maximaal 160 posities. Toegestane waarden:  alfa numeriek: A-Z, a-z, 0-9. punten. spaties _ Vast waarde, scheidingsteken YYYY Jaar, 4 posities MM Maand, 2 posities dd Dag, 2 posities HH Uur, 2 posities MM Minuut, 2 posities SS Seconden, 2 posities FF of FFF Milliseconden 0, 2 of 3 posities .xml Vaste waarde, extensie   Voorbeelden:  DO-Tussentijdse evaluatie_20180622010203444.xml DO-Evaluatie n.a.v. gesprek 1_20180622010203444.xml   Om het bestand via een File API-call te versturen naar Visma Raet dient businessTypeID 124000 gebruikt te worden in de call. Dit businessTypeID staat in Youforce voor de SIVI Documenten en dient samen met de bestandsnaam als metadata worden toegevoegd aan de API call. Een voorbeeld van de API-call:       Je kan de upload testen door gebruik te maken van onderstaande API-credentials  API Key: VRA_fileapi_4001401_uploadsivi Secret Key: F0m9N5kbdXB4xEPQTkQRpd76H4JZw6CYoJQbskQ9zAJDdtu8WalC687ozkjoZ6tm TenantID: f556855c-a0c4-42c7-88f1-98bf5b209393   Met onderstaande variabelen in het SIVI document-XML-bestand: Hoofd tag Tag Inhoud Opmerking Voor FileAPI test <BrAlg> <IdOntvngr> “Visma Raet” Statische waarde Visma Raet <Wrkgvr> <HndlsnmOrg> [naam arbo dienst]  Door arbodienst in te vullen. Zelf in te vullen <Wrkgvr> <IdWrkgvrArbdnst> [identificatie van klant] Verschilt per klant-omgeving. test12345test <Document> <SrtDocumentCd> Identificatie document soort Statische lijst zoals in het SIVI format beschreven. 999 staat voor 'Overig' 999 <Document> <DatDocument> Creatie datum van het document   Zelf in te vullen <Document> <Bestandsnm> Bestandsnaam   Zelf in te vullen <Document> <Datastring> Document inhoud gecodeerd in Base64 formaat   Zelf in te vullen <Document>   <Wrknmr> <IdWrknmr> Personeelsnummer van werknemer   1945 <Document>   <Dnstvbnd>     <Vrzm> <DatEerstVrzmdg> Eerste verzuimdag van het verzuim waar het document aan gekoppeld wordt   2022-05-24   Wanneer de File API een 201 (Created) teruggeeft dan is de upload succesvol geweest, neem met Visma Raet contact op om samen te controleren of het document daadwerkelijk is toegevoegd aan het verzuimdossier van de betreffende medewerker (persoonsnummer 1945, verzuimdossier 24-05-2022), een specifieke bestandsnaam van het document (<Bestandsnm>) helpt bij de controle.    Voorbeeld van het Sivi document XML-bestand: <?xml version="1.0" encoding="UTF-8"?> <Documenten xmlns="http://www.sivi.org/Verzuimmanagement/Documenten/2020" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <BrAlg xmlns="http://www.sivi.org/Verzuimmanagement/Documenten/2020"> <BrCd>00001</BrCd> <VnrBrCd>00004</VnrBrCd> <AandatBr>2022-03-17</AandatBr> <AantijdBr>11:22:09</AantijdBr> <IdInzndr>ArbodienstX</IdInzndr> <IdOntvngr>Visma - Raet</IdOntvngr> <Berrefnr>39989003</Berrefnr> <TestJN>J</TestJN> <OntvngstbevJN>N</OntvngstbevJN> </BrAlg> <Wrkgvr xmlns="http://www.sivi.org/Verzuimmanagement/Documenten/2020"> <HndlsnmOrg>RAET SIVI TEST</HndlsnmOrg> <IdWrkgvrArbdnst>test12345test</IdWrkgvrArbdnst> <AansltnrGeguitwlngArbdnst>6431</AansltnrGeguitwlngArbdnst> <Lhnr>999999999999</Lhnr> </Wrkgvr> <Document xmlns="http://www.sivi.org/Verzuimmanagement/Documenten/2020"> <IdDocument>39989003</IdDocument> <DatDocument>2022-03-17</DatDocument> <SrtDocumentCd>999</SrtDocumentCd> <SrtDocumentOms>Overig</SrtDocumentOms> <StatDocumentCd>01</StatDocumentCd> <KenmerkZendPartij>ArbodienstX</KenmerkZendPartij> <BestandTypCd>06</BestandTypCd> <Bestandsnm>Inzetbaarheidsadvies.pdf</Bestandsnm> <AdresseringCd>01</AdresseringCd> <Datastring>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Ci9GaXJzdENoYXIgMzIKL0ZvbnREZXNjcmlwdG9yIDExIDAgUgovTmFtZSAvRjEKL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcKL0Jhc2VGb250IC9BcmlhbE1UCi9TdWJ0eXBlIC9UcnVlVHlwZQovTGFzdENoYXIgMjMzCi9XaWR0aHMgMTIgMCBSCi9UeXBlIC9Gb250Cj4+CmVuZG9iaiAKMTEgMCBvYmogCjw8Ci9Gb250TmFtZSAvQXJpYWxNVAovU3RlbVYgNDQKL0xlYWRpbmcgMzMKL0FzY2VudCA5MDUKL0ZsYWdzIDMyCi9Gb250V2VpZ2h0IDQwMAovWEhlaWdodCAyNTAKL0Rlc2NlbnQgLTIxMAovQXZnV2lkdGggNDQxCi9JdGFsaWNBbmdsZSAwCi9NYXhXaWR0aCAyNjY1Ci9Gb250QkJveCBbLTY2NSAtMjEwIDIwMDAgNzI4XQovVHlwZSAvRm9udERlc2NyaXB0b3IKL0NhcEhlaWdodCA3MjgKPj4KZW5kb2JqIAo2IDAgb2JqIAo8PAovY2EgMQovQk0gL05vcm1hbAovVHlwZSAvRXh0R1N0YXRlCj4+CmVuZG9iaiAKNSAwIG9iaiAKPDwKL0NBIDEKL0JNIC9Ob3JtYWwKL1R5cGUgL0V4dEdTdGF0ZQo+PgplbmRvYmogCjcgMCBvYmogCjw8Ci9GaXJzdENoYXIgMzIKL0ZvbnREZXNjcmlwdG9yIDEzIDAgUgovTmFtZSAvRjIKL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcKL0Jhc2VGb250IC9UaW1lc05ld1JvbWFuUFNNVAovU3VidHlwZSAvVHJ1ZVR5cGUKL0xhc3RDaGFyIDExOAovV2lkdGhzIDE0IDAgUgovVHlwZSAvRm9udAo+PgplbmRvYmogCjEzIDAgb2JqIAo8PAovRm9udE5hbWUgL1RpbWVzTmV3Um9tYW5QU01UCi9TdGVtViA0MAovTGVhZGluZyA0MgovQXNjZW50IDg5MQovRmxhZ3MgMzIKL0ZvbnRXZWlnaHQgNDAwCi9YSGVpZ2h0IDI1MAovRGVzY2VudCAtMjE2Ci9BdmdXaWR0aCA0MDEKL0l0YWxpY0FuZ2xlIDAKL01heFdpZHRoIDI2MTQKL0ZvbnRCQm94IFstNTY4IC0yMTYgMjA0NiA2OTNdCi9UeXBlIC9Gb250RGVzY3JpcHRvcgovQ2FwSGVpZ2h0IDY5Mwo+PgplbmRvYmogCjkgMCBvYmogCjw8Ci9GaXJzdENoYXIgMzIKL0ZvbnREZXNjcmlwdG9yIDE1IDAgUgovTmFtZSAvRjMKL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcKL0Jhc2VGb250IC9BcmlhbC1Cb2xkTVQKL1N1YnR5cGUgL1RydWVUeXBlCi9MYXN0Q2hhciAxMTgKL1dpZHRocyAxNiAwIFIKL1R5cGUgL0ZvbnQKPj4KZW5kb2JqIAoxNSAwIG9iaiAKPDwKL0ZvbnROYW1lIC9BcmlhbC1Cb2xkTVQKL1N0ZW1WIDQ3Ci9MZWFkaW5nIDMzCi9Bc2NlbnQgOTA1Ci9GbGFncyAzMgovRm9udFdlaWdodCA3MDAKL1hIZWlnaHQgMjUwCi9EZXNjZW50IC0yMTAKL0F2Z1dpZHRoIDQ3OQovSXRhbGljQW5nbGUgMAovTWF4V2lkdGggMjYyOAovRm9udEJCb3ggWy02MjggLTIxMCAyMDAwIDcyOF0KL1R5cGUgL0ZvbnREZXNjcmlwdG9yCi9DYXBIZWlnaHQgNzI4Cj4+CmVuZG9iaiAKMyAwIG9iaiAKPDwKL1BhcmVudFRyZWUgMTcgMCBSCi9Sb2xlTWFwIDE4IDAgUgovUGFyZW50VHJlZU5leHRLZXkgMQovSyBbMTkgMCBSXQovVHlwZSAvU3RydWN0VHJlZVJvb3QKPj4KZW5kb2JqIAoxOCAwIG9iaiAKPDwKL0RpYWdyYW0gL0ZpZ3VyZQovSGVhZGVyIC9TZWN0Ci9Xb3Jrc2hlZXQgL1BhcnQKL0Zvb3RlciAvU2VjdAovSW5saW5lU2hhcGUgL1NlY3QKL1NsaWRlIC9QYXJ0Ci9Gb290bm90ZSAvTm90ZQovQW5ub3RhdGlvbiAvU2VjdAovQ2hhcnQgL1NlY3QKL0RpYWxvZ3NoZWV0IC9QYXJ0Ci9FbmRub3RlIC9Ob3RlCi9BcnRpZmFjdCAvU2VjdAovQ2hhcnRzaGVldCAvUGFydAovV29ya2Jvb2sgL0RvY3VtZW50Ci9NYWNyb3NoZWV0IC9QYXJ0Ci9UZXh0Ym94IC9TZWN0Cj4+CmVuZG9iaiAKMTcgMCBvYmogCjw8Ci9OdW1zIFswIDIwIDAgUl0KPj4KZW5kb2JqIAoxOSAwIG9iaiAKPDwKL1AgMyAwIFIKL0sgWzIxIDAgUiAyMiAwIFIgMjMgMCBSIDI0IDAgUiAyNSAwIFIgMjYgMCBSIDI3IDAgUiAyOCAwIFIgMjkgMCBSIDMwIDAgUiAzMSAwIFIgMzIgMCBSIDMzIDAgUiAzNCAwIFIgMzUgMCBSIDM2IDAgUiAzNyAwIFJdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QYXJ0Cj4+CmVuZG9iaiAKMjEgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxOSAwIFIKL0sgWzBdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMjAgMCBvYmogWzIxIDAgUiAyMiAwIFIgMjMgMCBSIDI0IDAgUiAyNSAwIFIgMjYgMCBSIDM4IDAgUiAzOSAwIFIgMzkgMCBSIDM5IDAgUiA0MCAwIFIgNDEgMCBSIDQxIDAgUiA0MSAwIFIgNDIgMCBSIDQzIDAgUiA0MyAwIFIgNDMgMCBSIDQ0IDAgUiA0NSAwIFIgNDYgMCBSIDQ2IDAgUiA0NiAwIFIgNDcgMCBSIDQ4IDAgUiA0OCAwIFIgNDggMCBSIDQ5IDAgUiA1MCAwIFIgNTAgMCBSIDUwIDAgUiA1MSAwIFIgNTIgMCBSIDUzIDAgUiA1MyAwIFIgNTMgMCBSIDU0IDAgUiA1NSAwIFIgNTUgMCBSIDU1IDAgUiA1NiAwIFIgNTcgMCBSIDU3IDAgUiA1NyAwIFIgNTggMCBSIDU5IDAgUiA2MCAwIFIgNjAgMCBSIDYwIDAgUiA2MSAwIFIgNjIgMCBSIDYyIDAgUiA2MiAwIFIgNjMgMCBSIDY0IDAgUiA2NCAwIFIgNjUgMCBSIDY2IDAgUiA2NyAwIFIgNjcgMCBSIDY3IDAgUiA2OCAwIFIgNjkgMCBSIDY5IDAgUiA2OSAwIFIgNzAgMCBSIDcxIDAgUiA3MSAwIFIgNzEgMCBSIDcxIDAgUiA3MSAwIFIgNzEgMCBSIDcxIDAgUiA3MiAwIFIgMjggMCBSIDI5IDAgUiAzMCAwIFIgNzMgMCBSIDc0IDAgUiA3NCAwIFIgNzQgMCBSIDc1IDAgUiA3NiAwIFIgNzYgMCBSIDc2IDAgUiA3NyAwIFIgNzggMCBSIDc4IDAgUiA3OCAwIFIgNzkgMCBSIDgwIDAgUiA4MSAwIFIgODEgMCBSIDgxIDAgUiA4MiAwIFIgODIgMCBSIDgzIDAgUiA4NCAwIFIgODQgMCBSIDg0IDAgUiA4NSAwIFIgODUgMCBSIDg2IDAgUiA4NyAwIFIgODcgMCBSIDg4IDAgUiA4OCAwIFIgODggMCBSIDg5IDAgUiA5MCAwIFIgOTEgMCBSIDkxIDAgUiA5MSAwIFIgOTIgMCBSIDkzIDAgUiA5MyAwIFIgOTMgMCBSIDk0IDAgUiA5NSAwIFIgOTUgMCBSIDk2IDAgUiA5NyAwIFIgOTggMCBSIDk4IDAgUiA5OCAwIFIgOTkgMCBSIDEwMCAwIFIgMTAwIDAgUiAxMDAgMCBSIDEwMSAwIFIgMTAyIDAgUiAxMDIgMCBSIDEwMiAwIFIgMTAzIDAgUiAzMiAwIFIgMzMgMCBSIDM0IDAgUiAzNSAwIFIgMzYgMCBSIDM3IDAgUl0KZW5kb2JqIAoyMiAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDE5IDAgUgovSyBbMV0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAoyMyAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDE5IDAgUgovSyBbMl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAoyNCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDE5IDAgUgovSyBbM10KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAoyNSAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDE5IDAgUgovSyBbNF0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAoyNiAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDE5IDAgUgovSyBbNV0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAoyNyAwIG9iaiAKPDwKL1AgMTkgMCBSCi9LIFsxMDQgMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVGFibGUKPj4KZW5kb2JqIAoxMDQgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAyNyAwIFIKL0sgWzEwNSAwIFIgMTA2IDAgUiAxMDcgMCBSIDEwOCAwIFIgMTA5IDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RCb2R5Cj4+CmVuZG9iaiAKMTA1IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTA0IDAgUgovSyBbNDQgMCBSIDExMCAwIFIgMTExIDAgUiAxMTIgMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVFIKPj4KZW5kb2JqIAo0NCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEwNSAwIFIKL0sgMTgKL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1NwYW4KPj4KZW5kb2JqIAoxMTAgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMDUgMCBSCi9LIFszOCAwIFIgMzkgMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVEQKPj4KZW5kb2JqIAozOCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDExMCAwIFIKL0sgNgovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjM5IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTEwIDAgUgovSyBbNyA4IDldCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMTExIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTA1IDAgUgovSyBbNDAgMCBSIDQxIDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RECj4+CmVuZG9iaiAKNDAgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMTEgMCBSCi9LIDEwCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9TcGFuCj4+CmVuZG9iaiAKNDEgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMTEgMCBSCi9LIFsxMSAxMiAxM10KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAoxMTIgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMDUgMCBSCi9LIFs0MiAwIFIgNDMgMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVEQKPj4KZW5kb2JqIAo0MiAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDExMiAwIFIKL0sgMTQKL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1NwYW4KPj4KZW5kb2JqIAo0MyAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDExMiAwIFIKL0sgWzE1IDE2IDE3XQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjEwNiAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEwNCAwIFIKL0sgWzUxIDAgUiAxMTMgMCBSIDExNCAwIFIgMTE1IDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RSCj4+CmVuZG9iaiAKNTEgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMDYgMCBSCi9LIDMxCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9TcGFuCj4+CmVuZG9iaiAKMTEzIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTA2IDAgUgovSyBbNDUgMCBSIDQ2IDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RECj4+CmVuZG9iaiAKNDUgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMTMgMCBSCi9LIDE5Ci9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9TcGFuCj4+CmVuZG9iaiAKNDYgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMTMgMCBSCi9LIFsyMCAyMSAyMl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAoxMTQgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMDYgMCBSCi9LIFs0NyAwIFIgNDggMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVEQKPj4KZW5kb2JqIAo0NyAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDExNCAwIFIKL0sgMjMKL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1NwYW4KPj4KZW5kb2JqIAo0OCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDExNCAwIFIKL0sgWzI0IDI1IDI2XQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjExNSAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEwNiAwIFIKL0sgWzQ5IDAgUiA1MCAwIFJdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9URAo+PgplbmRvYmogCjQ5IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTE1IDAgUgovSyAyNwovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjUwIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTE1IDAgUgovSyBbMjggMjkgMzBdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMTA3IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTA0IDAgUgovSyBbNTggMCBSIDExNiAwIFIgMTE3IDAgUiAxMTggMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVFIKPj4KZW5kb2JqIAo1OCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEwNyAwIFIKL0sgNDQKL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1NwYW4KPj4KZW5kb2JqIAoxMTYgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMDcgMCBSCi9LIFs1MiAwIFIgNTMgMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVEQKPj4KZW5kb2JqIAo1MiAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDExNiAwIFIKL0sgMzIKL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1NwYW4KPj4KZW5kb2JqIAo1MyAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDExNiAwIFIKL0sgWzMzIDM0IDM1XQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjExNyAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEwNyAwIFIKL0sgWzU0IDAgUiA1NSAwIFJdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9URAo+PgplbmRvYmogCjU0IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTE3IDAgUgovSyAzNgovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjU1IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTE3IDAgUgovSyBbMzcgMzggMzldCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMTE4IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTA3IDAgUgovSyBbNTYgMCBSIDU3IDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RECj4+CmVuZG9iaiAKNTYgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMTggMCBSCi9LIDQwCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9TcGFuCj4+CmVuZG9iaiAKNTcgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMTggMCBSCi9LIFs0MSA0MiA0M10KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAoxMDggMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMDQgMCBSCi9LIFs2NSAwIFIgMTE5IDAgUiAxMjAgMCBSIDEyMSAwIFJdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9UUgo+PgplbmRvYmogCjY1IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTA4IDAgUgovSyA1NgovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjExOSAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEwOCAwIFIKL0sgWzU5IDAgUiA2MCAwIFJdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9URAo+PgplbmRvYmogCjU5IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTE5IDAgUgovSyA0NQovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjYwIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTE5IDAgUgovSyBbNDYgNDcgNDhdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMTIwIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTA4IDAgUgovSyBbNjEgMCBSIDYyIDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RECj4+CmVuZG9iaiAKNjEgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMjAgMCBSCi9LIDQ5Ci9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9TcGFuCj4+CmVuZG9iaiAKNjIgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMjAgMCBSCi9LIFs1MCA1MSA1Ml0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAoxMjEgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMDggMCBSCi9LIFs2MyAwIFIgNjQgMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVEQKPj4KZW5kb2JqIAo2MyAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEyMSAwIFIKL0sgNTMKL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1NwYW4KPj4KZW5kb2JqIAo2NCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEyMSAwIFIKL0sgWzU0IDU1XQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjEwOSAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEwNCAwIFIKL0sgWzcyIDAgUiAxMjIgMCBSIDEyMyAwIFIgMTI0IDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RSCj4+CmVuZG9iaiAKNzIgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMDkgMCBSCi9LIDczCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9TcGFuCj4+CmVuZG9iaiAKMTIyIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTA5IDAgUgovSyBbNjYgMCBSIDY3IDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RECj4+CmVuZG9iaiAKNjYgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMjIgMCBSCi9LIDU3Ci9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9TcGFuCj4+CmVuZG9iaiAKNjcgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMjIgMCBSCi9LIFs1OCA1OSA2MF0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAoxMjMgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMDkgMCBSCi9LIFs2OCAwIFIgNjkgMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVEQKPj4KZW5kb2JqIAo2OCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEyMyAwIFIKL0sgNjEKL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1NwYW4KPj4KZW5kb2JqIAo2OSAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEyMyAwIFIKL0sgWzYyIDYzIDY0XQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjEyNCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEwOSAwIFIKL0sgWzcwIDAgUiA3MSAwIFJdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9URAo+PgplbmRvYmogCjcwIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTI0IDAgUgovSyA2NQovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjcxIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTI0IDAgUgovSyBbNjYgNjcgNjggNjkgNzAgNzEgNzJdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMjggMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxOSAwIFIKL0sgWzc0XQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjI5IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTkgMCBSCi9LIFs3NV0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAozMCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDE5IDAgUgovSyBbNzZdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMzEgMCBvYmogCjw8Ci9QIDE5IDAgUgovSyBbMTI1IDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RhYmxlCj4+CmVuZG9iaiAKMTI1IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMzEgMCBSCi9LIFsxMjYgMCBSIDEyNyAwIFIgMTI4IDAgUiAxMjkgMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVEJvZHkKPj4KZW5kb2JqIAoxMjYgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMjUgMCBSCi9LIFs3OSAwIFIgMTMwIDAgUiAxMzEgMCBSIDEzMiAwIFJdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9UUgo+PgplbmRvYmogCjc5IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTI2IDAgUgovSyA4OQovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjEzMCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEyNiAwIFIKL0sgWzczIDAgUiA3NCAwIFJdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9URAo+PgplbmRvYmogCjczIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTMwIDAgUgovSyA3NwovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjc0IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTMwIDAgUgovSyBbNzggNzkgODBdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMTMxIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTI2IDAgUgovSyBbNzUgMCBSIDc2IDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RECj4+CmVuZG9iaiAKNzUgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMzEgMCBSCi9LIDgxCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9TcGFuCj4+CmVuZG9iaiAKNzYgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMzEgMCBSCi9LIFs4MiA4MyA4NF0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAoxMzIgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMjYgMCBSCi9LIFs3NyAwIFIgNzggMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVEQKPj4KZW5kb2JqIAo3NyAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEzMiAwIFIKL0sgODUKL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1NwYW4KPj4KZW5kb2JqIAo3OCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEzMiAwIFIKL0sgWzg2IDg3IDg4XQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjEyNyAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEyNSAwIFIKL0sgWzg5IDAgUiAxMzMgMCBSIDEzNCAwIFIgMTM1IDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RSCj4+CmVuZG9iaiAKODkgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMjcgMCBSCi9LIDEwOAovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjEzMyAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEyNyAwIFIKL0sgWzgwIDAgUiA4MSAwIFIgODIgMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVEQKPj4KZW5kb2JqIAo4MCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEzMyAwIFIKL0sgOTAKL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1NwYW4KPj4KZW5kb2JqIAo4MSAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEzMyAwIFIKL0sgWzkxIDkyIDkzXQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjgyIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTMzIDAgUgovSyBbOTQgOTVdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMTM0IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTI3IDAgUgovSyBbODMgMCBSIDg0IDAgUiA4NSAwIFJdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9URAo+PgplbmRvYmogCjgzIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTM0IDAgUgovSyA5NgovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjg0IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTM0IDAgUgovSyBbOTcgOTggOTldCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKODUgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMzQgMCBSCi9LIFsxMDAgMTAxXQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjEzNSAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEyNyAwIFIKL0sgWzg2IDAgUiA4NyAwIFIgODggMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVEQKPj4KZW5kb2JqIAo4NiAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEzNSAwIFIKL0sgMTAyCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9TcGFuCj4+CmVuZG9iaiAKODcgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMzUgMCBSCi9LIFsxMDMgMTA0XQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjg4IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTM1IDAgUgovSyBbMTA1IDEwNiAxMDddCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMTI4IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTI1IDAgUgovSyBbOTYgMCBSIDEzNiAwIFIgMTM3IDAgUiAxMzggMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVFIKPj4KZW5kb2JqIAo5NiAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEyOCAwIFIKL0sgMTIwCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9TcGFuCj4+CmVuZG9iaiAKMTM2IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTI4IDAgUgovSyBbOTAgMCBSIDkxIDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RECj4+CmVuZG9iaiAKOTAgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMzYgMCBSCi9LIDEwOQovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjkxIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTM2IDAgUgovSyBbMTEwIDExMSAxMTJdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMTM3IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTI4IDAgUgovSyBbOTIgMCBSIDkzIDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RECj4+CmVuZG9iaiAKOTIgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMzcgMCBSCi9LIDExMwovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjkzIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTM3IDAgUgovSyBbMTE0IDExNSAxMTZdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMTM4IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTI4IDAgUgovSyBbOTQgMCBSIDk1IDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RECj4+CmVuZG9iaiAKOTQgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMzggMCBSCi9LIDExNwovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjk1IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTM4IDAgUgovSyBbMTE4IDExOV0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAoxMjkgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMjUgMCBSCi9LIFsxMDMgMCBSIDEzOSAwIFIgMTQwIDAgUiAxNDEgMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVFIKPj4KZW5kb2JqIAoxMDMgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMjkgMCBSCi9LIDEzMwovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjEzOSAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEyOSAwIFIKL0sgWzk3IDAgUiA5OCAwIFJdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9URAo+PgplbmRvYmogCjk3IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTM5IDAgUgovSyAxMjEKL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1NwYW4KPj4KZW5kb2JqIAo5OCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEzOSAwIFIKL0sgWzEyMiAxMjMgMTI0XQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjE0MCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEyOSAwIFIKL0sgWzk5IDAgUiAxMDAgMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVEQKPj4KZW5kb2JqIAo5OSAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDE0MCAwIFIKL0sgMTI1Ci9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9TcGFuCj4+CmVuZG9iaiAKMTAwIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTQwIDAgUgovSyBbMTI2IDEyNyAxMjhdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMTQxIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTI5IDAgUgovSyBbMTAxIDAgUiAxMDIgMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVEQKPj4KZW5kb2JqIAoxMDEgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxNDEgMCBSCi9LIDEyOQovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjEwMiAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDE0MSAwIFIKL0sgWzEzMCAxMzEgMTMyXQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjMyIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTkgMCBSCi9LIFsxMzRdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMzMgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxOSAwIFIKL0sgWzEzNV0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAozNCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDE5IDAgUgovSyBbMTM2XQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjM1IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTkgMCBSCi9LIFsxMzddCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMzYgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxOSAwIFIKL0sgWzEzOF0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAozNyAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDE5IDAgUgovSyBbMTM5XQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjEyIDAgb2JqIFsyNzggMCAwIDAgMCAwIDAgMCAzMzMgMzMzIDAgMCAyNzggMzMzIDI3OCAyNzggNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgNTU2IDU1NiAwIDU1NiAyNzggMCAwIDU4NCAwIDAgMCA2NjcgNjY3IDcyMiA3MjIgNjY3IDYxMSA3NzggMCAyNzggNTAwIDY2NyA1NTYgODMzIDcyMiA3NzggNjY3IDAgNzIyIDY2NyA2MTEgMCA2NjcgOTQ0IDAgMCAwIDAgMCAwIDAgMCAwIDU1NiA1NTYgNTAwIDU1NiA1NTYgMjc4IDU1NiA1NTYgMjIyIDIyMiA1MDAgMjIyIDgzMyA1NTYgNTU2IDU1NiAwIDMzMyA1MDAgMjc4IDU1NiA1MDAgNzIyIDAgNTAwIDUwMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNTU2XQplbmRvYmogCjE0IDAgb2JqIFsyNTAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAyNTAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDU2NCAwIDAgOTIxIDcyMiA2NjcgNjY3IDcyMiA2MTEgMCA3MjIgNzIyIDMzMyAzODkgMCA2MTEgODg5IDcyMiA3MjIgNTU2IDAgNjY3IDU1NiA2MTEgNzIyIDAgMCAwIDcyMiAwIDMzMyAwIDMzMyAwIDAgMCA0NDQgMCA0NDQgNTAwIDQ0NCAwIDUwMCA1MDAgMjc4IDAgMCAwIDc3OCA1MDAgNTAwIDAgMCAzMzMgMzg5IDI3OCAwIDUwMF0KZW5kb2JqIAoxNiAwIG9iaiBbMjc4IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNjExIDAgMCAwIDAgMCA2MTEgODMzIDAgMCAwIDAgMCAwIDAgMCAwIDk0NCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNTU2IDYxMSA1NTYgMCA2MTEgNjExIDI3OCAyNzggNTU2IDI3OCA4ODkgNjExIDYxMSAwIDAgMzg5IDU1NiAzMzMgNjExIDU1Nl0KZW5kb2JqIAoxNDIgMCBvYmogCjw8Ci9SIDMKL1AgLTE4NTIKL08gKHWrmG5uxFnOITeqbmFcXKCuAnccw/R2+L2kqV1cdIhccvhnKQovRmlsdGVyIC9TdGFuZGFyZAovTGVuZ3RoIDEyOAovViAyCi9VICjBoRwhoaepIwH58NjqHiuxAAAAAAAAAAAAAAAAAAAAACkKPj4KZW5kb2JqIAoxNDMgMCBvYmogCjw8Ci9DcmVhdG9yIChu2Jq6Z1V5b+BBXGaHSmy4WVtcKPLG/VxiWSJhmWXjFdaS8LpMBMBcKSRK7mziKQovVGl0bGUgKNtV84MOTxpkhRNqnSR8zF8+Y9LXk4Y0bQarXHTlf8/68d5cdGrSRX0grBjuKQovQXV0aG9yICjVVfOcKQovUHJvZHVjZXIgKG7YmrpnVXlv4EFcZodKbLhZW1wo8sb9XGJZImGZZeMV1pLwukwEwFwpJErubOIpCi9Nb2REYXRlICjUHajHVQ5JP9EEPdl4LYgPcH7Dlc2WfikKL0NyZWF0aW9uRGF0ZSAo1B2ox1UOST/RBD3ZeC2ID3B+w5XNln4pCj4+CmVuZG9iaiB4cmVmCjAgMTQ0CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDAxNSAwMDAwMCBuIAowMDAwMDAwMTMyIDAwMDAwIG4gCjAwMDAwMDU4ODkgMDAwMDAgbiAKMDAwMDAwMDE5MSAwMDAwMCBuIAowMDAwMDA0OTY1IDAwMDAwIG4gCjAwMDAwMDQ5MDcgMDAwMDAgbiAKMDAwMDAwNTAyMyAwMDAwMCBuIAowMDAwMDA0NDg5IDAwMDAwIG4gCjAwMDAwMDU0NjEgMDAwMDAgbiAKMDAwMDAwMDUxOSAwMDAwMCBuIAowMDAwMDA0NjY1IDAwMDAwIG4gCjAwMDAwMTc3ODUgMDAwMDAgbiAKMDAwMDAwNTIwOSAwMDAwMCBuIAowMDAwMDE4MzM0IDAwMDAwIG4gCjAwMDAwMDU2NDIgMDAwMDAgbiAKMDAwMDAxODYwNSAwMDAwMCBuIAowMDAwMDA2Mjg4IDAwMDAwIG4gCjAwMDAwMDYwMDIgMDAwMDAgbiAKMDAwMDAwNjMyOSAwMDAwMCBuIAowMDAwMDA2NTg4IDAwMDAwIG4gCjAwMDAwMDY1MTMgMDAwMDAgbiAKMDAwMDAwNzU5NSAwMDAwMCBuIAowMDAwMDA3NjcwIDAwMDAwIG4gCjAwMDAwMDc3NDUgMDAwMDAgbiAKMDAwMDAwNzgyMCAwMDAwMCBuIAowMDAwMDA3ODk1IDAwMDAwIG4gCjAwMDAwMDc5NzAgMDAwMDAgbiAKMDAwMDAxMjg1OCAwMDAwMCBuIAowMDAwMDEyOTM0IDAwMDAwIG4gCjAwMDAwMTMwMTAgMDAwMDAgbiAKMDAwMDAxMzA4NiAwMDAwMCBuIAowMDAwMDE3MzIzIDAwMDAwIG4gCjAwMDAwMTc0MDAgMDAwMDAgbiAKMDAwMDAxNzQ3NyAwMDAwMCBuIAowMDAwMDE3NTU0IDAwMDAwIG4gCjAwMDAwMTc2MzEgMDAwMDAgbiAKMDAwMDAxNzcwOCAwMDAwMCBuIAowMDAwMDA4NDM4IDAwMDAwIG4gCjAwMDAwMDg1MTUgMDAwMDAgbiAKMDAwMDAwODY4NSAwMDAwMCBuIAowMDAwMDA4NzYzIDAwMDAwIG4gCjAwMDAwMDg5MzYgMDAwMDAgbiAKMDAwMDAwOTAxNCAwMDAwMCBuIAowMDAwMDA4MjcwIDAwMDAwIG4gCjAwMDAwMDkzNzIgMDAwMDAgbiAKMDAwMDAwOTQ1MCAwMDAwMCBuIAowMDAwMDA5NjIzIDAwMDAwIG4gCjAwMDAwMDk3MDEgMDAwMDAgbiAKMDAwMDAwOTg3NCAwMDAwMCBuIAowMDAwMDA5OTUyIDAwMDAwIG4gCjAwMDAwMDkyMDQgMDAwMDAgbiAKMDAwMDAxMDMxMCAwMDAwMCBuIAowMDAwMDEwMzg4IDAwMDAwIG4gCjAwMDAwMTA1NjEgMDAwMDAgbiAKMDAwMDAxMDYzOSAwMDAwMCBuIAowMDAwMDEwODEyIDAwMDAwIG4gCjAwMDAwMTA4OTAgMDAwMDAgbiAKMDAwMDAxMDE0MiAwMDAwMCBuIAowMDAwMDExMjQ4IDAwMDAwIG4gCjAwMDAwMTEzMjYgMDAwMDAgbiAKMDAwMDAxMTQ5OSAwMDAwMCBuIAowMDAwMDExNTc3IDAwMDAwIG4gCjAwMDAwMTE3NTAgMDAwMDAgbiAKMDAwMDAxMTgyOCAwMDAwMCBuIAowMDAwMDExMDgwIDAwMDAwIG4gCjAwMDAwMTIxODMgMDAwMDAgbiAKMDAwMDAxMjI2MSAwMDAwMCBuIAowMDAwMDEyNDM0IDAwMDAwIG4gCjAwMDAwMTI1MTIgMDAwMDAgbiAKMDAwMDAxMjY4NSAwMDAwMCBuIAowMDAwMDEyNzYzIDAwMDAwIG4gCjAwMDAwMTIwMTUgMDAwMDAgbiAKMDAwMDAxMzU0NiAwMDAwMCBuIAowMDAwMDEzNjI0IDAwMDAwIG4gCjAwMDAwMTM3OTcgMDAwMDAgbiAKMDAwMDAxMzg3NSAwMDAwMCBuIAowMDAwMDE0MDQ4IDAwMDAwIG4gCjAwMDAwMTQxMjYgMDAwMDAgbiAKMDAwMDAxMzM3OCAwMDAwMCBuIAowMDAwMDE0NDkyIDAwMDAwIG4gCjAwMDAwMTQ1NzAgMDAwMDAgbiAKMDAwMDAxNDY1MyAwMDAwMCBuIAowMDAwMDE0ODMwIDAwMDAwIG4gCjAwMDAwMTQ5MDggMDAwMDAgbiAKMDAwMDAxNDk5MSAwMDAwMCBuIAowMDAwMDE1MTcwIDAwMDAwIG4gCjAwMDAwMTUyNDkgMDAwMDAgbiAKMDAwMDAxNTMzMSAwMDAwMCBuIAowMDAwMDE0MzE2IDAwMDAwIG4gCjAwMDAwMTU2OTMgMDAwMDAgbiAKMDAwMDAxNTc3MiAwMDAwMCBuIAowMDAwMDE1OTQ4IDAwMDAwIG4gCjAwMDAwMTYwMjcgMDAwMDAgbiAKMDAwMDAxNjIwMyAwMDAwMCBuIAowMDAwMDE2MjgyIDAwMDAwIG4gCjAwMDAwMTU1MjQgMDAwMDAgbiAKMDAwMDAxNjY0MiAwMDAwMCBuIAowMDAwMDE2NzIxIDAwMDAwIG4gCjAwMDAwMTY4OTggMDAwMDAgbiAKMDAwMDAxNjk3NyAwMDAwMCBuIAowMDAwMDE3MTU2IDAwMDAwIG4gCjAwMDAwMTcyMzYgMDAwMDAgbiAKMDAwMDAxNjQ3MiAwMDAwMCBuIAowMDAwMDA4MDQ1IDAwMDAwIG4gCjAwMDAwMDgxNjMgMDAwMDAgbiAKMDAwMDAwOTA5NyAwMDAwMCBuIAowMDAwMDEwMDM1IDAwMDAwIG4gCjAwMDAwMTA5NzMgMDAwMDAgbiAKMDAwMDAxMTkwOCAwMDAwMCBuIAowMDAwMDA4MzQ4IDAwMDAwIG4gCjAwMDAwMDg1OTUgMDAwMDAgbiAKMDAwMDAwODg0NiAwMDAwMCBuIAowMDAwMDA5MjgyIDAwMDAwIG4gCjAwMDAwMDk1MzMgMDAwMDAgbiAKMDAwMDAwOTc4NCAwMDAwMCBuIAowMDAwMDEwMjIwIDAwMDAwIG4gCjAwMDAwMTA0NzEgMDAwMDAgbiAKMDAwMDAxMDcyMiAwMDAwMCBuIAowMDAwMDExMTU4IDAwMDAwIG4gCjAwMDAwMTE0MDkgMDAwMDAgbiAKMDAwMDAxMTY2MCAwMDAwMCBuIAowMDAwMDEyMDkzIDAwMDAwIG4gCjAwMDAwMTIzNDQgMDAwMDAgbiAKMDAwMDAxMjU5NSAwMDAwMCBuIAowMDAwMDEzMTYxIDAwMDAwIG4gCjAwMDAwMTMyNzEgMDAwMDAgbiAKMDAwMDAxNDIwOSAwMDAwMCBuIAowMDAwMDE1NDE3IDAwMDAwIG4gCjAwMDAwMTYzNjQgMDAwMDAgbiAKMDAwMDAxMzQ1NiAwMDAwMCBuIAowMDAwMDEzNzA3IDAwMDAwIG4gCjAwMDAwMTM5NTggMDAwMDAgbiAKMDAwMDAxNDM5NSAwMDAwMCBuIAowMDAwMDE0NzMzIDAwMDAwIG4gCjAwMDAwMTUwNzMgMDAwMDAgbiAKMDAwMDAxNTYwMyAwMDAwMCBuIAowMDAwMDE1ODU4IDAwMDAwIG4gCjAwMDAwMTYxMTMgMDAwMDAgbiAKMDAwMDAxNjU1MiAwMDAwMCBuIAowMDAwMDE2ODA3IDAwMDAwIG4gCjAwMDAwMTcwNjQgMDAwMDAgbiAKMDAwMDAxODg0MiAwMDAwMCBuIAowMDAwMDE4OTk1IDAwMDAwIG4gCnRyYWlsZXIKCjw8Ci9FbmNyeXB0IDE0MiAwIFIKL0luZm8gMTQzIDAgUgovUm9vdCAxIDAgUgovU2l6ZSAxNDQKL0lEIFs8OWUzYTM3MzI0ZjhlYjVjMDA0YjFkMGM3NGJhY2U5MjA+PDJhNGVhYjMwYWQ1MDI5MDljZDlmMDBiYjI3YWY0NzY2Pl0KPj4Kc3RhcnR4cmVmCjE5MjgwCiUlRU9GCg==</Datastring> <Wrknmr> <IdWrknmr>1945</IdWrknmr> </Wrknmr> <Dnstvbnd> <IdDnstvbnd>252</IdDnstvbnd> <PersNr>1945</PersNr> <Vrzm> <VrzmgvlId>1945 1 1809</VrzmgvlId> <DatEerstVrzmdg>2022-05-24</DatEerstVrzmdg> </Vrzm> </Dnstvbnd> </Document> </Documenten>              
Volledig artikel weergeven
16-11-2022 15:25 (Bijgewerkt op 24-05-2023)
  • 0 Antwoorden
  • 1 kudos
  • 1019 Weergaven
API Statuses Concept APIs with this status are still under development and the development team is still making changes. Only a sandbox is available to start testing and the API cannot be used with customer environments.  Controlled Available (CA) APIs (or API versions) with this status are not ready yet to be rolled out to the complete customer base: It is available to a few access partners Connections of an access partner to the customer environment (tenant) are put on a waiting list, and it will take time before the connection is accepted There can be functional limitations of these APIs Controlled Available APIs have the usual security and support level. General Available (GA) APIs (or API versions) with this status are available to all access partners. The API can be used by all customers who use any of the HR Core systems that are supported by this API. Deprecated The API (or API version) is being phased out. We do not accept any new connections on this API (version). We will ask our access partners to move to another interface API. See also your Service Level Agreement   Life cycle policy We aim to provide you with a policy for releases and support for older versions for a consistent and predictable experience. You can also find this information in the Service Level Agreement. Different types of changes The life cycle of any API products has dependencies on underlying products. Changes in those products may require changes to the API to support it. We distinguish between breaking changes and non-breaking changes. A breaking change is one that breaks the contract an API consumer depends on, either by a change in structure, behavior or semantics. The release and support strategy makes a clear distinction in how these are managed. Major releases At times Raet may need to make larger changes to the API. Reasons may be changes to legal requirements, adding a large new feature to the API or an change in other products the API depends on. In these cases Raet may create a new major release of the API. We strive to also keep major releases backward compatible as much as possible but this may not always be possible. In case of breaking changes In general Raet aims to have a maximum of one major release per year. Each major release will be supported for at least 24 months after releasing the next major version. As a client to our API you will have to adjust your software to follow the major releases of our API as they will impact your integration. You must update your software to support the new API version as older API versions will be decommissioned following the policy as outlined above. Minor releases A minor release will never contain breaking changes, the are used to deliver incremental changes. Minor versions will not be visible in the path of the API. Raet can install minor updates in the standard release windows or as part of a hotfix and will communicate the changes as part of the release notes. Since this does not impact any existing functionality, we do not provide side-by-side support for multiple minor versions of the same major version: a minor upgrade just replaces the previous version. As a consumer of the API it is up to you to decide if you start using the newly available features. Announcing major releases Each release of a major API version will be accompanied by communication about the support lifecycle of the current version in the release notes. When approaching the sunset-date for an API product, we will actively reach out to inform any customers still using it: Communication When Where Recipient Announcement At the release of the new major version. Includes the date of decommissioning the previous version. General release notes All recipients of general release notes.   At the release of the new major version. Includes the date of decommissioning the previous version. Developer portal Designated API contact persons 1st notification 6 months prior to decommissioning   Designated API contact persons 2nd notification 3 months prior to decommissioning   Designated API contact persons 3rd notification 1 months prior to decommissioning   Designated API contact persons   Usage limits We apply usage limits to ensure the availability of our services to all parties interacting with Youforce. These usage limits depend on your subscription. The following policies are determined per registered application:   Weekly Daily Continuous Quota - API calls* 2 hours per day   1000 API calls within the time window   7 days per month 2 hours per day   1000 API calls within the time window   40 times per month 6000 API calls per day, allowing to retrieve changes every 15 seconds Quota - authentication calls 7 successful authentication calls per month. 40 successful authentication calls per month. 400 authentication calls per month Concurrent rate-limiting (API calls in parallel) 1 1 3 Spike arrest policy (max number of API calls per minute) 100 calls per minute 100 calls per minute 100 calls per minute *For the base API the limit is 100 calls per minute Spike arrest details Spike arrest is the way we protect against traffic spikes. Our APIs and backend can handle a certain amount of traffic, and the Spike Arrest policy smooths the traffic to the general amounts. Spike Arrest’s behavior differs from what you might expect to see from the literal per minute values. Our default spike arrest is set to 100pm (100 requests per minute). That does not mean you can do 100 requests inside a 1-second. Spike Arrest smooths the number of full requests in a minute by dividing it into smaller intervals: Per-minute rates get smoothed into full requests allowed in intervals of seconds. For example, 100pm gets smoothed like this: 60 seconds (1 minute) / 100pm = 0.6-second intervals, or 1 request allowed every 0.6 seconds. A second request inside of 0.6 seconds will fail. Also, the 101st request within a minute will fail. When you exceed the policy, the API will return response code '429 - Too many requests' and you have to wait for the next time window.
Volledig artikel weergeven
17-12-2021 20:19 (Bijgewerkt op 21-12-2021)
  • 0 Antwoorden
  • 0 kudos
  • 950 Weergaven
The File API allows you to download or upload files directly from Youforce, over HTTPS using the tool of your choice.    This API is controlled available and has consumption limitations. See API statuses   Concepts Concept Description File API Public endpoint to upload/list/download the files. In the request to File API, application id, business type and tenant are being identified. Once the files are uploaded to File API by a publisher application, the authorized subscriber application can list, download and delete the files. Business Type The files which are related to the same “business” are functionally grouped in File types called “Business types”. File types are represented by an integer called Business Type Id. Client Application Client Applications are the users of the system. They are identified by an application Id. Client Applications are also authorized to tenantId(s).Client application needs to obtain a authentication token by using credentials (client id and client secret).The token includes application id, tenant and permission of the application. Client Applications could be authorized either as publisher or subscriber of a business type. Publisher Publisher is a Client Application that can upload files of authorized business types and authorized tenants. Subscriber Subscriber is a Client Application that can download/list the files of authorized business types and authorized tenants. Tenant HR Core Client. Tenants are represented by tenant ids. Authentication We follow current industry standards and best practices. Authentication/authorization is not an exception. As part of the Identity and Access Management Strategy for system-to-system integrations, the File API is based on OAuth 2.0 and the authorization grant Client Credentials. Every API consumer system will be provisioned in our API Gateway as a Client Application (App). Client ID and Client Secret will be provided to be used by Apps as credentials. Thus, Apps will be able then to authenticate and get an access token (JWT) within the response payload. Subsequent requests authorization will be based on that access token previously retrieved.   Tenant Authorization Client Applications (apps) need to be authorized to the corresponding Tenant (HR Core Client) in order to consume the API. By default, the applications are authorized to TenantId: sandbox.   File Type Authorization Client applications (apps) need to be authorized as publisher or subscriber of business types By default,sandbox apps are authorized to the Sandbox File Types.   Supported File Types The File API has been designed to support a specific set of use cases. This may be extended over time, based on customer feedback. See list of Supported File Types.   Retention Period The files will be physically deleted from Storage automatically after the retention period expires (1 month). The metadata of the files (FileName, tenantId , BusinessTypeId, etc) is deleted after 6 months.   Samples Here is an example of downloading a file using curl, available on most operating systems:  curl.exe https://api.raet.com/mft/v1.0/files/%fileid%?role=subscriber ^ --header "Authorization: Bearer eyJhbGciOiJSUzI1NiIs..." ^ --header "x-raet-tenant-id: 1234567" ^ --header "Accept: application/octet-stream"  ^ --output @C:\Youforce\somefile.xml   See complete examples for curl (Batch), Powershell and .Net in Github. Getting started See the File API documentation to get started  
Volledig artikel weergeven
17-01-2022 19:12 (Bijgewerkt op 31-01-2022)
  • 0 Antwoorden
  • 0 kudos
  • 956 Weergaven
Filters Person endpoint The person endpoint supports the following query string parameters: changedAfter and  changedUntil  Date Time stamp filter: Date Time should be in UTC Format: YYYY-MM-DDTHH:MM:SS.sssZ Returns (active) person records that have changed within the provided date-time range. https://api.raet.com/learning/v1.0/persons?changedAfter=2020-06-01T00:00:01.000Z&changedUntil=2020-06-30T00:00:01.000Z   Employee endpoint THIS ENDPOINT HAS BEEN DEPRECATED Use the endpoints Person and Employment.   Employment endpoint The employee endpoint supports the following query string parameters   Parameter description personCode   Returns a list of employment records filtered by personId https://api.youforce.com/learning/v1.0/employments?personCode=191166 personId Returns a list of employment records filtered by personId https://api.youforce.com/learning/v1.0/employments?personId=191166 changedAfter and  changedUnil  Date Time stamp filter: Date Time should be in UTC Format: YYYY-MM-DDTHH:MM:SS.sssZ Returns (active) person records that have changed within the provided date-time range. https://api.raet.com/learning/v1.0/employments?changedAfter=2020-06-01T00:00:01.000Z&changedUntil=2020-06-30T00:00:01.000Z​     Cost allocation endpoint The cost allocation endpoint supports the following query string parameters   Parameter Description Id Returns the cost allocation by id https://api.youforce.com/learning/v1.0/costAllocations/100028%201%200   Organization unit endpoint The organizationUnits endpoint supports the following query string parameters   Parameter Description shortName Returns a list of all organizationUnit records filtered by shortName https://api.youforce.com/learning/v1.0/organizationUnits?shortName=1010A changedAfter and  changedUnil  Date Time stamp filter: Date Time should be in UTC Format: YYYY-MM-DDTHH:MM:SS.sssZ Returns (active) person records that have changed within the provided date-time range. https://api.raet.com/learning/v1.0/organizationUnits?changedAfter=2020-06-01T00:00:01.000Z&changedUntil=2020-06-30T00:00:01.000Z​ Role assignment endpoint The roleAssignments endpoint supports the following query string parameters   Parameter Description personId Returns a list of all role assignment records filtered by personId https://api.youforce.com/learning/v1.0/roleAssignments?personId=1010A shortName Returns a list of all role assignment records filtered by shortName https://api.youforce.com/learning/v1.0/roleAssignments?shortName=MGR changedAfter and  changedUnil  Date Time stamp filter: Date Time should be in UTC Format: YYYY-MM-DDTHH:MM:SS.sssZ Returns (active) person records that have changed within the provided date-time range. https://api.raet.com/learning/v1.0/roleAssignments?changedAfter=2020-06-01T00:00:01.000Z&changedUntil=2020-06-30T00:00:01.000Z​ Job profile endpoint The jobProfiles endpoint supports the following query string parame   Parameter Description shortName Returns a list of all jobProfile records filtered by shortName https://api.youforce.com/learning/v1.0/jobProfiles?shortName=1010A changedAfter and  changedUnil  Date Time stamp filter: Date Time should be in UTC Format: YYYY-MM-DDTHH:MM:SS.sssZ Returns (active) person records that have changed within the provided date-time range. https://api.raet.com/learning/v1.0/jobProfiles?changedAfter=2020-06-01T00:00:01.000Z&changedUntil=2020-06-30T00:00:01.000Z​ Pagination of the result set To reduce the load of an endpoint each endpoint supports paging. If the results of an endpoint contain more than 500 records, the results set will end with a nextLink tag. The nextLink indicates that there are more pages to load. If there is no nextLink at the end of the page, it means that it’s the last page of the result set. The default value is 500 records, but it is possible to use less than that.   Hieronder een voorbeeld waarbij 125 records per pagina wordt opgehaald.       GET https://api.youforce.com//iam/v1.0/persons?take=125       In de nextLink wordt deze page size overgenomen, zodat ook de vervolg pagina's maximaal 125 records bevat.      U kunt een page size tot maximaal 1000 records opvragen.    Delete a record After a record is deleted in the core system, the API will return the record with his id and the flag isDelete = true. This delete means that the whole record including all version are delete. For example       { "id": "907624", "isDeleted": true, "shortName": "907624" }        
Volledig artikel weergeven
21-12-2021 15:22 (Bijgewerkt op 06-11-2023)
  • 0 Antwoorden
  • 0 kudos
  • 811 Weergaven
  Introductie Voor de overgang van de IBU (Automatisch) naar File API kun je de volgende opties in overweging nemen:   Je kunt dit volledig zelf doen Consultancy afspraak van een uur waarin wij de file API en benodigde stappen uitleggen. Consultancy afspraak van 4 uur (Intake 1 uur + 3 uur verdere inrichting)  waarin we onderstaande stappen gezamenlijk doorlopen. Voor optie 2 en 3 (het inplannen van een consultancy afspraak) kan je in Mijn Support een nieuwe aanvraag indienen, kiezen voor soort consultancy (API), optie Aanvraag consultancy en vervolgens de benodigde informatie velden invullen.    Indien je ervoor kiest om de inrichting zelf te doen, volg dan onderstaande stappen zoals beschreven in dit artikel: Inventariseer om welke bestanden het gaat. Maak een account aan op het Visma Developer Portal Maak een applicatie aan op het Visma Developer Portal Maak een invitatiecode aan op Visma Developer Portal Dien een ticket in via ‘Mijn support’ Pas zonodig de modules aan om gebruik te maken van File API Implementeer de nieuwe File API oplossing in uw eigen omgeving.  1 - Inventariseer om welke bestanden het gaat Jullie Customer Success Manager heeft inzicht in het gebruik van IBU en kan daar op verzoek een lijst van aanleveren.   2 - Account aanmaken op Visma Developer Portal De Visma Developer portal is te bereiken via  https://oauth.developers.visma.com/service-registry/home   en maak via Create account een account aan         De portal zal via do.not.reply@mail.connect.visma.com  je een e-mail sturen met een Activatie account link.   Gebruik bij het registreren het Kvk-nummer als Organization number     Startscherm na inloggen     Desgewenst kun je een collega toevoegen via My team en New member. Jullie hebben dan beiden inzicht in de gegevens van de applicatie.     De volgende stap is het aanmaken van een applicatie (zie stap 3). 3 - Een applicatie aanmaken   Door een applicatie aan te maken ontstaat er een API Key en een Secret Key die je gebruikt om de authenticatietoken op te halen. Bij het inrichten van de File API vragen we je om een aparte applicatie aan te maken per file type (bijv. Datafeed, Aktes Export). Volg de stappen 3 tot en met 5 uit dit document voor elke applicatie die je aanmaakt.   Kies via het tabblad My Applications voor Add Application   Als application type selecteer Service, dit is het enige type wat door Visma|Raet wordt ondersteund.     Het aanmaken van de applicatie gaat via vier tabbladen, vul de gegevens in op het eerste tabblad Details. Weet dat de opgegeven Client Id wordt gebruikt als API key bij de API-aanroepen.    Je moet zelf de Client Id opgeven en om je bij vragen sneller van dienst te kunnen zijn, vragen wij je om bij het inrichten van de File API de waarde alsvolgt te kiezen: VRA_fileapi_6412345_Datafeed oftewel VRA_fileapi_ met daarachter je Visma|Raet-klantnummer en file type.  De 'isv'-prefix wordt standaard altijd toegevoegd   Let op: De Applicatienaam en Client Id heb je nodig in stap 5 om de autorisatie aan te vragen.   Let op:  Testomgeving - Indien je de API wilt koppelen aan jullie eigen testomgeving vragen wij je om bij het inrichten van de File API de waarde als volgt te kiezen: VRA_fileapi_6412346_BINT oftewel VRA_fileapi_ met daarachter je Visma|Raet-klantnummer van de testomgeving en file type.    Om je File API inrichting te testen kun je tevens gebruik maken van onze sandbox. Met deze sandbox kun je 3 dummy files ontvangen en ook testbestanden insturen. De applicatie voor de productieomgeving kan ook gekoppeld worden aan deze sandbox. Maak hiervoor een 2e invitatie code aan in stap 4.    Via deze applicatie met bijbehorende Client Id en Secret krijg je toegang de data en of bestanden uit de Youforce/HRCoreEducation-omgeving(en). Eén API key-set kan toegang geven tot meerdere klantomgevingen.   Via de Tenant Id die je als Header meestuurt bij het aanvragen van een authenticatie token bepaal je de benodigde klantomgeving.   Access Token Lifetime mag op de default waarde blijven staan. Een aanpassing van deze waarde heeft geen effect op werking van de API, alsmede de opties Include JSON Web Token ID en TestApplication.   Gebruik eerst Save as a draft om vervolgens de applicatie aan te maken via Create, via Next ga je naar het volgende tabblad.     Het tabblad Credentials stelt je in staat om de API Secret aan te maken. Let op, de Secret waarde wordt alleen getoond via de pop up bij het aanmaken, dus neem dit direct over. De pop up toont ook je eerder gekozen ID (API key).   Let op: Wordt de bestaande secret vergeten dan dien je een nieuwe aan te maken, deze wordt dan toegevoegd.     Via het tabblad Integrations selecteer je Youforce File (voor de bestanden), oftewel je ‘basis’ API, je gebruikt hiervoor New integration.       Visma | Raet zal de opgegeven API’s goedkeuren. Dit gaat via een workflow in de portal, je hoeft daar niks voor te doen. De goedkeuring door Visma | Raet kan enkele dagen duren.       Per API dien je de Scope(s) te selecteren welke gebruikt gaat worden in deze applicatie. Op deze manier kun je bepaalde functionaliteiten binnen de Youforce API uitsluiten van je applicatie. Je kunt vanzelfsprekend ook alle Scopes selecteren, maar een API kan ook slechts 1 Scope gebruiken.   Onder het volgende screenshot vind je een tabel met de beschikbare scopes voor de verschillende file types.     Scopes Betekenis businesstypes list  In de toekomst zal deze scope inzenders en ontvangers toestaan om informatie te krijgen over file types (businesstypes). Op dit moment is het alleen mogelijk voor een inzender om op te vragen of er een ontvanger is voor een specifieke tenant/file type combinatie. files delete Deze scope staat ontvangers toe om bestanden te verwijderen die je niet wilt downloaden. files download Deze scope staat ontvangers toe om bestanden te downloaden, alsook inzenders om bestanden die zij zelf geüpload hebben te downloaden. files upload Deze scope staat inzenders toe om bestanden te uploaden. files list Deze scope staat ontvangers toe om bestanden weer te geven die klaar staan voor ontvangen, alsook inzenders voor de bestanden die zij zelf geüpload hebben. Onderstaande tabel bevat alle beschikbare file types en de scopes die beschikbaar zijn voor dat file type. Kies het file type waar je de applicatie voor aan het aanmaken bent en maak een keuze uit de scopes die daarvoor beschikbaar zijn. (Meerdere opties zijn dus mogelijk) Tabel file types   HR Core Education gebruik makend van de IBU  IBU: Module Id - Naam File API: File Type Id - Name Scopes 3 - Payroll Gemal Engine - Download 128001 - Payroll Gemal Exports businesstypes list files delete files download files list 17 - PayrollZend - Upload 129001 - Gemal Direct import Integratiebestanden (WIG*.im) businesstypes list files upload files download files list 34-Betaalmanager Downloads - Download 135000 - RBM Gemal Downloads (csv)  businesstypes list files delete files download files list 36-Betaalmanager Opdrachten - Download 135001 - RBM Gemal Payment Files (xml, zip) businesstypes list files delete files download files list 33 - Salarisdossier - Download 106000 - Salarisdossier Gemal Export businesstypes list files delete files download files list 35 - Personeelsdossier - Upload 107003 - Personeelsdossier Imports businesstypes list files upload files download files list 38 - Personeelsdossier - Download 107001 - Personeelsdossier Exports businesstypes list files delete files download files list 41 - Gebruikersbeheer - Upload 121003 - IAM XSSO businesstypes list files upload files download files list 80 - HR Core Edu Bulk Import - Upload 120000 - HRCE Bulk import businesstypes list files upload files download files list 81 - Management Informatie - Download 117000 - MI Education Datafeed Exports businesstypes list files delete files download files list 81 - Management Informatie - Download 117001 - MI Education Aktes Exports businesstypes list files delete files download files list 81 - Management Informatie - Download 120001 - HR Core Declaration Exports businesstypes list files delete files download files list 82 - Management Informatie - Upload 117004 - MI Education Akte Imports businesstypes list files upload files download files list   Het tabblad Integrations kan je niet direct bevestigen via Save, dat kan pas op het moment dat Visma|Raet de gekozen API’s bij de applicatie heeft goedgekeurd, dit gaat via een flow je hoeft hier niks voor te doen.    Je moet wachten op de bevestigings email van de goedkeuring door Visma|Raet voordat je met de volgende stappen verder kunt gaan.   Je kan door te klikken op de knop ‘Visma App store’ naar de laatste stap.   Tabblad Visma App Store   Voor toegang tot de klantdata genereer je straks in stap 4 een Invitatie Code. Hiervoor moet in de Visma App Store eerst het Access level - Audience configureren.     Na Start setup for Visma App Store ziet u onderstaand scherm en dan kies je bij Access level - Audience voor Invite only       Je bent nu klaar met het aanmaken van de applicatie, de optie Save is zichtbaar op het moment dat Visma | Raet de applicatie heeft goedgekeurd. Zo niet dan kun je dit scherm sluiten door bijvoorbeeld op Back to my Applications te klikken.  4 - Invitatiecode aanmaken Met een invitatiecode maak je het mogelijk de klantgegevens op te halen via je applicatie. Ga naar de Developer Portal https://oauth.developers.visma.com/service-registry/home  Kies voor My Applications. En klik op het potloodje achter de applicatie (Edit).    Kies voor het tabblad Visma App Store. En vervolgens New Invitation Code.     Bij Invitation description vul je de naam van de betreffende klant in. En klik vervolgens op Generate.       Let op: De Invitation Code heb je nodig in stap 5 om toegang te vragen tot de klant-data.   Visma | Raet zal de toegang tot de klant-data goedkeuren en dan direct de koppeling van klantdata aan je applicatie gereedmaken.   Binnen het beheer van je applicatie en het scherm Integrations is via de tabblad Tenants (default wordt het tabblad Scopes getoond) terug te zien welke klanten (tenants) gekoppeld zijn aan je applicatie. Dit scherm laat ook de bijbehorende TenantID zien. De TenantID is benodigd bij het opvragen van de authenticatie token.   Voorbeeld van een Tenant ID   5 - Dien een ticket in via Mijn Support Dien ticket in via Mijn Support met de invitation code en het verzoek om autorisatie voor de File API. Vermeld in het ticket de volgende gegevens:   Klantnummer: Je Visma|Raet relatienummer Naam IT medewerker Degene die de File API bij jullie installeert Telefoonnummer IT medewerker   Email IT medewerker   Invitatiecode Deze code heb je aangemaakt in stap 4 Client Id De Client Id heb je aangemaakt in stap 3 Applicatienaam De Applicatienaam heb je aangemaakt in stap 3 File type Het file type wat je met deze applicatie gaat zenden of ontvangen. Bijv 117000 - MI Education Datafeed Exports   6 - Pas systemen aan om gebruik te maken van File API Als je Payroll Gemal Direct en/of Betaalmanager gebruikt dan moet je deze applicaties  configureren voor de File API. Zie deze  link voor meer informatie per module.   Voor andere modules hoef je niets te doen.   7 - Implementeer de nieuwe File API oplossing in uw eigen omgeving.  Vraag een IT collega met verstand van schedulen en het opstellen van powershell scripts om het stappenplan te volgen. Je vind de voorbeeld powershell scripts op deze pagina.    
Volledig artikel weergeven
06-11-2023 10:40 (Bijgewerkt op 15-01-2024)
  • 4 Antwoorden
  • 0 kudos
  • 821 Weergaven
  General Access to the Visma|Raet support desk When Partner first starts using the Youforce API’s, Visma|Raet will create one end-user (hereinafter: Administrator) for Partner, who is given access to the Ticket system of Visma|Raet. An Administrator is an authorized person by Partner who uses the Youforce API’s and subsequently is able to create new Administrators.  The Visma|Raet Ticket system is accessible through this link: Log Support Ticket Service Support Questions about the functioning of Youforce API’s s are answered by Visma| Raet’s Service Center. We also process reports about malfunctions and deal with it adequately and ensure proper feedback. We offer these services to the registered, professional contact persons of Partner. The designated contact persons of Partner, are able to report detected incidents to Visma Raet’s Service Center. This is possible via accessing the Visma|Raet Ticket system.  In the case of escalation, you can contact us by telephone  The ticket system of Visma|Raet grants access and information about the progress of submitted questions and the offered solutions. Contact persons are during the support process able to add information and react to the offered solutions by Visma|Raet. Access by telephone of the Service Center  Access by telephone of the Service Center is meant for those situations where direct contact is needed to provide a solution or in case of escalation. The Service Center can be reached by telephone on workdays between 8:00 am and 6:00 pm.  We kindly ask you to enter your partner number and to choose between the Service on which the question is related to. Our Stand-by Service can be reached by telephone outside work hours, for reports with respect to the availability of the Youforce APIs. The Stand-by Service is available on workdays between 6:00 am and 8:00 am and between 6:00 pm and 10:00 pm and during weekends between 6:00 am and 10:00 pm.   Note: The Stand-by Service is only for reports on malfunctions in the availability of the Youforce API’s applications and is not meant for substantive questions or for reporting other malfunctions.  FAQ Who can get support? Partners only. See How to become an Access Partner How can I log a ticket on an API on login? You will receive instructions for this as part of your access partner contract. How long does it take before my ticket is picked up? Visma | Raet applies four Support Level Codes to give the right priority to the malfunction and the corresponding response time. The distinction in Support Level Codes is based on the type, severity, the corresponding initial response time and the expected recovery time of the reported malfunction.  Code Meaning Description 1 High The malfunction has a far-reached and immediate effect on the activities in the organization of the customer: activities cannot continue. There is no alternative solution that offers similar results.  2 Medium The malfunction has a significant effect on the activities in the organization of the customer: An alternative solution is available, whether or not with some limitations. 3 Low The malfunction has limited or no effect on the activities in the organization of the customer The following resolution times relate to the Service Level Code, depending on the Service Code Meaning Maximum duration 1 High Solution by means of a workaround 90% within 24 hours 100% within 48 hours Structural solution: Within 30 calendar days 2 Medium Structural solution: Between 30-90 calendar days 3 Low Solution The solution shall be included in the release calendar How do get a login to the support tool? You will receive instructions for this as part of your access partner contract.
Volledig artikel weergeven
30-12-2021 10:09 (Bijgewerkt op 24-01-2022)
  • 0 Antwoorden
  • 0 kudos
  • 792 Weergaven
Dit document beschrijft de ‘PlusPort - Visma Raet Learning API’-connector. Een koppeling gebaseerd op de Visma Raet Learning API.
Volledig artikel weergeven
23-12-2021 15:47
  • 0 Antwoorden
  • 0 kudos
  • 704 Weergaven
Dit document beschrijft de 'Ubeeo ATS - Visma Raet Learning API’-connector. Een koppeling gebaseerd op de Visma Raet Learning API.
Volledig artikel weergeven
23-12-2021 15:53 (Bijgewerkt op 03-02-2022)
  • 0 Antwoorden
  • 0 kudos
  • 650 Weergaven
De Basic api heeft de status Controlled Available en is enkel nog beschikbaar in overleg met Visma Raet.       Domein model  De Basic api bevat uitsluitend de basis medewerker- en organisatiegegevens. Middels deze API hebben externe systemen inzicht in de organisatiestructuur en de huidige medewerker.   Het model Entiteiten en velden   Person (Persoon) Id / personId Technical and unique id. the Id is unique within the entity and tenant. The id is owned by the core system and can not changed by a user P01001 - Persoonsnummer PersonCode The logical code or number of the employee. P01001 - Persoonsnummer Initials The initials of the employee. Format depends P00303 - Voorletters firstNames The official given names of the employee as stored in the HR Core system P01002 - Voornamen KnownAs The name which is used by the employee as his first name P01003 - Roepnaam lastNameAtBirth The last name at birth of the employee. Also known as the family name P00301 - Geboortenaam lastNameAtBirthPrefix The prefix of the last name at birth P00302 - Geboortenaam-voorvoegsels lastName The last which is currently used by the employee as his last name P01008 - Samengestelde naam lastNamePrefix The prefix of the last name as used currently P01009 - Samengestelde naam-voorvoegsels nameAssembleOrder Code of the assemble order that the core system uses for the last Name. The assemble order is depending on the core system and the logic behind it. P00304 - Gebruik achternaam partnerName The partner last name P00390 - Partner-naam partnerNamePrefix The prefix of the partner last name P00391 - Partner-voorvoegsels titlePrefix The formal title which will be used as a prefix before the name like Doctor, Professor, et cetera P00305 - Titulatuur voor de naam titleSuffix The formal title which will be used as postfix after the name like MSc or Master of Science P03937 - Titulatuur achter de naam gender Gender of the person conform the ISO/IEC 5128 standard (0) Not known (1) Male (2) Female (9) Not applicable P00330 - Geslacht M = Man / Male V = Vrouw / Female dateOfBirth Date of Birth P00321 -Geboorte datum deceased Indicated if the employee deceased Note: most core systems have a date field. In the API this will be translated to boolean P01005 - Datum overlijden UserUID Digital Identity of the user from the portal PORTAL : Ping ID emailAddresses List of the email addresses of the employee. The fields are: type like Business, Private, etc. address Business: P01035 - E-mail adres werk Private: P01034 - E-mail adres prive phoneNumbers list of phone numbers of the employee type like Business, Home, Mobile, et cetera number Home: P01027 - telefoonnr woonadres Mobile : P01036 - Telefoonnr mobiel Business :P01037 - Telefoonnr werk FaxBusiness : P01039 Faxnr werk FaxHome : P01038 Faxnr prive Addresses list of addresses of the employee. The address fields are: addressType like Home, Post, etc. streetName Number streetNumberAdditional postalCode city country Home: P01014 straatnaam P01016 Huisnummer P01018 Huisnummer toev P01020 Postcode P01022 Plaatsnaam P01024 Land Postal: P00365 straatnaam P00367 huisnummer P00368 huisnummer toev P00313 postcode P00308 plaatsnaam P00847 land     Employment (Dienstverband) Id / employmentId Technical and unique id. the Id is unique within the entity and tenant. The id is generated by the system and can not changed by a user. Object Id = "PersonCode" + ContractCode PersonCode / PersonId Person code to which the employment is related P01001 - Persoonsnummer employmentCode / ContractCode / ContractId Code of the contract P01101 - volgnr dienstverband PayrollClientCode Logical code of the payroll client. Filter option for Row Authorisation (configuration API) [P01103 Opdrachtgever] PayrollInstitutionCode Logical code of the payroll Institution. Filter option for Row Authorisation (configuration API) [P01104 Instelling] hireDate The hire date of the employment P00322 - Datum in dienst dischargeDate The end date or discharge date of the employment. This is always an "up to and including" date. In unknown the field will not be visible in the API P00830 - Datum uit dienst originalHireDate The first hire date of original hire date of an employee within the organization. This date is important for the tenure or working anniversary of an employee P00834 -Datum in dienst CAO employmentType Type of employment like Internal employee, contractor, "Wachtgelder" Filter option for Row Authorisation (configuration API) P01102 - Soort arbeidsrelatie contractType Type of the contact like indefinite period ('Onbepaalde tijd') or given time ('bepaalde tijd') P08259 - Code contract (on)bepaalde tijd jobProfile Official job title or job profile of the employment. The Job profile contains the following details: shortName: Code or short name of the job profile P01107 - Primaire functie classification group or classification of the employment. Generic field Filter option for Row Authorisation (configuration API) P01110 - Code doelgroep organizationUnit organization unit Id of employment. The Id is a reference to the entity org units P01106 - Hierarchische org. eenheid workingAmount Work amount of employment. amountOfWork: the amount of work unitOfWork: Unit of work that specifies the amount of work like "hours", "days", et cetera periodOfWork: Period of work like "week" or "month" parttimePercentage P01109 - Uren per week P00404 percentage deelbetrekking   Organisation unit (Organisatie-eenheid) id Technical and unique id of the organization Unit. the Id is unique within the entity and tenant. The id is generated by the system and can not changed by a user. ID shortName Code or short name of the organizational unit OE Code fullName Name of the organization unit OE naam parentOrgUnit reference to the parent organizational unit. Empty means that it is organizational unit on the highest level in the company ParentID organisationUnitTpe Type of the organization Unit   address Address of the organisation Unit - Address - street - number - numberAdditional - postalCode - city OE Adres costCenter default cost center of the organisation unit. Kostenplaats IsBlocked Indicates if the Organization unit is block for adding new employees. note: it is possible there are still employee referring to this Org Unit. blocked/inactive   Role assignment (roltoewijzing) id Technical and unique id of the role assigment. the Id is unique within the entity and tenant. The id is generated by the system and can not changed by a user. object ID PersonID / personCode Technical ID of the Person Persoonsnummer shortName Short name of the role the person will have for this organization, like Manager, HR Professional, Director. P01062 - Rol organisationUnit Id of the organisation Unit P01061 - Operationele org.eenheid startDate Start date from which the role assignment is valid for that employee P01063 - ingangsdatum roltoewijzing endDate end date until when the role assignment is valid P01064 - einddatum roltoewijzing   Job profile (functie) id / shortName Unique id of the Job profile. the Id is unique within the entity and tenant. P02301 - Code functie fullName Name of the Job Profile P02302 - Omschrijving functie jobFamily Job family to which the job profile belongs P02305 - Code Functiegroep   User (Youforce user account) Id / UserUID Ping Id or User Id which be used for the SSO solution of Visma Raet Ping ID SourceId Youforce user name Gebruikersnaam IdentityId Identity of the user on the local network Identity
Volledig artikel weergeven
02-10-2023 15:11
  • 1 Antwoorden
  • 0 kudos
  • 606 Weergaven
Dit document beschrijft de ‘AppicalNow - Visma|Raet Learning API’-connector. Een koppeling gebaseerd op de Visma Raet Learning API.
Volledig artikel weergeven
23-12-2021 15:39
  • 0 Antwoorden
  • 0 kudos
  • 620 Weergaven
Status  De Bestandsuitwisseling module is nu “Algemeen Beschikbaar” voor HR Core Education gebruikers. Dit betekent dat je zelf de autorisatie kunt toekennen in Autorisatiebeheer. Bestandsuitwisseling is de vervanger van handmatig Zenden/Ontvangen met IBU.   Vanaf vandaag zal de applicatie Bestandsuitwisseling standaard beschikbaar zijn in Autorisatiebeheer. In Autorisatiebeheer kan de beheerder rechten geven voor de verschillende bestandstypes aan de desbetreffende gebruikers.    Heb je nog geen toegang tot Autorisatiebeheer? Dien een ticket in bij 4Me en vermeld daarin de gebruikers die toegang moeten krijgen tot Autorisatiebeheer. Wij zullen er dan voor zorgen dat deze gebruikers worden toegevoegd.    Wat je moet doen Ken in Autorisatiebeheer de juiste (onderstaande) rechten toe aan je gebruikers aan de hand van de volgende stappen.    NOOT: Indien je nog niet bekend bent met Autorisatiebeheer kun je hier lezen hoe je Autorisatiebeheer kunt gebruiken. Stap 1: Maak een nieuwe Autorisatie aan, door in het startscherm van Autorisatiebeheer op ‘Autorisatie toevoegen’ te klikken. Vul de naam in voor de nieuwe Autorisatie en ken vervolgens de nieuwe Autorisatie toe aan ‘Alle gebruikers’ of ‘Specifieke gebruikers’. Voeg de applicatie Bestandsuitwisseling toe aan de  nieuwe Autorisatie met de volgende rechten: Toegang tot Bestandsuitwisseling Zend testbestanden naar Bestandsuitwisseling Ontvang testbestanden van Bestandsuitwisseling Met deze rechten hebben de gebruikers, aan wie de nieuwe Autorisatie is toegekend, toegang tot Bestandsuitwisseling, maar alleen voor de  testbestanden en nog geen rechten voor applicatie specifieke bestanden.   Stap 2: Voeg alle gewenste applicaties en hun specifieke rechten toe aan de juiste autorisatiegroepen. Hierbij is het mogelijk om aan één Autorisatie meerdere applicaties inclusief bijbehorende rechten te koppelen: HR Core Education   Zend aktes naar MI Education Zend bulk bestanden naar HR Core Education Ontvang declaratiebestanden van HR Core Education Ontvang aktes van MI Education Ontvang datafeed bestanden van MI Education           Betaalmanager Ontvang downloads van Betaalmanager Gemal Ontvang opdrachten van Betaalmanager Gemal   Payroll Gemal Direct Ontvang bestanden van Payroll Gemal Direct   Payroll Gemal Direct Zenden   Zend WIG Integratiebestanden naar Payroll Gemal Direct   Personeelsdossier Zend bestanden naar Personeelsdossier Ontvang bestanden van Personeelsdossier Salarisdossier Gemal Ontvang bestanden van Salarisdossier Gemal Youforce Account Beheer  Zend XSSO bestanden naar Gebruikersbeheer Stap 3. Controleer of alle gebruikers, die toegang moeten hebben tot Bestandsuitwisseling, toegevoegd zijn aan deze autorisatie. Dit kan per gebruiker of via het rapport.  Stap 4. Aanvullend dient in de applicaties ‘Betaalmanager’ en ‘Payroll Gemal Direct’ te worden ingesteld dat de bestanden verstuurd worden naar Bestandsuitwisseling in plaats van naar Zenden en Ontvangen. Een overzicht van de acties per applicatie staan op deze community pagina . Stap 5. Bestandsuitwisseling is op dit moment beschikbaar in Mijn Youforce, maar kan ook worden bereikt via de "Bestandsuitwisseling" -tegel op de Youforce Desktop. In dat laatste geval moet de tegel wel worden geautoriseerd via Toegangsbeheer.  Extra informatie   Gebruikers moeten zich aanmelden via het nieuwe inloggen om gebruik te kunnen maken van Bestandsuitwisseling. Bestanden kunnen gedurende 1 maand worden opgehaald/ontvangen. Bestanden kunnen gedurende 1 maand zo nodig meerdere malen worden ontvangen. Bij verzenden van bestanden wordt er een kopie van de te verzenden bestanden verstuurd. Het verzonden bestand blijft lokaal beschikbaar. Ontvangen bestanden worden opgeslagen in de Download directory die in je browser is geconfigureerd. De Nederlandse taal wordt ondersteund. De gebruikte taal volgt de keuze die je bij de persoonlijke instellingen in Mijn Youforce hebt gemaakt. Het is mogelijk om tegelijkertijd meerdere bestanden te ontvangen. Zie Release-opmerkingen Bestandsuitwisseling update 16-10-2023.   Aan de volgende onderwerpen wordt op dit moment gewerkt. We zullen je hier op de community op de hoogte houden van de voortgang: Op dit moment wordt nog niet geregistreerd wie een bestand heeft ingezonden of ontvangen. Deze informatie is dus nog niet terug te zien in de betreffende schermen Kennisartikelen Zenden en Ontvangen met de IBU stopt Youforce-bestanden koppelen aan Bestandsuitwisseling.   Hoe Bestandsuitwisseling testen met dummy-bestanden Releases voor bestandsuitwisseling
Volledig artikel weergeven
20-10-2023 14:57 (Bijgewerkt op 30-04-2024)
  • 0 Antwoorden
  • 0 kudos
  • 558 Weergaven
De learning API beschikt over een autorisatie mechanisme waarmee bepaald kan worden tot welke medewerkers en datasets een learning systeem toegang heeft.  Het autorisatie mechanisme bestaat uit de volgende onderdelen:   Autorisatie op basis van API scopes Door het activeren van scopes kunnen externe systemen toegang krijgen tot één of meerdere endpoint en dataset. De scopes zijn vooraf door Visma Raet bepaald en omvatten één of meerdere endpoints, dataset en/of acties. Autorisatie op medewerkers  Met behulp van autorisaties filters kan worden bepaald welke medewerkers in de API beschikbaar komen.  Met dit document willen wij u informeren over de mogelijkheden van deze autorisatievormen in de API. Beide autorisatie mechanismes moeten door een consultant ingericht worden.     Autorisatie op basis van API scopes In de Visma developer portal zijn per API één of meerdere scopes gedefinieerd.  Door het activeren van deze scope krijgt een extern systeem toegang tot één of meerdere endpoint en/of data set. Binnen de API worden de volgende scopes onderscheiden.     Scope Omschrijving Endpoints Invitation_only Scope noodzakelijk om de API te kunnen activeren. Tijdens het activering proces wordt de contractafspraken gecontroleerd en vastgelegd.  Deze scope geeft nog geen toegang tot enige vorm van data maar is noodzakelijk voor de onboarding van klanten op de API of applicatie - Get_Basic Get basic data zoals medewerker- & organisatiedata GET persons GET employments GET employees GET assignments GET organizationUnits GET roleAssignments GET jobProfiles Upload_documents Upload van documenten zoals certificaten, diploma's, etc naar het Youforce personeelsdossier van de medewerker POST documents/xxxxx zoals  POST documents/diploma POST documents/certifcate ect GET documents/{ticketId}/status  GetPrivateContactDetails Voegt de privé contactgegevens aan de endpoint Person & Employee, zoals post- en woonadres, telefoonnummer vast & mobiel en het email adres. GET persons GET Employees   Dit betreft de volgende gegevens: ADRESGEVENS Home: P01014 straatnaam P01016 Huisnummer P01018 Huisnummer toev P01020 Postcode P01022 Plaatsnaam P01024 Land Postal: P00365 straatnaam P00367 huisnummer P00368 huisnummer toev P00313 postcode P00308 plaatsnaam P00847 land TELEFOONNUMMERS Home: P01027 - telefoonnr woonadres Mobile : P01036 - Telefoonnr mobiel EMAILADRES Prive: P01034 - E-mail adres prive   Uw consultant kan u helpen bij het activeren / deactiveren van deze scopes binnen de API.     Autorisatie op basis van autorisatie filters De autorisatie filters hebben betrekking op welke medewerkers zichtbaar zijn in de API. Standaard worden altijd alle medewerkers getoond in de API. Bij het activeren van de API kan een consultant filters inrichten zodat maar een beperkte groep medewerkers via de API beschikbaar komen.   Filteren in de API is mogelijk op de volgende Beaufort velden: P01102- Soort Arbeidsrelatie  P01103- Opdrachtgever  P01104- Instelling  P01110 - Code doelgroep  P05041 - Selectie rubriek Domain API - Learning  Een veel voorkomen filter is bijvoorbeeld op Soort Arbeidsrelatie waarbij alleen eigen medewerkers in het extern systeem opgenomen worden.  Maar ook een filter op de combinatie Opdrachtgever / Instelling geeft u de mogelijkheid om de medewerkers van één of meerdere specifieke instellingen in de API op te nemen.   Uw consultant kan u helpen bij het inrichten of wijzigen van de autorisatie filters.        
Volledig artikel weergeven
06-02-2023 15:19 (Bijgewerkt op 06-04-2023)
  • 0 Antwoorden
  • 0 kudos
  • 525 Weergaven
Status  De Bestandsuitwisseling module is nu “Algemeen Beschikbaar” voor HR Core OnPremise gebruikers. Dit betekent dat je zelf de autorisatie kunt toekennen in Autorisatiebeheer. Bestandsuitwisseling is de vervanger van handmatig Zenden/Ontvangen met IBU.   De applicatie Bestandsuitwisseling is standaard beschikbaar in Autorisatiebeheer. In Autorisatiebeheer kan de beheerder rechten geven voor de verschillende filetypes aan de desbetreffende gebruikers.    Heb je nog geen toegang tot Autorisatiebeheer? Dien een ticket in bij 4Me en vermeld daarin de gebruikers die toegang moeten krijgen tot Autorisatiebeheer. Wij zullen er dan voor zorgen dat deze gebruikers worden toegevoegd.    Wat je moet doen Ken in Autorisatiebeheer de juiste (onderstaande) rechten toe aan je gebruikers aan de hand van de volgende stappen.    NOOT: Indien je nog niet bekend bent met Autorisatiebeheer kun je hier lezen hoe je Autorisatiebeheer kunt gebruiken.   Stap 1: Maak een nieuwe Autorisatie aan, door in het startscherm van Autorisatiebeheer op ‘Autorisatie toevoegen’ te klikken. Vul de naam in voor de nieuwe Autorisatie en ken vervolgens de nieuwe Autorisatie toe aan ‘Alle gebruikers’ of ‘Specifieke gebruikers’. Voeg de applicatie Bestandsuitwisseling toe aan de  nieuwe Autorisatie met de volgende rechten: Toegang tot Bestandsuitwisseling Zend testbestanden naar Bestandsuitwisseling Ontvang testbestanden van Bestandsuitwisseling Met deze rechten hebben de gebruikers, aan wie de nieuwe Autorisatie is toegekend, toegang tot Bestandsuitwisseling, maar alleen voor de  testbestanden en nog geen rechten voor applicatie specifieke bestanden. Lees dit kennis artikel  hoe je kunt testen met Bestandsuitwisseling.   Stap 2: Voeg alle gewenste applicaties en hun specifieke rechten toe aan de juiste autorisatiegroepen. Hierbij is het mogelijk om aan één Autorisatie meerdere applicaties inclusief bijbehorende rechten te koppelen:   HR Core OnPremise Zend EDI INH bestanden naar EDI module Zend UWV Digi-ZSM bestanden naar UWV Zend SBFT bestanden naar Payroll Gemal Ontvang Gemal Salarisregelingen Ontvang HR Core Upgrades Betaalmanager Ontvang downloads van Betaalmanager Gemal Ontvang opdrachten van Betaalmanager Gemal Payroll Gemal Direct Ontvang bestanden van Payroll Gemal Direct Salarisdossier Gemal Ontvang bestanden van Salarisdossier Gemal Personeelsdossier Ontvang bestanden van Personeelsdossier Zend bestanden naar Personeelsdossier Youforce Account Beheer Zend XSSO bestanden naar Gebruikersbeheer Zend Dienstverbanden CSV bestand naar Gebruikersbeheer Zend Organisatie bestanden naar Gebruikersbeheer Zend Roltoewijzing bestanden naar Gebruikersbeheer Flex Benefit Ontvang TE bestanden van Flex Benefits Self Service Zend HI CSV bestand naar Self Service Zend HI XML bestand naar Self Service   Stap 3. Controleer of alle gebruikers, die toegang moeten hebben tot Bestandsuitwisseling, toegevoegd zijn aan deze autorisatie. Dit kan per gebruiker of via het rapport.  Stap 4. Aanvullend dient in de applicaties ‘Betaalmanager’ en ‘Payroll Gemal Direct’ te worden ingesteld dat de bestanden verstuurd worden naar Bestandsuitwisseling in plaats van naar Zenden & Ontvangen. Een overzicht van de acties per applicatie staan op deze community pagina . Stap 5. Bestandsuitwisseling is op dit moment beschikbaar in Mijn Youforce, maar kan ook worden bereikt via de "Bestandsuitwisseling" -tegel op de Youforce Desktop. In dat laatste geval moet de tegel wel worden geautoriseerd via Toegangsbeheer. Extra informatie Gebruikers moeten zich aanmelden via het nieuwe inloggen om gebruik te kunnen maken van Bestandsuitwisseling. Bestanden kunnen gedurende 1 maand worden opgehaald/ontvangen. Bestanden kunnen gedurende 1 maand zo nodig meerdere malen worden ontvangen. Bij verzenden van bestanden wordt er een kopie van de te verzenden bestanden verstuurd. Het verzonden bestand blijft lokaal beschikbaar. Ontvangen bestanden worden opgeslagen in de Download directory die in je browser is geconfigureerd. Wil je bestanden in verschillende directories ontvangen dan kan dat door je browser zo te configureren dat hij bij elke download vraagt om een directory waar de bestanden gedownload moeten worden. De Nederlandse en Engelse taal worden ondersteund. De gebruikte taal volgt de keuze die je bij de persoonlijke instellingen in Mijn Youforce hebt gemaakt. Het is mogelijk om tegelijkertijd meerdere bestanden te ontvangen. Zie Release-opmerkingen Bestandsuitwisseling update 16-10-2023.   Kennisartikelen Zenden en Ontvangen met de IBU stopt Youforce-bestanden koppelen aan Bestandsuitwisseling.   Hoe Bestandsuitwisseling testen met dummy-bestanden Releases voor bestandsuitwisseling      
Volledig artikel weergeven
06-12-2023 10:15 (Bijgewerkt op 30-04-2024)
  • 0 Antwoorden
  • 0 kudos
  • 480 Weergaven
Bestandsuitwisseling Test file type is gedefinieerd in Bestandsuitwisseling voor test doeleinden. Het bestandstype kan worden gebruikt om de upload en download van dummy-bestanden te testen. Dit file type kan al geautoriseerd worden via Autorisatiebeheer.   Doorloop de volgende stappen om dit file type te gebruiken:   1 - Voeg het rechten “Zend testbestanden naar Bestandsuitwisseling” en “Ontvang testbestanden van Bestandsuitwisseling” toe in Autorisatiebeheer, onder de Applicatie “Bestandsuitwisseling”.   2 - Ga naar de Bestandsuitwisseling applicatie en klik op “Send Files”. 3 - Selecteer het nieuwe bestandstype uit de keuzelijst, selecteer een dummybestand door op "Select Files" te klikken en activeer vervolgens het verzenden door op de "Upload" knop te klikken. 4 - Als het bestand succesvol is ingestuurd verschijnt het in de “Sent Files” lijst.   5 - Een paar seconden later zal het bestand ook verschijnen in de "Receive Files" sectie.  6 - klik op het download-icoon om het te downloaden.    
Volledig artikel weergeven
03-10-2023 10:55 (Bijgewerkt op 05-10-2023)
  • 0 Antwoorden
  • 1 kudos
  • 470 Weergaven
Om de veiligheid van jouw en onze systemen en gegevens beter te kunnen waarborgen zijn wij genoodzaakt enige beperkingen te stellen aan de naamgevingsconventie voor bestanden die worden ingezonden naar Youforce m.b.v. IBU, Bestandsuitwisseling en File API (bv Powershell scripts). Vanaf heden zijn bij de naamgeving van in te zenden bestanden alleen de volgende karakters toegestaan: Alle alfanumerieke karakters: Letters (klein en hoofd) en Cijfers underscore (_), min-teken (-), punt (.), komma (,), dollar-teken ($) en ronde haakjes ( en ). Spatie Tevens zijn de volgende bestand-extensies NIET meer toegestaan: action,apk,app,asa,asax,asp,axd,bat,bin,cer,cfc, cfm,cgi,cmd,com,command,cpl,csh,css,dbm,dll,do, exe,gadget,htm,html,inc,inf,ins,inx,ipa,isu,jar, job,js,jse,jsp,jsv,jsw,jsx,ksh,lnk,msc,msi,msp, mst,osx,out,paf,phar,php,php2,php3,php4,php5,php6, php7,phps,pht,phtm,phtml,pif,pl,prg,ps1,rem,reg, rgs,run,scr,sct,shb,shs,shtml,swf,u3p,vb,vbe,vbs, vbscript,workflow,ws,wsf,wsg,wss,xap   LET OP! Bij inzenden met Bestandsuitwisseling en File API (powershell scripts) krijg je direct een foutmelding als je het bestand probeert in te zenden. Bij IBU lijkt het bestand echter normaal ingezonden, echter wordt het bestand verderop in onze systemen afgekeurd. We kunnen voor deze afkeuring helaas geen terugkoppeling geven, maar het bestand wordt niet afgeleverd op de gewenste bestemming.
Volledig artikel weergeven
13-10-2023 16:06 (Bijgewerkt op 19-10-2023)
  • 0 Antwoorden
  • 1 kudos
  • 470 Weergaven
Dit document beschrijft de ‘IAM3 - Visma Raet IAM API’-connector. Een koppeling gebaseerd op de Visma Raet IAM API.
Volledig artikel weergeven
23-12-2021 15:50 (Bijgewerkt op 01-02-2022)
  • 0 Antwoorden
  • 0 kudos
  • 444 Weergaven
Dit document beschrijft de ‘Dialog - Visma Raet Learning API’-connector. Een koppeling gebaseerd op de Visma Raet Learning API.
Volledig artikel weergeven
23-12-2021 15:42
  • 0 Antwoorden
  • 0 kudos
  • 426 Weergaven
What is the Youforce API? Through the Youforce API you can in integrate data and therefore giving your customers: an up-to-date list of the latest HR information in your application automatic on- and off-boarding of employees in your application HR Core system Youforce consists of different HR modules. There is always an HR Core system in the center of every customer implementation storing the employee data. With the API's we only support  HR Core Public Online (a.k.a HR Core Beaufort Online)   For HR Core Public (a.ka. HR Core Beaufort On-premise) we offer access to data using the File API. Please contact a technical consultant. API library You can find the APIs at https://developers.youforce.com/api-library   
Volledig artikel weergeven
17-12-2021 20:39 (Bijgewerkt op 17-12-2021)
  • 0 Antwoorden
  • 0 kudos
  • 416 Weergaven
Note: De MLM api heeft de status Controlled Available en is enkel nog beschikbaar in overleg met Visma Raet. De MLM api is een tijdelijke oplossing die op termijn vervangen wordt door de Sivi standaard en specifiek door het Sivi medewerker bericht.  Zodra het Sivi medewerker bericht beschikbaar is, moet overgestapt worden op deze marktstandaard en komt de MLM api te vervallen. Artikel inhoud   Domein model  De MLM api bevat uitsluitend de basis medewerker- en organisatiegegevens. Voor de verzuimgegevens wordt verwezen naar het SIVI bericht Verzuimmeldingen. De SIVI oplossing wordt separaat van deze MLM api aangeboden. Het model Entiteiten en velden Person (Persoon) Id / personId Technical and unique id. the Id is unique within the entity and tenant. The id is owned by the core system and can not changed by a user P01001 - Persoonsnummer PersonCode The logical code or number of the employee. P01001 - Persoonsnummer Initials The initials of the employee. Format depends P00303 - Voorletters firstNames The official given names of the employee as stored in the HR Core system P01002 - Voornamen KnownAs The name which is used by the employee as his first name P01003 - Roepnaam lastNameAtBirth The last name at birth of the employee. Also known as the family name P00301 - Geboortenaam lastNameAtBirthPrefix The prefix of the last name at birth P00302 - Geboortenaam-voorvoegsels lastName The last which is currently used by the employee as his last name P01008 - Samengestelde naam lastNamePrefix The prefix of the last name as used currently P01009 - Samengestelde naam-voorvoegsels nameAssembleOrder Code of the assemble order that the core system uses for the last Name. The assemble order is depending on the core system and the logic behind it. P00304 - Gebruik achternaam partnerName The partner last name P00390 - Partner-naam partnerNamePrefix The prefix of the partner last name P00391 - Partner-voorvoegsels titlePrefix The formal title which will be used as a prefix before the name like Doctor, Professor, et cetera P00305 - Titulatuur voor de naam titleSuffix The formal title which will be used as postfix after the name like MSc or Master of Science P03937 - Titulatuur achter de naam gender Gender of the person conform the ISO/IEC 5128 standard (0) Not known (1) Male (2) Female (9) Not applicable P00330 - Geslacht M = Man / Male V = Vrouw / Female socialSecurityNumber Dutch social security number of the employee P00320 BSN nummer dateOfBirth Date of Birth P00321 -Geboorte datum deceased Indicated if the employee deceased Note: most core systems have a date field. In the API this will be translated to boolean P01005 - Datum overlijden UserUID Digital Identity of the user from the portal PORTAL : Ping ID emailAddresses List of the email addresses of the employee. The fields are: type like Business, Private, etc. address Business: P01035 - E-mail adres werk Private: P01034 - E-mail adres prive phoneNumbers list of phone numbers of the employee type like Business, Home, Mobile, et cetera number Home: P01027 - telefoonnr woonadres Mobile : P01036 - Telefoonnr mobiel Business :P01037 - Telefoonnr werk FaxBusiness : P01039 Faxnr werk FaxHome : P01038 Faxnr prive Addresses list of addresses of the employee. The address fields are: addressType like Home, Post, etc. streetName Number streetNumberAdditional postalCode city country Home: P01014 straatnaam P01016 Huisnummer P01018 Huisnummer toev P01020 Postcode P01022 Plaatsnaam P01024 Land P01012 Adres m.i.v. Postal: P00365 straatnaam P00367 huisnummer P00368 huisnummer toev P00313 postcode P00308 plaatsnaam P00847 land P01011 Adres m.i.v.   Employment (Dienstverband) Id / employmentId Technical and unique id. the Id is unique within the entity and tenant. The id is generated by the system and can not changed by a user. Object Id = "PersonCode" + ContractCode PersonCode / PersonId Person code to which the employment is related P01001 - Persoonsnummer employmentCode / ContractCode / ContractId Code of the contract P01101 - volgnr dienstverband PayrollClientCode Logical code of the payroll client. Filter option for Row Authorisation (configuration API) [P01103 Opdrachtgever] PayrollInstitutionCode Logical code of the payroll Institution. Filter option for Row Authorisation (configuration API) [P01104 Instelling] hireDate The hire date of the employment P00322 - Datum in dienst dischargeDate The end date or discharge date of the employment. This is always an "up to and including" date. In unknown the field will not be visible in the API P00830 - Datum uit dienst originalHireDate The first hire date of original hire date of an employee within the organization. This date is important for the tenure or working anniversary of an employee P00834 -Datum in dienst CAO employmentType Type of employment like Internal employee, contractor, "Wachtgelder" Filter option for Row Authorisation (configuration API) P01102 - Soort arbeidsrelatie contractType Type of the contact like indefinite period ('Onbepaalde tijd') or given time ('bepaalde tijd') P08259 - Code contract (on)bepaalde tijd jobProfile Official job title or job profile of the employment. The Job profile contains the following details: shortName: Code or short name of the job profile P01107 - Primaire functie classification group or classification of the employment. Generic field Filter option for Row Authorisation (configuration API) P01110 - Code doelgroep organizationUnit organization unit Id of employment. The Id is a reference to the entity org units P01106 - Hierarchische org. eenheid workingAmount Work amount of employment. amountOfWork: the amount of work unitOfWork: Unit of work that specifies the amount of work like "hours", "days", et cetera periodOfWork: Period of work like "week" or "month" parttimePercentage P01109 - Uren per week P00404 percentage deelbetrekking   Organisation unit (Organisatie-eenheid) id Technical and unique id of the organization Unit. the Id is unique within the entity and tenant. The id is generated by the system and can not changed by a user. ID shortName Code or short name of the organizational unit OE Code fullName Name of the organization unit OE naam parentOrgUnit reference to the parent organizational unit. Empty means that it is organizational unit on the highest level in the company ParentID organisationUnitTpe Type of the organization Unit   address Address of the organisation Unit - Address - street - number - numberAdditional - postalCode - city OE Adres costCenter default cost center of the organisation unit. Kostenplaats IsBlocked Indicates if the Organization unit is block for adding new employees. note: it is possible there are still employee referring to this Org Unit. blocked/inactive Role assignment (roltoewijzing) id Technical and unique id of the role assigment. the Id is unique within the entity and tenant. The id is generated by the system and can not changed by a user. object ID PersonID / personCode Technical ID of the Person Persoonsnummer shortName Short name of the role the person will have for this organization, like Manager, HR Professional, Director. P01062 - Rol organisationUnit Id of the organisation Unit P01061 - Operationele org.eenheid startDate Start date from which the role assignment is valid for that employee P01063 - ingangsdatum roltoewijzing endDate end date until when the role assignment is valid P01064 - einddatum roltoewijzing   Job profile (functie) id / shortName Unique id of the Job profile. the Id is unique within the entity and tenant. P02301 - Code functie fullName Name of the Job Profile P02302 - Omschrijving functie jobFamily Job family to which the job profile belongs P02305 - Code Functiegroep User (youforce user account) Id / UserUID Ping Id or User Id which be used for the SSO solution of Visma Raet Ping ID SourceId Youforce user name Gebruikersnaam IdentityId Identity of the user on the local network Identity  
Volledig artikel weergeven
03-04-2023 15:27 (Bijgewerkt op 21-07-2023)
  • 0 Antwoorden
  • 0 kudos
  • 407 Weergaven
Controlled available: inhoud is niet definitief   Nedap Ons is een populair systeem dat zorgprofessionals veel administratieve taken uit handen neemt door personeelsplanningen te maken en deze te koppelen aan Elektronische CliëntenDossiers (ECD).    Visma | Raet levert, met het toonaangevende Youforce platform, een volledig digitale HR-administratie waarmee de werkgever ‘in control’ is over alle processen in de employee lifecycle: van recruitment tot offboarding.   De integratie specialisten van Visma Connect hebben een API connector ontwikkeld die de overdracht van HR data tussen de applicaties van Visma | Raet en Nedap automatiseert.   Youforce API en import ONS Nedap De Youforce Workforce Management (WFM) API met de Extenions API, welke het mogelijk maakt om flexibel 'eigen' rubrieken toe te voegen, vormen de bron voor de connector.  Via de API's wordt de data opgehaald uit HRCoreOnline, waarnodig getransformeerd en aangeboden aan de API van ONS Nedap of via de XML-import van ONS Nedap zodat de data zichtbaar is in de applicatie van ONS Nedap.       Om gebruik te kunnen maken van de connector dien je contact op te nemen met je Customer Success Manager.   Frequentie van het ophalen van de data via de Youforce WFM API en het aanbieden aan ONS Nedap via de API en via de XML-import is ieder uur.   Via onderstaand tabel zie je de betreffende HRCoreOnline-velden die worden uitgewisseld. De velden maken deel uit van een 'scope' (deelgebied), als klant kan je kiezen welke scope(s) je op wilt nemen in de koppeling, bespreek dit met de Raet Consultant.   Benodigde voorbereiding    Eigen rubrieken aanmaken Een belangrijk deel van de informatie wordt via Eigen rubrieken vastgelegd, deze velden zijn essentieel om ONS Nedap goed te kunnen gebruiken, de aanwezigheid van deze velden in HRCoreOnline zijn dus een vereiste. Het aanmaken van de velden met de refentietabellen kan eenvoudig via XML-importbestanden, vraag die op bij je consultant. De wijze van import in HRCoreOnline staat hier beschreven:   https://community.visma.com/t5/Nieuws-Youforce-HR-Core-Beaufort/Rubrieken-voor-eigen-HRSS-inrichting-betaald-ouderschapsverlof/ba-p/504058   Let op, de velden zijn dan beschikbaar in HRCoreOnline desgewenst dien je ze ook op te nemen in de Selfservice-workflows.   ONS Nedap API en XML-import toegang Als klant vraag je bij ONS Nedap het volgende aan: Login credentials voor de ONS Nedap API (met Certificaat) Gebruikersnaam en wachtwoord voor de XML-import Je deelt dit met de Raet Consultant.   Youforce API filter Met behulp van autorisaties filters kan worden bepaald welke medewerkers in de API beschikbaar komen. Bekijk de mogelijkheden via: https://community.visma.com/t5/Kennisbank-Youforce-API/Autorisatie-WFM-api/ta-p/557545     Inhoud van de koppeling   Scope Basis (Persoonsgegevens, dienstverbanden en inzetregels).   HRCoreOnline - veld Import via ONS Nedap API-veld Import via Nedap XML-  veld Opmerking  Persoon P01001 - Persoonsnummer  employee.identificationNo        P00303 - Voorletters  employee.initials        P01002 - Voornamen employee.firstName       P00301 - Geboortenaam employee.birthName       P00302 - Geboortenaam-voorvoegsels employee.partnerName       P01008 - Samengestelde naam employee.lastName       P01009 - Samengestelde naam-voorvoegsels employee.prefix       P00304 - Gebruik achternaam employee.preferredNameType       P00390 - Partner-naam employee.partnerName       P00391 - Partner-voorvoegsels employee.partnerNamePrefix       P00330 - Geslacht employee.gender       P00321 -Geboorte datum employee.dateOfBirth               Contact- gegevens Business: P01035 - E-mail adres werk employee.emailAddress       Business :P01037 - Telefoonnr werk employee.mobilePhoneNumber               Dienst- verband P01101 - volgnr dienstverband employee.identificationNo-[Volgnr van WFM]         contract.beginDate         contract.endDate         Employee.type   Heeft een vaste waarde 0 (regular)   P08259 - Code contract (on)bepaalde tijd contract.contractType   0=Onbepaalde tijd; 1=Bepaalde tijd; 2=inhuur   P01119 - Max. uren per week payroll.Contract.var /contract.hoursVar               Inzet-regels P01125 - Ingang inzet teamAssignments.beginDate       P01126 - Einde inzet teamAssignments.endDate       P01121 - Operationele org. eenheid team_assignments.teamObjectId       P01124 - Uren inzet per week payroll.Contract.fixed /contract.hoursFixed          Scope Extensies (Eigen rubrieken)     HRCoreOnline - veld Import via ONS Nedap API-veld Import via Nedap XML-  veld Opmerking Extentie-velden WKKRT1 - Weekkaartprofiel     Niet beschikbaar in de koppeling?    AGB001 - AGB-code 1   employee. agb.primaryAgbCode     AGB002 - AGB-code 2   employee.agb.agbCode     P09165 - BIG-nummer (1)   employee.bigCode     BIG002 - BIG-nummer (2)   employee.bigCode     BIG003 - BIG-nummer (3)   employee.bigCode     DBC001 - Cono-/DBC-beroepsgroep 1   employee. conoBeroepsgroep     DBC002 - Cono-/DBC-beroepsgroep 2   employee. conoBeroepsgroep     DBC003 - Cono-/DBC-beroepsgroep 3   employee. conoBeroepsgroep     AUT001 - Authenticatienummer employee. authentication MobilePhone employee. authenticationNumber     CAO001- CAO-code Ons   collectiveagreement. agreement     DEP001- Deskundigheids-profiel     Niet beschikbaar    COMP01- Compensatie berekenen     Niet beschikbaar   COMP02- Compensatie begindatum     Niet beschikbaar    COMP03 -Compensatie uitbetalen     Niet beschikbaar    ONAN001- Onderaannemer     Niet beschikbaar      Scope Prive (Adres, telefoonnummer en e-mailadres)   HRCoreOnline - veld Import via ONS Nedap API-veld Import via Nedap XML-  veld Opmerking Adres (thuis) P01014 straatnaam EmployeeAddress.street     Adres (thuis) P01016 Huisnummer EmployeeAddress. homeNumber     Adres (thuis) P01018 Huisnummer toev EmployeeAddress. homeNumberExtension     Adres (thuis) P01020 Postcode EmployeeAddress.zipcode     Adres (thuis) P01022 Plaatsnaam EmployeeAddress.city     Adres (thuis) P01024 Land EmployeeAddress.country     Adres (post) P00365 straatnaam EmployeeAddress.street     Adres (post) P00367 huisnummer EmployeeAddress. homeNumber     Adres (post) P00368 huisnummer toev EmployeeAddress. homeNumberExtension     Adres (post) P00308 plaatsnaam EmployeeAddress.zipcode     Adres (post) P00313 postcode EmployeeAddress.city     Adres (post) P00847 land EmployeeAddress.country     Telefoonnummer Home: P01027 - telefoonnr woonadres EmployeeAddress. telephoneNumber     Telefoonnummer Mobile : P01036 - Telefoonnr mobiel EmployeeAddress. telephoneNumber2     E-mailadres Prive: P01034 - E-mail adres privé EmployeeAddress.email     Type Adres   typeString   Standaard wordt de volgende waarde gebruikt: 1: Living (bij Adres Thuis) 2: Postal (bij Adres Post) Type persoon   personType   Standaard wordt de volgende waarde gebruikt: 2: Employee Type verblijf   residentType   Standaard wordt de volgende waarde gebruikt: 0: Unknown     _______________________       Scope Salaris details   HRCoreOnline - veld Import via ONS Nedap API-veld Import via Nedap XML-  veld Opmerkingen Berekend uurloon P01160 Berekend garantie uurloon   employee.HourlyWage.wageInCents         employee.HourlyWage.startOfWage Datum waarop dit uurloon is ingegaan.  *Bestaat niet in Youforce,  eventueel contract datum nemen       employee.HourlyWage.endOfWage Datum waarop dit uurloon niet langer valide is. *Bestaat niet in Youforce eventueel contract datum nemen _____________________         Scope Verlof (rechten)   HRCoreOnline - veld Import via ONS Nedap API-veld Import via Nedap XML-  veld Opmerkingen Verlofsoort (WET, BW etc.) P01430 code verlofsoort werknemer   VacationAmount.plb   Jaar verlofrecht P01440 verlofjaar verlofrechten   CurrentDate   Overgehevelde verlofrechten van vorig jaar P01442 verlofrecht vorig jaar in uren   VacationAmount.absolute Het is niet mogelijk om vorige jaar en huidige jaar uren apart in nedap ONS te krijgen. Wij doen vorige jaar + Huidige Jaar = Totaal -> Nedap ONS __________________________ Verlofrechten huidig jaar P01443 verlofrecht huidig jaar in uren      
Volledig artikel weergeven
30-10-2023 15:41 (Bijgewerkt op 21-11-2023)
  • 2 Antwoorden
  • 3 kudos
  • 436 Weergaven