Obtenir le statut d'une campagne
curl --request GET \
--url https://app.voicehire.io/api/v1/campaigns/{campaign_id}/status \
--header 'X-API-Key: <api-key>'import requests
url = "https://app.voicehire.io/api/v1/campaigns/{campaign_id}/status"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://app.voicehire.io/api/v1/campaigns/{campaign_id}/status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.voicehire.io/api/v1/campaigns/{campaign_id}/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.voicehire.io/api/v1/campaigns/{campaign_id}/status"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.voicehire.io/api/v1/campaigns/{campaign_id}/status")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.voicehire.io/api/v1/campaigns/{campaign_id}/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"campaign_id": "abc123def456",
"status": "active",
"stats": {
"total_candidates": 45,
"interviews_completed": 38,
"average_score": 7.2,
"time_saved_hours": 19.0,
"completion_rate": 84.4,
"qualified_count": 12,
"voicemail_count": 3,
"incomplete_count": 2,
"unavailable_count": 1,
"no_answer_count": 1,
"invalid_count": 0
}
}
Campagnes
Obtenir le statut d'une campagne
Récupère le statut détaillé d’une campagne avec ses statistiques complètes
GET
/
api
/
v1
/
campaigns
/
{campaign_id}
/
status
Obtenir le statut d'une campagne
curl --request GET \
--url https://app.voicehire.io/api/v1/campaigns/{campaign_id}/status \
--header 'X-API-Key: <api-key>'import requests
url = "https://app.voicehire.io/api/v1/campaigns/{campaign_id}/status"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://app.voicehire.io/api/v1/campaigns/{campaign_id}/status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.voicehire.io/api/v1/campaigns/{campaign_id}/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.voicehire.io/api/v1/campaigns/{campaign_id}/status"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.voicehire.io/api/v1/campaigns/{campaign_id}/status")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.voicehire.io/api/v1/campaigns/{campaign_id}/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"campaign_id": "abc123def456",
"status": "active",
"stats": {
"total_candidates": 45,
"interviews_completed": 38,
"average_score": 7.2,
"time_saved_hours": 19.0,
"completion_rate": 84.4,
"qualified_count": 12,
"voicemail_count": 3,
"incomplete_count": 2,
"unavailable_count": 1,
"no_answer_count": 1,
"invalid_count": 0
}
}
Paramètres
string
required
Identifiant unique de la campagne
Réponse
{
"campaign_id": "abc123def456",
"status": "active",
"stats": {
"total_candidates": 45,
"interviews_completed": 38,
"average_score": 7.2,
"time_saved_hours": 19.0,
"completion_rate": 84.4,
"qualified_count": 12,
"voicemail_count": 3,
"incomplete_count": 2,
"unavailable_count": 1,
"no_answer_count": 1,
"invalid_count": 0
}
}
string
required
Identifiant unique de la campagne
string
required
Statut actuel de la campagneValeurs possibles:
active- Campagne active, appels en courspaused- Campagne en pause, appels suspenduscompleted- Campagne terminée
object
required
Statistiques détaillées de la campagne
Show Propriétés des statistiques
Show Propriétés des statistiques
integer
required
Nombre total de candidats dans la campagne
integer
required
Nombre d’entretiens terminés avec succès
number
required
Score moyen des candidats évalués (sur 10)
number
required
Estimation du temps économisé en heures
number
required
Taux de complétion des entretiens (en pourcentage)
integer
required
Nombre de candidats qualifiés (score ≥ 7)
integer
required
Nombre de candidats tombés sur répondeur
integer
required
Nombre d’entretiens incomplets
integer
required
Nombre de candidats indisponibles
integer
required
Nombre de candidats n’ayant pas répondu
integer
required
Nombre de numéros invalides
Exemple de requête
curl -X GET https://app.voicehire.io/api/v1/campaigns/abc123def456/status \
-H "X-API-Key: vh_live_XXXXXXXXXXXXX"
import requests
response = requests.get(
"https://app.voicehire.io/api/v1/campaigns/abc123def456/status",
headers={
"X-API-Key": "vh_live_XXXXXXXXXXXXX"
}
)
const axios = require('axios');
const response = await axios.get(
'https://app.voicehire.io/api/v1/campaigns/abc123def456/status',
{
headers: {
'X-API-Key': 'vh_live_XXXXXXXXXXXXX'
}
}
);
Codes d’erreur
| Code | Description |
|---|---|
| 401 | Clé API manquante ou invalide |
| 404 | Campagne non trouvée |
Authorizations
Clé API au format vh_live_XXXXX
Path Parameters
Identifiant de la campagne
Example:
"CAMP-20250701-ABC123"

