Documentation Index
Fetch the complete documentation index at: https://benzinga-2-mrrancy-patch-1.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
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
- 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
Usa la herramienta interactiva de prueba de WebSocket de arriba para conectarte y probar el flujo en tiempo real.
wss://api.benzinga.com/api/v1/transcripts/stream?token=YOUR_TOKEN
| Parámetro | Obligatorio | Descripción |
|---|
token | Sí | Tu token de la API WebSocket de Benzinga |
Envía comandos en JSON para controlar tus suscripciones:
{
"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
Mantén la conexión activa
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
{
"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"
}
| Campo | Descripción |
|---|
sentence | El texto completo de la frase pronunciada |
sequence | Orden de esta frase dentro de la transcripción (0, 1, 2…) |
speaker | Nombre/identificador de la persona que habla |
status | IN_PROGRESS (en curso) o COMPLETE (completado) |
confidence | Confianza general en la precisión (0.0 - 1.0) |
words | Lista de palabras individuales con marcas de tiempo y nivel de confianza |
start_time / end_time | Marcas de tiempo ISO 8601 para el inicio y fin de la frase |
Estado de la transcripción
| Estado | Descripción |
|---|
IN_PROGRESS | La transcripción está en vivo y recibiendo actualizaciones |
COMPLETE | La transcripción ha finalizado, no se esperan más actualizaciones |
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
| Comando | Parámetros | Descripción |
|---|
subscribe | ticker | Suscribirse a las actualizaciones de transcripciones de un ticker |
unsubscribe | ticker | Dejar 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) |
echo | message | Prueba de eco (responde con tu mensaje) |
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
- 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
- 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
- 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
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);