Discussions

Ask a Question

How to connect SAP to Personio

We are planning to export the HR data from Personio to SAP. How do we connect SAP to Personio? Which domain and IP do we have to register in our firewall?
ANSWERED

Anything planned concerning webhooks?

Hi, to avoid polling the API, we would like to connect our infrastructure to Personio by using webhooks. Is there anything planned in the near future?
ANSWERED

Post a document with PHP

Hello, I'm trying to Upload a file with PHP. I took the example code from https://developer.personio.de/reference#auth-1 and https://developer.personio.de/reference#post_v1-recruiting-applications-documents $token = NULL; $curl = curl_init(); $params = [ 'client_id' => 'abc', 'client_secret' => 'abc', ]; $url = 'https://api.personio.de/v1/auth?' . http_build_query($params); curl_setopt_array($curl, [ CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => TRUE, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_HTTPHEADER => [ "Accept: application/json", ], ]); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { $data = json_decode($response); $token = $data->data->token; } if ($token) { $curl = curl_init(); //$path = '/var/www/html/web/some.pdf'; //$post_data[] = curl_file_create($path, 'application/pdf', 'some.pdf'); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.personio.de/v1/recruiting/applications/documents", CURLOPT_RETURNTRANSFER => TRUE, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", //CURLOPT_POSTFIELDS => $post_data, //CURLOPT_POSTFIELDS => [ // 'token' => $token, // 'file' => '@/var/www/html/web/some.pdf', //], CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"file\"\r\n\r\ndata:application/pdf;name=Test.pdf;base64,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1znv7kzJafWfxqCWEKhtvk+umQoai78n9M4nV37ft5d0YgplbmRzdHJlYW0KZW5kb2JqCgo5IDAgb2JqCjw8L1R5cGUvRm9udC9TdWJ0eXBlL1RydWVUeXBlL0Jhc2VGb250L0JBQUFBQStMaWJlcmF0aW9uU2VyaWYKL0ZpcnN0Q2hhciAwCi9MYXN0Q2hhciA0Ci9XaWR0aHNbNzc3IDYxMCA0NDMgMzg5IDI3NyBdCi9Gb250RGVzY3JpcHRvciA3IDAgUgovVG9Vbmljb2RlIDggMCBSCj4+CmVuZG9iagoKMTAgMCBvYmoKPDwvRjEgOSAwIFIKPj4KZW5kb2JqCgoxMSAwIG9iago8PC9Gb250IDEwIDAgUgovUHJvY1NldFsvUERGL1RleHRdCj4+CmVuZG9iagoKMSAwIG9iago8PC9UeXBlL1BhZ2UvUGFyZW50IDQgMCBSL1Jlc291cmNlcyAxMSAwIFIvTWVkaWFCb3hbMCAwIDU5NS4zMDM5MzcwMDc4NzQgODQxLjg4OTc2Mzc3OTUyOF0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMiAwIFI+PgplbmRvYmoKCjQgMCBvYmoKPDwvVHlwZS9QYWdlcwovUmVzb3VyY2VzIDExIDAgUgovTWVkaWFCb3hbIDAgMCA1OTUgODQxIF0KL0tpZHNbIDEgMCBSIF0KL0NvdW50IDE+PgplbmRvYmoKCjEyIDAgb2JqCjw8L1R5cGUvQ2F0YWxvZy9QYWdlcyA0IDAgUgovT3BlbkFjdGlvblsxIDAgUiAvWFlaIG51bGwgbnVsbCAwXQovTGFuZyhkZS1ERSkKPj4KZW5kb2JqCgoxMyAwIG9iago8PC9DcmVhdG9yPEZFRkYwMDU3MDA3MjAwNjkwMDc0MDA2NTAwNzI+Ci9Qcm9kdWNlcjxGRUZGMDA0QzAwNjkwMDYyMDA3MjAwNjUwMDRGMDA2NjAwNjYwMDY5MDA2MzAwNjUwMDIwMDAzNjAwMkUwMDMxPgovQ3JlYXRpb25EYXRlKEQ6MjAxODEwMjYxMjI4MDUrMDInMDAnKT4+CmVuZG9iagoKeHJlZgowIDE0CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwNTcxNSAwMDAwMCBuIAowMDAwMDAwMDE5IDAwMDAwIG4gCjAwMDAwMDAxOTggMDAwMDAgbiAKMDAwMDAwNTg4NCAwMDAwMCBuIAowMDAwMDAwMjE4IDAwMDAwIG4gCjAwMDAwMDQ5MjggMDAwMDAgbiAKMDAwMDAwNDk0OSAwMDAwMCBuIAowMDAwMDA1MTQ0IDAwMDAwIG4gCjAwMDAwMDU0NTMgMDAwMDAgbiAKMDAwMDAwNTYyOCAwMDAwMCBuIAowMDAwMDA1NjYwIDAwMDAwIG4gCjAwMDAwMDU5ODMgMDAwMDAgbiAKMDAwMDAwNjA4MCAwMDAwMCBuIAp0cmFpbGVyCjw8L1NpemUgMTQvUm9vdCAxMiAwIFIKL0luZm8gMTMgMCBSCi9JRCBbIDwxQjlGRjNGNkE3MDE5MzhEMzYxMUJFOTQ2NTg0QjFEQj4KPDFCOUZGM0Y2QTcwMTkzOEQzNjExQkU5NDY1ODRCMURCPiBdCi9Eb2NDaGVja3N1bSAvMTk1MThCRDUxQ0Y4MEVGMzc4RUIzRTY0QkE3QkVDNzkKPj4Kc3RhcnR4cmVmCjYyNTUKJSVFT0YK\r\n-----011000010111000001101001--\r\n\r\n", CURLOPT_HTTPHEADER => [ "Authorization: Bearer $token", "Accept: application/json", "Content-Type: multipart/form-data; boundary=---011000010111000001101001", ], ]); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; } } Receiving a token works fine, but the response from the second request is just empty. I also tried different options of attaching the file to the curl command without any success. Could you point me in the right direction? regards Hendrik
ANSWERED

