Jobchain API (1.3.0)

Download OpenAPI specification:Download

Tuesday Multimedia: info@tuesday.nl URL: https://www.tuesday.nl

Met de Jobchain-API kunnen organisaties vacatures beheren en vacature-alerts inschieten in de Jobchain-applicatie.

Dit is versie 1.3.0 van de Jobchain API.
Versie 1.1.1 (7 dec 2023): Functiecategorieënlijst in de taxonomies-endpoint verbeterd. De isonline-endpoint toegevoegd.
Versie 1.2.0 (2 jul 2024): Verbetering van de afhandeling van requests en error-monitoring.
Versie 1.3.0 (13 aug 2024): Jobalert-endpoint toegevoegd.

De Jobchain-API is één van 2 methodes om vacatures te beheren in de Jobchain applicatie. Jobchain biedt ook directe koppelingen met verschillende ATS-systemen waaronder AFAS, Carerix, Connexys, Easycruit, Emply, Homerun, HROffice, Otys, Recruitee, Recruitnow, SalesForce, Tangram-tis, Ubeeo, YellowYard en verschillende maatwerksystemen. Beschikt jouw organisatie over een ATS-systeem, dan is het meestal niet nodig om de Jobchain-API te gebruiken. Je kunt dan gebruik maken van de Tuesday ATS-connector. Staat jouw recruitmentsysteem niet in het lijstje: geen probleem. Neem contact op en we kijken samen hoe we de distributie van jouw vacatures kunnen opzetten. Meer weten over de ATS connector? Neem contact op via info@tuesday.nl of bel naar 073 - 624 00 50.

Rate-limit
Er geldt een rate-limit van 1000 request per minute aan het gebruik van deze API.

Autorisatie
Alleen geautoriseerde organisaties kunnen deze API gebruiken. Autorisatie vindt plaats d.m.v. 'Bearer Authentication'. Je hebt hiervoor een token nodig. Testen kan met de test-token. Met het productie-token kun je vacatures in Jobchain direct activeren. Beide tokens vind je in het tabblad Organisatie in Jobchain, zodra de API voor de organisatie is geactiveerd. Ben je ontwikkelaar en heb je geen token, neem dan contact op met de contactpersoon van de organisatie waarvoor de koppeling met de Jobchain-API ontwikkeld gaat worden, of neem contact op met Tuesday.

Vacatures
Gebruik de taxonomies-methode voor koppeling van een vacature met: contracttypes (contractTypes), opleidingsniveaus (educationLevels), uren-per-week (hoursPerWeek), functiecategorieën (functionCategories), werkvelden (workFields), soort_vacature (jobTypes) en beschikbaarheid (availability). Gebruik de locations-methode voor het koppelen van een vacature aan een locatie. Let op: locaties worden in de Jobchain-applicatie beheerd door de organisatie. Mutatie van locatiegegevens is de verantwoordelijkheid van de organisatie. Stem als nodig af met de contactpersoon van de organisatie.

Als je de test-token gebruikt dan worden de vacatures ingeschoten in de Jobchain (werkgevers)omgeving, met de status test. Deze worden niet getoond in de website van de werkgeversorganisatie en zijn alleen te zien door in te loggen op de werkgeversorganisatie Jobchain portal en de vacatures te filteren op status 'Test (API)'.

Vacature-alerts
Gebruik de taxonomies-methode voor koppeling van een vacature-alert met de van toepassing zijnde taxonomiëen.

jobs

Get a list of jobs

Retrieves a list of jobs that is linked to the organisation.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Post a new job

Creates a new job that is coupled on the organisation

Authorizations:
bearerAuth
Request Body schema: application/json; charset=UTF-8
required

JSON job object

closingDate
string <date> = 10 characters

The closing date of the job in yyyy-mm-dd format (the vacancy is no longer visible after this date)

publicationDate
string <date> = 10 characters

The publication date of the job in yyyy-mm-dd format (the vacancy is only visible after this date)

jobTitle
required
string <= 128 characters

The title of the job

jobIntroduction
string <= 65535 characters

The introduction of the job

jobDescription
required
string <= 65535 characters

The description of the job

applicationLinkType
required
integer
Enum: 0 1

The type of the application link where 0 is url and 1 is email

applicationLink
required
string

The email or link for applying to this job (max length for email is 128, and for a link is 1024)

jobLink
string <= 256 characters

A link to the job on your website

