Saltar al contenido principal
WSS
wss://api.benzinga.com/api/v1/transcripts
stream
Messages
token
type:httpApiKey

Benzinga WebSocket API token

publish
type:object

WebSocket command to interact with transcript stream

subscribe
type:object

Real-time transcript message

Descripciรณn general

Suscrรญbete a transcripciones en tiempo real de llamadas de resultados y recibe actualizaciones frase por frase a medida que se pronuncian durante las llamadas de resultados en vivo. Ideal para crear visores de transcripciones en tiempo real y herramientas de anรกlisis.

Funcionalidades principales

  • Transcripciรณn en vivo: Obtรฉn actualizaciones de frases en tiempo real mientras los oradores hablan durante las llamadas de resultados
  • Temporizaciรณn a nivel de palabra: Cada frase incluye marcas de tiempo para cada palabra y puntuaciones de confianza
  • Identificaciรณn de oradores: Realiza un seguimiento de quiรฉn estรก hablando (ejecutivos, analistas, etc.)
  • Seguimiento del estado: Supervisa si las transcripciones estรกn en curso o completas
  • Suscripciรณn flexible: Suscrรญbete a sรญmbolos bursรกtiles especรญficos o a todas las transcripciones con *
  • Pruebas con datos simulados: Prueba tu integraciรณn con datos simulados cuando no haya llamadas en vivo en curso

Casos de uso

  • Crear visualizadores en tiempo real de transcripciones de llamadas de resultados
  • Crear herramientas de subtitulado en vivo y de accesibilidad
  • Realizar anรกlisis de sentimiento en tiempo real sobre llamadas de resultados
  • Extraer frases y mรฉtricas clave a medida que se mencionan
  • Generar alertas para palabras clave o temas especรญficos durante llamadas en vivo
  • Archivar transcripciones completas con marcas de tiempo precisas

Inicio rรกpido

Usa la herramienta interactiva de prueba de WebSocket de arriba para conectarte y probar el flujo en tiempo real.

URL de conexiรณn

wss://api.benzinga.com/api/v1/transcripts/stream?token=YOUR_TOKEN

Parรกmetros de consulta

ParรกmetroObligatorioDescripciรณn
tokenSรญTu token de la API WebSocket de Benzinga

Comandos de suscripciรณn

Envรญa comandos en JSON para controlar tus suscripciones:

Suscribirse a un ticker

{
  "action": "subscribe",
  "ticker": "AAPL"
}

Suscribirse a todas las transcripciones

{
  "action": "subscribe",
  "ticker": "*"
}

Cancelar la suscripciรณn a un ticker

{
  "action": "unsubscribe",
  "ticker": "AAPL"
}

Listar transcripciones activas

{
  "action": "list"
}

Mantรฉn la conexiรณn activa

{
  "action": "ping"
}

Prueba con datos simulados

Cuando no haya transcripciones en tiempo real disponibles, usa el modo simulado para realizar pruebas:
{
  "action": "subscribe",
  "ticker": "AAPL",
  "mock": true
}
Tickers simulados admitidos: AAPL, MSFT, TSLA

Ejemplo de mensaje

{
  "call_id": "call_123456",
  "transcript_id": "550e8400-e29b-41d4-a716-446655440000",
  "call_title": "Apple Inc. Q4 2024 Earnings Call",
  "sentence": "Revenue for the quarter was 89.5 billion dollars.",
  "start_time": "2024-01-15T16:30:15Z",
  "end_time": "2024-01-15T16:30:19Z",
  "symbol": "AAPL",
  "exchange": "NASDAQ",
  "name": "Apple Inc.",
  "sequence": 42,
  "status": "IN_PROGRESS",
  "speaker": "Tim Cook, CEO",
  "type": "LIVE",
  "language": "en",
  "confidence": 0.98,
  "words": [
    {
      "text": "Revenue",
      "confidence": 0.99,
      "start": 0,
      "end": 450
    },
    {
      "text": "for",
      "confidence": 0.98,
      "start": 450,
      "end": 600
    }
  ],
  "created_time": "2024-01-15T16:30:19Z"
}

