Vue d'ensemble
Cet endpoint est conçu pour les intégrations qui doivent synchroniser plusieurs appels a la fois : data warehouse, workflow interne, CRM, outil de quality monitoring ou agent IA custom. Il retourne uniquement les données déjà disponibles dans SuperSales au moment de la requête.
Principe important
Si une vidéo n'est pas encore disponible, l API retourne simplement videoUrl: null etvideoStatus: "not_available". Le transcript et le titre restent disponibles quand ils sont deja rattaches a l appel.
Authentification
Utilisez une clé MCP SuperSales existante. Le scope requis estcalls:read. Les droits d'accès sont ceux du rôle associé à la clé.
Authorization: Bearer ss_mcp_VOTRE_CLEEndpoint
GET https://supersales.dev/api/calls/batchLe endpoint accepte aussi le headerX-API-Key, mais le header Authorization Bearer est recommande.
Paramètres de query
| Parametre | Type | Requis | Description |
|---|---|---|---|
limit | number | non | Nombre de calls retournes. Defaut 10, maximum 20. |
cursor | string | non | Curseur retourne par la page precedente. |
date_from | string ISO | non | Date de debut inclusive. Defaut : 7 jours avant date_to. |
date_to | string ISO | non | Date de fin inclusive. Defaut : maintenant. |
sales_rep_id | string | non | Filtre par commercial, toujours controle cote serveur. |
Format de réponse
{
"data": [
{
"callRecordId": "6651a3f2e8b4c1a2d3e4f567",
"title": "Discovery call - Acme",
"meetingDate": "2026-06-02T09:30:00.000Z",
"actualDuration": 1840,
"salesRepId": "usr_123",
"salesRepName": "Sarah Martin",
"transcript": "Prospect: ...",
"videoUrl": "https://...",
"videoUrlExpiresAt": "2026-06-02T10:30:00.000Z",
"videoStatus": "available"
}
],
"nextCursor": "eyJzY2hlZHVsZWRTdGFydFRpbWUiOiIyMDI2...",
"limit": 10,
"resultCount": 1
}Pagination
La pagination est basee sur un curseur stable. Tant quenextCursorn est pas null, appelez la page suivante avec ce curseur.
curl "https://supersales.dev/api/calls/batch?limit=20&cursor=NEXT_CURSOR" \
-H "Authorization: Bearer ss_mcp_VOTRE_CLE"Videos
Le champ videoUrl contient un lien temporaire et sécurisé. Sa durée de vie est indiquée parvideoUrlExpiresAt. Si la vidéo n'est pas encore disponible, le statut vautnot_available.
Ce que l API ne fait pas
Elle ne declenche pas de traitement vidéo et ne crée pas de nouvelle ressource. Elle expose seulement les données déjà disponibles côté SuperSales.
Exemples
curl "https://supersales.dev/api/calls/batch?limit=20" \
-H "Authorization: Bearer ss_mcp_VOTRE_CLE"curl "https://supersales.dev/api/calls/batch?date_from=2026-06-01T00:00:00.000Z&date_to=2026-06-02T23:59:59.999Z&sales_rep_id=usr_123&limit=10" \
-H "Authorization: Bearer ss_mcp_VOTRE_CLE"const response = await fetch('https://supersales.dev/api/calls/batch?limit=20', {
headers: {
Authorization: 'Bearer ss_mcp_VOTRE_CLE'
}
})
const page = await response.json()
console.log(page.data, page.nextCursor)Limites et bonnes pratiques
Batch limite
Utilisez limit=20 maximum et suivez nextCursor.
Fenêtre de dates
La plage maximale reprend la limite MCP configurée, 90 jours par défaut.
Rate limits
Les memes quotas MCP sont appliques a cette API.
Synchronisation
Preferez des batches courts et incrementaux plutot qu un export massif.
Erreurs
| HTTP | Code | Cause |
|---|---|---|
| 400 | BAD_REQUEST | Parametre invalide, curseur invalide ou plage de dates trop large. |
| 401 | UNAUTHORIZED | Cle MCP manquante ou invalide. |
| 403 | FORBIDDEN | Scope calls:read manquant ou acces commercial interdit. |
| 429 | RATE_LIMITED | Quota MCP depasse. |
| 500 | INTERNAL_ERROR | Erreur serveur. |
Besoin d une cle API ?
Les cles se creent depuis les parametres MCP. Elles peuvent servir au serveur MCP et a l API REST Calls avec le meme scope calls:read.