# Integrar entrevistas con tu ATS: API, avisos y errores caros — Criterio Talent

> Guía técnica para integrar una plataforma de entrevistas con un ATS o un HRIS: idempotencia, avisos firmados, verificación de firma, reintentos y vocabulario compartido.

URL: https://criteriotalent.com/recursos/integrar-entrevistas-con-tu-ats/

---

**Entrega 10 · junio de 2026**

# Integrar entrevistas con tu ATS: la API, los avisos y los errores que salen caros

Escrito para quien va a implementar. Quién manda, por qué la petición que crea una entrevista tiene que poder repetirse, cómo se verifica una firma, y el error que nadie ve venir: la misma palabra con dos significados.

Integración · API y avisos

Publicado el 29 de agosto de 2026 · 7 min de lectura

**En corto**

Se integra dejando que el sistema del cliente siga siendo la fuente de la vacante y del candidato, creando entrevistas con una clave de idempotencia para que un reintento no duplique nada, y recibiendo avisos firmados en vez de sondear. La firma se verifica con comparación en tiempo constante y con la marca de tiempo dentro del mensaje firmado. Antes de escribir código, se acuerda por escrito qué significa cada palabra en los dos sistemas.

Una integración de entrevistas se parece poco a la que uno imagina al principio. Casi nadie tropieza con el formato del JSON. Se tropieza con la red que se cayó a media petición, con el aviso que llegó dos veces, con el receptor que estuvo caído cuarenta minutos y con la palabra que los dos equipos usaban desde hacía meses creyendo que significaba lo mismo.

