Chargement en cours ...
Tester l’API avec Swagger UI

Cette page vous explique comment utiliser Swagger UI pour explorer et tester les endpoints de l’API EasyJobs directement depuis votre navigateur.

Qu’est-ce que Swagger UI ?

Swagger UI est un outil interactif qui permet de visualiser la documentation d’une API REST et d’exécuter des requêtes directement via une interface graphique. Il est basé sur une spécification OpenAPI.

Accéder à l’interface Swagger
  • Vous pouvez accéder à Swagger UI de l’API EasyJobs ici : https://api.easyjobs.fr/ui/swagger/.
  • Vous pouvez également télécharger la spécification OpenAPI pour l’intégrer localement : openapi-easyjobs.yaml
  • Note : Les tests sont effectués dans l'environnement sandbox (v1-sandbox).
En-têtes requis

Pour que vos requêtes soient acceptées, vous devez configurer les en-têtes suivants dans Swagger UI :

                
                  Authorization: Bearer API_TOKEN
                  Usersecretkey: SECRET_KEY
                  Accept-Language: fr
                  User-Agent: EasyJobsSwaggerTest/1.0
                  Origin: ORIGIN
                  Content-Type: application/json
                

Comment faire :

  1. Cliquez sur le bouton Authorize (icône de cadenas) en haut à droite.
  2. Pour Authorization, sélectionnez bearerAuth, entrez Bearer VOTRE_TOKEN et cliquez sur Authorize.
  3. Pour Usersecretkey, sélectionnez userSecretKeyAuth, entrez votre clé secrète et cliquez sur Authorize.
  4. Fermez la fenêtre d’autorisation.
  5. Ensuite, dans chaque requête, Swagger UI ajoutera automatiquement ces deux en-têtes.
  6. Pour les autres en-têtes (Origin, User-Agent, Accept-Language), complétez-les dans la section Parameters de chaque endpoint (ils sont pré-remplis mais éditables).
Instructions d’utilisation (Try it out)
  1. Sélectionnez un endpoint dans la colonne de gauche.
  2. Cliquez sur Try it out pour activer les champs de saisie.
  3. Renseignez ou modifiez les paramètres et le corps de la requête.
  4. Cliquez sur Execute pour envoyer la requête.
  5. Vérifiez le status code, les en-têtes et le corps de la réponse.
Fichier YAML – Spécification OpenAPI

Vous trouverez ci-dessous un extrait du fichier openapi-easyjobs.yaml. Vous pouvez télécharger la spécification complète à l’aide du bouton situé juste en dessous.


                  openapi: 3.0.3
                  info:
                    title: EasyJobs API
                    description: API pour la gestion des offres d'emploi sur la plateforme EasyJobs.
                    version: "1.0.0"

                  servers:
                    - url: https://api.easyjobs.fr/v1-sandbox/json
                      description: Mode Sandbox [JSON]

                  security:
                    - bearerAuth: []
                      userSecretKeyAuth: []

                  paths:
                    /job-posting:
                      post:
                        summary: Créer une nouvelle offre d'emploi
                        tags:
                          - Job Posting
                        parameters:
                          - $ref: '#/components/parameters/Origin'
                          - $ref: '#/components/parameters/User-Agent'
                          - $ref: '#/components/parameters/Accept-Language'
                        requestBody:
                          required: true
                          content:
                            application/json:
                              schema:
                                $ref: '#/components/schemas/Job'
                        responses:
                          "201":
                            description: Offre créée avec succès
                          "400":
                            description: Mauvaise requête (erreurs de validation)
                          "401":
                            description: Non autorisé (token manquant ou invalide)
                          "403":
                            description: Interdit (User-Agent ou Usersecretkey manquant/non conforme)
                          "429":
                            description: Trop de requêtes (retry limité)
                          "500":
                            description: Erreur interne du serveur
                
Paramètres de requête disponibles :

Lister vos offres publiées (Jobs Listing). Ce test ne nécessite pas de corps de requête. Il suffit d’exécuter une requête GET avec les en-têtes requis. Requête GET vers : https://api.easyjobs.fr/v1/jobs-list.

