Rechercher par critères

Présentation

Cette ressource permet de réaliser une recherche d'offres à partir de critères de sélection.

La liste des offres retournées est paginée.

Dans le cas où la liste des valeurs possible est listée dans un référentiel, c'est toujours le code correspondant au libellé recherché qu'il faut envoyer.

Description de la requête

Point d'accès

GET https://api.emploi-store.fr/partenaire/offresdemploi/v2/offres/search

 

Paramètres d'entrée

En-tête(s) Valeur
Content-Type

application/json

Accept

application/json

Code Cardinalité Format Description
range 0..1 String

Pagination des données. La plage de résultats est limitée à 150.

Format : <p>-<d> où :

  • <p> → index (débutant à 0) du premier élément demandé ne devant pas dépasser 1000.
  • <d> → index du dernier élément demandé ne devant pas dépasser 1149.

Exemples :

  • Pour demander les 50 premiers résultats : range=0-49
  • Pour demander les 50 résultats suivants : range=50-99
sort 0..1 Integer 1

Tri des données

Valeurs possibles :

  • 0 → Tri par pertinence décroissante, distance croissante, date de création décroissante
  • 1 → Tri par date de création décroissant, pertinence décroissante, distance croissante
  • 2 → Tri par distance croissante, pertinence décroissante, date de création décroissante
domaine 0..1 String 3

Code du grand domaine professionnel

Référentiel : Domaines professionnels

codeROME 0..3 String 5

Code ROME du métier

Référentiel : Métiers

theme 0..1 String 2

Thème du métier

Référentiel : Thèmes

appellation 0..1 String 5

Code de l'appellation

Référentiel : Appellations

secteurActivite 0..2 String 2

Codes NAF des secteurs d’activités. Il est possible de spécifier deux codes NAF en les séparant par une virgule dans la chaîne de caractères.

Exemple : 01,02

Référentiel : Secteurs d'activités

experience

0..1 String 1

Niveau d’expérience demandé

Valeurs possibles :

  • 1→ Moins d'un an d'expérience
  • 2→ De 1 à 3 ans d'expérience
  • 3→ Plus de 3 ans d'expérience

typeContrat

0..10 String 3

Code du type de contrat

Référentiel : Types de contrats

natureContrat

0..1 String 2

Code de la nature de contrat

Référentiel : Natures de contrats

qualification

0..1 Integer 1

Code de la qualification

Valeurs possibles :

  • 0 → Non cadre
  • 9 → Cadre

tempsPlein

0..1 Integer 1

Valeurs possibles :

  • false → Temps partiel
  • true → Temps plein

Si le paramètre n'est pas renseigné, alors toutes les offres sont remontés

commune 0..5 String 5

Code INSEE de la commune

Le comportement de recherche permet de remonter les offres pour lesquelles la distance entre la commune recherchée et la commune de l’offre est inférieure ou égale à la distance maximum demandée, ainsi que les offres pour lesquelles cette distance est marginalement plus élevée (jusqu’à + 30% de la distance maximum demandée).
Spécificité de la ville de Paris, l’ensemble des offres de Paris sont remontées pour :

  • Une recherche effectuée sur un arrondissement de Paris ou si le centre de Paris est atteint par le rayon de distance recherché,
  • Une recherche effectuée sur le département 75 (Paris).

Spécificité de la ville de Lyon, l’ensemble des offres de Lyon sont remontées dès que le centre de Lyon est atteint par le rayon de distance recherché.

Référentiel : Communes

distance 0..1 Conditionné Integer

Distance kilométrique du rayon de recherche

Valeur par défaut : 10

departement

0..5 String 3 Code INSEE du département

inclureLimitrophes

0..1 Booléen Inclure les départements limitrophes dans la recherche

region

0..1 String 2

Code de la région de l'offre

Référentiel : Région

paysContinent

0..1 String 2

Code du pays ou du continent de l'offre

Référentiel : Pays ou continents

niveauFormation

0..1 String 3

Niveau de formation demandé

Référentiel : Niveaux de formation

permis

0..1 String 3

Code du permis demandé

Référentiel : Permis

motsCles 0..7 String

Recherche par mot clé

Chaque mot clé ou expression comprend au moins 2 caractères.

La recherche de mots clés peut permettre de rechercher sur :

  • L’intitulé
  • Le libellé du ROME