workfield
Array of integers non-empty [ items >= 1 ]

An array of id's for the workfields (this can be found in taxonomies endpoint)

educationLevel
required
Array of integers non-empty [ items >= 1 ]

An array of id's for the education level (this can be found in taxonomies endpoint)

hoursPerWeek
Array of integers non-empty [ items >= 1 ]

An array of id's for the hours per week (this can be found in taxonomies endpoint)

availability
Array of integers non-empty [ items >= 1 ]

An array of id's for the availability (this can be found in taxonomies endpoint), this option can only be use with vacancies of jobType=4 (Vrijwilligerswerk).

minSalary
integer

The minimum salary offered for this job

maxSalary
integer

The maximum salary offered for this job

contractType
integer >= 1

A valid id for the contract type (this can be found in taxonomies endpoint)

functionCategory
integer >= 1

An id for the function category (this can be found in taxonomies endpoint)

location
integer >= 1

An id for the location of this job (this can be found in locations endpoint)

locationName
string <= 256 characters

The name of the custom location

city
string <= 128 characters

The city part of the custom location

zipcode
string <= 7 characters

The zipcode part of the custom location

street
string <= 128 characters

The street part of the custom location

houseNumber
string <= 16 characters

The houseNumber part of the custom location

houseNumberAddition
string <= 16 characters

The houseNumberAddition part of the custom location

bigRequired
integer
Default: 0
Enum: 0 1

1 if the BIG is required for this job, 0 means no information about BIG

nightShifts
integer
Default: 0
Enum: 0 1

1 if the job is a night shift, 0 otherwise

irregularShifts
integer
Default: 0
Enum: 0 1

1 if the job is going to have irregular shifts, 0 otherwise

oncallShifts
integer
Default: 0
Enum: 0 1

1 if the job is going to have oncall shifts, 0 otherwise

weekendShifts
integer
Default: 0
Enum: 0 1

1 if the job is going to have shifts in the weekend, 0 otherwise

languageCode
string
Default: "nl"
Enum: "en" "nl"

The language of this job

reference
string <= 128 characters

A reference string to the job in your internal system

contactPerson
string <= 128 characters

The name of the contact person

contactFunction
string <= 128 characters

The function of the contact person

contactEmail
string <= 128 characters

The email of the contact person

contactTelephoneNo
string <= 128 characters

The phone number of the contact person

jobType
integer >= 1
Default: 1

An id for the type of this job (this can be found in taxonomies endpoint)

Responses

Request samples

Content type
application/json; charset=UTF-8
{
  • "closingDate": "2023-01-01",
  • "publicationDate": "2023-01-01",
  • "jobTitle": "string",
  • "jobIntroduction": "string",
  • "jobDescription": "string",
  • "applicationLinkType": 0,
  • "applicationLink": "example@gmail.com",
  • "jobLink": "www.example.com/?id=1",
  • "workfield": [
    ],
  • "educationLevel": [
    ],
  • "hoursPerWeek": [
    ],
  • "availability": [
    ],
  • "minSalary": 0,
  • "maxSalary": 0,
  • "contractType": 1,
  • "functionCategory": 1,
  • "location": 1,
  • "locationName": "string",
  • "city": "string",
  • "zipcode": "string",
  • "street": "string",
  • "houseNumber": "string",
  • "houseNumberAddition": "string",
  • "bigRequired": 1,
  • "nightShifts": 1,
  • "irregularShifts": 1,
  • "oncallShifts": 1,
  • "weekendShifts": 1,
  • "languageCode": "en",
  • "reference": "1234ab",
  • "contactPerson": "Roos van Leerdam",
  • "contactFunction": "Recruiter",
  • "contactEmail": "adres@domein.nl",
  • "contactTelephoneNo": "0612345678",
  • "jobType": 1
}

Response samples

Content type
application/json
{
  • "message": "Job added successfully",
  • "id": 1,
  • "success": true
}

jobs/{id}

Get a single job

Retrieves the requested job by it's id in the jobchain application.

Authorizations:
bearerAuth
path Parameters
id
required
integer (id) >= 1
Example: 1

Job id in the Jobchain application

Responses

Response samples

