API importation de leads externes
Recevez des contacts dans votre instance via une API REST sécurisée par clé (X-API-Key). Réservé aux administrateurs (niveau 9).
Configurez la répartition des leads par campagne, liste et priorité agent
Clé API du groupe
Générez une clé unique pour votre groupe. Ne l’exposez jamais dans le code frontend public : appelez l’API depuis un serveur ou un proxy.
Réception des leads
- Chaque requête doit inclure l’en-tête X-API-Key avec votre clé.
- Les champs obligatoires incluent notamment : user_group, user_aff, status, prénom, nom, téléphone, list_id.
- Les leads sont créés dans vicidial_list et peuvent être affectés selon vos règles (voir documentation).
Points de terminaison
- GET
https://myapp.cliksip.com/api/agent/mes-leads/qwiqtalk-import-context— Campagne + liste QwiQ (nom « groupe + qwiqtalk » pour les deux) : renvoie campaign_id et list_id ; les crée si introuvables (JWT agent) - GET
https://myapp.cliksip.com/api/external/validate— Vérifier la clé - POST
https://myapp.cliksip.com/api/external/leads— Créer un lead - POST
https://myapp.cliksip.com/api/external/leads/batch— Création par lot (jusqu’à 100) - POST
https://myapp.cliksip.com/api/external/leads— Import DNCM (type=dncm+campaign_id+phones[]) - GET
https://myapp.cliksip.com/api/external/calls/auto— Détail appels auto (Révision) — campaign_id requis, list_id optionnel, start_date / end_date - GET
https://myapp.cliksip.com/api/external/calls/manual— Détail appels manuels (Appels manuels) — start_date / end_date, extension optionnelle
Authentification : en-tête X-API-Key requis sur toutes les requêtes de cette API.
Exemple cURL (création d’un lead)
Exemple cURL — Import DNCM (type=dncm)
Même endpoint et même clé API. Le campaign_id est contrôlé côté serveur (user_group de la clé). Ne pas envoyer un campaign_id arbitraire depuis un fichier CSV.
curl -X POST "https://myapp.cliksip.com/api/external/leads" \
-H "Content-Type: application/json" \
-H "X-API-Key: VOTRE_CLE_API" \
-d '{
"type": "dncm",
"campaign_id": "VOTRE_CAMPAIGN_ID",
"defaultCountry": "32",
"phones": ["0470123456", "0032470987654", "+32470111222"]
}'Exemple cURL — Appels auto (Révision)
Même clé API. Retourne date, agent, contact, téléphone, liste, statut, durée (comme la page Révision).
curl -G "https://myapp.cliksip.com/api/external/calls/auto" \ -H "X-API-Key: VOTRE_CLE_API" \ --data-urlencode "instance=VOTRE_INSTANCE" \ --data-urlencode "campaign_id=VOTRE_CAMPAIGN_ID" \ --data-urlencode "status=SALE" \ --data-urlencode "start_date=2026-11-03" \ --data-urlencode "end_date=2026-11-03" \ --data-urlencode "limit=100" # Obligatoire : instance (= user_group / nom serveur ClickSIP), campaign_id, # status OU status_name (champs BDD), start_date = end_date (1 jour max) # Optionnel : list_id | id_list # Rejet si campaign_id incorrect pour l'instance ; rate-limit ~1 req/s
Exemple de réponse
{
"success": true,
"type": "auto",
"instance": "MonServClicksip",
"campaign": {
"campaign_id": "99764138",
"campaign_name": "Injec boutique",
"instance": "MonServClicksip"
},
"filters": {
"instance": "MonServClicksip",
"campaign_id": "99764138",
"list_id": "1002396",
"status": "SALE",
"status_name": "Vente",
"start_date": "2026-11-03",
"end_date": "2026-11-03"
},
"calls": [
{
"call_date": "2026-11-03T18:18:47.000Z",
"agent": "Lotfi",
"agent_user": "Lotfi",
"contact": "Lachapelle, Benoit",
"company": "0401.535.854",
"first_name": "Benoit",
"last_name": "Lachapelle",
"phone_number": "32470176396",
"email": "benoit@example.com",
"list_id": "1002396",
"list_name": "Injec boutique",
"status": "SALE",
"status_name": "Vente",
"category": "SALE",
"duration_sec": 21,
"duration": "0:21",
"recording_url": "https://serveur20.cliksip.com/RECORDINGS/MP3/20261103-181847_32470176396-all.mp3",
"lead_id": 12345678,
"campaign_id": "99764138",
"uniqueid": "1730567927.12345"
}
],
"total": 1,
"currentPage": 1,
"totalPages": 1
}Exemple cURL — Appels manuels
Même clé API. Source identique à la page Appels manuels (/agent/appels-manuels).
curl -G "https://myapp.cliksip.com/api/external/calls/manual" \ -H "X-API-Key: VOTRE_CLE_API" \ --data-urlencode "instance=VOTRE_INSTANCE" \ --data-urlencode "start_date=2026-11-01" \ --data-urlencode "end_date=2026-11-03" \ --data-urlencode "telephone=32470176396" # Obligatoire : instance (= user_group / nom serveur ClickSIP), start_date, end_date # Optionnel : telephone (recherche), extension
Exemple de réponse
{
"success": true,
"type": "manual",
"instance": "MonServClicksip",
"filters": {
"instance": "MonServClicksip",
"extension": null,
"telephone": "32470176396",
"server_ip": null,
"start_date": "2026-11-01",
"end_date": "2026-11-03"
},
"stats": {
"totalCalls": 42,
"totalDuration": 1860,
"sortants": 30,
"entrants": 12,
"decroches": 25,
"nonDecroches": 17,
"manques": 5,
"nonTraites": 8
},
"calls": [
{
"call_date": "2026-11-02 18:18:47",
"phone_number": "32470176396",
"caller_id": "0140203040",
"extension_channel": "PHONE_DIAL",
"contact": "Benoit Lachapelle",
"first_name": "Benoit",
"last_name": "Lachapelle",
"email": "benoit@example.com",
"status": "REPOND",
"duration_sec": 21,
"duration": "0:21",
"recording_url": "https://serveur20.cliksip.com/RECORDINGS/MP3/20261102-181847_32470176396-all.mp3",
"lead_id": 12345678,
"uniqueid": "1730567927.12345",
"call_direction": "OUTBOUND",
"call_comment": null
}
],
"total": 1
}Champs (rappel)
Obligatoires
user_group, user_aff, status, first_name, last_name, phone_number, list_id — conformément à l’API /api/external/leads.
Optionnels
email, alt_phone, adresse, ville, code postal, comments, vendor_lead_code, etc.