Caractères autorisés : [aA-zZ]+[0-9]+[espace]+[@#$%^&+./-""]

salaireMin

0..1 Decimal

Salaire minimum, exprimé en Euro.

Si cette donnée est renseignée, le code du type de salaire minimum est obligatoire.

periodeSalaire

0..1 String 1

Période pour le calcul du salaire minimum.

Si cette donnée est renseignée, le salaire minimum est obligatoire.

Valeurs possibles :

  • M → Mensuel
  • A → Annuel
  • H → Horaire
  • C → Cachet

accesTravailleurHandicape

0..1 Booléen

Offre accessible aux travailleurs handicapés

  • false → offres inaccessibles aux travailleurs handicapés
  • true → offres accessibles aux travailleurs handicapés

Si le paramètre n'est pas renseigné, alors toutes les offres sont remontés

publieeDepuis

0..1 Integer

Nombre de jours maximal depuis la publication de l'offre

Valeurs possibles : 1, 3, 7, 14, 31

 

Exemple d'appel

GET https://api.emploi-store.fr/partenaire/offresdemploi/v2/offres/search?qualification=0&motsCles=informatique&commune=51069,76322,46083,12172,28117&origineOffre=2

Authorization: Bearer [Access token]

 

Description de la réponse

Données retournées

Lorsque la requête s’exécute sans erreur, en cas de succès il y a 2 codes retour possible :

  • si le nombre d'offres issu de la recherche est inférieur au nombre maximal d'offres que le service peut remonter en une requête, un code HTTP 200 OK est renvoyé
  • si le nombre d'offres issu de la recherche est supérieur au nombre maximal d'offres que le service peut remonter en une requête ou supérieur à 150, un code 206 PARTIAL est renvoyé
En-tête(s) Valeur
Content-Type application/json
Content-Range

offres <p>-<d>/<t>

où :

  • <p> est l’index (débutant à 0) du premier élément renvoyé
  • <d> est l’index du dernier élément renvoyé
  • <t> est le nombre total d’éléments de la recherche
Accept-Range

offres <m>

où <m> est le nombre maximal d’offres que le service peut renvoyer en une requête

Code Cardinalité Format Description
resultats 0..n Offre (cf. Consulter une offre) Liste des offres. Les données retournées sont identiques à Consulter une offre
filtresPossibles 0..n Sous-balise Liste des filtres supplémentaires possibles
filtresPossibles.agregation 0..n Sous-balise Liste des valeurs possibles du filtre avec le nombre de résultats correspondants
filtresPossibles.agregation.nbResultats 1 Integer Nombre de résultats pour la valeur du filtre
filtresPossibles.agregation.valeurPossible 1 String Valeur du filtre pour obtenir le nombre de résultats
filtresPossibles.filtre 1 String Nom du filtre

 

Exemple de retour

HTTP 200 OK
Content-Type: application/json;charset=UTF-8
Cache-Control: no-store
Pragma: no-cache

{
    "filtresPossibles": [
        {
            "agregation": [
                {
                    "nbResultats": 3,
                    "valeurPossible": "LIB"
                }
            ],
            "filtre": "typeContrat"
        },
        {
            "agregation": [
                {
                    "nbResultats": 3,
                    "valeurPossible": "0"
                }
            ],
            "filtre": "experience"
        },
        {
            "agregation": [
                {
                    "nbResultats": 1,
                    "valeurPossible": "0"
                },
                {
                    "nbResultats": 2,
                    "valeurPossible": "X"
                }
            ],
            "filtre": "qualification"
        },
        {
            "agregation": [
                {
                    "nbResultats": 1,
                    "valeurPossible": "E1"
                },
                {
                    "nbResultats": 2,
                    "valeurPossible": "NS"
                }
            ],
            "filtre": "natureContrat"
        }
    ],
    "resultats": [
        {..}, {..}
    ]
}

 

Cas d'erreurs possibles

Syntaxe de la requête erronée :

HTTP 400 Bad request
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache

{
  "codeErreur": "1493122545781",
  "codeHttp": 400,
  "message": "La donnée keywords doit être une chaîne comprise entre 2 et 99 caractères."
}

 

Range demandé trop important :

HTTP 400 Bad request
Content-Type: application/json
Accept-Range: 150

{
    "codeErreur": "1538053509877",
    "codeHttp": 400,
    "message": "La plage de résultats demandée est trop importante."
}

 

Message
La plage de résultats demandée est trop importante.
Valeur du paramètre « [code] » incorrect.
"Format du paramètre « [code] » incorrect. « [type] »attendu."