Content type
application/json
{
  • "closingDate": "2023-01-01",
  • "publicationDate": "2023-01-01",
  • "jobTitle": "string",
  • "jobIntroduction": "string",
  • "jobDescription": "string",
  • "applicationLinkType": 0,
  • "applicationLink": "example@gmail.com",
  • "jobLink": "www.example.com/?id=1",
  • "workfield": [
    ],
  • "educationLevel": [
    ],
  • "hoursPerWeek": [
    ],
  • "availability": [
    ],
  • "minSalary": 0,
  • "maxSalary": 0,
  • "contractType": 1,
  • "functionCategory": 1,
  • "location": 1,
  • "locationName": "string",
  • "city": "string",
  • "zipcode": "string",
  • "street": "string",
  • "houseNumber": "string",
  • "houseNumberAddition": "string",
  • "bigRequired": 1,
  • "nightShifts": 1,
  • "irregularShifts": 1,
  • "oncallShifts": 1,
  • "weekendShifts": 1,
  • "languageCode": "en",
  • "reference": "1234ab",
  • "contactPerson": "Roos van Leerdam",
  • "contactFunction": "Recruiter",
  • "contactEmail": "adres@domein.nl",
  • "contactTelephoneNo": "0612345678",
  • "jobType": 1
}

Delete (closes) a single job

Deletes (closes) one job from jobchain

Authorizations:
bearerAuth
path Parameters
id
required
integer (id) >= 1
Example: 1

Job id in the Jobchain application

Responses

Response samples

Content type
application/json
{
  • "message": "Job closed successfully",
  • "success": true
}

Update a single job

update certain information about a job

Authorizations:
bearerAuth
path Parameters
id
required
integer (id) >= 1
Example: 1

Job id in the Jobchain application

Request Body schema: application/json; charset=UTF-8
required

JSON job object

closingDate
string <date> = 10 characters

The closing date of the job in yyyy-mm-dd format (the vacancy is no longer visible after this date)

publicationDate
string <date> = 10 characters

The publication date of the job in yyyy-mm-dd format (the vacancy is only visible after this date)

jobTitle
string <= 128 characters

The title of the job

jobIntroduction
string <= 65535 characters

The introduction of the job

jobDescription
string <= 65535 characters

The description of the job

applicationLinkType
integer
Enum: 0 1

The type of the application link where 0 is url and 1 is email

applicationLink
string

The email or link for applying to this job (max length for email is 128, and for a link is 1024)

jobLink
string <= 256 characters

A link to the job on your website

workfield
Array of integers non-empty [ items >= 1 ]

An array of id's for the workfields (this can be found in taxonomies endpoint)

educationLevel
Array of integers non-empty [ items >= 1 ]

An array of id's for the education level (this can be found in taxonomies endpoint)

hoursPerWeek
Array of integers non-empty [ items >= 1 ]

An array of id's for the hours per week (this can be found in taxonomies endpoint)

availability
Array of integers non-empty [ items >= 1 ]

An array of id's for the availability (this can be found in taxonomies endpoint), this option can only be use with vacancies of jobType=4 (Vrijwilligerswerk).

minSalary
integer

The minimum salary offered for this job

maxSalary
integer

The maximum salary offered for this job

contractType
integer >= 1

A valid id for the contract type (this can be found in taxonomies endpoint)

functionCategory
integer >= 1

An id for the function category (this can be found in taxonomies endpoint)

location
integer >= 1

An id for the location of this job (this can be found in locations endpoint)

locationName
string <= 256 characters

The name of the custom location

city
string <= 128 characters

The city part of the custom location

zipcode
string <= 7 characters

The zipcode part of the custom location

street
string <= 128 characters

The street part of the custom location

houseNumber
string <= 16 characters

The houseNumber part of the custom location

houseNumberAddition
string <= 16 characters

The houseNumberAddition part of the custom location

bigRequired
integer
Default: 0
Enum: 0 1

1 if the BIG is required for this job, 0 means no information about BIG

nightShifts
integer
Default: 0
Enum: 0 1

1 if the job is a night shift, 0 otherwise

irregularShifts
integer
Default: 0
Enum: 0 1

1 if the job is going to have irregular shifts, 0 otherwise

oncallShifts
integer
Default: 0
Enum: 0 1

1 if the job is going to have oncall shifts, 0 otherwise

weekendShifts
integer
Default: 0
Enum: 0 1

1 if the job is going to have shifts in the weekend, 0 otherwise

languageCode
string
Default: "nl"
Enum: "en" "nl"

The language of this job

reference
string <= 128 characters

A reference string to the job in your internal system

contactPerson
string <= 128 characters

The name of the contact person