Lo que sigue es la lista de decisiones que hay que tomar antes de escribir la primera línea, ordenada por lo que cuesta arreglarlas después. Las operaciones concretas que existen hoy están en [la página de integraciones](https://criteriotalent.com/integraciones/); esta entrega es sobre cómo usarlas sin hacerse daño.

## El ATS sigue mandando, y conviene decirlo en voz alta

La primera decisión es de gobierno, no de arquitectura: quién es dueño de qué. La vacante nace en el sistema del cliente y el candidato también. La plataforma de entrevistas no los crea: los recibe, los refleja y devuelve lo que produjo sobre ellos.

Eso significa que sincronizar una vacante es una operación que se puede repetir sin consecuencias —se envía el estado actual y queda reflejado—, y que el identificador que manda es el del ATS. Cuando cada lado tiene su propio identificador y ninguno es el bueno, la primera conciliación se hace a mano y las siguientes también.

Conviene escribir esta frase en el documento de alcance: «la fuente de verdad de la vacante y del candidato es el ATS; la fuente de verdad de la entrevista, su transcripción y su reporte es la plataforma». Media hora de discusión ahí ahorra semanas después.

## La petición que crea tiene que poder repetirse

Éste es el problema más común y el que peor se ve desde fuera. El ATS pide una entrevista para una persona. La petición sale, la plataforma la procesa, y la respuesta se pierde en el camino: un tiempo de espera agotado, un balanceador que cortó, una red corporativa que hizo lo suyo. El ATS no sabe si la entrevista existe o no, así que reintenta. Y la persona recibe dos enlaces.

La solución no es reintentar con más cuidado: es que el reintento no pueda duplicar nada. La petición que crea lleva una clave de idempotencia, generada por el ATS y estable para esa combinación de candidato y vacante. Si la clave ya se vio, la plataforma devuelve la entrevista que ya existe en vez de crear una segunda.

- La clave la genera quien llama, no quien recibe. Si la genera el receptor, no sirve para nada: el que reintenta no la tiene.
- La clave tiene que ser estable ante el reintento y distinta ante una petición legítimamente nueva. Un identificador derivado del candidato y la vacante cumple las dos cosas; una marca de tiempo no.
- Guarde la clave que usó junto al registro del ATS. El día que haya que auditar por qué existen dos entrevistas, esa columna es la respuesta.

## Avisos en vez de sondeo

La tentación es preguntar cada minuto si la entrevista ya terminó. Funciona en la demostración y se degrada sola: con cien candidatos activos son cien preguntas por minuto, y el noventa y nueve por ciento de las respuestas dicen «todavía no».

Peor que el costo es la latencia. El sondeo introduce, por definición, un retraso igual al intervalo, y ese retraso se nota justo donde importa: el reclutador refresca su ATS, ve un estado viejo y llama a soporte. Un aviso llega cuando pasó lo que tenía que pasar.

La regla práctica: los avisos son el mecanismo principal y la consulta directa es la red de seguridad. Una consulta de reconciliación una vez al día sobre las entrevistas que llevan demasiado tiempo en el mismo estado cubre lo que un aviso perdido pudiera dejar atrás, sin convertir la integración en una encuesta permanente.

## Verificar la firma, y por qué la marca de tiempo va dentro

Un receptor de avisos es una dirección pública. Si no verifica quién le está hablando, cualquiera que la descubra puede empujar estados falsos al ATS. La verificación es corta de escribir y hay tres detalles donde se rompe.

- Firme el cuerpo EXACTO, byte a byte, tal como llegó. Si su marco de trabajo deserializa el JSON y usted vuelve a serializarlo para verificar, la firma no va a coincidir aunque el contenido sea idéntico: el orden de las claves y los espacios cambian.
- Compare en tiempo constante. Una comparación normal de cadenas devuelve antes cuando el primer carácter difiere, y esa diferencia de microsegundos, medida muchas veces, permite adivinar la firma carácter por carácter.
- Rechace una marca de tiempo lejana. Una ventana de unos pocos minutos contra su propio reloj basta, y es lo que impide que alguien reenvíe un aviso legítimo capturado hace semanas.

El tercer punto tiene una consecuencia de diseño que se pasa por alto: la marca de tiempo tiene que ir DENTRO del mensaje firmado, no sólo al lado. Si viaja fuera, quien capturó un aviso viejo lo reenvía cambiándole la hora, y la firma —calculada sólo sobre el cuerpo— sigue siendo válida. Firmar la concatenación de la marca y el cuerpo cierra ese hueco.

## El receptor también tiene que ser idempotente

Un sistema de avisos serio reintenta cuando no recibe confirmación. Eso significa que su receptor va a ver el mismo aviso dos veces, tarde o temprano, y no porque nadie se haya equivocado: porque su respuesta se perdió después de que usted ya había procesado el evento.

Procesar dos veces «la entrevista terminó» suele ser inofensivo. Procesar dos veces «el reporte está listo» puede disparar dos correos al mismo reclutador, o dos movimientos de etapa en el ATS. La defensa es guardar el identificador de cada aviso ya procesado y descartar el repetido, con una tabla y una restricción de unicidad. No hace falta nada más sofisticado.

Conteste rápido y trabaje después. Un receptor que confirma en cuanto guarda el aviso, y hace el trabajo pesado en segundo plano, no provoca reintentos por lentitud. Un receptor que genera un PDF antes de contestar, sí.

## Cuando el otro lado no responde

Va a pasar. Un mantenimiento, un certificado vencido, un despliegue que tardó de más. Lo que distingue una integración adulta de una frágil es haber decidido antes qué ocurre entonces.

Ejemplo de matriz de decisión. Lo importante no es esta tabla concreta, sino que exista una antes del primer incidente.

| Situación | Qué debe hacer el emisor | Qué debe hacer el receptor | El receptor devuelve un error temporal | Reintentar con espera creciente, no en bucle cerrado | Devolver el error de verdad, no un doscientos vacío | El receptor lleva horas caído | Seguir reintentando dentro de una ventana acotada y dejar de intentar después | Reconciliar al volver, consultando lo que quedó pendiente | Llegó un aviso repetido | Nada: el reintento es correcto | Descartarlo por su identificador y confirmar igual | La firma no valida | Nada | Rechazar, registrar el intento y no procesarlo

Y una petición que casi nadie hace y siempre se agradece: un aviso de prueba, que se dispara a mano contra el receptor para comprobar que la dirección responde y que la firma valida, antes de que exista un solo candidato real de por medio.

## El error más caro: la misma palabra, dos significados

Todo lo anterior se arregla con código. Esto no. En una reunión de integración, alguien del equipo del ATS dice algo así:

Ese hallazgo es barato en la semana uno y carísimo en la semana doce, cuando ya hay tableros construidos encima. La lista de palabras que hay que definir por escrito es corta y siempre la misma: vacante, candidato, candidatura, entrevista, rechazado, terminado, activo.

Ejemplo ilustrativo de las divergencias más frecuentes. Los valores reales de cada lado se acuerdan por escrito antes de escribir código.

| Palabra | Lo que suele significar en un ATS | Lo que suele significar en la entrevista | Vacante | La requisición aprobada, con presupuesto | El guion y las competencias con los que se va a entrevistar | Candidato | La persona, única en toda la base | La persona en el contexto de una vacante concreta | Rechazado | El reclutador descartó a la persona | La persona no aceptó la entrevista | Terminado | El proceso de selección cerró | La conversación acabó, aunque el reporte tarde

## Lo que esto no resuelve

Una integración bien hecha mueve datos entre dos sistemas sin perderlos ni duplicarlos. No arregla un proceso de selección que no estaba claro, no convierte en comparables unas entrevistas que se hicieron con criterios distintos —eso vive antes, en el guion, y lo trata [la entrega de agosto](https://criteriotalent.com/recursos/entrevista-estructurada-con-ia/)— y no sustituye la conversación de alcance donde se decide qué campos viajan y en qué dirección.

Tampoco elimina el trabajo de conciliación del primer mes. Lo vuelve pequeño y explicable, que es lo máximo que se le puede pedir a una integración entre dos sistemas que no se conocían.

## Preguntas sobre esta entrega

### ¿Conviene empezar por la integración o por unas cuantas vacantes a mano?

Por unas cuantas a mano, casi siempre. Las primeras semanas revelan discrepancias de vocabulario y de proceso que no se ven en un documento, y es mucho más barato descubrirlas antes de haber escrito el código que las mapea. La [lista de compra](https://criteriotalent.com/recursos/checklist-para-comprar-plataforma-de-entrevistas/) incluye esa pregunta por la misma razón.

### ¿Qué pasa si nuestro ATS no puede recibir avisos entrantes?

Es frecuente en instalaciones antiguas o cerradas. La alternativa es una consulta de reconciliación periódica sobre las entrevistas activas, aceptando la latencia que introduce. Funciona; simplemente hay que decidir el intervalo con los ojos abiertos y no descubrirlo cuando alguien se queja de un estado viejo.

### ¿Cuánta información hace falta devolver al ATS?

Menos de la que se pide al principio. El estado de la entrevista y el enlace al reporte suelen bastar; llevarse la transcripción completa al ATS duplica material sensible en un sistema que quizá tenga otra política de conservación. Sobre eso trata [la entrega de mayo](https://criteriotalent.com/recursos/retencion-y-gobierno-de-datos/).

**Para seguir leyendo en el sitio**

### [Soluciones](https://criteriotalent.com/soluciones/)

Cómo se configura para alto volumen, perfiles técnicos, dirección y procesos de varias rondas.

### [Plataforma](https://criteriotalent.com/plataforma/)

Cómo conduce la entrevista, repregunta y cita la evidencia de cada conclusión.

### [Integraciones](https://criteriotalent.com/integraciones/)

Cómo su ATS pide la entrevista y recibe el reporte, sin que nadie vuelva a teclear nada.

### [Contacto](https://criteriotalent.com/contacto/)

Una demostración de 30 minutos sobre una vacante real suya.

**Otras entregas**

**Método · Evidencia y trazabilidad**

### [Evidencia por turno: qué guardar de una entrevista para poder defenderla seis meses después](https://criteriotalent.com/recursos/evidencia-por-turno-trazabilidad/)

La pregunta incómoda no llega el día de la decisión: llega medio año después, cuando el equipo ya cambió. Esto es lo que tiene que estar guardado para contestarla.

**Compra · Lista de comprobación**

### [Checklist para comprar una plataforma de entrevistas con IA: 24 preguntas y las respuestas que deberían preocuparle](https://criteriotalent.com/recursos/checklist-para-comprar-plataforma-de-entrevistas/)

Veinticuatro preguntas en seis grupos. Lo útil no son las preguntas —ésas las tiene cualquiera— sino lo que va después de cada grupo: qué respuesta suena bien y en realidad no dice nada.

**Método · Diseño de entrevistas**

### [Cómo diseñar una entrevista estructurada con IA que deje evidencia útil y conserve la decisión humana](https://criteriotalent.com/recursos/entrevista-estructurada-con-ia/)

Ocho decisiones de diseño, en orden. La primera es la que casi todo el mundo se salta: no se le pide a un modelo que juzgue, se le pide que documente.

**Siguiente paso**

## Véalo con una vacante suya sobre la mesa.

Treinta minutos: se define una entrevista a partir de su job post, se recorre como la ve el candidato y se lee un reporte con su evidencia.
