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));
Sobald der Request erfolgreich abgeschickt wurde, wird die hochgeladene Datei auf dem Server gespeichert und der Import Prozess wird gestartet. In der Antwort vom Server findest du weitere Informationen zu dem Import Vorgang und kannst feststellen ob alle Daten importiert werden konnten.
Nächster Artikel: Automatisierter Import (Add-on): Authentifizierung über OAuth Clients