Documentation pour le format générique JSON chez FCMS #
Le but de ce document est d’aborder le format générique JSON pour une offre d’emploi dans l’écosystème de FCMS.
Exemple complet #
Voici un exemple d’un JSON attendu au format FCMS.
Cet exemple liste tous les champs disponibles pour décrire une offre d’emploi. La plupart sont optionnels, mais nous vous encourageons à en remplir un maximum.
[
{
"title": "Aide-Soignant à Domicile en CDI H/F",
"partnerID": "399f923225c901",
"description": "Description de l'offre",
"profileDescription": "Description du profil attendu",
"baseSalary": {
"period": "P1M",
"currency": "EUR",
"maxValue": 3000,
"minValue": 2500.50,
"comment": "Salaire minimum de 2500.50 euros",
"hidden": false
},
"hiringOrganization": {
"siret": "52099004500053",
"identifier": "150321626112783351",
"description": "société de recrutement ODELYS",
"legalName": "ODELYS"
},
"employmentType": {
"identifier": "2",
"label": "CDD"
},
"employmentTime": "parttime",
"industries": [
{
"identifier": "1000",
"label": "Informatique / Télécom / Internet"
}
],
"occupationalCategories": [
{
"identifier": "K1304",
"label": "Services domestiques"
}
],
"educationRequirements": [
{
"identifier": "3",
"label": "CAP / BEP ou équivalent"
}
],
"experienceRequirements": [
{
"identifier": "2",
"label": "1 à 2 ans d'expérience"
}
],
"profileStatus": "non-executive",
"jobLocations": [
{
"locality": "Charenton-le-Pont",
"postalCode": "94220",
"streetAddress": "52 Rue de Paris",
"coordinates": {
"latitude": 48.793144,
"longitude": 2.474034
},
"subRegion": {
"name": "Val-de-Marne",
"code": "94",
"isoCode": "FR-94"
},
"region": {
"name": "Île-de-France",
"code": "IDF",
"isoCode": "FR-IDF"
},
"country": {
"identifier": "France",
"code": "FR"
}
}
],
"application": {
"reference": "399f923225c901",
"url": "https://mycompany.com/to-job-posting.html",
"email": "john.ford@gmail.com",
"telephone": "+33612345678",
"type": "redirect",
"info": "extra info for application purposes",
"person": {
"name": "John Ford",
"telephone": "+33612345678",
"faxNumber": "+33612345677",
"email": "john.ford@gmail.co"
}
},
"remote": {
"remoteDays": 4,
"temporary": false
},
"createdAt": "02 Nov 22 08:20 UTC",
"updatedAt": "02 Nov 22 08:35 UTC",
"validThrough": "2022-10-29T19:00:00+02:00"
}
]
Champs Requis #
partnerID
title
- one of {
description
,profiledescription
} jobLocations.PostalCode
jobLocations.Country.Code
occupationalcategories.Label
(*)- one of {
hiringOrganization.legalName
,hiringOrganization.identifier
} employmentType.label
application.url
(*) occupational categories
autrement appelées les fonctions peut-être automatiquement remplies en se basant sur le
titre de l’offre d’emploi. Si vous décidez d’activer cette fonctionnalité, n’hésitez pas à vous rapprocher de votre
commercial
chez FCMS.
Une fois celle-ci activée, il n’est plus nécessaire de remplir le champs occupationalcategories.Label
Champs #
title #
type: string
Le titre de l’offre.
Le nombre de caractères dans le titre de l’offre doit être compris entre 2 et 76.
partnerID #
type: string
Ce champ représente l’identifiant unique de l’offre généré par le client qui est la source de l’offre.
La longueur maximale de ce champ est de 150 caractères.
description #
type: string
Ce champ représente la description du poste.
Les informations de formatage incluses dans la description sont pour la plupart ignorées. Seules les balises autorisées (en nombre très limité) par le site publiant l’offre seront conservées après traitement de l’offre. De même les données de style (CSS) sont supprimées de l’offre après traitement.
Le nombre de caractères dans la description doit être compris entre 25 et 4000.
profileDescription #
type: string
Ce champ représente la description du profil recherché.
Les informations de formatage incluses dans la description sont pour la plupart ignorées. Seules les balises autorisées (en nombre très limité) par le site publiant l’offre seront conservées après traitement de l’offre. De même les données de style (CSS) sont supprimées de l’offre après traitement.
Le nombre de caractères dans la description doit être compris entre 25 et 4000.
profileStatus #
type: string
Ce champ permet d’indiquer s’il s’agit d’un poste de cadre.
Deux valeurs sont possibles :
- non-executive
- executive
experienceRequirements #
type: []classification
Ce champ permet de renseigner le niveau d’expérience requis pour le poste.
Ses valeurs doivent provenir d’un référentiel.
C’est une liste de Classification
En voici des exemples issus de la nomenclature de Figaro Emploi :
identifiant | label |
---|---|
1 | Premier emploi |
2 | 1 à 2 ans d’expérience |
3 | 3 à 5 ans d’expérience |
4 | 6 à 10 ans d’expérience |
5 | Plus de 10 ans d’expérience |
educationRequirements #
type: []classification
Ce champ permet de renseigner le niveau d’études requis pour le poste. Ses valeurs doivent provenir d’un référentiel.
C’est une liste de Classification
En voici des exemples issus de la nomenclature de Figaro Emploi :
identifiant | label |
---|---|
1 | Non qualifié |
2 | Brevet des collèges ou équivalent |
3 | CAP / BEP ou équivalent |
4 | Baccalauréat |
5 | Bac +2 ou équivalent |
6 | Bac +3 / Bac +4 ou équivalent |
7 | Bac +5 ou équivalent |
8 | Bac +8 ou équivalent |
jobLocations #
type: []postalAddress
La localisation de l’offre d’emploi.
C’est une liste de postal addresses.
occupationalCategories #
type: []classification
Ce champ permet de renseigner les fonctions associées à l’offre. Ses valeurs doivent provenir d’un référentiel. L’information de la fonction est requise par Figaro Emploi.
C’est une liste de Classification
baseSalary #
type: object
Ce champ permet de renseigner les informations sur le salaire de l’offre. Il a la structure suivante :
Field | Description | type |
---|---|---|
period | La période à considérer pour le salaire basé sur la norme ISO 8601 | string |
currency | La devise utilisée comme définie dans la norme ISO 4217 | string |
maxValue | Le montant maximum du salaire | float64 |
minValue | Le montant minimum du salaire | float64 |
comment | Infos complémentaires sur le salaire | string |
hidden | Indique si le salaire doit être caché sur le site | boolean |
Pour un salaire fixe, veuillez remplir le même montant pour MaxValue
et MinValue
.
employmentDuration #
type: string
employmentDuration
permet de renseigner la durée du contrat du poste si cela s’applique à l’offre en question.
Elle est exprimée dans le format défini dans l’ISO 8601 comme pour la période du salaire.
employmentType #
type: classification
employmentType
permet de renseigner le type de contrat du poste.
Ses valeurs doivent provenir d’un référentiel.
C’est une liste de classification
employmentTime #
type: string
Ce champ permet d’indiquer la durée de temps de travail.
Deux valeurs sont possibles :
- parttime
- fulltime
hiringOrganization #
type: object
Ce champ permet de renseigner les informations sur l’entreprise qui recrute. Il est constitué comme suit :
Field | Description | type |
---|---|---|
siret | Le siret de la société si elle est en France | string |
identifier | L’identifiant FCMS de la société qui recrute (aka bizio id) | string |
legalName | Le nom de la société qui recrute | string |
description | La description de la société | string |
Les informations de formatage incluses dans la description de la société sont pour la plupart ignorées. Seules les balises autorisées (en nombre très limité) par le site publiant l’offre seront conservées après traitement de l’offre. De même les données de style (CSS) sont supprimées de la description après traitement.
Si vous ne connaissez pas le identifier
ou siret
de la société, vous pouvez remplir à la place son legalName
.
industries #
type: []classification
Ce champ permet de renseigner les secteurs d’activité associés à l’offre. Ses valeurs doivent provenir d’un référentiel.
C’est une liste de classification
application #
type: object
Ce champ application
permet de renseigner les informations pour postuler à l’offre.
Field | Description | type |
---|---|---|
person | Personne référente pour les candidatures | person |
L’adresse email pour postuler si elle existe | string | |
telephone | Le numéro de téléphone de la personne référente | string |
url | URL pour postuler si elle existe | string |
reference | La référence de l’offre | string |
info | Info complémentaire sur la manière de postuler | string |
person #
type: object
Ce champ person
permet de renseigner les informations de la personne référente pour les candidatures.
Field | Description | type |
---|---|---|
name | Le nom complet de la personne référente | string |
telephone | Le numéro de téléphone de la personne référente | string |
faxNumber | Le numéro de fax de la personne référente | string |
Le courriel de la personne référente | string |
createdAt #
type: time
Le champ createdAt
correspond à la première date de publication de l’offre.
Accepte uniquement une valeur de type time.
updatedAt #
type: time
Le champ updatedAt
correspond à la dernière date de mise à jour de l’offre.
Accepte uniquement une valeur de type time.
validThrough #
type: time
Le champ validThrough
correspond à la date d’expiration de l’offre.
Accepte uniquement une valeur de type time.
remote #
type: object
Ce champ permet de renseigner si le télétravail est possible avec le poste et d’en donner les modalités.
Il est structuré comme suit :
Field | Description | type |
---|---|---|
remoteDays | Nombre de jours en télétravail | float64 |
temporary | Indique si le télétravail est temporaire ou permanent | boolean |
classification #
type: object
Un objet de classification représente un terme d’un critère de nomenclature. Il aide à la classification d’une offre d’emploi.
Les cinq critères principaux utilisés dans une offre d’emploi sont les suivants :
- Fonctions ==
OccupationnalCategories
- Secteurs d’activité ==
Industries
- Niveau d’étude ==
EducationRequirements
- Contrat ==
EmploymentType
- Niveau d’expérience ==
ExperienceRequirements
La nomenclature choisie peut-être celle de FCMS ou la nomenclature que vous nous avez fournie
Un objet comprends les champs suivants :
Field | Description | type |
---|---|---|
identifier | L’identifiant du terme de nomenclature | string |
label | Le label du terme de nomenclature | string |
postal address #
type: object
L’objet postalAddress
contient les champs suivants :
Field | Description | type |
---|---|---|
country.identifier | Le nom du pays | string |
country.code | Le code ISO du pays basé sur la norme ISO 3166-1 alpha-2 | string |
locality | La localité du poste | string |
region.name | Le nom de la région | string |
region.code | Le code région | string |
region.isoCode | Le code ISO de la région basé sur la norme ISO 3166-2 | string |
subRegion.name | Le nom du département | string |
subRegion.code | Le code du département | string |
subRegion.isoCode | Le code ISO du département basé sur la norme ISO 3166-2 | string |
postalCode | Le code postal | string |
streetAddress | L’adresse complète | string |
coordinates.latitude | La latitude des coordonnées GPS | float64 |
coordinates.longitude | La longitude des coordonnées GPS | float64 |
hidden | Indique si la localisation doit être affichée | boolean |
time #
type: string
Une valeur time
accepte les formats suivants :
Format | Exemple value |
---|---|
ANSIC | Mon Jan _2 15:04:05 2006 |
UnixDate | Mon Jan _2 15:04:05 MST 2006 |
RubyDate | Mon Jan 02 15:04:05 -0700 2006 |
RFC822 | 02 Jan 06 15:04 MST |
RFC822Z | 02 Jan 06 15:04 -0700 |
RFC850 | Monday, 02-Jan-06 15:04:05 MST |
RFC1123 | Mon, 02 Jan 2006 15:04:05 MST |
RFC1123Z | Mon, 02 Jan 2006 15:04:05 -0700 |
RFC3339 | 2006-01-02T15:04:05+07:00 |
RFC3339Nano | 2006-01-02T15:04:05.999999999+07:00 |