Modifica un chatbot
La API app.neoagent.co permite actualizar la configuración de un chatbot específico enviando una solicitud POST al endpoint /chat/Chatbot/Edit.
Endpoint
URL de la Solicitud: https://app.neoagent.co/chat/Chatbot/Edit
Método: POST
Headers requeridos
La solicitud API debe incluir los siguientes headers:
Authorization: <Your-Secret-Key>- cadena, obligatorio - La clave secreta para autenticar la solicitud APIContent-Type: application/json- cadena, obligatorio - El tipo de contenido del payload de la solicitud (debe ser application/json)
Cuerpo de la Solicitud
El cuerpo de la solicitud debe contener los siguientes parámetros:
{
// cadena, obligatorio - Identificador único (ID) del chatbot
"serialNumber": "3254a9d0424c4806b9ea3d0763ccfxxx",
// cadena, opcional - Nuevo nombre para el chatbot
"Name": "NewName",
// cadena, opcional - ID del modelo AI, puedes llamar a la interfaz Obtener lista de modelos para obtenerlo
"Model": "2",
// cadena, opcional - Prompt de sistema para el chatbot
"SystemMessage": "new Prompt",
// entero, opcional - Configuración de la temperatura para las respuestas
"Temperature": 0,
// cadena, opcional - Configuración de la zona horaria
"TimeZone": "Asia/Shanghai",
// cadena, opcional - Texto para agregar a las respuestas
"AnswerSuffix": "Asia/Shanghai",
// cadena, opcional - ID de archivo para la imagen de perfil
"ChatProfilePicture": "34327",
// cadena, opcional - ID de archivo para ícono de chat
"ChatIcon": "34327",
// entero, opcional - Alineación del burbuja del chat
"ChatBubbleAlign": 0,
// cadena, opcional - Color del burbuja del chat (formato RGB)
"ChatBubbleColor": "rgb(37,99,235)",
// booleano, opcional - Si debe mostrar el popup solo una vez
"ChatbotPopupOnce": true,
// cadena, opcional - Descripción de la política de privacidad
"ChatbotPrivacyPolicyDescription": "",
// cadena, opcional - Nombre de la política de privacidad
"ChatbotPrivacyPolicyName": "política de privacidad",
// cadena, opcional - URL de la política de privacidad
"ChatbotPrivacyPolicyUrl": "",
// booleano, opcional - Activar la funcionalidad de push-to-talk
"EnablePushToTalk": false,
// booleano, opcional - Activar la funcionalidad de carga de imágenes
"EnableUploadImage": false,
// cadena, opcional - URL de la página de Facebook
"FacebookUrl": "",
// cadena, opcional - URL del perfil de Instagram
"InstagramUrl": "",
// booleano, opcional - Borrar el historial de chat al cerrar el navegador
"RemoveChatLogOnBrowserClose": false,
// cadena, opcional - Mensajes sugeridos
"SuggestedMessage": "",
// cadena, opcional - Email para el traspaso a un humano
"TalkToHumanEmail": "",
// cadena, opcional - Mensaje para la transferencia a un usuario
"TalkToHumanResponseMessage": "",
// cadena, opcional - Texto de marcador de posición para el campo de entrada
"UserInputPlaceholder": "",
// cadena, opcional - Color de los mensajes de usuario (formato RGB)
"UserMessageColor": "rgb(59, 129, 246)",
// cadena, opcional - Mensaje de bienvenida inicial
"WelcomeMessage": "Hola, soy tu asistente AI! ¿Cómo puedo ayudarte?",
// cadena, opcional - URL del contacto de WhatsApp
"WhatsappUrl": "",
// booleano, opcional - Activar la verificación de dominio
"VerifyDomain": false,
// cadena, opcional - Dominios permitidos para la incorporación
"Domains": "",
// entero, opcional - Número máximo de mensajes permitidos
"RateLimitCount": 20,
// cadena, opcional - Mensaje al superar el límite de frecuencia
"RateLimitMessage": "Demasiados mensajes consecutivos",
// entero, opcional - Duración del límite de frecuencia en segundos
"RateLimitTime": 240,
// cadena, opcional - Dominio personalizado para la incorporación
"CustomDomain": "",
// cadena, opcional - Email para los registros de chat diarios
"EmailForDailyChatLogs": "",
// cadena, opcional - Email para los leads diarios
"EmailForDailyLeads": "",
// cadena, opcional - Idioma para las respuestas de IA (utilizar el nombre completo del idioma, por ejemplo, 'Inglés', 'Español', 'Francés')
"AIResponseLanguage": "",
// entero, opcional - Número máximo de mensajes permitidos cada mes (el valor predeterminado es -1, lo que significa ilimitado)
"MessageLimit": -1
}
Parámetros
serialNumber- cadena, obligatorio - Identificador único (ID) del chatbotName- cadena, opcional - Nuevo nombre para el chatbotModel- cadena, opcional - ID del modelo AI, se puede llamar a la interfaz Obtener lista de modelos para obtenerloSystemMessage- cadena, opcional - Prompt de sistema para el chatbotTemperature- entero, opcional - Configuración de la temperatura para las respuestasTimeZone- cadena, opcional - Configuración de la zona horariaAnswerSuffix- cadena, opcional - Texto a agregar a las respuestasChatProfilePicture- cadena, opcional - ID de archivo para la imagen de perfilChatIcon- cadena, opcional - ID de archivo para el ícono de chatChatBubbleAlign- entero, opcional - Alineación del burbuja del chatChatBubbleColor- cadena, opcional - Color del burbuja del chat (formato RGB)ChatbotPopupOnce- booleano, opcional - Indica si mostrar el popup una sola vezChatbotPrivacyPolicyDescription- cadena, opcional - Descripción de la política de privacidadChatbotPrivacyPolicyName- cadena, opcional - Nombre de la política de privacidadChatbotPrivacyPolicyUrl- cadena, opcional - URL de la política de privacidadEnablePushToTalk- booleano, opcional - Activa la funcionalidad push-to-talkEnableUploadImage- booleano, opcional - Activa la funcionalidad de carga de imágenesFacebookUrl- cadena, opcional - URL de la página de FacebookInstagramUrl- cadena, opcional - URL del perfil de InstagramRemoveChatLogOnBrowserClose- booleano, opcional - Borra el historial de chat al cerrar el navegadorSuggestedMessage- cadena, opcional - Mensajes sugeridosTalkToHumanEmail- cadena, opcional - Email para el traspaso a un humanoTalkToHumanResponseMessage- cadena, opcional - Mensaje para la transferencia a un usuarioUserInputPlaceholder- cadena, opcional - Texto de marcador de posición para el campo de entradaUserMessageColor- cadena, opcional - Color de los mensajes de usuario (formato RGB)WelcomeMessage- cadena, opcional - Mensaje de bienvenida inicialWhatsappUrl- cadena, opcional - URL del contacto de WhatsAppVerifyDomain- booleano, opcional - Activa la verificación de dominioDomains- cadena, opcional - Dominios permitidos para la incorporaciónRateLimitCount- entero, opcional - Número máximo de mensajes permitidosRateLimitMessage- cadena, opcional - Mensaje al superar el límite de frecuenciaRateLimitTime- entero, opcional - Duración del límite de frecuencia en segundosCustomDomain- cadena, opcional - Dominio personalizado para la incorporaciónEmailForDailyChatLogs- cadena, opcional - Email para los registros de chat diariosEmailForDailyLeads- cadena, opcional - Email para los leads diariosAIResponseLanguage- cadena, opcional - Idioma para las respuestas de IA (utilizar el nombre completo del idioma, por ejemplo, "Inglés", "Español", "Francés")MessageLimit- entero, opcional - Número máximo de mensajes permitidos cada mes (el valor predeterminado es -1, lo que significa ilimitado)
Ejemplos de Solicitud
- JavaScript (Fetch API)
- Python (Requests)
- cURL
- HTTP Raw
const res = await fetch('https://app.neoagent.co/chat/Chatbot/Edit', {
method: 'POST',
headers: {
"Authorization": "<Your-Secret-Key>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"serialNumber": "3254a9d0424c4806b9ea3d0763ccfxxx",
"Name": "NewName"
})
});
const data = await res.json();
console.log(data);
import requests
import json
url = 'https://app.neoagent.co/chat/Chatbot/Edit'
headers = {
"Authorization": "<Your-Secret-Key>",
"Content-Type": "application/json"
}
data = {
"serialNumber": "3254a9d0424c4806b9ea3d0763ccfxxx",
"Name": "NewName"
}
response = requests.post(url, headers=headers, json=data)
data = response.json()
print(data)
curl 'https://app.neoagent.co/chat/Chatbot/Edit' \
-X POST \
-H 'Authorization: <Your-Secret-Key>' \
-H 'Content-Type: application/json' \
-d '{"serialNumber":"3254a9d0424c4806b9ea3d0763ccfxxx","Name":"NewName"}'
POST /chat/Chatbot/Edit HTTP/1.1
Host: app.neoagent.co
Authorization: <Your-Secret-Key>
Content-Type: application/json
{
"serialNumber": "3254a9d0424c4806b9ea3d0763ccfxxx",
"Name": "NewName"
}
Respuesta
La respuesta API será un objeto JSON con la siguiente estructura:
{
// entero - Resultado de la operación (1 indica éxito)
"Data": 1,
// cadena - Versión de la API
"Version": "1.0.0",
// booleano - Estado de éxito de la operación
"Success": true,
// entero - Código de estado HTTP
"Code": 200,
// cadena - Mensaje de error si lo hay
"Message": ""
}
Manejo de Errores
Si la solicitud falla, deberías:
- Comprobar el código de estado HTTP para errores a nivel de red
- Examinar los campos
CodeyMessageen la respuesta para errores a nivel de negocio - El campo
Messagecontendrá información detallada sobre el error