oui/non, mais accepte aussi true/false et 1/0.
Votre API doit normaliser ces valeurs en 1 ou chaîne vide en réponse.isMobilityPrime, isMonth13th, isDrivingLicence, isPersonalVehicle
| Code | Description |
|---|---|
| 200 | {"status":"ok","total":N,"annonces":[…]} |
| 400 | Paramètres invalides |
| 404 | Route introuvable |
| 405 | Méthode non autorisée |
| Code | Description |
|---|---|
| 200 | {"status":"ok","annonce":{…}} |
| 404 | Offre introuvable |
| 405 | Méthode non autorisée |
| Champ | Type | Requis | Description |
|---|---|---|---|
| offerId | string | oui | Identifiant unique ClicNwork |
| jobTitle | string | oui | Intitulé du poste |
| uidMainAgency | string | oui | UID agence principale |
| mainAgencyName | string | non | Nom de l'agence principale |
| uidChildAgency | string | non | UID agence enfant |
| childAgencyName | string | non | Nom de l'agence enfant |
| startDate / endDate | string | non | Format YYYY-MM-DD |
| addressCity / Zip / Country / Geo | string | non | Localisation |
| isMobilityPrime | bool/oui/non | non | Prime de mobilité |
| isMonth13th | bool/oui/non | non | 13e mois |
| isDrivingLicence | bool/oui/non | non | Permis requis |
| isPersonalVehicle | bool/oui/non | non | Véhicule personnel requis |
| contractType | string | non | Ex : Intérim, CDI, CDD |
| contractRate | string | non | Ex : MONTH, HOUR |
| contractDuration | string/int | non | Durée du contrat |
| industry | string | non | Secteur d'activité — ex : Terciaire, BTP |
| hourlyRate/monthlyRate/yearlyRate Min/Max | number/string | non | Fourchettes salariales — ClicNwork peut envoyer un entier ou une chaîne ex : 1202 ou "1202" |
| yearlyPrime | number/string | non | Prime annuelle — même format mixte possible ex : 1000 ou "1000" |
| experience | number/string | non | Années d'expérience — peut être un entier ou une chaîne ex : 2 ou "2" |
| companyDescription | string | non | Description de l'entreprise |
| offerDescription | string | non | Description de l'offre |
| profileDescription | string | non | Description du profil recherché |
| responsabilityDescription | string | non | Description des responsabilités |
| additionalInformation | string | non | Informations complémentaires |
| authorizations | string | non | Habilitations requises — ex : "appros, études, préfabrication" |
| essentialSkills | string | non | Compétences essentielles — ex : "autonomie, communication" |
| interlocutor | object | non | Interlocuteur de l'offre (référent ClicNwork) |
| interlocutor.uid | string | si interlocutor | UID de l'interlocuteur |
| interlocutor.firstname | string | si interlocutor | Prénom |
| interlocutor.lastname | string | si interlocutor | Nom |
| interlocutor.email | string | si interlocutor | Adresse email |
| Code | Description |
|---|---|
| 200 | [{"offerId":"…","statut":"ok","url_offer":"…"}] |
| 400 | Format JSON invalide |
| 500 | Erreur lors de la création |
| Code | Description |
|---|---|
| 200 | {"status":"ok","message":"Offre mise à la corbeille"} |
| 404 | Offre introuvable |
| 405 | Méthode non autorisée |
offerId peut être vide.offerId est obligatoire.uidMainAgency.| Champ | Type | Requis | Description / Valeurs possibles |
|---|---|---|---|
| isFreeApplication | string | oui | Candidature spontanée ou ciblée. Valeurs : "true" ou "false" |
| offerId | string | si isFreeApplication = "false" | Identifiant unique de l'offre ClicNwork |
| uidMainAgency | string | oui | UID de l'agence principale |
| uidChildAgency | string | oui | UID de l'agence enfant — doit être différent de uidMainAgency |
| applicationDatetime | string | oui | Date/heure de candidature. Format strict : YYYY-MM-DD HH:MM:SS |
| applicationSource | string | oui | Source de la candidature. Valeur attendue : "careerSite" |
| firstName | string | oui | Prénom du candidat |
| lastName | string | oui | Nom du candidat |
| phone | string | oui | Numéro de téléphone |
| string | oui | Adresse email — format valide requis | |
| cvFile | object | non | Fichier CV complet (tous les sous-champs sont requis si l'objet est présent) |
| cvFile.filename | string | si cvFile | Nom du fichier — ex : "CV_NOM.pdf" |
| cvFile.filesize | string | si cvFile | Taille en octets — ex : "500759" |
| cvFile.filetype | string | si cvFile | Extension : "pdf", "doc" ou "docx" |
| cvFile.filedata | string | si cvFile | Contenu du fichier encodé en Base64 |
| HTTP | Cas | Corps JSON retourné |
|---|---|---|
| 200 | Succès | {"status":"ok","candidatureId":"…","candidate":"Prénom Nom","hasCv":true} |
| 400 | Champ(s) invalide(s) | {"status":"ko","message":"2 erreur(s)","errors":[{"field":"offerId","message":"Requis car isFreeApplication = false"}]} |
| 400 | JSON malformé | {"status":"ko","message":"JSON invalide : …"} |
| 401 | Token manquant ou invalide | {"status":"ko","message":"Token Bearer invalide ou absent"} |
| 405 | Mauvaise méthode HTTP | {"status":"ko","message":"Méthode GET non autorisée","hint":"Utiliser POST …"} |