Bevor du mit dem Hochladen deiner Datei beginnen kannst, musst du sicherstellen, dass du einen gültigen OAuth Token besitzt (s. Automatisierter Import (Add-on): Authentifizierung über OAuth Clients). Dieser ermöglicht dir den Zugriff auf die REST-API. Sobald du diesen Token hast, kannst du mit dem Hochladen deiner Datei beginnen.
Die URL, die du verwenden musst, um deine Datei hochzuladen, ist folgendermaßen aufgebaut: https://beispiel.apprentio.de/api/v1/import-profiles/1/file. Diese URL ist spezifisch für den Import von Personen. Weitere Import-Profile findest du unter der URL https://beispiel.apprentio.de/api/v1/import-profiles. Um diese URL nutzen zu können, muss der Scope „bulk-import:read“ mit angefragt werden.
Das Hochladen erfolgt als Binärdatei mithilfe eines POST-Requests. Es sind nur CSV-Dateien erlaubt. Stelle also sicher, dass die hochzuladende Datei im CSV-Format vorliegt und die vorgegebenen Spalten aus den Beispieldateien genutzt werden.
Hier findest du JavaScript Beispiel Code für den kompletten Vorgang:
// OAuth Token Anfordern
const formData = new FormData();
formData.append('grant_type', 'client_credentials');
formData.append('client_id', '<client_id>');
formData.append('client_secret', '<client_secret>');
formData.append('scopes', 'bulk-import:write');
fetch('https://beispiel.apprentio.de/oauth/token', {
method: 'POST',
body: formData,
headers: {
'Accept': 'application/json',
},
})
.then(response => response.json())
.then(json => {
const access_token = json.access_token;
//Datei hochladen
const contents = `"action" ;"external_id";"role" ;"last_name ";"first_name";"salutation";"employee_number";"locations";"qualification";"employee_since";"employee_until";"graduation";"date_of_birth";"employee_function";"email" ;"phone" ;"mobile" ;"street" ;"zip_code";"city" ;"is_active";"is_private";"public_information" ;"about_me" ;"other"
"add/update";"ID123" ;"apprentice" ;"Mustermann";"Maxi" ;"Herr" ;"P1" ;"HH" ;"EE" ;"2020-01-01" ;"2023-01-01" ;"Realschule";"2000-05-09" ;"Azubi" ;"max.mustermann@example.com";"+49 01574 8412574";"+49 0170 42302329";"Waldweg 1" ;"64376" ;"Meerhausen";"true" ;"true" ;"Bitte nur per E-Mail kontaktieren";"Ich mag Züge";"Adresse Eltern: Am Bogen 1, 64376 Seestadt"
`;
fetch('https://beispiel.apprentio.de/api/v1/import-profiles/1/file', {
method: 'POST',
headers: {
'Authorization': `Bearer ${access_token}`,
'Content-Type': 'text/csv',
'Accept': 'application/json',
},
body: contents
})
.then(response => {
if (response.ok) {
return response.json();
}
throw new Error(response.statusText);
})
.then(data => console.log(data))
.catch(error => console.error(error))
})
.catch(error => console.error(error));
Nächster Artikel: Automatisierter Import (Add-on): Authentifizierung über OAuth Clients