CSO JSON RPC API v1. Beta

Om de vacatures op deze website met open data te ontsluiten, is een API ontwikkeld.
Wil je als deelnemer gebruik maken van ons vacature-aanbod via de API? Neem dan contact op via:
Telefoon: 06-25599212
E-mailadres: helpdesk@rhinofly.nl

This document describes the CSO JSON RPC API. It provides a description, use-cases, coding examples and a full reference documentation to every operation, object and property. This documentation is intended for developers and third-parties who need to communicate with the CSO Platform.

Table of Contents

  1. 1 The CSO Platform
  2. 2 Getting Started
  3. 3 Using the Api
    1. 3.1 Web Service: API Service
    2. 3.2 JobAPI
    3. 3.3 CVAPI
    4. 3.4 Sandbox
    5. 3.5 Security
  4. 4 Reference documentation
  5. 5 Example documentation
    1. 5.1 getApiKey - Get an ApiKey
    2. 5.2 isValidApi - Determining the validity of your API key
    3. 5.3 getJob - Get a single job
    4. 5.4 getJobs - get an Array of jobs
    5. 5.5 getJobCount - Count the number of jobs for the given filtercriteria
    6. 5.6 getJobEnumerations - Get all available enumerated data for jobs
    7. 5.7 getOrganisations - Get all available organisations available on the CSO Platform
    8. 5.8 getOrganisationsWithFilter - Get organisations based on a given filter
    9. 5.9 getJobCountForEnumeration - Get the number of jobs per enumeration type for the given filter.
    10. 5.10 saveJob - Save a job
    11. 5.11 removeJob - Delete a job
    12. 5.12 getCVEnumerations - Get all available enumerated data for CVs
    13. 5.13 saveCV - Save a CV
    14. 5.14 RemoteJobFilter - Define a filter for specific selections of jobs
    15. 5.15 RemoteJobFieldSelection - Define a fieldselection to define the level of detail for a job
    16. 5.16 RemoteOrganisationFilter - Define a filter to retrieve categories of organisations
    17. 5.17 RemoteJobEnumerationCount
  6. 6 Frequently asked questions
  7. 7 Deprecation documentation
  8. 8 Future enhancements
  9. 9 Support
  10. 10 Known problems



1 The CSO Platform

The CSO platform (Carrière Sites Overheid) is a platform for recruitment communication for the Dutch Government. The platform contains several websites. These websites provide a means of communication between the Government and the visitors of the websites. Supply and demand of job openings are presented transparently to visitors ensuring them a better orientation towards working for the Dutch Government.

Approximately 2000 organizations are present at the platform, providing solutions in recruitment and mobility issues. The websites are publications of Expertisecentrum Organisatie en Personeel (EC-O&P).

2 Getting Started with the API

The CSO-API provides third-party access to the infrastructure of the CSO (Carrière Sites Overheid) Platform making it easy to create applications that integrate seamlessly with the platform.

The API provides a means communication between web, mobile, mashups and other applications, intranets or widgets with the CSO-platform. By using the CSO-API organisations have the flexibility to determine what information they will provide their visitors and in what way the publicly available information on the CSO platform is presented elsewhere. By using the API human resource systems can exchange information with the CSO-platform.

The API introduces a standardized specification on which other providers can base products and information flow. As such, the CSO-platform will be an open system, stimulating information distribution and limiting dependencies from supplier to supplier.

Every API call requires a valid API key. All API calls are made over the HTTPS protocol for security reasons.

3 Using the API

3.1 Web Service: API Service

The JSON API accepts only HTTP POST requests containing the appropriate arguments serialized as JSON in a form field name 'args'. The method being called is appended to the path:

https://[sandbox.]api.cso20.net/v1/[CV|Job]API/getApiKey.json

This will call the method getApiKey on the API. The json extension is mandatory.

This is what a typical HTTP request would look like:

POST /v1/JobAPI/getApiKey.json HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: api.cso20.net
User-Agent: Mozilla/5.0

args=%7B%22username%22%3A%22jsonapitest%22%2C%22password%22%3A%22test%22%7D

It's very important for the Content-Type to be application/x-www-form-urlencoded. The body contains only one form key (args) and one form value (the JSON string). Make sure the form value is encoded correctly .

The API always returns a Content-Type header application/json. If the call is successful, the HTTP statuscode returned is 200. The returned JSON string then contains a key "result" that contains the relevant data. If a status code other than 200 is returned, the returned JSON contains a key "message" with some details. Possible status codes are as follows:

Status Meaning
200 Success
400 Invalid API call. Possible causes: invalid data, invalid JSON, missing arguments
403 Access denied. Possible causes: invalid API key, unknown user credentials, no permission for the requested API method
404 Content not found. Returned when the job with the given code is not found
405 Unsupported method. Returned when the call is not done via HTTP POST
500 Server error. The cause of the error will be sent to the administrator, and resolved as soon as possible.

Currently, all JSON objects have to be strong typed in order to be interpreted correctly. This means that each object needs a "__type__" key containing the class name of the intended object. Some API methods return objects, which are typed too. Examples are available below. These examples show you how to define a typed JSON object that can be passed to the API. In a future release, the types will be inferred from the call.

The example code below is all Javascript. We perform all calls using the jQuery library. In general, it should be quite easy to port these snippets to the language of your choice.

3.2 JobAPI

URL / location: https://[sandbox.]api.cso20.net/v1/JobAPI/
Default style: rpc
Transport protocol: JSON over HTTP(S)
Operations:
Encoding: Every operations response is in UTF-8

The API service can be accessed by making HTTP POST calls to:

http://[sandbox.]api.cso20.net/v1/JobAPI/<method>.json

3.3 CVAPI

URL / location: https://[sandbox.]api.cso20.net/v1/CVAPI/
Default style: rpc
Transport protocol: JSON over HTTP(S)
Operations:
Encoding: Every operations response is in UTF-8

The API service can be accessed by making HTTP POST calls to:

http://[sandbox.]api.cso20.net/v1/CVAPI/<method>.json

3.4 Sandbox

Applications developed on the CSO API can be tested using a sandbox environment. This environment is cleaned up on a regular schedule; data is deleted on a daily basis. The environment reflects the live situation of the platform: jobs available on the sandbox are always up to date. Calls to the API are only available on https protocol, see the list below for all sites in the CSO-Platform.

  • https://sandbox.api.cso20.net
  • https://sandbox.www.werkenvoornederland.nl
  • https://sandbox.m.werkenvoornederland.nl
  • https://sandbox.www.werkenbijdeoverheid.nl
  • https://sandbox.m.werkenbijdeoverheid.nl
  • https://sandbox.www.rijkstalentencentrum.nl
  • https://sandbox.mobi.rijkstalentencentrum.nl
  • https://sandbox.fgr.rijkstalentencentrum.nl
  • https://sandbox.rtc.rijkstalentencentrum.nl

3.5 Security