Vous pouvez également filtrer les résultats en ajoutant des paramètres dans l’URL. Par exemple : https://api.easyjobs.fr/v1/jobs-list?limit=10&page=1. Si aucun paramètre n’est spécifié, la requête retourne toutes les offres associées à votre compte, paginées par blocs de 10 résultats. Vous pouvez ajuster la taille de chaque page jusqu’à un maximum de 50 éléments en utilisant le paramètre limit, et naviguer entre les pages avec page.

Si aucun paramètre n’est spécifié, la requête retourne les offres paginées par blocs de 10 résultats par défaut.

Paramètre Type Valeur par défaut Description
page Entier 1 Numéro de page à afficher. Par défaut : 1. Doit être ≥ 1.
limit Entier 10 Nombre maximum d’offres par page (maximum : 50, par défaut : 10).
search Chaîne Mot-clé ou expression à rechercher dans le titre ou la description des offres.
location Chaîne Filtrer par ville ou région.
job_id Chaîne Identifiant unique d’une offre, utilisé pour filtrer une offre précise.
date_created Date Filtrer les offres créées à une date spécifique (format YYYY-MM-DD).
last_update Date Filtrer selon la date de dernière mise à jour (format YYYY-MM-DD).

Les valeurs sont sensibles à la casse — respectez la syntaxe exacte.

Exemples pour tester l’API (en mode sandbox)

Environnement sandbox disponible pour les tests : Vous pouvez utiliser notre environnement sandbox pour tester tous les endpoints EasyJobs en toute sécurité, sans affecter les données réelles.

Exemple 1 : Publier une offre d'emploi (Job Posting JSON). Requête POST vers : https://api.easyjobs.fr/v1-sandbox/json/job-posting


                    {
                      "id": "4M0123456N43N25",
                      "date": "2025-04-22 10:00:00",
                      "valid_through": "2025-05-22 10:00:00",
                      "title": "Développeur Web Fullstack - H/F",
                      "contract_type": "CDI",
                      "work_hours": "35 heures",
                      "employment_type": "Freelance",
                      "description": "Nous recherchons un Développeur Web Fullstack, pour développer une application.",
                      "position": "Nous recherchons un(e) développeur(se) web fullstack passionné(e) pour rejoindre notre équipe dynamique. Vous participerez à la conception et au développement d'applications web innovantes pour des clients internationaux.",
                      "profile": "Vous avez une expérience de 3 ans minimum en PHP, JavaScript et frameworks modernes. Vous aimez travailler en équipe et relever de nouveaux défis.",
                      "location": "Paris",
                      "postcode": "75001",
                      "region": "Île-de-France",
                      "country": "France",
                      "subsidiary": "Agence Web",
                      "url": "https://www.exemple.com/offre",
                      "salary": "",
                      "salary_min": "27400€/an",
                      "salary_max": "32100€/an",
                      "rome": "M1805",
                      "available": "1",
                      "experience": "Expérience souhaitée",
                      "company_logo_url": "https://www.exemple.com/logo.png",
                      "posted_via": "My Company"
                    }
                  

