Saltar al contenido principal
GET
/
calls
Listar Llamadas
curl --request GET \
  --url https://api.example.com/calls
{
  "calls": [
    {
      "id": "<string>",
      "created_time": "<string>",
      "timestamp": 123,
      "assistant_id": "<string>",
      "from": "<string>",
      "to": "<string>",
      "status": "<string>",
      "duration": 123,
      "recording": "<string>",
      "transcript": "<string>",
      "success": true,
      "summary": "<string>",
      "output": {},
      "data": {}
    }
  ]
}

Descripción General

Este endpoint recupera una lista de llamadas asociadas con los asistentes del usuario autenticado. Puedes filtrar llamadas por rango de fechas, estado y playbook.

Autenticación

Este endpoint requiere autenticación usando un token Bearer en el header Authorization.
Authorization: Bearer TU_API_TOKEN

Parámetros de Query

startDate
string
Fecha de inicio para filtrar llamadas. Formato: YYYY-MM-DD o YYYY-MM-DD HH:mm:ssSi no se proporciona, se calculará basándose en el parámetro daysFromNow.
endDate
string
Fecha de fin para filtrar llamadas. Formato: YYYY-MM-DD o YYYY-MM-DD HH:mm:ssSi no se proporciona, será por defecto la fecha/hora actual.
daysFromNow
number
predeterminado:"15"
Número de días hacia atrás desde hoy. Solo se usa si startDate y endDate no se proporcionan.
  • Mínimo: 1
  • Máximo: 90
  • Por defecto: 15
status
string
Filtrar llamadas por estado. Valores válidos:
  • open - Llamada en progreso o pendiente
  • closed - Llamada completada exitosamente
  • rong-phone-forno-answer - Número equivocado o sin respuesta
  • wmat - Esperando acción manual
  • failed - Llamada fallida
  • recall-scheduled - Rellamada programada
  • voicemail - Llamada fue al buzón de voz
playbook_id
string
Filtrar llamadas por un ID de playbook (asistente) específico. Debe ser un UUID válido.

Respuesta

calls
array
Array de objetos de llamada, ordenados por created_time descendente (más recientes primero).

Ejemplos de Peticiones

Obtener llamadas de los últimos 30 días

GET https://api.meetzy.io/calls?daysFromNow=30

Obtener llamadas en un rango de fechas específico

GET https://api.meetzy.io/calls?startDate=2024-01-01&endDate=2024-01-31

Obtener solo llamadas cerradas

GET https://api.meetzy.io/calls?status=closed

Obtener llamadas para un playbook específico

GET https://api.meetzy.io/calls?playbook_id=550e8400-e29b-41d4-a716-446655440000

Combinar filtros

GET https://api.meetzy.io/calls?daysFromNow=7&status=closed&playbook_id=550e8400-e29b-41d4-a716-446655440000

Ejemplo de Respuesta

[
  {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "created_time": "2024-11-12 10:30:00",
    "timestamp": 1731407400000,
    "assistant_id": "550e8400-e29b-41d4-a716-446655440000",
    "from": "+34612345678",
    "to": "+34987654321",
    "status": "closed",
    "duration": 180,
    "recording": "https://recordings.meetzy.io/call-123.mp3",
    "transcript": "<b>[Agente]</b> Hola, soy Sara de Meetzy...<br><br><b>[Cliente]</b> Hola Sara...",
    "success": true,
    "summary": "El cliente estaba interesado en el plan premium...",
    "output": {
      "appointment_scheduled": true,
      "date": "2024-11-15",
      "time": "14:00"
    },
    "data": {
      "params": {
        "campaign_id": "verano-2024",
        "lead_source": "website"
      }
    }
  }
]

Respuestas de Error

CódigoDescripción
401Autenticación fallida o token inválido
403El usuario no tiene permiso para acceder a este recurso
500Ocurrió un error en el servidor

Notas

  • Todas las fechas se manejan en zona horaria Europe/Madrid y se convierten a UTC en la respuesta
  • El campo from se sanitiza automáticamente para eliminar entradas inválidas
  • Las transcripciones están formateadas con etiquetas HTML para mejor legibilidad
  • El endpoint filtra automáticamente las llamadas para mostrar solo las pertenecientes a asistentes del usuario autenticado
  • El rango máximo de fechas usando daysFromNow es 90 días