Candidatures

L’API des candidatures est disponible sur le endpoint suivant :

https://www.aladom.fr/restapi/contact/candidacy/

Ce endpoint permet de lister les candidatures reçues pour vos offres d’emploi et d’ajouter des candidatures externes

Lister et manipuler vos candidatures

  1. Ajouter une candidature : POST /restapi/contact/candidacy/

  2. Lister vos candidatures : GET /restapi/contact/candidacy/

Ajouter une candidature

Voici un exemple d’envoi

$ curl -XPOST -H'Content-Type:application/json' https://www.aladom.fr/restapi/contact/candidacy/ -d '{"subcategory": 33, "provider": 11111, "origin_email": "prenom.nom@email.com", "origin_phone": "0606060606", "first_name": "Prénom", "last_name": "Nom", "civility": 1, "cv_file": "JVBERi0xLjMKJcTl8uXrp/Og0....."}'
{
         "id": 1400050,
         "experience": null,
         "contract_type": "",
         "has_cv": false,
         "cv_url": "/utilisateur/aaaa/cv",
         "cv_extension": ".pdf",
         "origin_name": "Prénom Nom",
         "origin_email": "prenom.nom@email.com",
         "origin_phone": "0606060606",
         "message": "",
         "posted_on": "2022-10-20T16:25:25.527430",
         "job_offer": null,
         "birth_date": null,
         "address": "",
         "city": null,
         "has_vehicle": null,
         "degrees": [],
         "filters": [],
         "first_name": "Prénom",
         "last_name": "Nom",
         "status": 0,
     }

Champs disponibles pour l’ajout

Cela peut évoluer. Si des champs ne sont présents ici mais sont pertinents selon vous, n’hésitez pas à nous contacter.

first_name

  • Type : string

  • Nom : Prénom du candidat

last_name

  • Type : string

  • Nom : Nom du candidat

origin_email

  • Type : email

  • Nom : Adresse e-mail du candidat

origin_phone

  • Type : string

  • Nom : Numéro de téléphone du candidat

provider

  • Type : integer

  • Nom : Agence/Structure (sur lequel vous allez déposer la candidature)

cv_file

  • Type : base64

  • Nom : Fichier CV

subcategory

  • Type : integer

  • Nom : Sous-catégorie

message (facultatif)

  • Type : string

  • Nom : Message laissé par le candidat

posted_on (facultatif)

  • Type : datetime (2022-10-20 16:25)

  • Nom : Date de la candidature

job_offer (facultatif)

  • Type : integer

  • Nom : Offre d’emploi

Précision : Si vous fournissez un ID Offre d’emploi (job_offer), vous n’êtes pas obligé de fournir les 2 champs subcategory et provider. Depuis l’offre d’emploi, nous pourrons récupérer ses 2 champs. Par conséquent, la candidature ne sera pas considérée comme une candidature externe sur votre ATS.

Lister vos candidatures

$ curl -XGET https://www.aladom.fr/restapi/contact/candidacy/
{
    "count": 123,
    "next": "http://192.168.0.51:8000/restapi/contact/candidacy/?limit=100&offset=100",
    "previous": null,
    "results": [
        {
            "address": null,
            "birth_date": "1999-05-05",
            "city": {
                "code": "76351",
                "id": 31283,
                "latitude": 49.490002,
                "longitude": 0.1,
                "name": "Le Havre",
                "postal_codes": [
                    "76600",
                    "76610",
                    "76620"
                ],
                "slug": "le-havre",
                "subarea_id": "76"
            },
            "contract_type": "un emploi \u00e0 temps plein",
            "cv_url": null,
            "degrees": [
                {
                    "id": 67,
                    "name": "Licence en math\u00e9matiques",
                    "slug": "licence-en-mathematiques"
                }
            ],
            "filters": [
                {
                    "id": 80,
                    "question_label": "Pouvez-vous faire du soutien scolaire aux enfants ?",
                    "cv_label": "Je donne des cours aux enfants"
                }
            ],
            "experience": 6,
            "first_name": "Jean",
            "has_cv": false,
            "has_vehicle": false,
            "id": 123456,
            "job_offer": {
                "city_insee": "76351",
                "id": 1234567,
                "origin_reference": "abc123",
                "provider": {
                    "co_trade_name": "ACME",
                    "email": "contact@acme.fr",
                    "id": 765432
                },
                "subcategory": "cours-francais",
                "title": "Cours particuliers en FRANCAIS en classe de 1ERE"
            },
            "last_name": "Dupont",
            "message": "Bonjour,\r\n\r\nSuite \u00e0 l'offre d'emploi de cours de fran\u00e7ais que vous proposez, je me permets de vous transmettre ma candidature.\r\nMerci de me contacter si vous souhaitez obtenir plus de renseignements.\r\n\r\nCordialement,\r\n \r\n\r\n",
            "origin_email": "jean.dupont@gmail.com",
            "origin_name": "Jean Dupont",
            "origin_phone": null,
            "posted_on": "2017-07-29T23:14:05",
            "member": {
                "civility": 1,
                "picture_url": null,
                "job_status": 2
            }
        },
        {
        },
        {
        }
    ]
}

