> ## 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.

# Démarrage rapide

> Commencez à utiliser l'API VoiceHire en 5 minutes

# Démarrage rapide

Ce guide vous permettra de faire vos premières requêtes à l'API VoiceHire en quelques minutes.

## Prérequis

Avant de commencer, assurez-vous d'avoir :

* Un compte VoiceHire actif avec des crédits disponibles
* Votre clé API (voir [Authentification](/authentication))
* Un outil pour faire des requêtes HTTP (cURL, Postman, ou un langage de programmation)

## 1. Vérifier votre connexion

Commençons par vérifier que votre clé API fonctionne en récupérant vos informations de crédits :

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET https://app.voicehire.io/api/v1/account/credits \
    -H "X-API-Key: vh_live_VOTRE_CLE_API"
  ```

  ```python Python theme={null}
  import httpx

  headers = {"X-API-Key": "vh_live_VOTRE_CLE_API"}

  response = httpx.get(
      "https://app.voicehire.io/api/v1/account/credits",
      headers=headers
  )

  print(response.json())
  ```

  ```javascript Node.js theme={null}
  const response = await fetch('https://app.voicehire.io/api/v1/account/credits', {
    headers: {
      'X-API-Key': 'vh_live_VOTRE_CLE_API'
    }
  });

  const data = await response.json();
  console.log(data);
  ```
</CodeGroup>

Réponse attendue :

```json theme={null}
{
  "credits_available": 100.0,
  "credits_used_this_month": 0,
  "reset_date": "2025-08-01",
  "subscription_type": "VoiceHire Echo"
}
```

## 2. Créer votre première campagne

Maintenant, créons une campagne de recrutement. L'API génèrera automatiquement 6 questions d'entretien adaptées au poste :

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://app.voicehire.io/api/v1/campaigns/create \
    -H "X-API-Key: vh_live_VOTRE_CLE_API" \
    -H "Content-Type: application/json" \
    -d '{
      "job_title": "Commercial B2B",
      "contract_type": "CDI",
      "job_description": "Nous recherchons un commercial B2B expérimenté pour développer notre portefeuille clients. Missions : prospection, négociation, closing. 3 ans d'expérience minimum.",
      "client_name": "Ma Société",
      "enable_salary_question": true
    }'
  ```

  ```python Python theme={null}
  import httpx

  headers = {
      "X-API-Key": "vh_live_VOTRE_CLE_API",
      "Content-Type": "application/json"
  }

  campaign_data = {
      "job_title": "Commercial B2B",
      "contract_type": "CDI",
      "job_description": """Nous recherchons un commercial B2B expérimenté 
      pour développer notre portefeuille clients. 
      Missions : prospection, négociation, closing. 
      3 ans d'expérience minimum.""",
      "client_name": "Ma Société",
      "enable_salary_question": True
  }

  response = httpx.post(
      "https://app.voicehire.io/api/v1/campaigns/create",
      headers=headers,
      json=campaign_data
  )

  print(response.json())
  ```

  ```javascript Node.js theme={null}
  const campaignData = {
    job_title: "Commercial B2B",
    contract_type: "CDI",
    job_description: `Nous recherchons un commercial B2B expérimenté 
      pour développer notre portefeuille clients. 
      Missions : prospection, négociation, closing. 
      3 ans d'expérience minimum.`,
    client_name: "Ma Société",
    enable_salary_question: true
  };

  const response = await fetch('https://app.voicehire.io/api/v1/campaigns/create', {
    method: 'POST',
    headers: {
      'X-API-Key': 'vh_live_VOTRE_CLE_API',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify(campaignData)
  });

  const data = await response.json();
  console.log(data);
  ```
</CodeGroup>

Réponse attendue :

```json theme={null}
{
  "campaign_id": "abc123def456",
  "candidate_link": "https://app.voicehire.io/link/abc123def456",
  "status": "active",
  "questions_generated": 6
}
```

<Tip>
  Conservez le `campaign_id` retourné, vous en aurez besoin pour les prochaines étapes.
</Tip>

## 3. Ajouter des candidats

Ajoutons maintenant des candidats à votre campagne. Les appels téléphoniques seront automatiquement déclenchés :

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://app.voicehire.io/api/v1/campaigns/abc123def456/candidates \
    -H "X-API-Key: vh_live_VOTRE_CLE_API" \
    -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"
        }
      ]
    }'
  ```

  ```python Python theme={null}
  candidates_data = {
      "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"
          }
      ]
  }

  response = httpx.post(
      f"https://app.voicehire.io/api/v1/campaigns/{campaign_id}/candidates",
      headers=headers,
      json=candidates_data
  )

  print(response.json())
  ```

  ```javascript Node.js theme={null}
  const candidatesData = {
    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"
      }
    ]
  };

  const response = await fetch(`https://app.voicehire.io/api/v1/campaigns/${campaignId}/candidates`, {
    method: 'POST',
    headers: {
      'X-API-Key': 'vh_live_VOTRE_CLE_API',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify(candidatesData)
  });

  const data = await response.json();
  console.log(data);
  ```
</CodeGroup>

Réponse attendue :

```json theme={null}
{
  "campaign_id": "abc123def456",
  "candidates_added": 2,
  "candidates_skipped": 0,
  "calls_queued": 2,
  "errors": []
}
```

## 4. Suivre le statut de votre campagne

Vérifiez l'avancement de votre campagne et les statistiques :

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET https://app.voicehire.io/api/v1/campaigns/abc123def456/status \
    -H "X-API-Key: vh_live_VOTRE_CLE_API"
  ```

  ```python Python theme={null}
  response = httpx.get(
      f"https://app.voicehire.io/api/v1/campaigns/{campaign_id}/status",
      headers=headers
  )

  print(response.json())
  ```

  ```javascript Node.js theme={null}
  const response = await fetch(`https://app.voicehire.io/api/v1/campaigns/${campaignId}/status`, {
    headers: {
      'X-API-Key': 'vh_live_VOTRE_CLE_API'
    }
  });

  const data = await response.json();
  console.log(data);
  ```
</CodeGroup>

## Prochaines étapes

Félicitations ! Vous avez créé votre première campagne et ajouté des candidats. Voici ce que vous pouvez faire ensuite :

<CardGroup cols={2}>
  <Card title="Explorer les endpoints" icon="compass" href="/api-reference/introduction">
    Découvrez tous les endpoints disponibles
  </Card>

  <Card title="Inviter par SMS / email" icon="message" href="/api-reference/candidates/add-candidates">
    Apprenez à inviter des candidats par SMS ou email avec `contact_mode`
  </Card>

  <Card title="Récupérer les détails d'un entretien" icon="file-lines" href="/api-reference/candidates/get-candidate-details">
    Accédez aux transcriptions et scores
  </Card>

  <Card title="Gérer les erreurs" icon="triangle-exclamation" href="/guides/errors">
    Comprendre et gérer les erreurs API
  </Card>
</CardGroup>

## Exemple complet

Voici un exemple complet en Python qui crée une campagne et suit son évolution :

```python theme={null}
import httpx
import time

