KARABA / Docs
← Match
Pool stored

Candidats pré-indexés

Le pool stored est le mode le plus riche. Vous poussez vos candidats une fois via POST /v1/profiles et Karaba les indexe dans votre pool isolé par client_id. Le matching, le Trust Score et la diffusion WhatsApp sont tous disponibles.

Données stockéesTrust ScoreDiffusion WhatsAppmatch_id persistant

Flux d'intégration

  1. 01Indexez vos candidatsPOST /v1/profiles — une fois par candidat, ou en batch.
  2. 02Lancez le matchingPOST /v1/match/run avec pool.type = "stored", ou POST /v1/jobs pour un matching automatique.
  3. 03Diffusez sur WhatsAppPOST /v1/jobs/{id}/broadcast pour contacter les candidats matchés.

Endpoints

POST/v1/profilesprofile:write

Indexer un candidat dans votre pool stored

Requête
{
  "full_name": "Kofi Mensah",
  "email": "kofi@exemple.com",
  "phone": "+22891000001",
  "whatsapp_number": "+22891000001",
  "location": "Lomé, Togo",
  "total_years_experience": 5,
  "skills": [
    {
      "name": "React",
      "level": "expert"
    },
    {
      "name": "TypeScript",
      "level": "avancé"
    }
  ],
  "cv_pdf_url": "https://mon-bucket.s3.amazonaws.com/cvs/kofi-mensah.pdf",
  "cv_csv_url": "https://mon-api.com/export/candidates/kofi-mensah.csv"
}
Réponse
{
  "id": 91,
  "full_name": "Kofi Mensah",
  "email": "kofi@exemple.com",
  "phone": "+22891000001",
  "whatsapp_number": "+22891000001",
  "location": "Lomé, Togo",
  "total_years_experience": 5,
  "skills": [
    {
      "name": "React",
      "level": "expert"
    },
    {
      "name": "TypeScript",
      "level": "avancé"
    }
  ],
  "cv_pdf_url": "https://mon-bucket.s3.amazonaws.com/cvs/kofi-mensah.pdf",
  "cv_csv_url": "https://mon-api.com/export/candidates/kofi-mensah.csv",
  "processing_status": "ready"
}
POST/v1/match/runmatch:read

Lancer le matching sur le pool stored

Requête
{
  "job": {
    "title": "Développeur React senior",
    "skills_required": [
      "react",
      "typescript"
    ],
    "location": "Lomé",
    "experience_min": 3
  },
  "pool": {
    "type": "stored"
  },
  "limit": 5
}
Réponse
{
  "match_id": "stored_a1b2c3d4e5",
  "pool_type": "stored",
  "total_results": 3,
  "results": [
    {
      "external_id": "91",
      "match_score": 0.94,
      "trust_score": 81.5,
      "full_name": "Kofi Mensah",
      "location": "Lomé",
      "experience_years": 5,
      "skills": [
        "react",
        "typescript"
      ]
    }
  ],
  "cached": false
}
POST/v1/match/querymatch:read

Recherche NLP libre sur le pool stored

Requête
{
  "query": "Développeur React senior à Lomé, 5 ans d'expérience",
  "limit": 5
}
Réponse
{
  "match_id": 42,
  "total_results": 3,
  "results": [
    {
      "id": 91,
      "full_name": "Kofi Mensah",
      "match_score": 94.2
    }
  ],
  "cached": false
}
POST/v1/jobsjobs:write

Publier une offre — matching automatique sur le pool stored

Requête
{
  "title": "Développeur React senior",
  "description": "Mission 6 mois, stack React/TypeScript.",
  "location": "Lomé, Togo",
  "contract_type": "CDD",
  "company_name": "Entreprise cliente"
}
Réponse
{
  "job_id": 12,
  "title": "Développeur React senior",
  "status": "matched",
  "total_matched": 3,
  "matches": [
    {
      "candidate_id": 91,
      "external_id": null,
      "full_name": "Kofi Mensah",
      "location": "Lomé",
      "match_score": 94.2,
      "trust_score": 81.5,
      "whatsapp_number": "+22891000001",
      "whatsapp_status": "not_sent",
      "pool_type": "stored"
    }
  ]
}