The CSO-API is secured to ensure that only authorized members have access. Three levels of security apply.

  1. User name (user name field) and password (password field)
  2. Request authentication using an API key included in all other method calls
  3. Secure Sockets Layer (SSL) data transport

4 Reference documentation

The reference documentation for all classes and methods in CSO-API v1. provides a complete overview of all available methods, classes, properties and options.

>> Browse the reference documentation

5 Example documentation

5.1 getApiKey - Get an ApiKey

Description

API key is required in each API call.

The API key is retrieved using the getApiKey function. A user name and password are required to use this function. Before retrieving your API key you need access credentials to the API. You can apply for API access at the helpdesk by phone (+31 70 7000510) or email (helpdesk@werkenvoornederland.nl).

The API key is retrieved by calling getApiKey with your credentials. To test if a given API key is still valid use the the function isValidApiKey with the given API key. All API calls are logged within the system. The apiKey returned is valid for 20 minutes.

Arguments

method: getApiKey.json
input:
required username type string
required password type string
result:
result type string

A javascript (with jQuery) example:

var variables = {
   username: "username",
   password: "password"
};
var jsonString = JSON.stringify(variables);
jQuery.post(
    "https://sandbox.api.cso20.net/v1/jobapi/getApiKey.json",
    {args: jsonString},
    function (data) {console.log(data);}
);

A cUrl example using the -d (--data) and -X (--request) options:

curl -X POST \
-d 'args={"username":"username", "password":"password"}' \
https://sandbox.api.cso20.net/v1/jobapi/getApiKey.json

The JSON response:

{result: "6cc9b104-e5f1-4bf0-8d2f-d979fa53c5b5"}

Error handling

If an error occurs the server will respond with the corresponding HTTP Status Code and the body will contain a JSON message explaining the error. See the following example if you give incorrect credentials.

HTTP Status code: 403 Could not find an API user with the given credentials
JSON: {"message":"Could not find an API user with the given credentials"}

5.2 isValidApiKey - Determining the validity of your API key

Description

Used to check if the returned API key is still valid.

Arguments

method: isValidApiKey.json
input:
required apiKey type string
result:
result type boolean

A javascript (with jQuery) example:

var variables = {
   apiKey: "6cc9b104-e5f1-4bf0-8d2f-d979fa53c5b5"
};
var jsonString = JSON.stringify(variables);
jQuery.post(
    "https://sandbox.api.cso20.net/v1/jobapi/isValidApiKey.json",
    {args: jsonString},
    function (data) {console.log(data);}
);

The JSON response:

{result: true}

5.3 getJob - Get a single job

Description

This function is used to retrieve a single job by its jobCode. The level of detail for the job returned is specified in jobFieldSelection.

A job on the CSO-platform is identified by jobCode (baanplein_ID used as URL parameter on the platform). To retrieve a single job make a call to the function 'getJob' providing your API key and the jobCode. To define the level of detail for the requested job, provide a jobFieldSelection (see the specification of jobFieldSelection for an overview of all available properties).

The field selection is required in the request even if it returns empty values. An empty field selection will return all fields available for the given job. Field selections are always of type Boolean and grouped by meaning.

For example, the settings for the job description are found in the property content. Detailed features on Branche, EducationLevel and Region are set in features.detail. Information on publication period, dates and status are found in publication.status and publication.data.

Arguments

method: getJob.json
input:
required apiKey type string
required jobCode type string
required remoteJobFieldSelection type RemoteJobFieldSelection
result:
result type RemoteJob

A javascript (with jQuery) example to get a job with the minimum amount of data:

var emptyJobFieldSelection = {
    __type__: "RemoteJobFieldselection"
};
var variables = {
    apiKey: "6cc9b104-e5f1-4bf0-8d2f-d979fa53c5b5",
    jobCode: "01130-041035402768",
    remoteJobFieldSelection: emptyJobFieldSelection
};
var jsonString = JSON.stringify(variables);
jQuery.post(
    "https://sandbox.api.cso20.net/v1/jobapi/getJob.json",
    {args: jsonString},
    function (data) {console.log(data);}
);

The JSON response:

{
  "result": {
    "__type__": "fly.cso.api.v1.data.job.RemoteJob",
    "code": "01130-041035402768",
    "externalReferenceCode": "BD130283",
    "dateCreated": 1366985316130,
    "dateUpdated": 1366989199113,
    "locked": false,
    "organisation": null,
    "content": null,
    "features": null,
    "publication": null
  }
}

5.4 getJobs - get an Array of jobs

Description

This function returns an array of jobs based on a given jobFilter.

Otherwise identical to getJob function (fieldSelection is required but can by empty), the function getJobs requires an additional jobFilter. The filter defines the (search) criteria for the returned list.

For a detailed overview of all properties and the structure of remoteJobFilter and remoteJobFieldSelection see examples and reference documentation.

Arguments

method: getJobs.json
input:
required apiKey type string
required remoteJobFilter type RemoteJobFilter
required remoteJobFieldSelection type RemoteJobFieldSelection
result:
result type array of RemoteJob

A javascript (with jQuery) example to get a job with the minimum amount of data. With an empty JobFilter all available jobs for the apiUser will be returned:

var emptyJobFilter = {
    __type__: "RemoteJobFilter"
};
var emptyJobFieldSelection = {
    __type__: "RemoteJobFieldselection"
};
var variables = {
    apiKey: "6cc9b104-e5f1-4bf0-8d2f-d979fa53c5b5",
    filter: emptyJobFilter,
    fieldSelection: emptyJobFieldSelection
};
var jsonString = JSON.stringify(variables);
jQuery.post(
    "https://sandbox.api.cso20.net/v1/jobapi/getJobs.json",
    {args: jsonString},
    function (data) {console.log(data);}
);

The JSON response:

{
    "result": [{
            "__type__": "fly.cso.api.v1.data.job.RemoteJob",
            "code": "01130-345798789830",
            "externalReferenceCode": "BD130281",
            "dateCreated": 1366982034427,
            "dateUpdated": 1366982026893,
            "locked": false,
            "organisation": null,
            "content": null,
            "features": null,
            "publication": null
        }, {
            "__type__": "fly.cso.api.v1.data.job.RemoteJob",
            "code": "01130-327697959875",
            "externalReferenceCode": "BD130274",
            "dateCreated": 1366889117723,
            "dateUpdated": 1366889569633,
            "locked": false,
            "organisation": null,
            "content": null,
            "features": null,
            "publication": null
        },
        ...
        {
            "__type__": "fly.cso.api.v1.data.job.RemoteJob",
            "code": "01130-211771021918",
            "externalReferenceCode": "BD130244",
            "dateCreated": 1366037901820,
            "dateUpdated": 1366961440330,
            "locked": false,
            "organisation": null,
            "content": null,
            "features": null,
            "publication": null
        }
    ]
}

5.5 getJobCount - Count the number of jobs for the given filtercriteria

Description

