curl -X GET "https://app.famulor.de/api/user/conversations?type=whatsapp&per_page=10" \
-H "Authorization: Bearer YOUR_API_KEY"
curl -X GET "https://app.famulor.de/api/user/conversations?customer_phone=+49123456789" \
-H "Authorization: Bearer YOUR_API_KEY"
curl -X GET "https://app.famulor.de/api/user/conversations?whatsapp_sender_phone=+49987654321" \
-H "Authorization: Bearer YOUR_API_KEY"
const response = await fetch(
'https://app.famulor.de/api/user/conversations?type=whatsapp&per_page=10',
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
}
);
const data = await response.json();
// Fetch next page using cursor
if (data.next_cursor) {
const nextPage = await fetch(
`https://app.famulor.de/api/user/conversations?cursor=${data.next_cursor}`,
{ headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }
);
}
import requests
response = requests.get(
'https://app.famulor.de/api/user/conversations',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
params={
'type': 'whatsapp',
'per_page': 10
}
)
data = response.json()
# Fetch next page using cursor
if data.get('next_cursor'):
next_response = requests.get(
'https://app.famulor.de/api/user/conversations',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
params={'cursor': data['next_cursor']}
)
{
"data": [
{
"id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"assistant_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"assistant_name": "Support Assistant",
"type": "widget",
"variables": {
"user_name": "Jane Smith",
"plan": "premium"
},
"message_count": 12,
"total_cost": 0.0045,
"ai_enabled": true,
"created_at": "2025-01-25 14:30:00",
"updated_at": "2025-01-25 14:45:22"
},
{
"id": "8d0f7780-8536-51ef-055c-f18fd2g01bf8",
"assistant_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"assistant_name": "Support Assistant",
"type": "whatsapp",
"variables": null,
"message_count": 8,
"total_cost": 0.0032,
"ai_enabled": true,
"created_at": "2025-01-25 10:15:00",
"updated_at": "2025-01-25 10:28:45",
"whatsapp_sender": {
"name": "Acme Corp Support",
"phone": "+14155551234"
},
"customer": {
"name": "John Doe",
"phone": "+14155559876"
}
},
{
"id": "9e1g8891-9647-62fg-166d-g29ge3h12cg9",
"assistant_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"assistant_name": "Support Assistant",
"type": "api",
"variables": {
"lead_id": "12345",
"source": "website"
},
"external_identifier": "crm-lead-12345",
"message_count": 5,
"total_cost": 0.0021,
"ai_enabled": true,
"created_at": "2025-01-25 09:00:00",
"updated_at": "2025-01-25 09:15:30"
}
],
"path": "https://app.famulor.de/api/user/conversations",
"per_page": 15,
"next_cursor": "eyJpZCI6MTAwLCJfcG9pbnRzVG9OZXh0SXRlbXMiOnRydWV9",
"prev_cursor": null
}
Chatbot de IA
Listar conversaciones
Lista todas las conversaciones del usuario autenticado con filtrado y paginación por cursor
GET
/
api
/
user
/
conversations
curl -X GET "https://app.famulor.de/api/user/conversations?type=whatsapp&per_page=10" \
-H "Authorization: Bearer YOUR_API_KEY"
curl -X GET "https://app.famulor.de/api/user/conversations?customer_phone=+49123456789" \
-H "Authorization: Bearer YOUR_API_KEY"
curl -X GET "https://app.famulor.de/api/user/conversations?whatsapp_sender_phone=+49987654321" \
-H "Authorization: Bearer YOUR_API_KEY"
const response = await fetch(
'https://app.famulor.de/api/user/conversations?type=whatsapp&per_page=10',
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
}
);
const data = await response.json();
// Fetch next page using cursor
if (data.next_cursor) {
const nextPage = await fetch(
`https://app.famulor.de/api/user/conversations?cursor=${data.next_cursor}`,
{ headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }
);
}
import requests
response = requests.get(
'https://app.famulor.de/api/user/conversations',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
params={
'type': 'whatsapp',
'per_page': 10
}
)
data = response.json()
# Fetch next page using cursor
if data.get('next_cursor'):
next_response = requests.get(
'https://app.famulor.de/api/user/conversations',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
params={'cursor': data['next_cursor']}
)
{
"data": [
{
"id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"assistant_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"assistant_name": "Support Assistant",
"type": "widget",
"variables": {
"user_name": "Jane Smith",
"plan": "premium"
},
"message_count": 12,
"total_cost": 0.0045,
"ai_enabled": true,
"created_at": "2025-01-25 14:30:00",
"updated_at": "2025-01-25 14:45:22"
},
{
"id": "8d0f7780-8536-51ef-055c-f18fd2g01bf8",
"assistant_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"assistant_name": "Support Assistant",
"type": "whatsapp",
"variables": null,
"message_count": 8,
"total_cost": 0.0032,
"ai_enabled": true,
"created_at": "2025-01-25 10:15:00",
"updated_at": "2025-01-25 10:28:45",
"whatsapp_sender": {
"name": "Acme Corp Support",
"phone": "+14155551234"
},
"customer": {
"name": "John Doe",
"phone": "+14155559876"
}
},
{
"id": "9e1g8891-9647-62fg-166d-g29ge3h12cg9",
"assistant_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"assistant_name": "Support Assistant",
"type": "api",
"variables": {
"lead_id": "12345",
"source": "website"
},
"external_identifier": "crm-lead-12345",
"message_count": 5,
"total_cost": 0.0021,
"ai_enabled": true,
"created_at": "2025-01-25 09:00:00",
"updated_at": "2025-01-25 09:15:30"
}
],
"path": "https://app.famulor.de/api/user/conversations",
"per_page": 15,
"next_cursor": "eyJpZCI6MTAwLCJfcG9pbnRzVG9OZXh0SXRlbXMiOnRydWV9",
"prev_cursor": null
}
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.Este endpoint usa paginación basada en cursor para un mejor rendimiento con grandes volúmenes de datos. Usa
next_cursor y prev_cursor para navegar entre páginas.Parámetros de consulta
string
Filtra las conversaciones por tipo. Valores posibles:
test, widget, whatsapp, apiinteger
Filtra las conversaciones por ID de asistente (debe pertenecer al usuario autenticado)
string
Filtra las conversaciones por el número de teléfono del cliente (coincidencia exacta). Útil para encontrar todas las conversaciones con un cliente concreto.
string
Filtra las conversaciones por el número de teléfono del expedidor de WhatsApp (coincidencia exacta). Útil para encontrar todas las conversaciones de un número de WhatsApp Business concreto.
string
Filtra las conversaciones por un identificador externo. Útil para encontrar conversaciones vinculadas a registros de tu sistema externo.
integer
Número de conversaciones por página (1-100, predeterminado: 15)
string
Cursor de paginación. Usa
next_cursor o prev_cursor de una respuesta anterior.Campos de respuesta
array
Mostrar Propiedades
Mostrar Propiedades
string
El UUID único de la conversación
string
El UUID del asistente que gestiona esta conversación
string
El nombre del asistente que gestiona esta conversación
string
El tipo de conversación:
test, widget, whatsapp o apiobject
Variables personalizadas asociadas a la conversación (pares clave-valor)
string
El identificador de tu sistema externo para esta conversación. Solo está presente en conversaciones de tipo
api si se definió un identificador externo.integer
Número total de mensajes en la conversación
number
El coste total de la conversación en USD
boolean
Indica si las respuestas de IA están activadas para esta conversación
string
Fecha y hora en que se creó la conversación
string
Fecha y hora de la última actualización de la conversación
object
string
Cursor para obtener la siguiente página de resultados. Pásalo como parámetro
cursor en tu próxima solicitud. null si no hay más resultados.string
Cursor para obtener la página de resultados anterior.
null si es la primera página.integer
Número de elementos por página
curl -X GET "https://app.famulor.de/api/user/conversations?type=whatsapp&per_page=10" \
-H "Authorization: Bearer YOUR_API_KEY"
curl -X GET "https://app.famulor.de/api/user/conversations?customer_phone=+49123456789" \
-H "Authorization: Bearer YOUR_API_KEY"
curl -X GET "https://app.famulor.de/api/user/conversations?whatsapp_sender_phone=+49987654321" \
-H "Authorization: Bearer YOUR_API_KEY"
const response = await fetch(
'https://app.famulor.de/api/user/conversations?type=whatsapp&per_page=10',
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
}
);
const data = await response.json();
// Fetch next page using cursor
if (data.next_cursor) {
const nextPage = await fetch(
`https://app.famulor.de/api/user/conversations?cursor=${data.next_cursor}`,
{ headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }
);
}
import requests
response = requests.get(
'https://app.famulor.de/api/user/conversations',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
params={
'type': 'whatsapp',
'per_page': 10
}
)
data = response.json()
# Fetch next page using cursor
if data.get('next_cursor'):
next_response = requests.get(
'https://app.famulor.de/api/user/conversations',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
params={'cursor': data['next_cursor']}
)
{
"data": [
{
"id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"assistant_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"assistant_name": "Support Assistant",
"type": "widget",
"variables": {
"user_name": "Jane Smith",
"plan": "premium"
},
"message_count": 12,
"total_cost": 0.0045,
"ai_enabled": true,
"created_at": "2025-01-25 14:30:00",
"updated_at": "2025-01-25 14:45:22"
},
{
"id": "8d0f7780-8536-51ef-055c-f18fd2g01bf8",
"assistant_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"assistant_name": "Support Assistant",
"type": "whatsapp",
"variables": null,
"message_count": 8,
"total_cost": 0.0032,
"ai_enabled": true,
"created_at": "2025-01-25 10:15:00",
"updated_at": "2025-01-25 10:28:45",
"whatsapp_sender": {
"name": "Acme Corp Support",
"phone": "+14155551234"
},
"customer": {
"name": "John Doe",
"phone": "+14155559876"
}
},
{
"id": "9e1g8891-9647-62fg-166d-g29ge3h12cg9",
"assistant_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"assistant_name": "Support Assistant",
"type": "api",
"variables": {
"lead_id": "12345",
"source": "website"
},
"external_identifier": "crm-lead-12345",
"message_count": 5,
"total_cost": 0.0021,
"ai_enabled": true,
"created_at": "2025-01-25 09:00:00",
"updated_at": "2025-01-25 09:15:30"
}
],
"path": "https://app.famulor.de/api/user/conversations",
"per_page": 15,
"next_cursor": "eyJpZCI6MTAwLCJfcG9pbnRzVG9OZXh0SXRlbXMiOnRydWV9",
"prev_cursor": null
}
Tipos de conversación
| Tipo | Descripción |
|---|---|
test | Conversaciones de prueba internas desde la interfaz de prueba del asistente |
widget | Conversaciones desde el widget de chat web |
whatsapp | Conversaciones de WhatsApp Business |
api | Conversaciones creadas a través de la API |
Parámetros de filtrado
Todos los parámetros de filtrado usan columnas indexadas para consultas eficientes:| Parámetro | Descripción | Caso de uso |
|---|---|---|
type | Filtrar por tipo de conversación | Obtener únicamente conversaciones de WhatsApp o del widget |
assistant_id | Filtrar por asistente concreto | Mostrar las conversaciones de un único asistente |
customer_phone | Filtrar por número de teléfono del cliente | Encontrar todas las conversaciones con un cliente concreto |
whatsapp_sender_phone | Filtrar por número del expedidor de WhatsApp | Encontrar todas las conversaciones de un número de empresa |
external_identifier | Filtrar por tu ID externo | Vincular conversaciones con tus registros de CRM |
Detalles de las conversaciones de WhatsApp
En las conversaciones de WhatsApp, la respuesta incluye campos adicionales:- whatsapp_sender: el número de WhatsApp Business que llevó la conversación (nombre y número de teléfono de tu expedidor de WhatsApp)
- customer: el cliente que inició o recibió la conversación (su nombre y número de teléfono)
whatsapp y ayudan a identificar a las partes implicadas al integrar con tu CRM o tus sistemas de soporte.
Detalles de las conversaciones de API
En las conversaciones creadas a través de la API, puedes definir unexternal_identifier al crear la conversación. Este identificador se devuelve en la respuesta y puede usarse para:
- Vincular conversaciones con tus leads o contactos de CRM
- Hacer seguimiento de conversaciones a través de tus sistemas internos
- Filtrar conversaciones por tu referencia externa
Casos de uso
- Panel de analítica: mostrar métricas y tendencias de conversaciones
- Integración con CRM: sincronizar datos de conversación con tu base de clientes usando
external_identifier - Búsqueda de clientes: encontrar todas las conversaciones con un cliente concreto mediante
customer_phone - Control de calidad: revisar el volumen de conversaciones por tipo y por asistente
- Auditoría de facturación: hacer seguimiento de los costes de conversación dentro de tu organización
Páginas relacionadas: Introducción y Guía de autenticación, y Ejemplos de integración de la API.