contactFunction
string <= 128 characters

The function of the contact person

contactEmail
string <= 128 characters

The email of the contact person

contactTelephoneNo
string <= 128 characters

The phone number of the contact person

jobType
integer >= 1
Default: 1

An id for the type of this job (this can be found in taxonomies endpoint)

Responses

Request samples

Content type
application/json; charset=UTF-8
{
  • "closingDate": "2023-01-01",
  • "publicationDate": "2023-01-01",
  • "jobTitle": "string",
  • "jobIntroduction": "string",
  • "jobDescription": "string",
  • "applicationLinkType": 0,
  • "applicationLink": "example@gmail.com",
  • "jobLink": "www.example.com/?id=1",
  • "workfield": [
    ],
  • "educationLevel": [
    ],
  • "hoursPerWeek": [
    ],
  • "availability": [
    ],
  • "minSalary": 0,
  • "maxSalary": 0,
  • "contractType": 1,
  • "functionCategory": 1,
  • "location": 1,
  • "locationName": "string",
  • "city": "string",
  • "zipcode": "string",
  • "street": "string",
  • "houseNumber": "string",
  • "houseNumberAddition": "string",
  • "bigRequired": 1,
  • "nightShifts": 1,
  • "irregularShifts": 1,
  • "oncallShifts": 1,
  • "weekendShifts": 1,
  • "languageCode": "en",
  • "reference": "1234ab",
  • "contactPerson": "Roos van Leerdam",
  • "contactFunction": "Recruiter",
  • "contactEmail": "adres@domein.nl",
  • "contactTelephoneNo": "0612345678",
  • "jobType": 1
}

Response samples

Content type
application/json
{
  • "message": "Job updated successfully",
  • "success": true
}

taxonomies

Get a list of all taxonomies

Retrieves a list taxonomies with valid id's and their names.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "contractTypes": [
    ],
  • "educationLevel": [
    ],
  • "hoursPerWeek": [
    ],
  • "functionCategories": [
    ],
  • "workfield": [
    ],
  • "jobTypes": [
    ],
  • "availability": [
    ]
}

locations

Get a list of all locations

Retrieves a list of locations with valid id's and their names.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

isOnline

Check the status of the connection

Retrieves information over the tried connection

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "message": "Test message",
  • "success": false,
  • "appsName": "Application Name",
  • "version": "1.1.1",
  • "orsgName": "Organisation Name"
}

custom-fields

Get a list of all custom fields of your organisation

Retrieves a list custom fields with valid id's and their names.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "vacancyCustomField01": [
    ]
}

jobalerts

Post a new job alert

Creates a new job alert that is linked to the organisation.

Authorizations:
bearerAuth
Request Body schema: application/json; charset=UTF-8
required

JSON job alert object

email
required
string <= 128 characters

The email of the job alert recipient

frequentie
required
string <= 128 characters

One of daily, weekly or monthly

name
string

The name of the job alert recipient

privacy-agreement
required
boolean

This should be given as a boolean true, it's the responsibility of the user of the API to get this variable from the subscriber.

workfield
Array of integers non-empty [ items >= 1 ]

An array of id's for the workfields (this can be found in taxonomies endpoint)

educationLevel
Array of integers non-empty [ items >= 1 ]

An array of id's for the education level (this can be found in taxonomies endpoint)

functionCategory
Array of integers non-empty [ items >= 1 ]

An array of id's for the function category (this can be found in taxonomies endpoint)

vacancyCustomField01
Array of integers non-empty [ items >= 1 ]

An array of id's for the vacancy custom field 01 (this can be found in custom-fields endpoint)

zipcode
string <= 7 characters

The zipcode part of job alert filter

city
string <= 128 characters

The city part of job alert filter (wont work if zipcode is also present)

distance
integer <= 7 characters

A valid value for distance 5, 10, 25, 50, 100

Responses

Request samples

Content type
application/json; charset=UTF-8
{
  • "email": "string",
  • "frequentie": "string",
  • "name": "example@gmail.com",
  • "privacy-agreement": true,
  • "workfield": [
    ],
  • "educationLevel": [
    ],
  • "functionCategory": [
    ],
  • "vacancyCustomField01": [
    ],
  • "zipcode": "string",
  • "city": "string",
  • "distance": 0
}

Response samples

Content type
application/json
{
  • "message": "Job alert added successfully",
  • "id": 1,
  • "success": true
}