Développeurs
API Sylistar
Intégrez votre application SaaS à Sylistar : créez des tickets, échangez avec vos clients et connectez-les au portail.
URL de base
https://project--09d93aa0-dc3e-45c7-87f2-2495a148b74d.lovable.app/api/publicTous les endpoints publics sont préfixés par /api/public. En développement, remplacez le domaine par celui de votre instance.
Procédure d'utilisation
- Générer une clé API. Dans le CRM, allez dans
Support → API, cliquez « Générer une clé », donnez-lui un nom (ex. « Production ») puis copiez la clé immédiatement — elle ne sera plus jamais affichée. - Stocker la clé côté serveur. Conservez-la dans les variables d'environnement de votre backend (jamais en clair dans le code, jamais côté navigateur).
- Authentifier vos requêtes. Ajoutez le header
Authorization: Bearer sk_live_…à chaque appel. - Créer des tickets via
POST /ticketsou connecter un client au portail viaPOST /clients/session(le lien retourné expire en 1h). - Recevoir les notifications en temps réel dans le CRM (cloche en haut à droite) : nouveau ticket, réponse client, etc.
- Révoquer une clé compromise à tout moment depuis le même écran — elle est invalidée immédiatement.
Endpoints
POST
/api/public/ticketsCrée un ticket de support et associe (ou crée) le client par email.
Corps de la requête
{
"subject": "Bug à la connexion",
"description": "Je n'arrive pas à me connecter depuis ce matin",
"priority": "high",
"category": "bug",
"requester": {
"email": "client@exemple.com",
"name": "John Doe",
"external_id": "user_123"
}
}Réponse
{ "id": "uuid", "number": "TKT-202611-0001", "status": "open", "client_id": "uuid" }GET
/api/public/tickets/:idRécupère le statut d'un ticket.
Réponse
{ "id": "uuid", "number": "TKT-…", "subject": "…", "status": "open", "priority": "high" }POST
/api/public/tickets/:id/messagesAjoute un message client sur un ticket existant.
Corps de la requête
{ "body": "Merci pour votre retour", "requester_email": "client@exemple.com" }POST
/api/public/clients/sessionÉchange la clé serveur contre un lien magique pour connecter un client au portail (SSO).
Corps de la requête
{
"email": "client@exemple.com",
"name": "John Doe",
"external_id": "user_123",
"redirect_to": "https://project--09d93aa0-dc3e-45c7-87f2-2495a148b74d.lovable.app/client-portal"
}Réponse
{ "action_link": "https://…", "expires_in": 3600 }POST
/api/public/clients/inviteCrée un compte client et envoie un lien d'invitation par email.
Corps de la requête
{ "email": "client@exemple.com", "name": "John", "external_id": "user_123" }Exemple complet (curl)
curl -X POST 'https://project--09d93aa0-dc3e-45c7-87f2-2495a148b74d.lovable.app/api/public/tickets' \
-H 'Authorization: Bearer sk_live_VOTRE_CLE' \
-H 'Content-Type: application/json' \
-d '{
"subject": "Test depuis mon SaaS",
"priority": "medium",
"requester": { "email": "client@exemple.com", "name": "John" }
}'Bonnes pratiques de sécurité
- N'utilisez jamais la clé
sk_live_…côté navigateur. - Pour authentifier un client dans son navigateur, utilisez
/clients/session. - Faites tourner (rotation) vos clés régulièrement et révoquez celles inutilisées.
- Limitez les permissions au niveau réseau (IP allowlist via votre WAF si possible).