Automatisierten Import einrichten (Add-on)

Nach der Freischaltung des Add-ons "Automatisierter Import" kannst du deine Daten (Personen, Stationen, Standortabhängige Stationsdaten, Urlaube und Abwesenheiten) automatisiert an APPRENTIO senden. Dazu musst du zu Beginn den automatisierten Import einrichten:

Gehe auf Einstellungen --> Datenschnittstelle und wähle die Kachel "Automatisiert" aus. 

Klicke auf "Importoptionen", um den jeweiligen Importtyp zu konfigurieren:

Die Importeinstellungen gelten sowohl für den manuellen als auch für den automatischen Import eines jeden Datentyps. Welche Einstellungen das sind, haben wir dir in diesen beiden Artikeln unserer Knowledge Base beschrieben:
Pro Datentyp findest du in den Importoptionen eine Import-URL, an die dein externes System die jeweiligen Daten senden kann.
Bitte beachte, dass du einen Zugriffstoken benötigst, um Daten über die Import-URL hochladen zu dürfen. Dazu richten bitte zuerst den OAuth2 Client ein.

Zugehörige Planungsebenen sperren, wenn Urlaube oder Abwesenheiten automatisch importiert werden
Wenn du Urlaube und/oder Abwesenheit automatisch importierst, kannst du zusätzlich die zugehörigen Planungsebenen in der Online-Planung für die manuelle Bearbeitung sperren. Dazu setze unterhalb der Import-URL den Haken bei "Planungsebene für die manuelle Bearbeitung sperren". Dadurch können Einträge auf der zugehörigen Planungsebene in der Online-Planung nicht mehr durch Administratoren oder planende Ausbildungsteammitglieder geändert werden und kommen ausschließlich aus dem angeschlossenen System.

Hochladen der Importdatei via REST-API

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

Tags