The function getJobCount is used to retrieve the number of jobs for a specified jobFilter.

To count the number of jobs returned for a given set of filter criteria use the function getjobCount.

Arguments

method: getJobs.json
input:
required apiKey type string
required remoteJobFilter type RemoteJobFilter
result:
result type integer

A javascript (with jQuery) example:

var emptyJobFilter = {
    __type__: "RemoteJobFilter"
};
var variables = {
    apiKey: "6cc9b104-e5f1-4bf0-8d2f-d979fa53c5b5",
    filter: emptyJobFilter
};
var jsonString = JSON.stringify(variables);
jQuery.post(
    "https://sandbox.api.cso20.net/v1/jobapi/getJobCount.json",
    {args: jsonString},
    function (data) {console.log(data);}
);

The JSON response:

{"result":38}

5.6 getJobEnumerations - Get all available enumerated data for jobs

Description

A job has many properties, some are freeform textual fields, others enumerated values such as publicationStatus, region, jobBranch, contractType or drivinglicence. These properties are enumerations with a label holding the description and a unique code. While making API calls always use the property 'code' as input. The field 'description' is a read-only value used for display purposes.

These codes hardly change. We advice you to cache this data.

The function getJobEnumerations returns a list of all available enumerated properties (labels and codes) and cannot be filtered while making an API call. Below is a mapping of the available types, their code and an excerpt of the descriptive labels.

Enumerations

Enumeration Code (excerpt) Label (excerpt)
contractTypes CSD.nnn (numeric values) For example: 'Vaste aanstelling (eventueel met een proeftijd)'
drivingLicences A t/m E Identical to the value in the code excerpt, lowercase
jobApplicationTypes 'electronic' or 'written' 'Elektronisch' or 'Schriftelijk'
onlineJobApplicationTypes EST.nnn For example: 'reactie URL'
jobBranches CVG.nnn For example: 'Administratief/Secretarieel, Agrarisch, Administratief/Secretarieel, '
jobCategories CFT.nnn For example: 'Bestuurlijk,Management / Leidinggevend, Onderwijsgevend'
jobPublicationStatuses PUB.nnn For example: 'Intern, Interdepartementaal, Extern'
jobPublicationPeriods -1, -2, -5, -7, -30 negative numeric For example: 'Gisteren, Laatste 3 dagen,Laatste 5 dagen, Laatste 7 dagen,Laatste maand'
payScales uuid For example 'Salarisniveau schaal 6,7 or 8'
educationLevels CWD.nnn For example: 'Master/doctoraal, Bachelor - HBO, MBO'
regions BRG.nnn or NL, DZ, AO, BW For example: 'Friesland or Nederland, Algerije, Angola, Botswana'
securityScreenings VFN.01, 02 or 03 Functie is een vertrouwensfunctie op niveau 'A', 'B' or 'C'
tvDistinctions 'tutoyeren' or 'vousvoyeren' 'je' or 'u'

Arguments

method: getJobEnumerations.json
input:
required apiKey type string
result:
result type RemoteJobEnumerations

A javascript (with jQuery) example:

var variables = {
    apiKey: "6cc9b104-e5f1-4bf0-8d2f-d979fa53c5b5"
};
var jsonString = JSON.stringify(variables);
jQuery.post(
    "https://sandbox.api.cso20.net/v1/jobapi/getJobEnumerations.json",
    {args: jsonString},
    function (data) {console.log(data);}
);

The JSON response:

{
   "result": {
      __type__: "fly.cso.api.v1.data.job.RemoteJobEnumerations",
      contractTypes: [{
            __type__: "fly.cso.domain.enumerations.ContractType"
            ID: 228
            children: Array[0]
            code: "CSD.02"
            dateCreated: 946681200000
            dateUpdated: null
            label: "Vaste aanstelling (eventueel met een proeftijd)"
         },
         ...
      ],
      drivingLicences: [{
            __type__: "fly.cso.domain.enumerations.DrivingLicence"
            ID: 307
            code: "a"
            dateCreated: 946681200000
            dateUpdated: null
            label: "A"
         },
         ...
      ],
      ...
   }
}

5.7 getOrganisations - Get all available organisations available on the CSO Platform

Description

This function retrieves a list of all participating organisations on the CSO platform.

Arguments

method: getOrganisations.json
input:
required apiKey type string
result:
result type array of RemoteOrganisation

A javascript (with jQuery) example:

var variables = {
    apiKey: "6cc9b104-e5f1-4bf0-8d2f-d979fa53c5b5"
};
var jsonString = JSON.stringify(variables);
jQuery.post(
    "https://sandbox.api.cso20.net/v1/jobapi/getOrganisations.json",
    {args: jsonString},
    function (data) {console.log(data);}
);

The JSON response:

{
    "result": [{
            "__type__": "fly.cso.api.v1.data.job.RemoteOrganisation",
            "name": "AcademicTransfer",
            "code": "00300",
            "abbreviation": "AT",
            "HPKdays": 0
        }, {
            "__type__": "fly.cso.api.v1.data.job.RemoteOrganisation",
            "name": "Algemene Rekenkamer",
            "code": "01020",
            "abbreviation": "AR",
            "HPKdays": 5        
        },
        ...
   ]
}

5.8 getOrganisationsWithFilter - Get organisations based on a given filter

Description

This function retrieves a specific list of organisations on the CSO platform; for example all organisations in a specific sector.

Arguments

method: getOrganisationsWithFilter.json
input:
required apiKey type string
required filter type RemoteOrganisationFilter
result:
result type array of RemoteOrganisation

A javascript (with jQuery) example with an empty organisationFilter. This will result in the return of ALL organistaions:

var emptyOrganisationFilter = {
   __type__:  "RemoteOrganisationFilter"
}
var variables = {
    apiKey: "6cc9b104-e5f1-4bf0-8d2f-d979fa53c5b5",
    filter: emptyOrganisationFilter
};
var jsonString = JSON.stringify(variables);
jQuery.post(
    "https://sandbox.api.cso20.net/v1/jobapi/getOrganisationsWithFilter.json",
    {args: jsonString},
    function (data) {console.log(data);}
);

The JSON response:

{
    "result": [{
            "__type__": "fly.cso.api.v1.data.job.RemoteOrganisation",
            "name": "AcademicTransfer",
            "code": "00300",
            "abbreviation": "AT",
            "HPKdays": 0
        }, {
            "__type__": "fly.cso.api.v1.data.job.RemoteOrganisation",
            "name": "Algemene Rekenkamer",
            "code": "01020",
            "abbreviation": "AR",
            "HPKdays": 5        
        },
        ...
   ]
}

5.9 getJobCountForEnumeration - Get the number of jobs per enumeration for the given enumeration type and filter

Description

This function returns the number of jobs ("14") per enumeration ("Utrecht") for the given enumeration type ("Region") and filter ("keyword:'internet'").

Arguments

