API v1

Intégrez Jonder à votre système.

API REST et webhooks pour les logiciels de gestion des candidatures. Inclus dans la formule All inclusive.

Spécification OpenAPIDemander un contact technique

Authentification

Créez une clé API sous Intégrations dans l'espace entreprise. Envoyez-la dans l'en-tête à chaque requête :

curl https://jonder.jobs/api/v1/threads \
  -H "Authorization: Bearer jk_live_…"

Limite : 600 requêtes par heure et par clé. Les réponses sont au format JSON, les erreurs suivent le format {"error":{"code","message"}}.

Points de terminaison

URL de base : https://jonder.jobs/api/v1

GET/companyVotre entreprise, formule, label
GET/jobsLister les postes
POST/jobsCréer un poste
PATCH/jobs/{id}Modifier un poste
DELETE/jobs/{id}Supprimer un poste
GET/threads?since=Conversations depuis une date
GET/threads/{id}Conversation avec messages
POST/threads/{id}/messagesEnvoyer un message
GET/candidates/{id}Candidat issu d'une conversation existante
GET/appointments?from=Rendez-vous
GET/eventsÉvénements webhook

Confidentialité dans l'API

Les candidats restent anonymes tant qu'ils ne révèlent pas leur nom en conversation. Pour les entreprises titulaires du Label Équité, les règles du mode aveugle s'appliquent aussi dans l'API. Seuls les candidats avec qui une conversation existe déjà sont accessibles via l'API.

Webhooks

Jonder envoie des événements par POST à votre adresse HTTPS. Chaque envoi inclut les en-têtes X-Jonder-Event et X-Jonder-Signature (HMAC-SHA256 sur le corps brut). En cas d'échec, jusqu'à trois nouvelles tentatives sont effectuées.

EVENTthread.createdNeue Kontaktanfrage gesendet
EVENTthread.acceptedKandidat hat angenommen
EVENTthread.declinedKandidat hat abgelehnt
EVENTcandidate.revealedKandidat hat Namen & Unterlagen freigegeben
EVENTmessage.receivedNeue Nachricht vom Kandidaten
EVENTappointment.confirmedTermin bestätigt
EVENTappointment.cancelledTermin abgesagt / abgelehnt
EVENTjob.interestKandidat interessiert sich für eine Stelle
// Webhook-Signatur prüfen (Node.js)
const crypto = require('crypto');
function verify(rawBody, header, secret) {
  const expected = 'sha256=' + crypto.createHmac('sha256', secret).update(rawBody).digest('hex');
  return crypto.timingSafeEqual(Buffer.from(header), Buffer.from(expected));
}

Prévu

  • « Connexion avec Jonder » (OAuth) pour les sites partenaires
  • Connecteurs prêts à l'emploi pour les principaux logiciels de gestion des candidatures
  • Un environnement sandbox avec données de test