Employee attribute: weekly_hours vs weekly_working_hours

Hello, every employee seems to have an attribute `weekly_workings_hours`. However the documentation specifies an attribute of `weekly_hours` for the update and create endpoints. I updated the `weekly_hours` via the patch method and the api responded with an id, indicating a success. But no attribute `weekly_hours` appears on the updated the employee and `weekly_working_hours` is not effected. This may be a possible bug or a typo in the documentation. Should the api respond with a success for an unknown attribute? Best regards.
ANSWERED

Employee Data API - Token

Hey there, I hope you are doing well. In the Developer Hub we state the following with respect to the token for the API: "The credentials allow you to perform a request against the /auth endpoint to retrieve an initial authentication token. After each request a new token is generated and sent back to the user in the Authorization header. You can use this token to make the next request. With every new call the previous token is invalidated." The question is: Can the customer ignore the token sent back to them and instead request a new one via the auth function? Would this work to retrieve the data?
ANSWERED

Personio Azure Active Directory Integration

Hello, We are trying to build integration tool to synchronize data from Personio to Microsoft Azure Active Directory. The goal of this project is to maintain a single source of truth and to use Active Directory across all enterprise application. We are interested to synchronize data when an employee record is updated in Personio (such as their name, title, or manager) and more in future. An Reference for this project is tool provided by Azure Active directory to sync a Cloud HR Software Called Workday to Azure AD. Please find the details in the link below. We want to achieve something similar https://docs.microsoft.com/en-us/azure/active-directory/saas-apps/workday-inbound-cloud-only-tutorial I want to ask what is the recommended way to achieve our project goal . Currently we plan to use existing Personio API to get Employee data and synchronize this data. Do you recommend some other approach ? Is there any existing tool we can use to achieve this ? Regards, Jagdeep
ANSWERED

https://api.personio.de/v1/company/time-offs

I get in Postman and also via the try button the error: { "success": false, "error": { "message": "The given data was invalid.", "code": 0, "error_data": { "employees": [ "The employees must be an array." ] } } } What do I have to consider to make it work?
ANSWERED
ANSWERED

Pagination changed?

Hi, did you just change the pagination method of the /company/time-offs endpoint? It used to be same is other endpoints, for example /company/employees. Why is this one different and why was there no change log entry about it? Thanks, Sebastian
ANSWERED

Document Upload MediaType Not Supported Error

On POST Request to Document Upload for Application, I keep getting MediaType not supported error, even though base64 Data String and other parameters match the request. I'm sending the request via PHP and function body looks like this that handles the request: $body = $req->get_body(); $headers = $req->get_headers(); $token = $headers['authorization'][0]; $url = 'https://api.personio.de/v1/recruiting/applications/documents'; $response = wp_remote_post( $url, array( 'method' => 'POST', 'headers' => array( "Accept: application/json", "Content-Type: multipart/form-data", 'X-Company-ID: XXXXXX', 'Authorization' => "Bearer $token", ), 'name' => 'file', 'filename' => 'test file name', 'contents' => $body $body is the argument I give with base64 string for the document via Front-End.