method: getOrganisationsWithFilter.json
input:
required apiKey type string
required enumerationType type string Must be one of these strings: "EducationLevel", "JobBranch", "JobCategory", "ContractType", "Region".
required filter type RemoteJobFilter
result:
result type array of RemoteJobEnumerationCount

A javascript (with jQuery) example with an empty organisationFilter. This will result in the return of ALL organistaions:

var emptyJobFilter = {
    __type__: "RemoteJobFilter"
};
var variables = {
    apiKey: "6cc9b104-e5f1-4bf0-8d2f-d979fa53c5b5",
    enumerationType: "region",
    filter: emptyJobFilter
};
var jsonString = JSON.stringify(variables);
jQuery.post(
    "https://sandbox.api.cso20.net/v1/jobapi/getJobCountForEnumeration.json",
    {args: jsonString},
    function (data) {console.log(data);}
);

The JSON response:

{
    "result": [{
            "__type__": "fly.cso.api.v1.data.job.RemoteJobEnumerationCount",
            "enumeration": {
                "__type__": "fly.cso.domain.enumerations.Region",
                "children": [],
                "ID": 109,
                "label": "Groningen",
                "code": "BRG.0204",
                "dateCreated": 946681200000,
                "dateUpdated": null
            },
            "jobSearchCount": 3
        }, {
            "__type__": "fly.cso.api.v1.data.job.RemoteJobEnumerationCount",
            "enumeration": {
                "__type__": "fly.cso.domain.enumerations.Region",
                "children": [],
                "ID": 111,
                "label": "Overijssel",
                "code": "BRG.0208",
                "dateCreated": 946681200000,
                "dateUpdated": null
            },
            "jobSearchCount": 4
        },
        ...
      }
   ]
}

5.10 saveJob - Save a job

Description

This function is used to save a job.

Jobs have many properties, a listing of the minimal required set of information is shown below. The fields locationData and publicationData require additional conditional logic to validate the job object. Publication data is the most comprehensive type of validation. See the table below for descriptions of publication data and publication periods.

Validation

General requirements

Saving a job requires a minimal set of required fields to be present in the request. Below is a list of all required fields with dutch names known to users of the CSO-platform.

internalReferenceCode code this job is referenced by within the organisation (vacaturenummer).
organisation code for the organisation this job belongs to (deelnemer).
jobContent.name title for this job (functienaam).
jobContent.description short text describing the job (functie-omschrijving).
jobContent.requirements requirements for the job (functie-eisen).
jobContent.applicationTypes how to apply for this job: written application, digital application or both.
jobContent.locationData.city city in which is the job situated (standplaats).
jobFeatures.jobDetail.educationLevels codes for the education level(s) required for this job (werk-denkniveau).
jobFeatures.jobDetail.jobCategories codes categorizing the type(s) of this job, (functietype).
jobFeatures.jobDetail.jobBranches codes to categorize the jobbranche(s) this job applies to (vakgebied).
jobFeatures.jobDetail.regions code to categorize the region(s) or country the job is situated (regio of land).
jobFeatures.employmentConditionsData.hoursMax maximum number of hours per week for this job.
jobFeatures.employmentConditionsData.contractType type of contract for this job, for example 'permanent contract' or 'research Internship'.
publication.visible value to flag the jobs visiblity on the platforms.

Conditional requirements

Some properties have conditional requirements. Below is a list of conditional fields and a description of the conditional logic.

  1. Job application data:

    Different fields are required for electronic and written application types. Since applicationTypes is a required field, we can omit the validation when it is absent. See table Enumerations for an overview of applicationTypes.

  2. Location data

    When multiple regions are specified, regions must be situated in The Netherlands which makes the fields Postalcode and City required fields. When a country outside the Netherlands is selected, those fields are not required.

  3. Salary

    We distinguish two groups of organisations: those that have payScales and those that don't. The first group must either submit a payScale or payDescription and are not allowed to submit min/max salary values. The second group must either submit min/max salary values or payDescription and are not allowed to submit any payScales.

  4. Publication data and phases

    the publication period of a job is composed of several publication phases. These phases mark the availability of the information to a specific audience. See the table below for general rules that apply for saving or retrieving a job. Sometimes, no job information is returned after a (valid) request because of these rules.

    Publication phase Description
    HPK If the organisation that provides the job has a required HPK period, the range between dateStart and dateEnd should at least be similar to the predefined range. The dateEnd could extend the predefined range. Overlap of the HPK period with another period is not allowed. DateStart and dateEnd are required fields (the API does not calculate ranges automatically).
    Intern Publication dates for 'Intern' are required fields. Overlap with HPK period is not allowed. The jobs are published on mobiliteitsbank.nl.
    Interdepartementaal This publication period only applies to RijksOrganisaties. Both dateStart and dateEnd are required fields. Overlap with HPK period is not allowed. An overlap in dates with 'Intern' is allowed. Jobs will be published on mobiliteitsbank.nl.
    Extern During this publication period the job will be available on both mobiliteitsbank.nl, werkenbijdeoverheid.nl and werkenbijhetrijk.nl. Both dateStart and dateEnd are required fields and should never overlap with HPK period.

Arguments

method: getOrganisationsWithFilter.json
input:
required apiKey type string
required job type RemoteJob
result:
result type array of RemoteJobEnumerationCount

A javascript (with jQuery) example:

