Contexte / Context
LeadMiner doit être accessible aux assistants IA (ChatGPT, Claude, Gemini, etc.) via une interface REST API elegante. L'utilisateur doit pouvoir dire a un assistant IA :
"Salut Miner, envoie un email a mes contacts les plus actifs pour leur annoncer que j'ai lance un projet"
Et l'IA doit etre capable d'executer cette demande en utilisant les APIs de LeadMiner.
Objectif / Goal
Permettre aux assistants IA d'interagir avec LeadMiner pour :
- Extraire des contacts (mining)
- Rechercher des contacts (avec filtres)
- Enrichir des contacts
- Envoyer des campagnes email/SMS
- Consulter les resultats (stats ouverts, clicks, bounces)
Solution / Solution
Authentification
- Utiliser le Supabase Personal Access Token (PAT) par utilisateur
- L'utilisateur genere son PAT dans le dashboard Supabase
- L'IA utilise le header :
Authorization: Bearer <pat>
APIs a exposer (3 sources)
| Source |
Endpoints |
Usage |
| PostgREST |
/rest/v1/contacts, /rest/v1/campaigns |
Listes, lectures, stats, recherche avec filtres |
| Edge Functions |
/functions/v1/email-campaigns, /functions/v1/fetch-mining-source |
Creation campagne, mining |
| Express |
/api/enrich/person, /api/enrich/person/bulk |
Enrichissement contacts |
Actions possibles
| Action |
API recommandee |
Exemple filtre |
| Rechercher contacts |
PostgREST /rest/v1/contacts |
?occurrence=gte.10&order=occurrence.desc |
| Extraire contacts |
Edge Function /functions/v1/fetch-mining-source |
- |
| Enrichir un contact |
Express POST /api/enrich/person |
- |
| Enrichir en masse |
Express POST /api/enrich/person/bulk |
- |
| Lister campagnes |
PostgREST /rest/v1/campaigns |
- |
| Stats campagne |
PostgREST /rest/v1/campaigns + relations |
- |
| Creer campagne |
Edge Function /functions/v1/email-campaigns |
- |
| Envoyer SMS |
Edge Function SMS |
- |
Recherche en langage naturel
L'IA construit elle-meme les filtres PostgREST :
- "contacts les plus actifs" ->
?order=occurrence.desc&limit=100
- "contacts derniers 30 jours" ->
?recency=gte.30&order=recency.asc
- "contacts a Paris" ->
?location=ilike.*Paris*
- "contacts chez Google" ->
?works_for=ilike.*Google*
Livrables / Deliverables
-
Documentation docs/api/ai-assistant-guide.md
- Comment obtenir un PAT Supabase
- Les 3 APIs avec endpoints
- Exemples de requetes pour chaque action
- Guide des filtres PostgREST pour la recherche
-
Optionnel - Schema OpenAPI pour GPTs Actions
Tests a ecrire / Tests to write
Tests avec Assistants IA
- Test ChatGPT - Creer un GPT et tester les actions via Actions
- Test Claude - Appeler les endpoints via API Claude
- Test curl - Verifier que les PAT fonctionnent
Tests de validation
- Verifier que chaque endpoint est accessible avec un PAT
- Verifier que les filtres PostgREST fonctionnent
- Verifier que l'IA comprend les exemples de la doc
Tests OpenCode
- Ecrire un test qui utilise l'agent opencode pour executer un scenario via l'API
Approche 1 vs Approche 2
Approche 1: OpenAI GPTs Actions
- Schema OpenAPI pour GPTs avec OAuth
- Fonctionne uniquement avec ChatGPT
Approche 2: Documentation REST universelle (Recommandee)
- Documenter les endpoints existants
- L'IA construit elle-meme les requetes
- Fonctionne avec n'importe quel assistant IA
Priority: Medium
Labels: enhancement, ai-assistant, api
Contexte / Context
LeadMiner doit être accessible aux assistants IA (ChatGPT, Claude, Gemini, etc.) via une interface REST API elegante. L'utilisateur doit pouvoir dire a un assistant IA :
Et l'IA doit etre capable d'executer cette demande en utilisant les APIs de LeadMiner.
Objectif / Goal
Permettre aux assistants IA d'interagir avec LeadMiner pour :
Solution / Solution
Authentification
Authorization: Bearer <pat>APIs a exposer (3 sources)
/rest/v1/contacts,/rest/v1/campaigns/functions/v1/email-campaigns,/functions/v1/fetch-mining-source/api/enrich/person,/api/enrich/person/bulkActions possibles
/rest/v1/contacts?occurrence=gte.10&order=occurrence.desc/functions/v1/fetch-mining-source/api/enrich/person/api/enrich/person/bulk/rest/v1/campaigns/rest/v1/campaigns+ relations/functions/v1/email-campaignsRecherche en langage naturel
L'IA construit elle-meme les filtres PostgREST :
?order=occurrence.desc&limit=100?recency=gte.30&order=recency.asc?location=ilike.*Paris*?works_for=ilike.*Google*Livrables / Deliverables
Documentation
docs/api/ai-assistant-guide.mdOptionnel - Schema OpenAPI pour GPTs Actions
Tests a ecrire / Tests to write
Tests avec Assistants IA
Tests de validation
Tests OpenCode
Approche 1 vs Approche 2
Approche 1: OpenAI GPTs Actions
Approche 2: Documentation REST universelle (Recommandee)
Priority: Medium
Labels: enhancement, ai-assistant, api