Listar asistentes
curl --request GET \
--url https://app.famulor.de/api/user/assistants/getimport requests
url = "https://app.famulor.de/api/user/assistants/get"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://app.famulor.de/api/user/assistants/get', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.famulor.de/api/user/assistants/get",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.famulor.de/api/user/assistants/get"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.famulor.de/api/user/assistants/get")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.famulor.de/api/user/assistants/get")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 123,
"user_id": 456,
"phone_number_id": 789,
"engine_id": 1,
"synthesizer_id": 2,
"transcriber_id": 3,
"voice_id": 4,
"instance_id": 5,
"name": "Sales Assistant",
"variables": {
"company_name": "Famulor",
"product_focus": "AI Telephony"
},
"post_call_evaluation": true,
"fillers": 1,
"post_call_schema": [
{
"name": "customer_interested",
"type": "boolean",
"description": "Is the customer interested?"
}
],
"tools": [
{
"type": "end_call",
"data": {
"description": "End call when done"
}
},
{
"type": "assistant_transfer",
"data": {
"description": "Transfer to the Support Assistant when the customer needs technical help.",
"assistant_id": 13766,
"message_before_transfer": "Sure — let me transfer you to our support specialist.",
"speak_transfer_greeting": true
}
},
{
"type": "warm_call_transfer",
"data": {
"supervisor_phone": "+14155552001",
"outbound_phone_id": "7",
"description": "Transfer the call to a human supervisor when the customer requests to speak with a real person.",
"custom_sip": false,
"caller_id_mode": "outbound_number",
"hold_music": "hold_music",
"hold_music_volume": 80,
"hold_message": "Please hold while I connect you with a supervisor.",
"summary_instructions": "Introduce the conversation from your perspective:\n- WHO is calling (name, company if mentioned)\n- WHY they called (their goal or problem)\n- WHY a human is needed at this point\n\nKeep it brief (2-3 sentences).",
"briefing_initial_message": "Hello! I have a caller on the line who needs your assistance. May I brief you on the situation?",
"connected_message": "You are now connected with a supervisor. I'll leave you to it."
}
}
],
"is_webhook_active": true,
"webhook_url": "https://example.com/webhook",
"inbound_webhook_url": "https://example.com/inbound-webhook",
"language": "de",
"type": "outbound",
"status": "active",
"max_duration": 1800,
"record": true,
"initial_message": "Good day! I'm calling from Famulor...",
"system_prompt": "You are a friendly sales assistant...",
"flows_platform_id": null,
"timezone": "Europe/Berlin",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z",
"max_silence_duration": 3,
"reengagement_interval": 5,
"deleted_at": null,
"end_call_on_voicemail": 1,
"llm_temperature": "0.7",
"voice_stability": "0.8",
"voice_similarity": "0.9",
"allow_interruptions": true,
"enable_noise_cancellation": true,
"endpoint_sensitivity": 0.5,
"speech_speed": "1.0",
"endpoint_type": "vad",
"wait_for_customer": false,
"mode": "pipeline",
"language_id": 1,
"transcriber_provider_id": 1,
"synthesizer_provider_id": 1,
"llm_model_id": 1,
"multimodal_model_id": null,
"ambient_sound": "office",
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"send_webhook_only_on_completed": true,
"include_recording_in_webhook": false,
"interrupt_sensitivity": 0.3,
"filler_config": {
"enabled": true,
"phrases": ["Hmm...", "I understand..."]
},
"knowledgebase_id": 100,
"knowledgebase_mode": "semantic",
"min_interrupt_words": 2,
"ambient_sound_volume": "0.3",
"widget_settings": {
"enabled": false
}
}
],
"current_page": 1,
"per_page": 10,
"total": 1,
"last_page": 1
}
Asistentes de IA
Listar asistentes
Lista todos los asistentes del usuario autenticado con paginación
GET
/
api
/
user
/
assistants
/
get
Listar asistentes
curl --request GET \
--url https://app.famulor.de/api/user/assistants/getimport requests
url = "https://app.famulor.de/api/user/assistants/get"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://app.famulor.de/api/user/assistants/get', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.famulor.de/api/user/assistants/get",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.famulor.de/api/user/assistants/get"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.famulor.de/api/user/assistants/get")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.famulor.de/api/user/assistants/get")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 123,
"user_id": 456,
"phone_number_id": 789,
"engine_id": 1,
"synthesizer_id": 2,
"transcriber_id": 3,
"voice_id": 4,
"instance_id": 5,
"name": "Sales Assistant",
"variables": {
"company_name": "Famulor",
"product_focus": "AI Telephony"
},
"post_call_evaluation": true,
"fillers": 1,
"post_call_schema": [
{
"name": "customer_interested",
"type": "boolean",
"description": "Is the customer interested?"
}
],
"tools": [
{
"type": "end_call",
"data": {
"description": "End call when done"
}
},
{
"type": "assistant_transfer",
"data": {
"description": "Transfer to the Support Assistant when the customer needs technical help.",
"assistant_id": 13766,
"message_before_transfer": "Sure — let me transfer you to our support specialist.",
"speak_transfer_greeting": true
}
},
{
"type": "warm_call_transfer",
"data": {
"supervisor_phone": "+14155552001",
"outbound_phone_id": "7",
"description": "Transfer the call to a human supervisor when the customer requests to speak with a real person.",
"custom_sip": false,
"caller_id_mode": "outbound_number",
"hold_music": "hold_music",
"hold_music_volume": 80,
"hold_message": "Please hold while I connect you with a supervisor.",
"summary_instructions": "Introduce the conversation from your perspective:\n- WHO is calling (name, company if mentioned)\n- WHY they called (their goal or problem)\n- WHY a human is needed at this point\n\nKeep it brief (2-3 sentences).",
"briefing_initial_message": "Hello! I have a caller on the line who needs your assistance. May I brief you on the situation?",
"connected_message": "You are now connected with a supervisor. I'll leave you to it."
}
}
],
"is_webhook_active": true,
"webhook_url": "https://example.com/webhook",
"inbound_webhook_url": "https://example.com/inbound-webhook",
"language": "de",
"type": "outbound",
"status": "active",
"max_duration": 1800,
"record": true,
"initial_message": "Good day! I'm calling from Famulor...",
"system_prompt": "You are a friendly sales assistant...",
"flows_platform_id": null,
"timezone": "Europe/Berlin",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z",
"max_silence_duration": 3,
"reengagement_interval": 5,
"deleted_at": null,
"end_call_on_voicemail": 1,
"llm_temperature": "0.7",
"voice_stability": "0.8",
"voice_similarity": "0.9",
"allow_interruptions": true,
"enable_noise_cancellation": true,
"endpoint_sensitivity": 0.5,
"speech_speed": "1.0",
"endpoint_type": "vad",
"wait_for_customer": false,
"mode": "pipeline",
"language_id": 1,
"transcriber_provider_id": 1,
"synthesizer_provider_id": 1,
"llm_model_id": 1,
"multimodal_model_id": null,
"ambient_sound": "office",
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"send_webhook_only_on_completed": true,
"include_recording_in_webhook": false,
"interrupt_sensitivity": 0.3,
"filler_config": {
"enabled": true,
"phrases": ["Hmm...", "I understand..."]
},
"knowledgebase_id": 100,
"knowledgebase_mode": "semantic",
"min_interrupt_words": 2,
"ambient_sound_volume": "0.3",
"widget_settings": {
"enabled": false
}
}
],
"current_page": 1,
"per_page": 10,
"total": 1,
"last_page": 1
}
API de Famulor 1.0 (legado). Esta página se aplica únicamente a Famulor 1.0 (
app.famulor.de) y se conserva por compatibilidad. Para la plataforma actual, usa la referencia de la API de Famulor 2.0.Parámetros de consulta
integer
Número de asistentes por página (1-100, predeterminado: 10)
integer
Número de página (predeterminado: 1)
Campos de respuesta
array
Array de asistentes
Mostrar Propiedades del asistente
Mostrar Propiedades del asistente
integer
El identificador único del asistente
integer
El ID del usuario propietario de este asistente
integer
El ID del número de teléfono asignado al asistente
integer
ID del motor
integer
ID del sintetizador
integer
ID del transcriptor
integer
El ID de la voz usada por el asistente
integer
El ID de instancia del asistente
string
El nombre del asistente
object
Variables personalizadas del asistente
boolean
Indica si la evaluación posterior a la llamada está activada
integer
Indica si el audio de relleno está activado (1 = activado, 0 = desactivado)
array
Definición del esquema para la extracción de datos posteriores a la llamada
array
Array de herramientas integradas configuradas en el asistente. Cada elemento tiene
type (identificador de la herramienta) y data (ajustes específicos de la herramienta). Esta forma de respuesta difiere del objeto plano usado en las solicitudes de Crear y Actualizar.Mostrar Forma del elemento de respuesta
Mostrar Forma del elemento de respuesta
type— p. ej.end_call,call_transfer,warm_call_transfer,dtmf_input,collect_keypad,calendar_integration,assistant_transferdata— objeto con los campos de configuración de la herramienta (mismos nombres que en el cuerpo de la solicitud, anidados bajodataen lugar de en el nivel superior)
boolean
Indica si las notificaciones por webhook están activadas
string
La URL del webhook para las notificaciones posteriores a la llamada
string
La URL del webhook para las notificaciones de llamadas entrantes
string
Idioma
string
El tipo de asistente (entrante o saliente)
string
El estado actual del asistente (activo o inactivo)
integer
Duración máxima de la llamada en segundos
boolean
Indica si las llamadas deben grabarse
string
El primer mensaje que dirá el asistente
string
El prompt de sistema que define el comportamiento del asistente
integer
ID para la integración con la plataforma Flows
string
La zona horaria configurada para el asistente
string
Fecha y hora en que se creó el asistente
string
Fecha y hora de la última actualización del asistente
integer
Duración máxima de silencio en segundos antes de la reactivación
integer
Intervalo de reactivación en segundos
string
Marca de tiempo de eliminación temporal (null si no se ha eliminado)
integer
Indica si la llamada debe finalizar al detectarse un buzón de voz (1 = sí, 0 = no)
string
Ajuste de temperatura del LLM como cadena de texto
string
Ajuste de estabilidad de voz como cadena de texto
string
Ajuste de similitud de voz como cadena de texto
boolean
Indica si se permiten interrupciones por parte del interlocutor
boolean
Indica si la cancelación de ruido está activada
number
Nivel de sensibilidad de fin de intervención (endpoint)
string
Multiplicador de velocidad de habla como cadena de texto
string
Tipo de detección de actividad de voz (vad o ai)
boolean
Indica si se debe esperar a la primera intervención del cliente
string
El modo del motor (pipeline o multimodal)
integer
El ID del idioma usado por el asistente
integer
ID del proveedor de transcripción
integer
ID del proveedor de síntesis de voz
integer
ID del modelo LLM usado
integer
ID del modelo multimodal usado
string
Ajuste de sonido ambiental
string
UUID único del asistente
boolean
Indica si los webhooks se envían solo para llamadas completadas
boolean
Indica si la URL de la grabación debe incluirse en el payload del webhook
number
Nivel de sensibilidad a las interrupciones
object
Configuración de las respuestas de audio de relleno
integer
ID de la base de conocimiento asociada
string
Ajuste de modo de la base de conocimiento
integer
Número mínimo de palabras antes de permitir una interrupción
string
Volumen del sonido ambiental como cadena de texto
object
Ajustes para la integración del widget web
integer
Tiempo de timbrado en segundos antes de finalizar la llamada
integer
Duración máxima de silencio inicial en segundos
integer
El número de página actual
integer
Número de elementos por página
integer
Número total de asistentes
integer
El número de la última página
{
"data": [
{
"id": 123,
"user_id": 456,
"phone_number_id": 789,
"engine_id": 1,
"synthesizer_id": 2,
"transcriber_id": 3,
"voice_id": 4,
"instance_id": 5,
"name": "Sales Assistant",
"variables": {
"company_name": "Famulor",
"product_focus": "AI Telephony"
},
"post_call_evaluation": true,
"fillers": 1,
"post_call_schema": [
{
"name": "customer_interested",
"type": "boolean",
"description": "Is the customer interested?"
}
],
"tools": [
{
"type": "end_call",
"data": {
"description": "End call when done"
}
},
{
"type": "assistant_transfer",
"data": {
"description": "Transfer to the Support Assistant when the customer needs technical help.",
"assistant_id": 13766,
"message_before_transfer": "Sure — let me transfer you to our support specialist.",
"speak_transfer_greeting": true
}
},
{
"type": "warm_call_transfer",
"data": {
"supervisor_phone": "+14155552001",
"outbound_phone_id": "7",
"description": "Transfer the call to a human supervisor when the customer requests to speak with a real person.",
"custom_sip": false,
"caller_id_mode": "outbound_number",
"hold_music": "hold_music",
"hold_music_volume": 80,
"hold_message": "Please hold while I connect you with a supervisor.",
"summary_instructions": "Introduce the conversation from your perspective:\n- WHO is calling (name, company if mentioned)\n- WHY they called (their goal or problem)\n- WHY a human is needed at this point\n\nKeep it brief (2-3 sentences).",
"briefing_initial_message": "Hello! I have a caller on the line who needs your assistance. May I brief you on the situation?",
"connected_message": "You are now connected with a supervisor. I'll leave you to it."
}
}
],
"is_webhook_active": true,
"webhook_url": "https://example.com/webhook",
"inbound_webhook_url": "https://example.com/inbound-webhook",
"language": "de",
"type": "outbound",
"status": "active",
"max_duration": 1800,
"record": true,
"initial_message": "Good day! I'm calling from Famulor...",
"system_prompt": "You are a friendly sales assistant...",
"flows_platform_id": null,
"timezone": "Europe/Berlin",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z",
"max_silence_duration": 3,
"reengagement_interval": 5,
"deleted_at": null,
"end_call_on_voicemail": 1,
"llm_temperature": "0.7",
"voice_stability": "0.8",
"voice_similarity": "0.9",
"allow_interruptions": true,
"enable_noise_cancellation": true,
"endpoint_sensitivity": 0.5,
"speech_speed": "1.0",
"endpoint_type": "vad",
"wait_for_customer": false,
"mode": "pipeline",
"language_id": 1,
"transcriber_provider_id": 1,
"synthesizer_provider_id": 1,
"llm_model_id": 1,
"multimodal_model_id": null,
"ambient_sound": "office",
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"send_webhook_only_on_completed": true,
"include_recording_in_webhook": false,
"interrupt_sensitivity": 0.3,
"filler_config": {
"enabled": true,
"phrases": ["Hmm...", "I understand..."]
},
"knowledgebase_id": 100,
"knowledgebase_mode": "semantic",
"min_interrupt_words": 2,
"ambient_sound_volume": "0.3",
"widget_settings": {
"enabled": false
}
}
],
"current_page": 1,
"per_page": 10,
"total": 1,
"last_page": 1
}
Páginas relacionadas: Introducción y Guía de autenticación, y Ejemplos de integración de la API.
⌘I