Skip to main content
POST
/
api
/
v1
/
campaigns
/
{campaign_id}
/
source
Sourcing de candidats
curl --request POST \
  --url https://app.voicehire.io/api/v1/campaigns/{campaign_id}/source \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "candidates": [
    {
      "first_name": "Jean",
      "last_name": "Dupont",
      "phone": 33612345678,
      "email": "jean.dupont@example.com"
    }
  ],
  "contact_mode": "call"
}
'
{
  "campaign_id": "abc123def456",
  "candidates_sourced": 8,
  "candidates_skipped": 2,
  "sms_sent": 8,
  "errors": []
}

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

candidates
array
required
Liste des candidats à sourcer (maximum 100)

Réponse

{
  "campaign_id": "abc123def456",
  "candidates_sourced": 8,
  "candidates_skipped": 2,
  "sms_sent": 8,
  "errors": []
}
campaign_id
string
required
Identifiant de la campagne
candidates_sourced
integer
required
Nombre de candidats sourcés avec succès
candidates_skipped
integer
required
Nombre de candidats ignorés (déjà présents)
sms_sent
integer
required
Nombre de SMS envoyés
errors
array
Liste des erreurs rencontrées

Exemple de requête

curl -X POST https://app.voicehire.io/api/v1/campaigns/abc123def456/source \
  -H "X-API-Key: vh_live_XXXXXXXXXXXXX" \
  -H "Content-Type: application/json" \
  -d '{
    "candidates": [
      {
        "first_name": "Pierre",
        "last_name": "Durand",
        "phone": "0612345678"
      },
      {
        "first_name": "Sophie",
        "last_name": "Bernard",
        "phone": "0687654321",
        "email": "sophie.bernard@example.com"
      }
    ]
  }'

Notes importantes

  • Les candidats sourcés reçoivent un SMS d’invitation (nécessite un template SMS configuré dans le dashboard de l’agence)
  • Les candidats cliquent sur le lien du SMS pour lancer eux-mêmes l’entretien de préqualification
  • L’email est optionnel pour les candidats sourcés (l’API d’appel immédiat le requiert en revanche)
  • Coût : 0,25 crédit par SMS effectivement envoyé (un candidat skippé pour doublon ou un SMS qui échoue ne consomme rien). Une trace est ajoutée dans l’historique des transactions de crédit (transaction_type = sourcing).
  • Cet endpoint est équivalent à POST /api/v1/campaigns/{campaign_id}/candidates avec contact_mode: "sms".

Codes d’erreur

CodeDescription
400Données invalides ou template SMS non configuré
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

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

201 - application/json

Candidats sourcés avec succès

sourced
integer

Nombre de candidats sourcés

sms_sent
integer

Nombre de SMS envoyés

duplicates
integer
invalid
integer