var job = {
    "content": {
        "name": "Job Jop...",
        "description": "Test job",
        "__TYPE__": "RemoteJobContent",
        "requirements": "Geen"
    },
    "features": {
        "featuresDetail": {
            "regions": [{
                    "__TYPE__": "Region",
                    "code": "BRG.0214"
                }, {
                    "__TYPE__": "Region",
                    "code": "BRG.0210"
                }
            ],
            "jobBranches": [{
                    "__TYPE__": "JobBranch",
                    "code": "CVG.02"
                }, {
                    "__TYPE__": "JobBranch",
                    "code": "CVG.04"
                }
            ],
            "__TYPE__": "RemoteJobFeaturesDetail",
            "jobCategories": [{
                    "__TYPE__": "JobCategory",
                    "code": "CFT.08"
                }, {
                    "__TYPE__": "JobCategory",
                    "code": "CFT.04"
                }
            ],
            "educationLevels": [{
                    "__TYPE__": "EducationLevel",
                    "code": "CWD.04"
                }
            ]
        },
        "location": {
            "postcode": "3703CB",
            "__TYPE__": "RemoteJobLocation",
            "city": "Ergens"
        },
        "employmentConditions": {
            "contractType": {
                "__TYPE__": "ContractType",
                "code": "CSD.02"
            },
            "payDescription": "pay description",
            "payScales": [{
                    "__TYPE__": "PayScale",
                    "code": "MTBI9LD7"
                }, {
                    "__TYPE__": "PayScale",
                    "code": "1Y08ZSFF"
                }, {
                    "__TYPE__": "PayScale",
                    "code": "FF51QGU7"
                }
            ],
            "hoursMax": 40,
            "__TYPE__": "RemoteJobEmploymentConditions"
        },
        "onlineApplicationTypes": [{
                "__TYPE__": "OnlineJobApplicationType",
                "code": "EST.02"
            }
        ],
        "__TYPE__": "RemoteJobFeatures",
        "applicationTypes": [{
                "__TYPE__": "JobApplicationType",
                "code": "electronic"
            }
        ],
        "internalReferenceCode": "qwer",
        "applicationContact": {
            "location": {
                "email": "testemailadres@rhinofly.nl",
                "__TYPE__": "RemoteJobAddress"
            },
            "__TYPE__": "RemoteJobApplicationContact"
        }
    },
    "publication": {
        "visible": true,
        "__TYPE__": "RemoteJobPublicationData",
        "publicationSets": [{
                "__TYPE__": "RemoteJobPublicationSet",
                "publications": [{
                        "publicationStatus": {
                            "__TYPE__": "JobPublicationStatus",
                            "code": "PUB.02"
                        },
                        "__TYPE__": "RemoteJobPublication",
                        "dateStart": "2014-04-10",
                        "dateEnd": "2014-05-10"
                    }, {
                        "publicationStatus": {
                            "__TYPE__": "JobPublicationStatus",
                            "code": "PUB.04"
                        },
                        "__TYPE__": "RemoteJobPublication",
                        "dateStart": "2014-04-11",
                        "dateEnd": "2014-05-11"
                    }, {
                        "publicationStatus": {
                            "__TYPE__": "JobPublicationStatus",
                            "code": "PUB.06"
                        },
                        "__TYPE__": "RemoteJobPublication",
                        "dateStart": "2014-04-12",
                        "dateEnd": "2014-05-12"
                    }
                ]
            }
        ]
    },
    "__TYPE__": "RemoteJob",
    "organisation": {
        "__TYPE__": "RemoteOrganisation",
        "code": "01130"
    }
};
var variables = {
    apiKey: "6cc9b104-e5f1-4bf0-8d2f-d979fa53c5b5",
    job:job
};
var jsonString = JSON.stringify(variables);
jQuery.post(
    "https://sandbox.api.cso20.net/v1/jobapi/saveJob.json",
    {args: jsonString},
    function (data) {console.log(data);}
);

The JSON response:

{
    "result": [{
            "__type__": "fly.cso.api.v1.data.job.RemoteJobEnumerationCount",
            "enumeration": {
                "__type__": "fly.cso.domain.enumerations.Region",
                "children": [],
                "ID": 109,
                "label": "Groningen",
                "code": "BRG.0204",
                "dateCreated": 946681200000,
                "dateUpdated": null
            },
            "jobSearchCount": 3
        }, {
            "__type__": "fly.cso.api.v1.data.job.RemoteJobEnumerationCount",
            "enumeration": {
                "__type__": "fly.cso.domain.enumerations.Region",
                "children": [],
                "ID": 111,
                "label": "Overijssel",
                "code": "BRG.0208",
                "dateCreated": 946681200000,
                "dateUpdated": null
            },
            "jobSearchCount": 4
        },
        ...
      }
   ]
}

5.11 removeJob - Delete a job

Description

This function deletes a job

Arguments

method: removeJob.json
input:
required apiKey type string
required jobCode type string
result:
result type string

A javascript (with jQuery) example:

var variables = {
   apiKey: "6cc9b104-e5f1-4bf0-8d2f-d979fa53c5b5",
   jobCode: "09283-000012391287"
};
var jsonString = JSON.stringify(variables);
jQuery.post(
    "https://sandbox.api.cso20.net/v1/jobapi/removeJob.json",
    {args: jsonString},
    function (data) {console.log(data);}
);

5.12 getCVEnumerations - Get all available enumerated data for CVs

Description

A CV has many properties, some are freeform textual fields, others enumerated values such as education level or region. These properties are enumerations with a label holding the description and a unique code. While making API calls always use the property 'code' as input. The field 'description' is a read-only value used for display purposes.

These codes hardly change. We advice you to cache this data.

The function getCVEnumerations returns a list of all available enumerated properties (labels and codes) and cannot be filtered while making an API call. Below is a mapping of the available types, their code and an excerpt of the descriptive labels.

Enumerations

Enumeration Code (excerpt) Label (excerpt)
cvStyles cvStylen (numeric values) For example: 'Modern'
drivingLicences A..E Identical to the value in the code excerpt, lowercase
educationLevels CWD.nnn For example: 'Master/doctoraal, Bachelor - HBO, MBO'
educationResults BOR.nnn For example: 'Diploma'
jobBranches CVG.nnn For example: 'Administratief/Secretarieel, Agrarisch, Administratief/Secretarieel, '
languages LNG.nnn For example: 'Engels'
maritalStatuses BBS.nnn For example: 'Gehuwd'
regions BRG.nnn or NL, DZ, AO, BW For example: 'Friesland or Nederland, Algerije, Angola, Botswana'
skillLevels n (numeric values 0-4) For example: 'Zeer goed, matig, slecht'
software x (for example 'excel') For example 'Excel'

Arguments

method: getCVEnumerations.json
input:
required apiKey type string
result:
result type RemoteCVEnumerations

A javascript (with jQuery) example:

var variables = {
    apiKey: "6cc9b104-e5f1-4bf0-8d2f-d979fa53c5b5"
};
var jsonString = JSON.stringify(variables);
jQuery.post(
    "https://sandbox.api.cso20.net/v1/cvapi/getCVEnumerations.json",
    {args: jsonString},
    function (data) {console.log(data);}
);

The JSON response:

{
    "result": {
        "__type__": "fly.cso.api.v1.data.cv.RemoteCVEnumerations",
        "cvStyles": [
            {
                "__type__": "fly.cso.domain.cv.CVStyle",
                "ID": 457,
                "label": "Neutraal",
                "code": "cvStyle2",
            },
            ...
        ],
        "drivingLicences": [
            {
                "__type__": "fly.cso.domain.enumerations.DrivingLicence",
                "ID": 307,
                "label": "A",
                "code": "a",
            },
            ...
        ],
        "educationLevels": [
            {
                "__type__": "fly.cso.domain.enumerations.EducationLevel",
                "ID": 262,
                "label": "Gepromoveerd",
                "code": "CWD.02",
            },
            ...
        ],
        "educationResults": [
            {
                "__type__": "fly.cso.domain.enumerations.EducationResult",
                "ID": 282,
                "label": "Diploma",
                "code": "BOR.02",
            },
           ...
        ],
        "jobBranches": [
            {
                "__type__": "fly.cso.domain.enumerations.JobBranch",
                "ID": 191,
                "label": "Administratief/Secretarieel",
                "code": "CVG.02",
            },
            ...
        ],
        "languages": [
            {
                "__type__": "fly.cso.domain.enumerations.Language",
                "ID": 257,
                "label": "Nederlands",
                "code": "LNG.02",
            },
           ...
        ],
        "maritalStatuses": [
            {
                "__type__": "fly.cso.domain.enumerations.MaritalStatus",
                "ID": 285,
                "label": "Gehuwd",
                "code": "BBS.02",
            },
            ...
        ],
        "regions": [
            {
                "__type__": "fly.cso.domain.enumerations.Region",
                "ID": 86,
                "label": "Belgiƫ",
                "code": "BE",
            },
            ...
        ],
        "skillLevels": [
            {
                "__type__": "fly.cso.domain.enumerations.SkillLevel",
                "ID": 313,
                "label": "Zeer goed",
                "code": 4,
            },
            ...
        ],
        "software": [
            {
                "__type__": "fly.cso.domain.enumerations.Software",
                "ID": 318,
                "label": "Access",
                "code": "Access",
            },
           ...
        ]
    }
}