Campos clave

CampoDescripciรณn
sentenceEl texto completo de la frase pronunciada
sequenceOrden de esta frase dentro de la transcripciรณn (0, 1, 2โ€ฆ)
speakerNombre/identificador de la persona que habla
statusIN_PROGRESS (en curso) o COMPLETE (completado)
confidenceConfianza general en la precisiรณn (0.0 - 1.0)
wordsLista de palabras individuales con marcas de tiempo y nivel de confianza
start_time / end_timeMarcas de tiempo ISO 8601 para el inicio y fin de la frase

Estado de la transcripciรณn

EstadoDescripciรณn
IN_PROGRESSLa transcripciรณn estรก en vivo y recibiendo actualizaciones
COMPLETELa transcripciรณn ha finalizado, no se esperan mรกs actualizaciones

Datos a nivel de palabra

Cada oraciรณn incluye informaciรณn detallada a nivel de palabra:
{
  "text": "Revenue",
  "confidence": 0.99,
  "start": 0,
  "end": 450
}
  • text: La palabra en sรญ
  • confidence: Confianza de reconocimiento (0.0 - 1.0)
  • start/end: Desplazamientos de tiempo en milisegundos desde el inicio de la oraciรณn

Comandos interactivos

ComandoParรกmetrosDescripciรณn
subscribetickerSuscribirse a las actualizaciones de transcripciones de un ticker
unsubscribetickerDejar de recibir actualizaciones de transcripciones de un ticker
list-Obtener la lista de transcripciones activas/disponibles
subscribed-Obtener la lista de tus suscripciones actuales
ping-Mantener viva la conexiรณn (responde con pong)
echomessagePrueba de eco (responde con tu mensaje)

Prรกcticas recomendadas

Visualizaciรณn en tiempo real

  • Gestiรณn de bรบfer: Muestra las oraciones en orden de secuencia utilizando el campo sequence
  • Formato de orador: Aplica un formato diferente segรบn el valor de speaker (ejecutivos vs analistas)
  • Indicadores de estado: Muestra indicadores visuales para los estados IN_PROGRESS y COMPLETE

Rendimiento

  • Precauciรณn con comodines: Usar ticker: "*" te suscribe a TODAS las transcripciones, lo que puede generar un volumen elevado
  • Suscripciones especรญficas: Suscrรญbete solo a los sรญmbolos bursรกtiles que necesitas para reducir el uso de ancho de banda
  • Heartbeat: Envรญa ping cada 30โ€“60 segundos para mantener la conexiรณn

Calidad de datos

  • Filtrado por confianza: Considera ignorar o marcar las oraciones con puntuaciones de confianza bajas
  • Precisiรณn de palabras: Utiliza la confianza a nivel de palabra para identificar transcripciones dudosas
  • Gestiรณn del idioma: Verifica el campo language para una representaciรณn adecuada del texto

Pruebas

  • Modo simulado: Usa mock: true para desarrollo cuando no haya llamadas en vivo activas
  • Prueba de eco: Usa la acciรณn echo para verificar la conexiรณn y el manejo de mensajes
  • Comando de lista: Consulta list para ver quรฉ estรก disponible actualmente

Ejemplo de integraciรณn

const ws = new WebSocket(
  'wss://api.benzinga.com/api/v1/transcripts/stream?token=YOUR_TOKEN'
);

ws.onopen = () => {
  // Suscribirse a las transcripciones de Apple
  ws.send(JSON.stringify({
    action: 'subscribe',
    ticker: 'AAPL'
  }));
};

ws.onmessage = (event) => {
  const data = JSON.parse(event.data);

  // Mostrar la frase con el interlocutor
  console.log(`[${data.sequence}] ${data.speaker}: ${data.sentence}`);

  // Verificar si la transcripciรณn estรก completa
  if (data.status === 'COMPLETE') {
    console.log('Transcripciรณn finalizada');
  }
};

// Mantener la conexiรณn activa
setInterval(() => {
  ws.send(JSON.stringify({ action: 'ping' }));
}, 30000);