Champs disponibles sur la liste

id

  • Type : integer

  • Nom : Id

experience

  • Type : integer

  • Nom : Années d’expérience

contract_type

  • Type : string

  • Nom : Type de contrat

has_cv

  • Type : boolean

  • Nom : A joint son CV

cv_url

  • Type : string

  • Nom : URL du CV

Précision : Pour accéder au CV, vous devez rajouter https://www.aladom.fr avant l’URL fourni puis faire un GET avec votre token pour vous authentifier. Si l’URL sur le JSON est "/utilisateur/aaaa/cv", cela donne :

$ curl -H "Authorization: Token {token}" -XGET https://www.aladom.fr/utilisateur/aaaa/cv

origin_name

  • Type : string

  • Nom : Nom complet du candidat

origin_email

  • Type : email

  • Nom : Adresse e-mail du candidat

origin_phone

  • Type : string

  • Nom : Numéro de téléphone du candidat

message

  • Type : string

  • Nom : Message laissé par le candidat

posted_on

  • Type : datetime

  • Nom : Date de la candidature

job_offer

  • Type : nested object

  • Nom : Offre d’emploi

Contient les informations de l’offre d’emploi concernée

birth_date

  • Type : date

  • Nom : Date de naissance du candidat

address

  • Type : string

  • Nom : Adresse du candidat (rue)

city

  • Type : nested object

  • Nom : Ville du candidat

Contient les informations de la ville du candidat

  • code le code INSEE

  • id l’ID dans notre SI

  • latitude latitude du centre de la ville

  • longitude longitude du centre de la ville

  • name nom de la ville

  • postal_codes liste des codes postaux

  • slug identifiant textuel de la ville

  • subarea_id numéro de département

has_vehicle

  • Type : boolean

  • Nom : Le candidat est-il véhiculé

null signifiant “non renseigné”

degrees

  • Type : list

  • Nom : Liste des diplômes du candidat

Chaque élément de la liste est un dictionnaire contenant les clés suivantes :

  • id ID du diplôme dans notre SI

  • name dénomination du diplôme en français

  • slug identifiant textuel du diplôme

filters

  • Type : list

  • Nom : Liste des compétences du candidat

Chaque élément de la liste est un dictionnaire contenant les clés suivantes :

  • id ID de la compétence dans notre SI

  • question_label question type posé au candidat

  • cv_label intitulé de la compétence

first_name

  • Type : string

  • Nom : Prénom du candidat

last_name

  • Type : string

  • Nom : Nom de famille du candidat

member

  • Type : nested object

  • Nom : Informations complémentaires du candidat

Contient les informations du candidat

  • civility civilité du candidat (1: Monsieur / 2: Madame)

  • picture_url Url de la photo de profil du candidat

  • job_status Situation professionnelle

Valeurs de job_status

0 Non renseigné 1 Étudiant 2 Salarié 3 Demandeur d’emploi 4 Retraité 5 Autre

Webhook

Si vous avez mis en place un webhook (Cf. Webhooks) vous recevrez les nouvelles candidatures directement sur votre webhook sous le nom d’événement : new_candidacy.

Le champ type sera toujours contact.Candidacy. Verifiez cependant la valeur et ignorez l’événement si la valeur n’est pas correcte. Cela évitera des erreurs si nous venions à ajouter des types de données dans le futur.

Exemple de données reçues

{
    "event": "new_candidacy",
    "type": "contact.Candidacy",
    "object": {
        "address": null,
        "birth_date": "1993-03-30",
        "city": {
            "code": "29019",
            "id": 10916,
            "latitude": 48.390835,
            "longitude": -4.485556,
            "name": "Brest",
            "postal_codes": ["29200"],
            "slug": "brest",
            "subarea_id": "29"
        },
        "contract_type": "un job étudiant",
        "cv_url": null,
        "degrees": [],
        "experience": 0,
        "first_name": "Jean",
        "has_cv": false,
        "has_vehicle": false,
        "id": 123456,
        "job_offer": {
            "city_insee": "29019",
            "id": 1234567,
            "origin_reference": null,
            "provider": {
                "co_trade_name": null,
                "email": "jean.dupont@exemple.fr",
                "id": 370180
            },
            "subcategory": "cours-arabe",
            "title": "Cours d'arabe"
        },
        "last_name": "Dupont",
        "message": "Bonjour, je suis un étudiant à brest et j'aimerai bien donner des cours d'arabe pour tous .",
        "origin_email": "jean.dupont@exemple.fr",
        "origin_name": "Jean Dupont",
        "origin_phone": "0123456789",
        "posted_on": "2017-07-30T22:42:11"
    }
}