Exemple 2 : Publier plusieurs offres d'emploi (Jobs Posting JSON). Requête POST vers : https://api.easyjobs.fr/v1-sandbox/json/jobs-posting


                    {
                      "jobs": {
                        "job": [
                          {
                            "id": "4M0123456N43N25",
                            "date": "2025-04-22 10:00:00",
                            "valid_through": "2025-05-22 10:00:00",
                            "title": "Développeur Web Fullstack - H/F",
                            "contract_type": "CDI",
                            "work_hours": "35 heures",
                            "employment_type": "Freelance",
                            "description": "Nous recherchons un Développeur Web Fullstack, pour développer une application.",
                            "position": "Nous recherchons un(e) développeur(se) web fullstack passionné(e) pour rejoindre notre équipe dynamique. Vous participerez à la conception et au développement d'applications web innovantes pour des clients internationaux.",
                            "profile": "Vous avez une expérience de 3 ans minimum en PHP, JavaScript et frameworks modernes. Vous aimez travailler en équipe et relever de nouveaux défis.",
                            "location": "Paris",
                            "postcode": "75001",
                            "region": "Île-de-France",
                            "country": "France",
                            "subsidiary": "Agence Web",
                            "url": "https://www.exemple.com/offre",
                            "salary": "",
                            "salary_min": "27400€/an",
                            "salary_max": "32100€/an",
                            "rome": "M1805",
                            "available": "1",
                            "experience": "Expérience souhaitée",
                            "company_logo_url": "https://www.exemple.com/logo.png",
                            "posted_via": "My Company"
                          },
                          {
                            "id": "4M0123456N43N26",
                            "date": "2025-04-22 11:00:00",
                            "valid_through": "2025-05-22 11:00:00",
                            "title": "Ingénieur DevOps - H/F",
                            "contract_type": "CDI",
                            "work_hours": "35 heures",
                            "employment_type": "Temps-plein",
                            "description": "Dans le cadre de notre croissance, nous recherchons un ingénieur DevOps pour renforcer notre équipe technique.",
                            "position": "Vous participerez à l’automatisation, au déploiement et à la supervision des infrastructures cloud de nos clients.",
                            "profile": "Connaissances solides en CI/CD, conteneurs (Docker/Kubernetes), et scripts d’automatisation (Bash, Python).",
                            "location": "Lyon",
                            "postcode": "69000",
                            "region": "Auvergne-Rhône-Alpes",
                            "country": "France",
                            "subsidiary": "Pôle Infrastructure",
                            "url": "https://www.exemple.com/offre-devops",
                            "salary": "42000€/an",
                            "salary_min": "",
                            "salary_max": "",
                            "rome": "M1810",
                            "available": "1",
                            "experience": "Expérience exigée",
                            "company_logo_url": "https://www.exemple.com/logo-devops.png",
                            "posted_via": "My Company"
                          }
                        ]
                      }
                    }
                  

Exemple 3 : Modifier une offre existante (Job Edit JSON). Requête PUT vers : https://api.easyjobs.fr/v1-sandbox/json/job-edit


                    {
                      "id": "4M0123456N43N25",
                      "date": "2025-04-26 09:00:00",
                      "title": "Développeur Fullstack expérimenté - H/F",
                      "description": "Mise à jour : nous recherchons toujours activement un développeur Fullstack expérimenté en React et Node.js pour renforcer notre équipe."
                    }
                  

Exemple 4 : Modifier plusieurs offres existantes (Jobs Edit JSON). Requête PUT vers : https://api.easyjobs.fr/v1-sandbox/json/jobs-edit


                    {
                      "jobs": {
                        "job": [
                          {
                            "id": "4M0123456N43N25",
                            "date": "2025-04-26 09:00:00",
                            "title": "Développeur Fullstack expérimenté - H/F",
                            "description": "Mise à jour : nous recherchons toujours activement un développeur Fullstack expérimenté en React et Node.js pour renforcer notre équipe."
                          },
                          {
                            "id": "4M0123456N43N26",
                            "date": "2025-04-26 09:00:00",
                            "title": "Ingénieur DevOps expérimenté - H/F",
                            "description": "Mise à jour : dans le cadre de notre croissance, nous recherchons un ingénieur DevOps pour renforcer notre équipe technique."
                          }
                        ]
                      }
                    }
                  

Exemple 5 : Supprimer une offre existante (Job Delete). Requête DELETE vers : https://api.easyjobs.fr/v1-sandbox/job-delete


                    {
                      "id": "4M0123456N43N25"
                    }
                  

Exemple 6 : Supprimer plusieurs offres existantes (Jobs Delete JSON). Requête DELETE vers : https://api.easyjobs.fr/v1-sandbox/json/jobs-delete


                    {
                      "jobs": {
                        "job": [
                          {
                            "id": "4M0123456N43N25"
                          },
                          {
                            "id": "4M0123456N43N26"
                          }
                        ]
                      }
                    }
                  
Cas de test et erreurs simulées
  • Champ manquant : Supprimez title pour observer une erreur 400 - champ obligatoire (400 Bad Request).
  • Format invalide : Envoyez une date future dans date pour déclencher une erreur 422 (Unprocessable Entity).
  • Sans User-Agent : Supprimez cet en-tête pour recevoir une erreur 403 (Forbidden).
Bonnes pratiques
  • Restez toujours dans l’environnement sandbox.
  • Ne jamais exposer vos clés d’accès en public.
  • Surveillez les quotas et les limites de retry pour éviter les blocages (code 429).
  • Consultez régulièrement les logs pour détecter les erreurs inattendues ou récurrentes.
Copyright EasyJobs API © 2025 - Tous droits réservés