5.13 saveCV - Save a CV

Description

This function is used to save a CV.

CVs have many properties, a listing of the minimal required set of information is shown below.

Validation

Saving a CV requires a very minimal set of required fields to be present in the request. Technally only a user ID is required but a CV title is highly recommended.

Minimal request JSON:

{
   "apiKey":"83e0fc0c-ead6-4b05-93f8-5bed63edf0cd",
   "cv":
   {
     "__type__":"fly.cso.api.v1.data.cv.RemoteCV",
     "title":"Hard working team player",
     "userID":"2f6cbb1b-e9a3-40f8-aa5a-bf12ba4adcdc"
   }
}

Arguments

method: saveCV.json
input:
required apiKey type string
required cv type RemoteCV
result:
result type RemoteCV

A javascript (with jQuery) example:

var variables = {
  "apiKey":"[ApiKey]",
  "cv":{
    "__type__":"fly.cso.api.v1.data.cv.RemoteCV",
    "title":"[Title]",
    "userID":"[User ID]",
    "dateCreated":999302400000,
    "style":{
      "__type__":"fly.cso.domain.cv.CVStyle",
      "code":"[CVStyle Code]"
    },    
    "personalData":{
      "__type__":"fly.cso.api.v1.data.shared.RemoteExtendedPerson",
      "gender":true,
      "nameFirst":"[Name Initials]",
      "nameInfix":"[Name First]",
      "nameInitials":"[Name Infix]",
      "nameLast":"[Name Last]",
      "namePrefix":"[Name Prefix]",
      "nameSuffix":"[Name Suffix]",
      "nationality":"[Nationality]",
      "birthDate":371865600000,
      "drivingLicences":[
        {
          "__type__":"fly.cso.domain.enumerations.DrivingLicence",
          "code":"[Driving_Licence_1 Code]"
        },
        {
          "__type__":"fly.cso.domain.enumerations.DrivingLicence",
          "code":"[Driving_Licence_1 Code]"
        }        
      ],
      "drivingLicenceOther":"[Driving Licence Other]",
      "maritalStatus":{
        "__type__":"fly.cso.domain.enumerations.MaritalStatus",
        "code":"[Marital_Status Code]"
      }
    },
    "address":{
      "__type__":"fly.cso.api.v1.data.shared.RemoteAddress",
      "address":"[Address]",
      "postcode":"[Postcode]",
      "city":"[City]",
      "email":"[Email]",
      "phone":"[Phone]",
      "region":{
        "__type__":"fly.cso.domain.enumerations.Region",
        "code":"[Region_1 Code]"
      }
    },
    "educations":[
      {
        "__type__":"fly.cso.api.v1.data.cv.RemoteEducation",
        "educationName":"[Education_1 Education Name]",
        "institution":"[Education_1 Institution]",
        "institutionCity":"[Education_1 Institution City]",
        "startDate":778377600000,
        "endDate":962409600000,
        "educationLevel":{
          "__type__":"fly.cso.domain.enumerations.EducationLevel",
          "code":"[Education_Level_1 Code]"
        },
        "educationResult":{
          "__type__":"fly.cso.domain.enumerations.EducationResult",
          "code":"[Education_Result_1 Code]"
        },
        "jobBranch":{
          "__type__":"fly.cso.domain.enumerations.JobBranch",
          "code":"[Job_Branch_1 Code]"
        },
        "subjects":"[Education_1 Subjects]"
      },
      {
        "__type__":"fly.cso.api.v1.data.cv.RemoteEducation",
        "educationName":"[Education_2 Education Name]",
        "institution":"[Education_2 Institution]",
        "institutionCity":"[Education_2 Institution City]",
        "startDate":778377600000,
        "endDate":962409600000,
        "educationLevel":{
          "__type__":"fly.cso.domain.enumerations.EducationLevel",
          "code":"[Education_Level_2 Code]"
        },
        "educationResult":{
          "__type__":"fly.cso.domain.enumerations.EducationResult",
          "code":"[Education_Result_2 Code]"
        },
        "jobBranch":{
          "__type__":"fly.cso.domain.enumerations.JobBranch",
          "code":"[Job_Branch_2 Code]"
        },
        "subjects":"[Education_2 Subjects]"
      }      
    ],
    "courses":[
      {
        "__type__":"fly.cso.api.v1.data.cv.RemoteCourse",
        "courseName":"[Course_1 Education Name]",
        "institution":"[Course_1 Institution]",
        "institutionCity":"[Course_1 Institution City]",
        "startDate":778377600000,
        "endDate":962409600000,
        "educationLevel":{
          "__type__":"fly.cso.domain.enumerations.EducationLevel",
          "code":"[Education_Level_1 Code]"
        },
        "educationResult":{
          "__type__":"fly.cso.domain.enumerations.EducationResult",
          "code":"[Education_Result_1 Code]"
        },
        "jobBranch":{
          "__type__":"fly.cso.domain.enumerations.JobBranch",
          "code":"[Job_Branch_1 Code]"
        },
        "subjects":"[Course_1 Subjects]"
      },
      {
        "__type__":"fly.cso.api.v1.data.cv.RemoteCourse",
        "courseName":"[Course_2 Education Name]",
        "institution":"[Course_2 Institution]",
        "institutionCity":"[Course_2 Institution City]",
        "startDate":778377600000,
        "endDate":962409600000,
        "educationLevel":{
          "__type__":"fly.cso.domain.enumerations.EducationLevel",
          "code":"[Education_Level_2 Code]"
        },
        "educationResult":{
          "__type__":"fly.cso.domain.enumerations.EducationResult",
          "code":"[Education_Result_2 Code]"
        },
        "jobBranch":{
          "__type__":"fly.cso.domain.enumerations.JobBranch",
          "code":"[Job_Branch_2 Code]"
        },
        "subjects":"[Course_2 Subjects]"
      }
    ],
   "jobExperiences":[
      {
        "__type__":"fly.cso.api.v1.data.cv.RemoteJobExperience",
        "jobName":"[Job_Experience_1 Job Name]",
        "organisation":"[Job_Experience_1 Organisation]",
        "startDate":1114905600000,
        "endDate":1136073600000,
        "educationLevel":{
          "__type__":"fly.cso.domain.enumerations.EducationLevel",
          "code":"[Education_Level_1 Code]"
        },
        "jobBranch":{
          "__type__":"fly.cso.domain.enumerations.JobBranch",
          "code":"[Job_Branch_1 Code]"
        },
        "description":"[Job_Experience_1 Description]",
        "reference":"[Job_Experience_1 Reference]"
      },
      {
        "__type__":"fly.cso.api.v1.data.cv.RemoteJobExperience",
        "jobName":"[Job_Experience_2 Job Name]",
        "organisation":"[Job_Experience_2 Organisation]",
        "startDate":1114905600000,
        "endDate":1136073600000,
        "educationLevel":{
          "__type__":"fly.cso.domain.enumerations.EducationLevel",
          "code":"[Education_Level_2 Code]"
        },
        "jobBranch":{
          "__type__":"fly.cso.domain.enumerations.JobBranch",
          "code":"[Job_Branch_2 Code]"
        },
        "description":"[Job_Experience_2 Description]",
        "reference":"[Job_Experience_2 Reference]"
      }    
    ],
    "extracurricularActivities":[
      {
        "__type__":"fly.cso.api.v1.data.cv.RemoteExperience",
        "jobName":"[Extracurricular_Activity_1 Job Name]",
        "organisation":"[Extracurricular_Activity_1 Organisation]",
        "startDate":1114905600000,
        "endDate":1136073600000,
        "description":"[Extracurricular_Activity_1 Description]",
        "reference":"[Extracurricular_Activity_1 Reference]"
      },
      {
        "__type__":"fly.cso.api.v1.data.cv.RemoteExperience",
        "jobName":"[Extracurricular_Activity_2 Job Name]",
        "organisation":"[Extracurricular_Activity_2 Organisation]",
        "startDate":1114905600000,
        "endDate":1136073600000,
        "description":"[Extracurricular_Activity_2 Description]",
        "reference":"[Extracurricular_Activity_2 Reference]"
      }
    ],
    "software":[
      {
        "__type__":"fly.cso.api.v1.data.cv.RemoteSoftware",
        "software":{
          "__type__":"fly.cso.domain.enumerations.Software",
          "code":"[Software_1 Code]"
        },
        "level":{
          "__type__":"fly.cso.domain.enumerations.SkillLevel",
          "code":"[Skill_Level_1 Code]"
        },
        "other":null
      },
      {
        "__type__":"fly.cso.api.v1.data.cv.RemoteSoftware",
        "software":{
          "__type__":"fly.cso.domain.enumerations.Software",
          "code":"[Software_2 Code]"
        },
        "level":{
          "__type__":"fly.cso.domain.enumerations.SkillLevel",
          "code":"[Skill_Level_1 Code]"
        },
        "other":null
      },
      {
        "__type__":"fly.cso.api.v1.data.cv.RemoteSoftware",
        "software":null,
        "level":{
          "__type__":"fly.cso.domain.enumerations.SkillLevel",
          "code":"[Skill_Level_1 Code]"
        },
        "other":"[Other software]"
      }
    ],
    "languages":[
      {
        "__type__":"fly.cso.api.v1.data.cv.RemoteLanguage",
        "language":{
          "__type__":"fly.cso.domain.enumerations.Language",
          "code":"[Language_1 Code]"
        },
        "level":{
          "__type__":"fly.cso.domain.enumerations.SkillLevel",
          "code":"[Skill_Level_1 Code]"
        },
        "levelSpoken":{
          "__type__":"fly.cso.domain.enumerations.SkillLevel",
          "code":"[Skill_Level_1 Code]"
        },        
        "other":null
      },
      {
        "__type__":"fly.cso.api.v1.data.cv.RemoteLanguage",
        "language":{
          "__type__":"fly.cso.domain.enumerations.Language",
          "code":"[Language_2 Code]"
        },
        "level":{
          "__type__":"fly.cso.domain.enumerations.SkillLevel",
          "code":"[Skill_Level_1 Code]"
        },
        "levelSpoken":{
          "__type__":"fly.cso.domain.enumerations.SkillLevel",
          "code":"[Skill_Level_1 Code]"
        },           
        "other":null
      },
      {
        "__type__":"fly.cso.api.v1.data.cv.RemoteLanguage",
        "language":null,
        "level":{
          "__type__":"fly.cso.domain.enumerations.SkillLevel",
          "code":"[Skill_Level_1 Code]"
        },
        "levelSpoken":{
          "__type__":"fly.cso.domain.enumerations.SkillLevel",
          "code":"[Skill_Level_1 Code]"
        },           
        "other":"[Other language]"
      }
    ],
    "personalDescription":{
      "__type__":"fly.cso.api.v1.data.cv.RemotePersonalDescription",
      "hobbies":"[Hobbies]",
      "personalSkills":"[Personal Skills]"
    },
    "ambition":{
      "__type__":"fly.cso.api.v1.data.cv.RemoteAmbition",
      "description":"[Description]"
    },
    "awards":[
      {
        "__type__":"fly.cso.api.v1.data.cv.RemoteTitledPeriod",
        "title":"[Award_1 Title]",
        "startDate":1114905600000,
        "endDate":1136073600000,
        "description":"[Award_1 Description]"
      },
      {
        "__type__":"fly.cso.api.v1.data.cv.RemoteTitledPeriod",
        "title":"[Award_2 Title]",
        "startDate":1114905600000,
        "endDate":1136073600000,
        "description":"[Award_2 Description]"
      }      
    ],
    "other":[
      {
        "__type__":"fly.cso.api.v1.data.cv.RemoteTitledPeriod",
        "title":"[Other_1 Title]",
        "startDate":1114905600000,
        "endDate":1136073600000,
        "description":"[Other_1 Description]"
      },
      {
        "__type__":"fly.cso.api.v1.data.cv.RemoteTitledPeriod",
        "title":"[Other_2 Title]",
        "startDate":1114905600000,
        "endDate":1136073600000,
        "description":"[Other_2 Description]"
      }      
    ]    
  }
};
var jsonString = JSON.stringify(variables);
jQuery.post(
    "https://sandbox.api.cso20.net/v1/cvapi/saveCV.json",
    {args: jsonString},
    function (data) {console.log(data);}
);

