Mijn Communities
Help

Kennisbank Youforce API & bestandsuitwisseling

Sorteren op:
Developer portal, een account aanmaken, applicatie registreren en toegang tot de klantgegevens
Volledig artikel weergeven
12-10-2022 13:33 (Bijgewerkt op 12-09-2023)
  • 1 Antwoorden
  • 4 kudos
  • 5312 Weergaven
Deze pagina beschrijft de benodigde stappen om een Youforce-bestand te koppelen aan de File API.
Volledig artikel weergeven
04-10-2022 16:32 (Bijgewerkt op 07-09-2023)
  • 2 Antwoorden
  • 4 kudos
  • 2775 Weergaven
  File Type Id File Type Naam Zend/Ontvang Applicatie Koppelen aan de File API 135000 Betaalmanager Gemal Downloads Ontvang Betaalmanager Acties in Betaalmanager 135001 Betaalmanager Gemal Opdrachten Ontvang Betaalmanager Acties in Betaalmanager 114000 Betaalmanager VIPS Disbursements Downloads Ontvang Betaalmanager Acties in Betaalmanager 114001 Betaalmanager VIPS Disbursements Opdrachten Ontvang Betaalmanager Acties in Betaalmanager 119000 VIPS Disbursements Zend PB&Core Geen actie benodigd 119001 VIPS Disbursements Ontvang PB&Core Geen actie benodigd 128001 Payroll Gemal Ontvang Payroll Gemal Direct Acties in Payroll Gemal Direct 106000 Salarisdossier Gemal Ontvang Salarisdossier Gemal Geen actie benodigd  
Volledig artikel weergeven
04-07-2023 15:16 (Bijgewerkt op 09-08-2023)
  • 0 Antwoorden
  • 0 kudos
  • 186 Weergaven
  File Type Id File Type Naam Zend/Ontvang Applicatie Koppelen aan de File API 135000 Betaalmanager Gemal Downloads Ontvang Betaalmanager Acties in Betaalmanager 135001 Betaalmanager Gemal Opdrachten Ontvang Betaalmanager Acties in Betaalmanager 101017 HR Core Online Hosted Zend HR Core Geen actie benodigd 101014 HR Core Online Hosted Ontvang HR Core Acties in HR Core Online 128001 Payroll Gemal Ontvang Payroll Gemal Direct Acties in Payroll Gemal Direct 107003 Personeelsdossier Zend Personeelsdossier Geen actie benodigd 107001 Personeelsdossier Ontvang Personeelsdossier Geen actie benodigd 106000 Salarisdossier Gemal Ontvang Salarisdossier Gemal Geen actie benodigd 121003 Gebruikersbeheer XSSO Zend Gebruikersbeheer Geen actie benodigd  
Volledig artikel weergeven
17-04-2023 18:07 (Bijgewerkt op 09-08-2023)
  • 0 Antwoorden
  • 1 kudos
  • 628 Weergaven
Status   De Bestandsuitwisseling module is op dit moment “Gecontroleerd Beschikbaar”. De redenen dat de module nog niet “Algemeen Beschikbaar” is zijn de volgende: De Bestandsuitwisseling module moet nog door Product Development handmatig voor een klant geactiveerd worden in Policy Management. Gebruikers moeten nog door Product Development handmatig worden geautoriseerd voor  file types om bestanden te kunnen zenden/ontvangen. Niet alle Youforce  file types worden op dit moment ondersteund. Zie ondersteunde file types.   Extra Informatie   Bestanden zijn maximaal 1 maand beschikbaar voor ontvangen. Bestanden kunnen gedurende 1 maand meerdere malen worden ontvangen. Bestanden worden ontvangen in de Download folder die in uw browser is geconfigureerd. De gebruikers die bestanden zenden of ontvangen worden nog niet geregistreerd in de Bestandsuitwisseling module. Dit betekent dat u nog niet kunt zien wie een bepaald bestand heeft ontvangen of verzonden. Het is nog niet mogelijk meerdere bestanden tegelijkertijd te ontvangen.   Wat heeft u nodig   Om te kunnen beginnen moeten de volgende zaken zijn geregeld:   Vul een Jira support aanvraag in. Hiermee wordt geregeld dat u geautoriseerd  wordt voor Autorisatiebeheer (indien nodig), Bestandsuitwisseling, en voor de benodigde file types. Als de Jira support aanvraag is afgehandeld kunnen de toegangsrechten worden toegekend via Autorisatiebeheer: Applicatie: 'Bestandsuitwisseling' Rechten: 'Toegang tot Bestandsuitwisseling' Youforce-bestanden koppelen aan de File API. Zie instructies. Bestandsuitwisseling kan worden bereikt via de nieuwe URL  https://files.youforce.com/. Gebruikers moeten hiervoor inloggen met het nieuwe inloggen.  
Volledig artikel weergeven
04-07-2023 15:25 (Bijgewerkt op 09-08-2023)
  • 0 Antwoorden
  • 0 kudos
  • 234 Weergaven
Visma|Raet maakt nu gebruik van de Developer portal van Visma, een portal waar u API-applicaties kunt aanmaken en beheren. Met deze portal heeft u niet alleen toegang maar hebben uw collega's ook toegang tot de aangemaakte applicaties.   Wat moet u doen om gebruik te maken van de nieuwe portal?
Volledig artikel weergeven
25-01-2023 11:31 (Bijgewerkt op 24-05-2023)
  • 0 Antwoorden
  • 0 kudos
  • 855 Weergaven
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
  • 0 kudos
  • 631 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
  • 710 Weergaven