Skip to main content
POST
/
api
/
v1
/
campaigns
/
{campaign_id}
/
candidates
Ajouter des candidats
curl --request POST \
  --url https://app.voicehire.io/api/v1/campaigns/{campaign_id}/candidates \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "candidates": [
    {
      "first_name": "Jean",
      "last_name": "Dupont",
      "phone_number": "+33612345678",
      "email": "jean.dupont@example.com"
    },
    {
      "first_name": "Marie",
      "last_name": "Martin",
      "phone_number": "+33687654321"
    }
  ]
}
'
{
  "campaign_id": "abc123def456",
  "candidates_added": 23,
  "candidates_skipped": 2,
  "calls_queued": 23,
  "errors": [
    {
      "index": 5,
      "error": "Numéro de téléphone invalide"
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.voicehire.io/llms.txt

Use this file to discover all available pages before exploring further.

Paramètres

campaign_id
string
required
Identifiant unique de la campagne

Corps de la requête

contact_mode
string
default:"call"
Méthode de contact :
  • call (défaut) — Appel téléphonique automatique immédiat. email requis pour chaque candidat.
  • sms — SMS d’invitation avec lien personnalisé. Le candidat clique et lance lui-même la préqualification quand il le souhaite. email optionnel. Nécessite que l’agence ait un template SMS de sourcing configuré dans son dashboard.
candidates
array
required
Liste des candidats à ajouter (maximum 100)

Réponse

{
  "campaign_id": "abc123def456",
  "candidates_added": 23,
  "candidates_skipped": 2,
  "calls_queued": 23,
  "errors": [
    {
      "index": 5,
      "error": "Numéro de téléphone invalide"
    }
  ]
}
campaign_id
string
required
Identifiant de la campagne
candidates_added
integer
required
Nombre de candidats ajoutés avec succès
candidates_skipped
integer
required
Nombre de candidats ignorés (déjà présents dans la campagne)
calls_queued
integer
required
Nombre d’appels mis en file d’attente
errors
array
Liste des erreurs rencontrées

Exemple de requête

curl -X POST https://app.voicehire.io/api/v1/campaigns/abc123def456/candidates \
  -H "X-API-Key: vh_live_XXXXXXXXXXXXX" \
  -H "Content-Type: application/json" \
  -d '{
    "candidates": [
      {
        "first_name": "Jean",
        "last_name": "Dupont",
        "phone": "0612345678",
        "email": "jean.dupont@example.com"
      },
      {
        "first_name": "Marie",
        "last_name": "Martin",
        "phone": "0687654321",
        "email": "marie.martin@example.com"
      }
    ]
  }'

Notes importantes

  • Les candidats avec le même numéro de téléphone qu’un candidat existant dans la campagne sont ignorés (skipped)
  • Maximum 100 candidats par requête
  • Le coût en crédits dépend du contact_mode choisi :
contact_modeActionCoût par candidat traité avec succès
call (défaut)Appel téléphonique automatique immédiat1 crédit (transaction_type = campaign)
smsSMS d’invitation avec lien personnalisé0,25 crédit (transaction_type = sourcing)
Aucun crédit n’est débité pour les candidats skippés (doublon), ni en cas d’échec d’envoi du SMS ou de mise en file d’appel.

Codes d’erreur

CodeDescription
400Données invalides (format incorrect, champs manquants)
401Clé API manquante ou invalide
402Crédits insuffisants
404Campagne non trouvée

Authorizations

X-API-Key
string
header
required

Clé API au format vh_live_XXXXX

Path Parameters

campaign_id
string
required

Identifiant de la campagne

Body

application/json
candidates
object[]
required
Required array length: 1 - 100 elements
contact_mode
enum<string>
default:call

Méthode de contact :

  • call (défaut) : appel téléphonique automatique immédiat. email est requis par candidat.
  • sms : SMS d'invitation avec lien personnalisé. email optionnel par candidat. Nécessite que l'agence ait un template SMS de sourcing configuré.
Available options:
call,
sms

Response

Candidats ajoutés avec succès

added
integer

Nombre de candidats ajoutés

duplicates
integer

Nombre de doublons ignorés

invalid
integer

Nombre de candidats invalides

calls_queued
integer

Nombre d'appels en file d'attente