Callback de resultados¶
El callback permite que un sistema externo reciba el resultado de un formulario de audio mediante una petición POST.
ReAuditIA lo envía cuando el procesamiento clásico termina correctamente y no hay errores en las comprobaciones. Si el formulario no tiene una URL configurada, o el procesamiento termina con error, no se envía.
Configurarlo¶
- Abre el formulario con un perfil que pueda editar su configuración.
- En Callback, introduce una URL que comience por
https://. - Si el receptor exige autenticación, indica la cabecera en formato
Nombre:valor. - Guarda los cambios y prueba el recorrido completo con un fichero sin datos reales.
Si eliminas la URL, también deja de utilizarse la cabecera asociada. Guarda el valor de la cabecera en un almacén seguro y no lo incluyas en documentación, capturas ni incidencias.
Campos comunes¶
| Campo | Contenido |
|---|---|
form |
Identificador del formulario que procesó el fichero |
audio_file |
Nombre del fichero procesado |
metadata |
Lista de metadatos presentes, cada uno con su nombre y valor |
audit |
Lista de comprobaciones con item y value |
El valor de una comprobación puede ser texto o una estructura, según su tipo.
Contrato sin diarización¶
El contrato heredado utiliza transcription. Su valor es una lista en la que cada elemento relaciona el nombre del transcriptor con el texto obtenido.
{
"transcription": [
{"principal": "Buenos días, ¿en qué puedo ayudarle?"}
],
"form": 42,
"audio_file": "llamada-001.wav",
"metadata": [
{"Canal": "Telefono"}
],
"audit": [
{"item": "Saludo inicial", "value": "Correcto"}
]
}
Contrato con diarización¶
Cuando el formulario utiliza diarización, el cuerpo contiene transcriptions en lugar de transcription. Puede incluir una transcripción primary y otra secondary.
{
"transcriptions": [
{
"role": "primary",
"transcriptor": "principal",
"text": "Buenos días, ¿en qué puedo ayudarle?",
"duration": 3.8,
"words": [
{"start": 0, "end": 400, "text": "Buenos", "speaker": 0}
]
},
{
"role": "secondary",
"transcriptor": "secundario",
"text": "Buenos días.",
"duration": 1.2,
"words": []
}
],
"form": 42,
"audio_file": "llamada-001.wav",
"metadata": [
{"Canal": "Telefono"}
],
"audit": [
{"item": "Saludo inicial", "value": "Correcto"}
]
}
| Campo de cada transcripción | Contenido |
|---|---|
role |
primary o secondary |
transcriptor |
Nombre del transcriptor utilizado |
text |
Texto completo |
duration |
Duración informada |
words |
Detalle por palabras devuelto por el transcriptor; la forma de cada elemento puede variar |
Para relacionar la notificación con el envío original, utiliza audio_file y añade un metadato estable si el nombre del fichero no es suficiente.
Tiempo de respuesta y reintentos¶
- Cada intento espera como máximo 10 segundos.
- Si falla el primero, pueden realizarse hasta tres reintentos.
- Los reintentos solo se realizan mientras quede tiempo dentro del procesamiento; no se garantiza que siempre se ejecuten los tres.
El receptor debe validar la petición, responder rápidamente con un estado correcto y continuar su trabajo de forma asíncrona. No mantengas la conexión abierta mientras realizas procesos largos.
Comprobación¶
- Procesa un fichero de prueba y espera a que termine correctamente.
- Comprueba que el receptor obtiene una sola entrega correcta o identifica posibles reintentos.
- Valida ambos contratos si tu organización utiliza formularios con y sin diarización.
- Si no llega, sigue las comprobaciones de Incidencias frecuentes.