La API de BoundaryAI te permite enviar datos de feedback de forma programática, crear fuentes de datos y gestionar el flujo de trabajo de recopilación de feedback de tu organización.
Resumen
La API de BoundaryAI le permite importar programáticamente datos de retroalimentación desde cualquier fuente: tickets de soporte, exportaciones de CRM, encuestas, registros de chat, y aprovechar el análisis impulsado por IA para extraer ideas.
Conceptos centrales
Antes de profundizar, comprenda estos conceptos clave:
Concepto
Descripción
Grupo de Opiniones
Un contenedor que organiza fuentes de datos relacionadas (p. ej., "Retroalimentación de clientes Q1 2024")
Fuente de datos
Una colección de retroalimentación dentro de un grupo (p. ej., "Tickets de Zendesk", "Encuesta NPS")
Pregunta
Un campo dentro de una fuente de datos que contiene texto de retroalimentación
APS
Puntos de Análisis - créditos consumidos al enviar contenido para análisis por IA
Cómo funciona
1. Cree un Grupo de Retroalimentación (o use uno existente)
↓
2. Cree una Fuente de Datos con Preguntas
↓
3. Publique la Fuente de Datos
↓
4. Envíe su contenido de retroalimentación
↓
5. BoundaryAI analiza y extrae ideas
Autenticación
Claves de API
Todas las solicitudes de API requieren una clave de API pasada en el Autorización encabezado:
Formato de la clave
Parte
Descripción
inpk
Prefijo fijo (Clave de API de Entrada)
environment
live (producción) o test (sin deducción de APS)
key_id
Identificador único de 10 caracteres
secret
Secreto codificado en Base64 (44 caracteres)
Permisos de la clave
Al crear una clave de API, elige su nivel de permiso:
Permiso
Puede hacer
Caso de uso
push
Enviar contenido a fuentes de datos existentes
Scripts de importación automatizados
create
Crear grupos de retroalimentación y fuentes de datos
Configurar automatizaciones
all
Todo
Control programático completo
Obtener su clave de API
Vaya a Integraciones → API en su panel de BoundaryAI
Haz clic Crear clave de API
Elija un nombre, entorno y nivel de permiso
Guarde la clave de inmediato — ¡solo se muestra una vez!
Notas de seguridad
Las claves se hashéan en el servidor; nunca almacenamos el texto sin formato
Use test claves de entorno para pruebas (sin cargos de APS)
Rote las claves regularmente a través del panel (no olvide copiarlas después de rotarlas ya que también aparecen solo una vez)
Cuando se excede la tasa, recibirá HTTP 429 con un Retry-After encabezado.
Idempotencia
Evite duplicados incluyendo una clave de idempotencia:
Escenario
Resultado
Primera solicitud
Se ejecuta normalmente, almacena en caché la respuesta durante 24 h
Misma clave + misma carga
Devuelve la respuesta en caché (no hay inserción duplicada)
Misma clave + carga diferente
Devuelve HTTP 409 error de conflicto
Mejor práctica: Use un identificador único como {source}-{date}-{batch} para cada lote de importación.
Referencia de endpoints
Referencia rápida
Método
Endpoint
Descripción
Permiso
GET
/api/input/surveys/list
Listar todos los grupos de retroalimentación y fuentes de datos
cualquiera
POST
/api/input/survey_series/create
Crear un grupo de retroalimentación
create
POST
/api/input/survey/create
Crear una fuente de datos
create
POST
/api/input/survey/publish
Publicar una fuente de datos
create
POST
/api/input/content/push
Enviar contenido a una pregunta
push
POST
/api/input/content/push/bulk
Enviar contenido a múltiples preguntas
push
Listar fuentes de datos
Recupere todos los grupos de retroalimentación y fuentes de datos a los que su clave de API puede acceder. Ejecute esto primero para obtener los ID que necesita para enviar contenido.
Parámetros de consulta
Parámetro
Tipo
Descripción
survey_series_id
entero
Filtrar a un grupo de retroalimentación específico
survey_id
entero
Filtrar a una fuente de datos específica
Respuesta
Comprender la respuesta
Campo
Descripción
survey_series
Matriz de grupos de retroalimentación
surveys
Matriz de fuentes de datos dentro de un grupo
questions
Campos disponibles para contenido
accepts_text
¡Importante! Solo envíe texto a preguntas donde esto sea true
mode
ACCESSIBLE = publicado, EDITING = borrador
Ejemplo
Enviar contenido
Enviar texto de retroalimentación a una pregunta específica. Este es el endpoint principal para importar datos.
Cuerpo de la solicitud
Parámetros
Campo
Tipo
Requerido
Descripción
survey_series_id
cadena
Sí
ID del grupo de retroalimentación
survey_id
cadena
Sí
ID de la fuente de datos
question.question_id
cadena
Sí
ID de la pregunta (debe tener accepts_text: true)
question.content
matriz
Sí
Matriz de cadenas de retroalimentación
source_reference
cadena
No
Su referencia para este lote de importación
Límites de contenido
Límite
Valor
Máx. elementos por solicitud
1,000
Máx. caracteres por elemento
10,000
Respuesta
Campo
Descripción
inserted
Número de nuevas entradas agregadas
duplicates
Número de entradas duplicadas omitidas
aps_deducted
Puntos de análisis consumidos
Ejemplo: Python
Ejemplo: JavaScript
Ejemplo: Curl
Enviar contenido en bloque
Enviar contenido a múltiples preguntas en una sola solicitud. Útil cuando sus datos tienen múltiples campos.
Cuerpo de la solicitud
Parámetros
Campo
Tipo
Requerido
Descripción
survey_series_id
cadena
Sí
ID del grupo de retroalimentación
survey_id
cadena
Sí
ID de la fuente de datos
questions
matriz
Sí
Matriz de objetos de pregunta (máx. 100)
questions[].question_id
cadena
Sí
ID de la pregunta
questions[].content
matriz
Sí
Matriz de cadenas de retroalimentación
source_reference
cadena
No
Su referencia para este lote
Respuesta
Botón Crear Grupo de Opiniones
Cree un nuevo grupo de retroalimentación para organizar fuentes de datos relacionadas.
Permiso requerido:create o all
Cuerpo de la solicitud
Parámetros
Campo
Tipo
Requerido
Descripción
nombre
cadena
Sí
Nombre del grupo (2-255 caracteres)
Respuesta
Nota: Si existe un grupo con el mismo nombre, devuelve el grupo existente con "created": false.
Crear fuente de datos
Crear una nueva fuente de datos con preguntas dentro de un grupo de retroalimentación.
Permiso requerido:create o all
Cuerpo de la solicitud
Parámetros
Campo
Tipo
Requerido
Descripción
survey_series_id
cadena
Sí
ID del grupo de retroalimentación padre
survey_title
cadena
Sí
Nombre de la fuente de datos (1-100 caracteres)
survey_description
cadena
No
Descripción (máx. 1000 caracteres)
questions
matriz
No
Matriz de preguntas a crear
Tipos de pregunta
Tipo
Alias
Descripción
Acepta texto
DEPTH_TEXT
long_answer
Texto de formato largo (analizado por IA)
✅ Sí
TEXT
short_answer
Texto corto
✅ Sí
MCQ
mcq
Selección múltiple (multi-selección)
❌ No
SCQ
scq
Selección única
❌ No
RATING
rating
Escala 1-5
❌ No
NPS
nps
Net Promoter Score (0-10)
❌ No
Consejo: Use DEPTH_TEXT para el texto de retroalimentación que desea que la IA analice.
Respuesta
Publicar fuente de datos
Publique una fuente de datos para habilitar la recopilación y el análisis de datos.
Permiso requerido:create o all
Cuerpo de la solicitud
Respuesta
Nota: Debe publicar una fuente de datos antes de poder enviar contenido a la misma.
{
"org_id": 1,
"survey_series": [
{
"id": 101,
"name": "Registros de soporte al cliente",
"surveys": [
{
"id": 505,
"title": "Exportación de chat en vivo",
"description": "Descripción de la encuesta aquí",
"mode": "ACCESSIBLE",
"questions": [
{
"id": 888,
"title": "Mensaje del usuario",
"type": "long_answer",
"accepts_text": true
}
]
}
]
}
]
}
curl -X GET "https://app.boundary-ai.com/api/input/surveys/list" \
-H "Authorization: Bearer $API_KEY"
POST /api/input/content/push
{
"survey_series_id": "123",
"survey_id": "456",
"question": {
"question_id": "789",
"content": [
"El proceso de pago fue confuso",
"¡Me encanta la nueva función de modo oscuro!",
"La aplicación se bloquea al subir archivos grandes"
]
},
"source_reference": "zendesk-export-2024-01-15"
}
#!/bin/bash
# Ejemplo completo del flujo de trabajo de la API
API_KEY="inpk_live_xxx_yyy"
BASE_URL="https://app.boundary-ai.com"
# Paso 1: Crear un grupo de retroalimentación
echo "Creando grupo de retroalimentación..."
SERIES_RESPONSE=$(curl -s -X POST "$BASE_URL/api/input/survey_series/create" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Tickets de soporte Q1 2024"}')
SERIES_ID=$(echo $SERIES_RESPONSE | jq -r '.survey_series.id')
echo "ID de grupo de retroalimentación creado: $SERIES_ID"
# Paso 2: Crear una fuente de datos con una pregunta de texto
echo "Creando fuente de datos..."
SURVEY_RESPONSE=$(curl -s -X POST "$BASE_URL/api/input/survey/create" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d "{
\"survey_series_id\": \"$SERIES_ID\",
\"survey_title\": \"Importación de Zendesk\",
\"questions\": [
{\"question_title\": \"Contenido del ticket\", \"question_type\": \"DEPTH_TEXT\"}
]
}")
SURVEY_ID=$(echo $SURVEY_RESPONSE | jq -r '.survey_id')
QUESTION_ID=$(echo $SURVEY_RESPONSE | jq -r '.questions[0].id')
echo "ID de fuente de datos creado: $SURVEY_ID, ID de pregunta: $QUESTION_ID"
# Paso 3: Publicar la fuente de datos
echo "Publicando fuente de datos..."
curl -s -X POST "$BASE_URL/api/input/survey/publish" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d "{\"survey_series_id\": $SERIES_ID, \"survey_id\": $SURVEY_ID}"
# Paso 4: Enviar contenido de retroalimentación
echo "Enviando contenido..."
PUSH_RESPONSE=$(curl -s -X POST "$BASE_URL/api/input/content/push" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: zendesk-batch-$(date +%Y%m%d)-001" \
-d "{
\"survey_series_id\": \"$SERIES_ID\",
\"survey_id\": \"$SURVEY_ID\",
\"question\": {
\"question_id\": \"$QUESTION_ID\",
\"content\": [
\"El proceso de pago fue confuso y me rendí\",
\"¡Me encanta la nueva función de búsqueda - mucho más rápida!\",
\"La aplicación se bloquea cada vez que intento subir un PDF\",
"El soporte al cliente resolvió mi problema en menos de una hora",
"Sería genial tener la opción de modo oscuro"
]
},
"source_reference": "zendesk-export-2024-01-15"
}")
echo "Resultado del push: $PUSH_RESPONSE"
echo ""
echo "¡Hecho! Vea sus comentarios en el panel de BoundaryAI."