The JSON response will be the same RemoteCV.

5.14 RemoteJobFilter - Define a filter for specific selections of jobs

Description

JobFilter defines selection criteria of jobs to return.

For example, to list all jobs currently available, all jobs for a specified organisation or sector, all jobs for a given publication period or jobs with specific employment conditions.

Filter criteria are of type Boolean, string or a code for an enumerated object (for example: region). For more information and a full mapping of available properties see the reference documentation.

Arguments

filter type RemoteJobFilter
  • contentFilter - nillable; type RemoteJobContentFilter
    • name - nillable; type string
  • featuresFilter - nillable; type RemoteJobFeaturesFilter
    • detailFilter - nillable; type RemoteJobDetailFilter
      • educationLevels - nillable; type ArrayOf_tns5_EducationLevel - array of type EducationLevel - extension of type Enumeration
        • ID - nillable; type double (read only)
        • code - nillable; type string
        • dateCreated - nillable; type dateTime (read only)
        • dateUpdated - nillable; type dateTime (read only)
        • label - nillable; type string (read only)
        • children - nillable; type anyType
        • parent - nillable; type anyType
      • jobBranches - nillable; type ArrayOf_tns5_JobBranch - array of type JobBranch - extension of type Enumeration
        • ID - nillable; type double (read only)
        • code - nillable; type string
        • dateCreated - nillable; type dateTime (read only)
        • dateUpdated - nillable; type dateTime (read only)
        • label - nillable; type string (read only)
        • children - nillable; type anyType
        • parent - nillable; type anyType
      • jobCategories - nillable; type ArrayOf_tns5_JobCategory - array of type JobCategory - extension of type Enumeration
        • ID - nillable; type double (read only)
        • code - nillable; type string
        • dateCreated - nillable; type dateTime (read only)
        • dateUpdated - nillable; type dateTime (read only)
        • label - nillable; type string (read only)
        • children - nillable; type anyType
        • parent - nillable; type anyType
      • regions - nillable; type ArrayOf_tns5_Region - array of type Region - extension of type Enumeration
        • ID - nillable; type double (read only)
        • code - nillable; type string
        • dateCreated - nillable; type dateTime (read only)
        • dateUpdated - nillable; type dateTime (read only)
        • label - nillable; type string (read only)
        • children - nillable; type anyType
        • parent - nillable; type anyType
    • employmentConditionsFilter - nillable; type RemoteEmploymentConditionsFilter
      • contractTypes - nillable; type ArrayOf_tns5_ContractType - array of type ContractType - extension of type Enumeration
        • ID - nillable; type double (read only)
        • code - nillable; type string
        • dateCreated - nillable; type dateTime (read only)
        • dateUpdated - nillable; type dateTime (read only)
        • label - nillable; type string (read only)
        • children - nillable; type anyType
        • parent - nillable; type anyType
      • payScales - nillable; type ArrayOf_tns7_PayScale - array of type PayScale - extension of type Enumeration
        • ID - nillable; type double (read only)
        • code - nillable; type string
        • dateCreated - nillable; type dateTime (read only)
        • dateUpdated - nillable; type dateTime (read only)
        • label - nillable; type string (read only)
        • displayOrder - nillable; type double
        • persistentOrganisation - nillable; type anyType (read only)
        • salaryMax - nillable; type double
        • salaryMin - nillable; type double
      • salaryMax - nillable; type double
      • salaryMin - nillable; type double
  • filterMetadata - nillable; type RemoteFilterMetadata
    • maxRows - nillable; type double
    • orderBy - nillable; type ArrayOf_tns8_RemoteFilterMetadataOrderBy - array of type RemoteFilterMetadataOrderBy
      • descending - nillable; type boolean
      • orderBy - nillable; type string
      • orderByArguments - nillable; type ArrayOf_xsd_anyType - array of type anyType
    • startRow - nillable; type double
  • includeSubtypes - nillable; type boolean (not yet implemented!)
  • onlineOnly - nillable; type boolean
  • organisations - nillable; type ArrayOf_tns3_RemoteOrganisation - array of type RemoteOrganisation
    • code - nillable; type string
    • name - nillable; type string (read only)
  • publicationDataFilter - nillable; type RemoteJobPublicationDataFilter
    • publicationPeriodFilter - nillable; type RemoteJobPublicationPeriodFilter
      • dateEnd - nillable; type dateTime
      • dateStart - nillable; type dateTime
    • publicationStatuses - nillable; type ArrayOf_tns5_JobPublicationStatus - array of type JobPublicationStatus - extension of type Enumeration
      • ID - nillable; type double (read only)
      • code - nillable; type string
      • dateCreated - nillable; type dateTime (read only)
      • dateUpdated - nillable; type dateTime (read only)
      • label - nillable; type string
    • sectors - nillable; type ArrayOf_tns3_RemoteSector - array of type RemoteSector
      • code - nillable; type string
      • name - nillable; type string (read only)