# Configuration
API_KEY = "vh_live_VOTRE_CLE_API"
BASE_URL = "https://app.voicehire.io/api/v1"

headers = {
    "X-API-Key": API_KEY,
    "Content-Type": "application/json"
}

# 1. Créer une campagne
campaign_data = {
    "job_title": "Développeur Full Stack",
    "contract_type": "CDI",
    "job_description": "Nous recherchons un développeur Full Stack...",
    "enable_salary_question": True
}

response = httpx.post(f"{BASE_URL}/campaigns/create", headers=headers, json=campaign_data)
campaign = response.json()
campaign_id = campaign['campaign_id']

print(f"✅ Campagne créée: {campaign_id}")
print(f"🔗 Lien candidat: {campaign['candidate_link']}")

# 2. Ajouter des candidats
candidates_data = {
    "candidates": [
        {
            "first_name": "Test",
            "last_name": "Candidat",
            "phone_number": "+33612345678"
        }
    ]
}

response = httpx.post(
    f"{BASE_URL}/campaigns/{campaign_id}/candidates", 
    headers=headers, 
    json=candidates_data
)
print(f"✅ {response.json()['candidates_added']} candidat(s) ajouté(s)")

# 3. Attendre et vérifier le statut
print("⏳ Attente de 30 secondes...")
time.sleep(30)

response = httpx.get(f"{BASE_URL}/campaigns/{campaign_id}/status", headers=headers)
status = response.json()
stats = status['stats']

print(f"📊 Statistiques:")
print(f"   - Total candidats: {stats['total_candidates']}")
print(f"   - Entretiens terminés: {stats['interviews_completed']}")
print(f"   - Score moyen: {stats['average_score']}")
```

## Support

Si vous rencontrez des problèmes :

* Vérifiez que votre clé API est valide
* Assurez-vous d'avoir des crédits disponibles
* Consultez la [documentation des erreurs](/guides/errors)
* Contactez le support à [support@voicehire.io](mailto:support@voicehire.io)
