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.
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.
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.
Testomgeving - Het is tevens mogelijk om gebruik te maken van onze sandbox. Met deze sandbox kun je testen. De applicatie voor de productieomgeving kan ook gekoppeld worden aan de sandbox. Maak hiervoor een 2e Invitation code aan (deze stap wordt later toegelicht).
Via deze applicatie met bijbehorende Client Id en Secret krijg je toegang de data en of bestanden uit de Youforce/HRCoreOnline-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 de gewenste Youforce API, 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 en zolang de goedkeuring niet is verleend kan je de stap van de Visma App Store niet uitvoeren.
Per API dien je de Scope te selecteren welke gebruikt gaat worden in de applicatie. Op deze manier kun je bepaalde functionaliteiten (endpoints) binnen de Youforce API uitsluiten van je applicatie. Je kunt vanzelfsprekend ook alle Scopes selecteren, een API kan ook bestaan uit 1 Scope.
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. De goedkeuring door Visma Raet kan enkele dagen duren en zolang de goedkeuring niet is verleend kan je de stap van de Visma App Store niet uitvoeren.
Je kan door te klikken op stap ‘Visma App store’ naar de laatste stap (mits Visma Raet de API('s) heeft goedgekeurd).
Tabblad Visma App Store, op dit moment stellen wij de Visma App Store niet ter beschikking aan onze klanten.
Voor toegang tot de klantdata genereer je een Invitation Code. Hoe je dit doet staat hieronder verder uitgelegd. Visma Raet zal de toegang tot de klant-data goedkeuren en dan direct de koppeling van klantdata aan je applicatie gereedmaken.
Na Start setup for Visma App Store ziet u onderstaand scherm en dan kies je bij Access level - Audience voor Invite only
Vul ook de url in waar uw product is uitgelegd.
Je bent nu klaar met het aanmaken van de applicatie, de optie Save wordt zichtbaar op het moment dat Visma Raet de applicatie heeft goedgekeurd, je kunt het aanmaken sluiten door bijvoorbeeld op Back to my Applications te klikken.
Wanneer Visma Raet de goedkeuring heeft verleend, ontvang je hier een e-mail van en kun je de volgende stap uitvoeren door de applicatie te koppelen aan klant-data. Dit staat uitgelegd in het volgende hoofdstuk ‘Invitatiecode aanmaken’.
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.
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
Testomgeving - Het is tevens mogelijk om gebruik te maken van onze sandbox. Met deze sandbox kun je testen. De applicatie voor de productieomgeving kan ook gekoppeld worden aan de sandbox. Maak hiervoor een Invitation code aan en deel die met Visma Raet.
Youforce Developer Portal gaat offline
Onze producten en oplossingen worden beter wanneer ze verbinding maken met een ecosysteem van geweldige andere oplossingen. Mede daarom heeft Visma Raet besloten aan te sluiten bij het Visma Developer Portal.
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"
}
Domain model
The Learning model
Data mapping
Employee person details
attribute
description
HR Core Beaufort
id
Unique id for the Person row within the tenant
P01001 - Persoonsnummer
personId
Unique id for the Person row within the tenant
P01001 - Persoonsnummer
personCode
The logical person code of the employee
P01001 - Persoonsnummer
Initials
The initials of the employee.
P00303 - Voorletters
firstNames
The official given names of the employee as stored in the HR Core system
P01002 - Voornamen
KnowAs
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.
value E: birthname B: partnername & birthname C: birthname & partnername P: partnername
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. Supported values are Male / Female. Note: other type of genders will be shown as Not Known
P00330 - Geslacht Mapping details: M → Male V, F → Female
Other values will shown as Not Known
birthDate
Date of birth
P00321 -Geboorte datum
deceased
Indicated if the employee deceased
Based on the date of deceased. If the employee is deceased the boolean is set to True 0302568 - Datum overlijden
UserUID
Digital Identity of the user from the portal
Ping ID directly from the portal
emailAddresses
type
address
List of the addresses of the employee. The fields are:
type like Business, Private, et cetera
address
Business: P01035 - E-mail adres werk Prive: P01034 - E-mail adres prive
Addresses
type
street
houseNumber
houseNumberAdditional
locationDesignation
postalCode
city
region
country
effectiveDate
List of the addresses of the employee. The fields are:
type like Home, Post, et cetera
street name
house number
house number additional
Location designation
Postal code
City
Region
Country code
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.
phoneNumbers
type
number
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
Employee employment details
HR Core Beaufort
hireDate
The hire date of the employment
P00322 - Datum in dienst
dischargeDate
The end date or discharge date of the employment.
P00830 - Datum uit dienst
originalHireDate
The first hire date or original hire date of an employee within the organization.
P00834 -Datum in dienst CAO
employmentType
Type of employment with a short name for type like Internal employee, contractor, "Wachtgelder"
P01102 - Soort arbeidsrelatie
jobProfile
job profile code of the employment The job profile is a code that refers to the entity job profile
P01107 - Primaire functie
organizationUnit
organization unit of employment. The organization unit is a code that refers to the entity organization units
P01106 - Hierarchische org. eenheid
workingAmount
amountOfWork
unitOfWork
periodOfWork
Work amount of employment.
The amount of work
Unit of work that specifies the amount of work like "hours", "days", et cetera
Period of work like "week" or "month"
amount of work = P01109 - Uren per week*
*Beaufort supports only the amount of work in "hours" a "week"
contractType
Contract type of the employee. It is the code that refers to the entity contract type.
P08259 - Code contract (on)bepaalde tijd
classification
Classification of the employee. It is the code that refers to the entity Classification.
P01110 - Code doelgroep
Payroll Client Code
P01103 - CEA-nummer
Payroll Institution Code
P01104 - Instelling nummer
Company
PayrollClientCode and PayrollInsituationCode combined
bigNumber
P09165 - Big nummer
Cost allocations
Id
Unique id of the cost allocation. the Id is unique within the entity and tenant. The id is generated by the system and can not changed by a user.
Unique id of the cost allocation row
PersonCode
The unique id assigned to the employee
Persoonsnummer
employmentCode
The code of the employment of the person
Dienstverband volgnummer
sequenceNumber
Unique sequence number or row number of the cost allocation within the employee
P01131 -regelnummer loonverdeling
costTypeCode
code of the cost type
P01133 - Kostensoort loonverdeling
CostTypeName
full name of the cost type
Omschrijving kostensoort (referentie tabel)
costCenterCode
code of the cost center
P01134 -Kostenplaats loonverdeling
costCenterName
full name of the cost center
Omschrijving kostenplaats (referentie tabel)
costUnitCode
code of the cost unit
P01135 - Kostendrager loonverdeling
costUnitName
full name of the cost unit
Omschrijving kostendrager (referentie tabel)
percentage
percentage of the cost allocation
P01132 - loonverdeling loonverdeling
Organisation units
Attribute
Description
HR Core Beaufort
id
Technical ID of the organisation unit
P01061
shortName
Code or short name of the Organization Unit
P01061
fullName
Name or full title of the Organization Unit
FullName
parentOrgUnit
Code of the parent organization unit
Organisatie eenheid > Onderdeel van
organizationUnitType
type or organisation unit code
orgUnit Type
isBlocked
True of false
Address
PhoneNumber
CostCenterCode
Role assignment
Attribute
description
HR Core Beaufort
id
Unique id of the role assignment. the Id is unique within the entity and tenant. The id is generated by the system and can not changed by a user.
Id van het record
OrganizationUnitCode
Code van organisatorische eenheid
P01061 - Operationele org.eenheid
shortName
The code of the role
P01062 - Rol
roleName
Description of the role
P01062 - Rol
personCode
reference to the person
Reference to Person code
personID
reference to the person
Reference to Person ID
startDate
start date of the role assignment
startDate
endDate
endDate
Job Profile
Attribute
Description
HR Core Beaufort
shortName
Job profile code or short name
functie code
fullName
Job profile name
functie naam
JobFamily
Job family code
functiegroep code
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?
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.
With the documents endpoint files like certificates and other kind of documents can be uploaded for an employee to the Visma Personal File System (Personeelsdossier).
The API supports the following types of documents
certificate (Certificaat)
diploma (Diploma)
career agreement (Loopbaan afspraak)
career mail (Correspondentie loopbaan)
career other (Overige loonbaan documenten)
appraisal Review (Beoordelingsgesprek)
performance Review (Functioneringsgesprek)
As-synchronized file upload
Learning systems can upload files, like certificates, diplomas for individual employees to the Personal File System of Visma Raet. The file upload is an a-synchronized process. After the file is uploaded the consumer will receive a ticket Id, which can be used to monitor the process of the file upload.
Endpoints
The API supports the following type of documents:
API endpoint
Personal file system
endpoint
Document type
Description
learning/v1.0/employees/ {personCode}/documents/certificate
certificaat
Certificaat
learning/v1.1/employees/ {personCode}/documents/certificate
certificaat
Certificaat
learning/v1.1/employees/ {personCode}/documents/diploma
diploma
Diploma
learning/v1.1/employees/ {personCode}/documents/appraisalReview
beoordelingsGesprek
Beoordelingsgesprek
learning/v1.1/employees/ {personCode}/documents/performanceReview
functioneringsGesprek
Functioneringsgesprek
learning/v1.1/employees/ {personCode}/documents/careerAgreement
loopbaanafspraken
Loonbaan afspraken
learning/v1.1/employees/ {personCode}/documents/careerMail
corrLoopbaan
Correnspondentie loopbaan
learning/v1.1/employees/ {personCode}/documents/careerOther
ovLoopbaan
Overige loonbaan documenten
Note:
v1.1 is using Content-Type: multipart/form-data and supports the other document types as well.
v1.0 is using Content-Type: multipart/related and supports only certificates. We are advice you the use the latest version of an endpoint
To upload a document you need to use the POST method. For example POST https://api.youforce.com//learning/v1.1/employees/{personCode}/documents/diploma
for uploading a diploma to the Personal File System of Visma Raet. The endpoint returns a ticketId . The file will be stored in a standard folder for diplomas (see table for the other endpoints)
The API will automatically upload the file to the Personal File System. This is an a-synchronized process with an automatic retry mechanism in case the file systems is not available. The retry mechanism will try to upload the file in a maximum of 6 hours. After this period the file will be rejected with a message. Also if the file is too big (maximum 4 Mb) or isn’t a PDF file, the upload will be rejected.
GET documents/{TicketId}/status Endpoint for getting the status of the file upload. The endpoint will return the status of the file. After the file is processed successfully the status Complete is returned.
Examples
version 1.1 (all document types)
Use POST request with multipart/form-data content type.
Replace the PersonCode in the URL with the Id of the employee
Use the authentication token received from the authentication endpoint
Replace the tenant code with the tenant code of the client
Give the document a proper description
The field validFrom is optional. If it's empty the system date will be used as default
The content-type for the file is application/pdf Other type of files will be rejected by the API. The file size is also limited to a maximum of 4 Mb
Response
Example of the response.
HTTP/1.1 200 Content-Type: application/json { "ticketId": "7ca486f6-c730-4d50-a2ec-31a3a1373366", "description": "Example description", "size": 77491, "tenantId": "4028868", "creationDateTime": "2022-04-01T13:53:30.3985949", "status": "InProgress", "errorMessages": [] }
version 1.0 (certificates only)
Use POST request with multipart/related content type with the first part having metadata in json format and the second one having a file.
Replace the PersonCode in the URL with the Id of the employee
Use the authentication token received from the authentication endpoint
Replace the tenant code with the tenant code of the client
Give the document a proper description
The content-type of the metadata is application/json The content-type for the file is application/pdf Other type of files will be rejected by the API. The file size is also limited to a maximum of 4 Mb
POST https://api.youforce.com/learning/V1.0/api/employees//documents/certificate Authorization: Bearer [YOUR_AUTH_TOKEN] Content-Type: multipart/related; boundary=boundary_not_used_within_file_content --boundary_not_used_within_file_content Content-Type: application/json; charset=UTF-8 { "Description":"YOUR_OWN_DESCRIPTION", "ValidFrom" : "2021-01-01" } --boundary_not_used_within_file_content Content-Type: application/pdf [PDF Content] --boundary_not_used_within_file_content--
Upload status
After the file is posted to the API, the file upload can be followed with the status endpoint. Replace the TicketId in the URL with the ticketId from the previous API call.
GET https://api.youforce.com/learning/v1.0/employees/documents/{{TicketId}}/status
The API will return the status of the file upload. If the API could not upload the file, an error is shown as well.
Response
{ "status": "Complete", "errorMessages": [] }