5.15 RemoteJobFieldSelection - Define a fieldselection to define the level of detail for a job

Description

This function defines the level of detail for a requested job provide a jobFieldSelection.

The specification for jobFieldSelection provides an overview of all properties available for a job. If no jobFieldSelection is provided all data available for a job will be returned. Field selections are always of type Boolean and grouped by meaning. For example, settings for textual content of a job are found in the property content. Detailed features like branche, education level or region are set in features.detail.

Arguments

remoteJobFieldSelection type RemoteJobFieldSelection
  • jobContent - nillable; type RemoteJobContentFieldSelection
    • department - nillable; type boolean
    • employer - nillable; type boolean
  • jobExtraFields - nillable; type boolean
  • jobFeatures - nillable; type RemoteJobFeaturesFieldSelection
    • applicationContact - nillable; type boolean
    • applicationProcedureContact - nillable; type boolean
    • applicationTypes - nillable; type boolean
    • detail - nillable; type boolean
    • employmentConditions - nillable; type boolean
    • informationContact - nillable; type boolean
    • location - nillable; type boolean
    • onlineJobApplicationTypes - nillable; type boolean
    • tvDistinction - nillable; type boolean
  • jobPublication - nillable; type RemoteJobPublicationDataFieldSelection
    • publicationSets - nillable; type boolean
  • organisation - nillable; type boolean

5.16 RemoteOrganisationFilter - Define a filter to retrieve categories of organisations

Description

To find all organisations in a given sector provide a remoteOrganisationFilter.

Arguments

filter type RemoteOrganisationFilter
  • includeSubOrganisations - nillable; type boolean
  • levels - nillable; type ArrayOf_xsd_anyType - array of type anyType
  • organisation - nillable; type RemoteOrganisation
    • code - nillable; type string
    • name - nillable; type string (read only)
  • sector - nillable; type RemoteSector
    • code - nillable; type string
    • name - nillable; type string (read only)

5.17 RemoteJobEnumerationCount

Description

This object represents the number of jobs found for each enumeration.

  • enumeration; type Enumeration
  • jobSearchCount; type double

6 Frequently asked questions

Section not avaliable.

7 Deprecation documentation

Section not avaliable.

8 Future enhancements

Currently the CSO API v1. features the port JobAPI. Future enhancements will provide access to both a CandidateAPI and JobApplicationAPI.

9 Support

For API access requests, questions, suggestions and feedback, contact the help desk.

Telephone +31 70 7000510
Email address helpdesk@werkenvoornederland.nl

Known problems

Currently there are no known problems for API v1.

3-jun-2014