{"id":13645,"date":"2026-09-06T22:27:16","date_gmt":"2026-09-06T20:27:16","guid":{"rendered":"https:\/\/qls.nl\/?post_type=vacatures&#038;p=13645"},"modified":"2026-10-09T10:07:16","modified_gmt":"2026-10-09T08:07:16","slug":"senior-php-developer","status":"publish","type":"vacatures","link":"https:\/\/qls.nl\/en\/vacancies\/senior-php-developer\/","title":{"rendered":"Senior PHP Developer"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Location:<\/strong> Dordrecht, Netherlands<br><strong>Working pattern:<\/strong> Primarily office-based, with 1 day per week working from home following successful onboarding<br><strong>Department:<\/strong> Development \/ IT<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Build the logistics technology of the future at QLS<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Do you have extensive experience in back-end development and want to put your knowledge to work within an ambitious and rapidly growing organisation?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At QLS, you will work on the further development of our innovative software environment, <strong>my.QLS<\/strong>, together with a motivated team of developers. You will have the opportunity to make a real impact, contribute to architectural decisions and play an active role in technical decision-making.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Whether you want to brainstorm about code, take ownership of your projects or take on a mentoring role for junior colleagues \u2014 as a <strong>Senior PHP Developer at QLS<\/strong>, you will have the freedom and trust to do so.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Does this sound like your next challenge?<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Your role as a Senior PHP Developer<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You will join a multidisciplinary development team, working closely with other developers, product owners and IT support.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Your responsibilities will include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Contributing to discussions around software architecture, performance and security.<\/li>\n\n\n\n<li>Setting up and improving API integrations with webshops such as <strong>Shopify and Magento<\/strong>, platforms such as <strong>Bol and Amazon<\/strong>, and carriers such as <strong>PostNL, DHL and DPD<\/strong>.<\/li>\n\n\n\n<li>Developing scalable modules for warehouse automation, including <strong>AutoStore, packaging machines and internal conveyor systems<\/strong>.<\/li>\n\n\n\n<li>Designing and developing microservices focused on performance, scalability and reliability.<\/li>\n\n\n\n<li>Taking ownership of technical solutions and contributing to architectural decisions.<\/li>\n\n\n\n<li>Identifying opportunities to improve existing applications, processes and development practices.<\/li>\n\n\n\n<li>Supporting and mentoring junior developers in their professional development.<\/li>\n\n\n\n<li>Collaborating closely with Product Owners, IT Support and other stakeholders to translate business requirements into robust technical solutions.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">This is you!<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You are an experienced PHP developer who enjoys solving complex technical challenges and wants to have a genuine influence on the products you build.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You will ideally have:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A university working and thinking level and live within a <strong>reasonable commuting distance of Dordrecht<\/strong>.<\/li>\n\n\n\n<li>The flexibility and willingness to work <strong>primarily from our Dordrecht office<\/strong>, collaborating closely with the development team.<\/li>\n\n\n\n<li>The opportunity to work from home <strong>one day per week following successful onboarding<\/strong>, once you are fully established in the role.<\/li>\n\n\n\n<li>Fluent spoken and written <strong>English<\/strong>; Dutch is an advantage.<\/li>\n\n\n\n<li>At least <strong>5 years of experience with PHP 7.4+<\/strong> and frameworks such as <strong>Laravel, Symfony or CakePHP<\/strong>.<\/li>\n\n\n\n<li>Strong knowledge of <strong>object-oriented programming (OOP)<\/strong> and <strong>SOLID principles<\/strong>.<\/li>\n\n\n\n<li>Experience with <strong>Git version control<\/strong> and tools such as <strong>Bitbucket or GitHub<\/strong>.<\/li>\n\n\n\n<li>Experience with <strong>agentic workflows across multiple files<\/strong>, including secure branch and review patterns.<\/li>\n\n\n\n<li>Experience working with technologies including <strong>MySQL, Redis, Elasticsearch, MongoDB, RabbitMQ and Docker<\/strong>.<\/li>\n\n\n\n<li>Knowledge of, or an interest in, <strong>C#, Go, Elasticsearch, MongoDB, RabbitMQ, Redis and Docker<\/strong> is an advantage.<\/li>\n\n\n\n<li>A solution-oriented mindset and a commitment to writing clean, maintainable and scalable code.<\/li>\n\n\n\n<li>A strong sense of ownership and the confidence to take responsibility for technical decisions.<\/li>\n\n\n\n<li>An enthusiasm for sharing knowledge and helping colleagues develop their technical skills.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">What do we offer?<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A role where, as a <strong>Senior PHP Developer<\/strong>, you can take real ownership of your work and make a genuine impact on the development of <strong>my.QLS<\/strong>.<\/li>\n\n\n\n<li>A <strong>primarily office-based role in Dordrecht<\/strong>, working closely with the wider development, product and IT teams.<\/li>\n\n\n\n<li><strong>The flexibility to work from home one day per week following successful onboarding.<\/strong><\/li>\n\n\n\n<li>An enthusiastic and collaborative team where knowledge sharing is actively encouraged.<\/li>\n\n\n\n<li>A <strong>competitive salary<\/strong>, depending on your knowledge and experience.<\/li>\n\n\n\n<li>A <strong>MacBook Pro, large monitor and professional development tools<\/strong>, including JetBrains and AI tools.<\/li>\n\n\n\n<li>A <strong>personal development budget<\/strong> for training, books or conferences.<\/li>\n\n\n\n<li><strong>Daily catered lunch<\/strong>, good coffee and an informal working atmosphere.<\/li>\n\n\n\n<li>Regular team outings, drinks and social activities.<\/li>\n\n\n\n<li><strong>Travel expenses reimbursement.<\/strong><\/li>\n\n\n\n<li>The opportunity to work within a rapidly growing international organisation where your ideas and expertise can have a real impact.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">About QLS<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">QLS is an international logistics technology organisation with offices in several countries. We support webshops with complete <strong>fulfilment, transport and software solutions<\/strong> through our <strong>my.QLS<\/strong> platform.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With advanced automation such as <strong>AutoStore, robotics and intelligent data integrations<\/strong>, we are setting the standard in e-commerce logistics.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Our ambitions are big, our growth is explosive and our team is full of energy. That&#8217;s why we are looking for developers who want to <strong>build the logistics of the future together with us<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<section id=\"form\" class=\"module-contactform wp-block margin-xlarge header-medium\">\n    <div class=\"row align-center\">\n        <div class=\"small-12 large-6 column\">  \n            <div class=\"bg-gray round-large padding-medium\">\n                                                                    <script>\nvar gform;gform||(document.addEventListener(\"gform_main_scripts_loaded\",function(){gform.scriptsLoaded=!0}),document.addEventListener(\"gform\/theme\/scripts_loaded\",function(){gform.themeScriptsLoaded=!0}),window.addEventListener(\"DOMContentLoaded\",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,themeScriptsLoaded:!1,isFormEditor:()=>\"function\"==typeof InitializeEditor,callIfLoaded:function(o){return!(!gform.domLoaded||!gform.scriptsLoaded||!gform.themeScriptsLoaded&&!gform.isFormEditor()||(gform.isFormEditor()&&console.warn(\"The use of gform.initializeOnLoaded() is deprecated in the form editor context and will be removed in Gravity Forms 3.1.\"),o(),0))},initializeOnLoaded:function(o){gform.callIfLoaded(o)||(document.addEventListener(\"gform_main_scripts_loaded\",()=>{gform.scriptsLoaded=!0,gform.callIfLoaded(o)}),document.addEventListener(\"gform\/theme\/scripts_loaded\",()=>{gform.themeScriptsLoaded=!0,gform.callIfLoaded(o)}),window.addEventListener(\"DOMContentLoaded\",()=>{gform.domLoaded=!0,gform.callIfLoaded(o)}))},hooks:{action:{},filter:{}},addAction:function(o,r,e,t){gform.addHook(\"action\",o,r,e,t)},addFilter:function(o,r,e,t){gform.addHook(\"filter\",o,r,e,t)},doAction:function(o){gform.doHook(\"action\",o,arguments)},applyFilters:function(o){return gform.doHook(\"filter\",o,arguments)},removeAction:function(o,r){gform.removeHook(\"action\",o,r)},removeFilter:function(o,r,e){gform.removeHook(\"filter\",o,r,e)},addHook:function(o,r,e,t,n){null==gform.hooks[o][r]&&(gform.hooks[o][r]=[]);var d=gform.hooks[o][r];null==n&&(n=r+\"_\"+d.length),gform.hooks[o][r].push({tag:n,callable:e,priority:t=null==t?10:t})},doHook:function(r,o,e){var t;if(e=Array.prototype.slice.call(e,1),null!=gform.hooks[r][o]&&((o=gform.hooks[r][o]).sort(function(o,r){return o.priority-r.priority}),o.forEach(function(o){\"function\"!=typeof(t=o.callable)&&(t=window[t]),\"action\"==r?t.apply(null,e):e[0]=t.apply(null,e)})),\"filter\"==r)return e[0]},removeHook:function(o,r,t,n){var e;null!=gform.hooks[o][r]&&(e=(e=gform.hooks[o][r]).filter(function(o,r,e){return!!(null!=n&&n!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][r]=e)}});\n<\/script>\n\n                <div class='gf_browser_gecko gform_wrapper gravity-theme gform-theme--no-framework' data-form-theme='gravity-theme' data-form-index='0' id='gform_wrapper_20' ><div id='gf_20' class='gform_anchor' tabindex='-1'><\/div>\n                        <div class='gform_heading'>\n\t\t\t\t\t\t\t<p class='gform_required_legend'>&quot;<span class=\"gfield_required gfield_required_asterisk\">*<\/span>&quot; indicates required fields<\/p>\n                        <\/div><form method='post' enctype='multipart\/form-data' target='gform_ajax_frame_20' id='gform_20'  action='\/en\/wp-json\/wp\/v2\/vacatures\/13645#gf_20' data-formid='20' novalidate>\n                        <div class='gform-body gform_body'><div id='gform_fields_20' class='gform_fields top_label form_sublabel_below description_below validation_below' data-column-layout='fill'><div id=\"field_20_3\" class=\"gfield gfield--type-text gfield--input-type-text gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\" data-group-id=\"bf97207a\" data-field-span=\"12\"><label id='gfield_label_20_3' class='gfield_label gform-field-label' for='input_20_3'><span class='gform-field-label__text'>Name<\/span><span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/label><div class='ginput_container ginput_container_text'><input name='input_3' id='input_20_3' type='text' value='' class='large'     aria-required=\"true\" aria-invalid=\"false\"   \/><\/div><\/div><div id=\"field_20_4\" class=\"gfield gfield--type-email gfield--input-type-email gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\" data-group-id=\"3202ca3c\" data-field-span=\"12\"><label id='gfield_label_20_4' class='gfield_label gform-field-label' for='input_20_4'><span class='gform-field-label__text'>Email address<\/span><span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/label><div class='ginput_container ginput_container_email'>\n                            <input name='input_4' id='input_20_4' type='email' value='' class='large'    aria-required=\"true\" aria-invalid=\"false\"  \/>\n                        <\/div><\/div><div id=\"field_20_5\" class=\"gfield gfield--type-phone gfield--input-type-phone gfield--phone-format-international field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\" data-group-id=\"a305508e\" data-field-span=\"12\"><label id='gfield_label_20_5' class='gfield_label gform-field-label' for='input_20_5'><span class='gform-field-label__text'>Phone number<\/span><\/label><div class='ginput_container ginput_container_phone'><input name='input_5' id='input_20_5' type='tel' value='' class='large'    aria-invalid=\"false\"    \/><\/div><\/div><div id=\"field_20_6\" class=\"gfield gfield--type-textarea gfield--input-type-textarea field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\" data-group-id=\"d740d9e6\" data-field-span=\"12\"><label id='gfield_label_20_6' class='gfield_label gform-field-label' for='input_20_6'><span class='gform-field-label__text'>Motivation\/explanation<\/span><\/label><div class='ginput_container ginput_container_textarea'><textarea name='input_6' id='input_20_6' class='textarea large'      aria-invalid=\"false\"   rows='10' cols='50'><\/textarea><\/div><\/div><div id=\"field_20_8\" class=\"gfield gfield--type-fileupload gfield--input-type-fileupload gfield_contains_required field_sublabel_below gfield--has-description field_description_below field_validation_below gfield_visibility_visible\" data-group-id=\"1315db2f\" data-field-span=\"12\"><label id='gfield_label_20_8' class='gfield_label gform-field-label' for='input_20_8'><span class='gform-field-label__text'>CV<\/span><span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/label><div class='ginput_container ginput_container_fileupload'><input type='hidden' name='MAX_FILE_SIZE' value='134217728' \/><input name='input_8' id='input_20_8' type='file' class='large' aria-describedby=\"gfield_upload_rules_20_8 gfield_description_20_8\" onchange='javascript:gformValidateFileSize( this, 134217728 );'  \/><span class='gfield_description gform_fileupload_rules' id='gfield_upload_rules_20_8'>Accepted file types: pdf, doc, docx, pages, Max. file size: 128 MB.<\/span><div class='gfield_description validation_message gfield_validation_message validation_message--hidden-on-empty' id='live_validation_message_20_8'><\/div> <\/div><div class='gfield_description' id='gfield_description_20_8'>Add CV<\/div><\/div><div id=\"field_20_9\" class=\"gfield gfield--type-turnstile gfield--input-type-turnstile gfield--width-full field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\" data-group-id=\"ae61e9fb\" data-field-span=\"12\"><div class='ginput_container ginput_container_turnstile'><div class=\"cf-turnstile\" id=\"cf-turnstile_20\" data-js-turnstile data-response-field-name=\"cf-turnstile-response_20\" data-theme=\"light\" data-size=\"\" data-sitekey=\"0x4AAAAAABgRl6zio3ldGOix\"><\/div><\/div><\/div><\/div><\/div>\n        <div class='gform-footer gform_footer top_label'> <button type='submit' id='gform_submit_button_20' class='gform_button button' onclick='gform.submission.handleButtonClick(this);' data-submission-type='submit' >Send application<\/button> <input type='hidden' name='gform_ajax' value='form_id=20&amp;title=&amp;description=&amp;tabindex=0&amp;theme=gravity-theme&amp;hash=b0e45c802a3ff8d44e6ee45113c9db18' \/>\n            <input type='hidden' class='gform_hidden' name='gform_submission_method' data-js='gform_submission_method_20' value='iframe' \/>\n            <input type='hidden' class='gform_hidden' name='gform_theme' data-js='gform_theme_20' id='gform_theme_20' value='gravity-theme' \/>\n            <input type='hidden' class='gform_hidden' name='gform_style_settings' data-js='gform_style_settings_20' id='gform_style_settings_20' value='' \/>\n            <input type='hidden' class='gform_hidden' name='is_submit_20' value='1' \/>\n            <input type='hidden' class='gform_hidden' name='gform_submit' value='20' \/>\n            \n            <input type='hidden' class='gform_hidden' name='gform_currency' data-currency='EUR' value='RRao5J+rIQq0sHs91Fy0zBToo117vv8AwJRmgPEvyTdjfE+y1j40\/RJcNuT8jDrJFjbPUAkNY8NYIq9tktL2JwPUuRNRmOxBU2mp34\/5UkjLRAA=' \/>\n            <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' \/>\n            <input type='hidden' class='gform_hidden' name='state_20' value='WyJ7XCJnZm9ybV9zdWJtaXNzaW9uX21ldGhvZFwiOltcIjQyZTIzNTYzMjI0N2YxNzA5MGY0MTRlMDhiOTNmODlhXCIsXCI3ZDMyYjI3ZjllY2M0NWViYjFkYzljZmViMjBmMTY2YlwiLFwiZWVjNDVkYWI0NDNjZThmNzRhOTZmMGVmODNhOTkyNjNcIl0sXCJnZm9ybV90aGVtZVwiOlwiYWM1MTEzMjQ4OTJkMTM5MGRiYTlmMWYzZDQ4NjQ2YzRcIixcImdmb3JtX3N0eWxlX3NldHRpbmdzXCI6XCIxYzRiYmVjOTFiZjI0ZjhhODY1YmEwNjRkZDE1Y2NhZVwiLFwiZm9ybV9pZFwiOlwiMDM5ODEzYWMzMDI1MDY5OGJiMDdhMDE2Mzc4NGJlY2RcIixcInVybFwiOlwiYzFjM2Q1NDc4Y2M2NGFjZmUxZjE1ZDA3NjQwNGFlMTBcIixcInN0YXRlX3RpbWVzdGFtcFwiOlwiMTVhMjI5OTc5OGNlNGQwMTQ3YmRkMzliODFiN2YzZGFcIn0iLCJlZjNjYjRjMmUzY2NhMzM3MzYwZGZjMTE0ZjRjMWZjYSIsMTc5MjY3Nzk4Nl0=' \/>\n            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_target_page_number_20' id='gform_target_page_number_20' value='0' \/>\n            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_source_page_number_20' id='gform_source_page_number_20' value='1' \/>\n            <input type='hidden' name='gform_field_values' value='' \/>\n            \n        <\/div>\n                        <\/form>\n                        <\/div>\n\t\t                <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_20' id='gform_ajax_frame_20' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'><\/iframe>\n\t\t                <script>\ngform.initializeOnLoaded( function() {jQuery('#gform_ajax_frame_20').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_20');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_20').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_20').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_20').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_20').removeClass('gform_validation_error');}setTimeout( function() { \/* delay the scroll by 50 milliseconds to fix a bug in chrome *\/ jQuery(document).scrollTop(jQuery('#gform_wrapper_20').offset().top - mt); }, 50 );var current_page = jQuery('#gform_source_page_number_20').val();jQuery(document).trigger('gform_page_loaded', [20, current_page]);window['gf_submitting_20'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_20').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_20').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [20]);if(window.gform && gform.pagination && gform.pagination.removePageQueryArg){gform.pagination.removePageQueryArg(20);}window['gf_submitting_20'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_20').text());}else{jQuery('#gform_20').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger(\"gform_pre_post_render\", [{ formId: \"20\", currentPage: \"current_page\", abort: function() { this.preventDefault(); } }]);        if (event && event.defaultPrevented) {                return;        }        const gformWrapperDiv = document.getElementById( \"gform_wrapper_20\" );        if ( gformWrapperDiv ) {            const visibilitySpan = document.createElement( \"span\" );            visibilitySpan.id = \"gform_visibility_test_20\";            gformWrapperDiv.insertAdjacentElement( \"afterend\", visibilitySpan );        }        const visibilityTestDiv = document.getElementById( \"gform_visibility_test_20\" );        let postRenderFired = false;        function triggerPostRender() {            if ( postRenderFired ) {                return;            }            postRenderFired = true;            gform.core.triggerPostRenderEvents( 20, current_page );            if ( visibilityTestDiv ) {                visibilityTestDiv.parentNode.removeChild( visibilityTestDiv );            }        }        function debounce( func, wait, immediate ) {            var timeout;            return function() {                var context = this, args = arguments;                var later = function() {                    timeout = null;                    if ( !immediate ) func.apply( context, args );                };                var callNow = immediate && !timeout;                clearTimeout( timeout );                timeout = setTimeout( later, wait );                if ( callNow ) func.apply( context, args );            };        }        const debouncedTriggerPostRender = debounce( function() {            triggerPostRender();        }, 200 );        if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) {            const observer = new MutationObserver( ( mutations ) => {                mutations.forEach( ( mutation ) => {                    if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) {                        debouncedTriggerPostRender();                        observer.disconnect();                    }                });            });            observer.observe( document.body, {                attributes: true,                childList: false,                subtree: true,                attributeFilter: [ 'style', 'class' ],            });        } else {            triggerPostRender();        }    } );} );\n<\/script>\n    \n                            <\/div>\n        <\/div>\n    <\/div>  \n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>Location: Dordrecht, NetherlandsWorking pattern: Primarily office-based, with 1 day per week working from home following successful onboardingDepartment: Development \/ IT Build the logistics technology of the future at QLS Do you have extensive experience in back-end development and want to put your knowledge to work within an ambitious and rapidly growing organisation? At QLS, you<a class=\"excerpt-read-more\" href=\"https:\/\/qls.nl\/en\/vacancies\/senior-php-developer\/\" title=\"Read moreSenior PHP Developer\"> &#8230; Read more \u00bb <\/a><\/p>\n","protected":false},"author":21,"featured_media":0,"menu_order":14,"template":"","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"class_list":["post-13645","vacatures","type-vacatures","status-publish","hentry","vacature_categories-tech"],"acf":[],"_links":{"self":[{"href":"https:\/\/qls.nl\/en\/wp-json\/wp\/v2\/vacatures\/13645","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/qls.nl\/en\/wp-json\/wp\/v2\/vacatures"}],"about":[{"href":"https:\/\/qls.nl\/en\/wp-json\/wp\/v2\/types\/vacatures"}],"author":[{"embeddable":true,"href":"https:\/\/qls.nl\/en\/wp-json\/wp\/v2\/users\/21"}],"version-history":[{"count":4,"href":"https:\/\/qls.nl\/en\/wp-json\/wp\/v2\/vacatures\/13645\/revisions"}],"predecessor-version":[{"id":13812,"href":"https:\/\/qls.nl\/en\/wp-json\/wp\/v2\/vacatures\/13645\/revisions\/13812"}],"wp:attachment":[{"href":"https:\/\/qls.nl\/en\/wp-json\/wp\/v2\/media?parent=13645"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}