Empezando
- Regístrese/inicie sesión y cree un sitio en el Panel de control
- Obtenga clave API y código para insertar
- Paste into your site's
<head>and optionally set visitor id/nickname
1. Insertar secuencia de comandos
Place the following code in your website's <head>, replace with your actual domain and API KEY:
<script>
// Opcional: establezca el ID del visitante y el apodo antes de cargar el script, para deduplicación y visualización.window.OCS = {
externalId: 'user_12345', // ID fija para el mismo usuario nickname: 'Juan Pérez' // Se mostrará en el título de la ventana/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. Tema y estilo
Puedes personalizar en "Mis sitios":
- Color primario, color de texto, colores de encabezado
- Variantes del tema: Clásico / Minimal / Burbuja
- Posición del botón: abajo a la izquierda / abajo a la derecha
- Texto de bienvenida
3. Carga de imágenes y mensajes de texto
La ventana de visitante admite el envío de texto e imágenes (png/jpg/gif). Las imágenes se cargan de forma segura en la plataforma y se muestran tanto en el backend como en el lado del visitante.
4. Limitación de velocidad
Puede establecer un máximo de mensajes por minuto en "Mis sitios" para evitar el spam. Superar el umbral mostrará "enviando con demasiada frecuencia".
Límite de velocidad de la API de chat: la recuperación y la respuesta comparten el mismo umbral por minuto, pero se cuentan por separado.
5. Deduplicación de visitantes
El sistema prioriza el uso de window.OCS.externalId para la deduplicación. Si no se establece, genera y reutiliza automáticamente un ocs_external_id en Cookie/LocalStorage local. El mismo externalId en el mismo sitio se trata como el mismo visitante.
6. Consola del operador
Después de iniciar sesión, ingrese a la consola de chat en línea desde "Mis sitios" para ver las sesiones de los visitantes en tiempo real, enviar texto/imágenes y verificar notificaciones no leídas.
7. API abierta
Proporcionamos API simples y fáciles de usar para ayudarlo a integrar datos de chat en sus sistemas internos.
- Últimos 50 mensajes (por sitio): OBTENER
/api/chat_api.php?action=get_recent_messages&key=CHAT_API_KEY - Responder como agente: POST
/api/chat_api.php?action=reply_as_agent&key=CHAT_API_KEY - Importante: Hay dos tipos de claves API:
- Clave API de widget:Se utiliza para incrustar widgets en los sitios de los clientes.
- Clave API de chat:Utilizado para Open API (buscar/responder)
Descripción del campo API
Obtener campos de respuesta de la API de mensajes:
| Nombre del campo | Tipo | Descripción |
|---|---|---|
conversation_id |
string | ID de conversación para identificar la sesión de chat |
sender_type |
string | Tipo de remitente: visitante o agente |
sender_user_id |
string | ID del remitente: aleatorio para visitantes, clave API para agentes |
message_type |
string | Tipo de mensaje: texto o imagen |
content |
string | Contenido del mensaje, vacío para mensajes con imágenes. |
image_url |
string|null | URL de imagen, solo para mensajes de imagen |
created_at |
string | Hora de creación del mensaje (formato: AAAA-MM-DD HH:MM:SS) |
Campos de solicitud de API de respuesta del agente:
| Nombre del campo | Tipo | Requerido | Descripción |
|---|---|---|---|
conversation_id |
integer | ✓ | ID de conversación |
content |
string | ✓* | Responder contenido (ya sea este o image_base64) |
image_base64 |
string | ✓* | Imagen codificada en Base64 (ya sea esta o el contenido) |
agent_name |
string | - | Nombre del agente, por defecto es "Agente" |
* significa que se debe proporcionar contenido o image_base64
Ejemplo
1. Obtener mensajes recientes
curl "http://chatgonow.com/api/chat_api.php?action=get_recent_messages&key=CHAT_API_KEY"
Ejemplo de respuesta exitosa:
{
"success": true,
"data": [
{
"conversation_id": "123",
"sender_type": "visitor",
"sender_user_id": "visitor_abc123",
"message_type": "text",
"content": "Hola quisiera preguntar sobre el precio del producto.",
"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"
}
]
}
Ejemplos de respuestas de error:
// Falta clave API{
"success": false,
"message": "missing key"
}
// Clave API no válida{
"success": false,
"message": "invalid key"
}
// Demasiadas solicitudes{
"success": false,
"message": "too many requests, wait 3s"
}
2. Respuesta del agente
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":"Hola, hemos recibido tu mensaje.","agent_name":"Agente Wang"}'
Ejemplo de respuesta exitosa:
{
"success": true
}
Ejemplos de respuestas de error:
// Falta clave API{
"success": false,
"message": "missing key"
}
// Clave API no válida{
"success": false,
"message": "invalid key"
}
// Conversación no encontrada{
"success": false,
"message": "conversation not found"
}
// Contenido vacío{
"success": false,
"message": "empty content"
}