Commencer
- Inscrivez-vous/connectez-vous et créez un site dans le tableau de bord
- Obtenez la clé API et intégrez le code
- Paste into your site's
<head>and optionally set visitor id/nickname
1. Intégrer le script
Place the following code in your website's <head>, replace with your actual domain and API KEY:
<script>
// Facultatif : définissez l'ID et le pseudo du visiteur avant de charger le script, pour la déduplication et l'affichage.window.OCS = {
externalId: 'user_12345', // ID fixe pour le même utilisateur nickname: 'John Doe' // Sera affiché dans le titre de la fenêtre/backend};
</script>
<script>(function(){
var s=document.createElement('script');
s.src='http://chatgonow.com/api/widget.js?key=YOUR_API_KEY';
s.async=true;document.head.appendChild(s);
})();</script>
2. Thème et style
Vous pouvez personnaliser dans « Mes Sites » :
- Couleur primaire, couleur du texte, couleurs d'en-tête
- Variantes de thème : Classique / Minimal / Bulle
- Position du bouton : en bas à gauche / en bas à droite
- Texte de bienvenue
3. Téléchargement d'images et messages texte
La fenêtre Visiteur prend en charge l'envoi de texte et d'images (png/jpg/gif). Les images sont téléchargées en toute sécurité sur la plate-forme et affichées à la fois du côté backend et du côté visiteur.
4. Limitation du débit
Vous pouvez définir un nombre maximum de messages par minute dans « Mes sites » pour éviter le spam. Le dépassement du seuil affichera « envoi trop fréquent ».
Limite de débit de l'API de chat : la récupération et la réponse partagent le même seuil par minute mais sont comptées séparément.
5. Déduplication des visiteurs
Le système donne la priorité à l'utilisation de window.OCS.externalId pour la déduplication. S'il n'est pas défini, il génère et réutilise automatiquement un ocs_external_id dans le Cookie/LocalStorage local. Le même externalId sous le même site est traité comme le même visiteur.
6. Console opérateur
Après vous être connecté, accédez à la console de chat en ligne depuis « Mes sites » pour afficher les sessions des visiteurs en temps réel, envoyer du texte/des images et vérifier les notifications non lues.
7. API ouverte
Nous fournissons des API simples et faciles à utiliser pour vous aider à intégrer les données de chat dans vos systèmes internes.
- 50 derniers messages (par site) : GET
/api/chat_api.php?action=get_recent_messages&key=CHAT_API_KEY - Répondre en tant qu'agent : POST
/api/chat_api.php?action=reply_as_agent&key=CHAT_API_KEY - Important : Il existe deux types de clés API :
- Clé API du widget:Utilisé pour intégrer le widget sur les sites clients
- Clé API de discussion:Utilisé pour l'API ouverte (récupérer/répondre)
Description du champ API
Obtenir les champs de réponse de l'API Messages :
| Nom du champ | Taper | Description |
|---|---|---|
conversation_id |
string | ID de conversation pour identifier la session de chat |
sender_type |
string | Type d'expéditeur : visiteur ou agent |
sender_user_id |
string | ID de l'expéditeur : aléatoire pour les visiteurs, clé API pour les agents |
message_type |
string | Type de message : texte ou image |
content |
string | Contenu du message, vide pour les messages image |
image_url |
string|null | URL de l'image, uniquement pour les messages image |
created_at |
string | Heure de création du message (format : AAAA-MM-JJ HH:MM:SS) |
Champs de demande de l'API de réponse de l'agent :
| Nom du champ | Taper | Requis | Description |
|---|---|---|---|
conversation_id |
integer | ✓ | Identifiant de la conversation |
content |
string | ✓* | Contenu de la réponse (soit ceci, soit image_base64) |
image_base64 |
string | ✓* | Image encodée en Base64 (soit ceci, soit le contenu) |
agent_name |
string | - | Nom de l'agent, par défaut "Agent" |
* signifie que content ou image_base64 doit être fourni
Exemple
1. Recevez des messages récents
curl "http://chatgonow.com/api/chat_api.php?action=get_recent_messages&key=CHAT_API_KEY"
Exemple de réponse réussie :
{
"success": true,
"data": [
{
"conversation_id": "123",
"sender_type": "visitor",
"sender_user_id": "visitor_abc123",
"message_type": "text",
"content": "Bonjour, je voudrais me renseigner sur les prix des produits",
"image_url": null,
"created_at": "2024-01-15 14:30:25"
},
{
"conversation_id": "123",
"sender_type": "agent",
"sender_user_id": "chat_xyz789",
"message_type": "text",
"content": "Hello! I'm happy to help you. Which product pricing would you like to know about?",
"image_url": null,
"created_at": "2024-01-15 14:31:10"
},
{
"conversation_id": "124",
"sender_type": "visitor",
"sender_user_id": "visitor_def456",
"message_type": "image",
"content": "",
"image_url": "/uploads/chat_images/visitor_20240115_143200.jpg",
"created_at": "2024-01-15 14:32:00"
}
]
}
Exemples de réponses d'erreur :
// Clé API manquante{
"success": false,
"message": "missing key"
}
// Clé API invalide{
"success": false,
"message": "invalid key"
}
// Trop de demandes{
"success": false,
"message": "too many requests, wait 3s"
}
2. Réponse de l'agent
curl -X POST "http://chatgonow.com/api/chat_api.php?action=reply_as_agent&key=CHAT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"conversation_id":123,"content":"Bonjour, nous avons reçu votre message","agent_name":"Agent Wang"}'
Exemple de réponse réussie :
{
"success": true
}
Exemples de réponses d'erreur :
// Clé API manquante{
"success": false,
"message": "missing key"
}
// Clé API invalide{
"success": false,
"message": "invalid key"
}
// Conversation introuvable{
"success": false,
"message": "conversation not found"
}
// Contenu vide{
"success": false,
"message": "empty content"
}