Configuración Inicial
Define las variables de entorno:Copy
export NEURACALL_API="https://api.neuracall.com"
export CLIENT_ID="tu_client_id"
export CLIENT_SECRET="tu_client_secret"
Autenticación
Obtener Token
Copy
curl -X POST "$NEURACALL_API/v1/auth" \
-H "Content-Type: application/json" \
-d '{
"client_id": "'"$CLIENT_ID"'",
"client_secret": "'"$CLIENT_SECRET"'"
}'
Copy
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"expires_at": 1735689600,
"client_id_audience": "https://api.neuracall.com/call-analysis",
"scope": "read:call-analysis-requests write:call-analysis-request ..."
}
Copy
export TOKEN="eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..."
Análisis de Llamadas
Crear Análisis
Copy
curl -X POST "$NEURACALL_API/v1/call-analysis" \
-H "Authorization: Bearer $TOKEN" \
-F "[email protected]" \
-F "external_id=CALL-2024-001" \
-F "agent_id=AGT-001" \
-F "agent_name=Juan Perez" \
-F "model_name=Evaluación Servicio Cliente"
Copy
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"external_id": "CALL-2024-001",
"status": "PENDING",
"created_at": "2024-01-15T10:30:00Z"
}
Obtener Análisis
Copy
curl "$NEURACALL_API/v1/call-analysis/550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer $TOKEN"
Copy
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"status": "PROCESS_COMPLETED",
"score_percentage": 85.0,
"summary": "El agente resolvio eficientemente...",
"insights": ["Excelente manejo del saludo"],
"keywords": ["facturación", "reembolso"]
}
Listar Análisis
Copy
curl "$NEURACALL_API/v1/call-analysis?page=0&size=20" \
-H "Authorization: Bearer $TOKEN"
Copy
curl "$NEURACALL_API/v1/call-analysis?start_date=2024-01-01T00:00:00Z&end_date=2024-01-31T23:59:59Z&model_id=1" \
-H "Authorization: Bearer $TOKEN"
Obtener Transcripción
Copy
curl "$NEURACALL_API/v1/call-analysis/550e8400-e29b-41d4-a716-446655440000/transcription" \
-H "Authorization: Bearer $TOKEN"
Descargar Audio
Copy
curl "$NEURACALL_API/v1/call-analysis/550e8400-e29b-41d4-a716-446655440000/audio-file" \
-H "Authorization: Bearer $TOKEN" \
-o audio_descargado.mp3
Modelos
Listar Modelos
Copy
curl "$NEURACALL_API/v1/models" \
-H "Authorization: Bearer $TOKEN"
Obtener Modelo
Copy
curl "$NEURACALL_API/v1/models/1" \
-H "Authorization: Bearer $TOKEN"
Crear Modelo
Copy
curl -X POST "$NEURACALL_API/v1/models" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Mi Modelo de Evaluación",
"description": "Modelo para llamadas de soporte",
"prompt": "Evalua la llamada...",
"template_variables": [
{
"key": "saludo",
"type": "INTEGER",
"required": true
}
]
}'
Estadísticas
Estadísticas Básicas
Copy
curl "$NEURACALL_API/v1/stats/basic?start_date=2024-01-01T00:00:00Z&end_date=2024-01-31T23:59:59Z&model_name=Evaluación%20Servicio" \
-H "Authorization: Bearer $TOKEN"
NeuraScore por Agente
Copy
curl "$NEURACALL_API/v1/stats/neurascore-by-agent?start_date=2024-01-01T00:00:00Z&end_date=2024-01-31T23:59:59Z&model_name=Evaluación%20Servicio&agent_id=AGT-001" \
-H "Authorization: Bearer $TOKEN"
Script Completo
Guarda esto comoneuracall.sh:
Copy
#!/bin/bash
# Configuración
API="https://api.neuracall.com"
CLIENT_ID="tu_client_id"
CLIENT_SECRET="tu_client_secret"
# Obtener token
get_token() {
curl -s -X POST "$API/v1/auth" \
-H "Content-Type: application/json" \
-d "{\"client_id\": \"$CLIENT_ID\", \"client_secret\": \"$CLIENT_SECRET\"}" \
| jq -r '.access_token'
}
TOKEN=$(get_token)
# Crear análisis
create_analysis() {
curl -s -X POST "$API/v1/call-analysis" \
-H "Authorization: Bearer $TOKEN" \
-F "audio_file=@$1" \
-F "external_id=$2" \
-F "agent_id=$3" \
-F "agent_name=$4" \
-F "model_name=$5"
}
# Obtener análisis
get_analysis() {
curl -s "$API/v1/call-analysis/$1" \
-H "Authorization: Bearer $TOKEN"
}
# Esperar completado
wait_for_completion() {
while true; do
STATUS=$(get_analysis $1 | jq -r '.status')
echo "Estado: $STATUS"
if [ "$STATUS" = "PROCESS_COMPLETED" ]; then
get_analysis $1
break
elif [ "$STATUS" = "ERROR" ]; then
echo "Error en el análisis"
break
fi
sleep 5
done
}
# Uso
# ./neuracall.sh llamada.mp3 CALL-001 AGT-001 "Juan Perez" "Mi Modelo"
if [ $# -ge 5 ]; then
echo "Creando análisis..."
RESULT=$(create_analysis "$1" "$2" "$3" "$4" "$5")
ID=$(echo $RESULT | jq -r '.id')
echo "ID: $ID"
echo "Esperando resultado..."
wait_for_completion $ID
fi
Copy
chmod +x neuracall.sh
./neuracall.sh llamada.mp3 CALL-001 AGT-001 "Juan Perez" "Evaluación Servicio"
