Primeros pasos
Solución de problemas
Síntomas comunes al integrar el SDK web, con la causa y qué verificar en cada uno.
5 min de lectura
Esta página reúne los síntomas más comunes al integrar el SDK web. Los mensajes del SDK son los del bundle latest verificado el 28/09/2026 y pueden cambiar entre versiones. Los mensajes del navegador varían según el navegador. Cuando la causa depende de la configuración de la plataforma, la página indica qué llevar a infinity6.
I6Sdk is not defined
Síntoma: la consola muestra I6Sdk is not defined o window.I6Sdk is not a constructor.
Causa: el bundle todavía no había cargado cuando su código se ejecutó, o no llegó a cargar.
Qué verificar:
- El
<script src="...">del bundle es un script clásico, sinasync, y viene antes del<script type="module">. - En la pestaña Network, la petición del bundle terminó con estado 200.
- Si su página define Content-Security-Policy, permite la dirección del bundle en
script-src.
Failed to fetch
Síntoma: TypeError: Failed to fetch (Chrome), TypeError: NetworkError when attempting to fetch resource. (Firefox) o TypeError: Load failed (Safari) al llamar a requireUser(), user() o upload().
Causa: el navegador no completó la petición a la plataforma y no informa el motivo en el error. Causas comunes: el origen de su página no está habilitado para CORS con credenciales en la plataforma; falta de conexión; extensión del navegador bloqueando la petición.
Qué verificar:
- En la consola, busque un mensaje sobre CORS junto al error.
- En la pestaña Network, compruebe si la llamada aparece bloqueada o sin respuesta.
- Si es CORS, pida a infinity6 la habilitación del origen exacto de su página, con
https://y puerto, si corresponde. Consulte Cookies y CORS.
SyntaxError: is not valid JSON
Síntoma: un SyntaxError al llamar a user() o requireUser(). En Chrome el mensaje termina en is not valid JSON o es Unexpected end of JSON input (cuerpo vacío); en Firefox comienza con JSON.parse:; en Safari es JSON Parse error.
Causa: user() lee la respuesta de api/auth/me como JSON, y la respuesta recibida no era JSON. En este caso requireUser() rechaza la promesa y no llega a redirigir al login.
Qué verificar: en la pestaña Network, abra la llamada api/auth/me y revise el estado y el cuerpo de la respuesta. Lleve ambos a infinity6.
file must be a single File
Síntoma: Error: file must be a single File. al llamar a upload().
Causa: el valor de file no es un objeto File. Ocurre al pasar el elemento <input>, la lista input.files o undefined (ningún archivo seleccionado).
Qué verificar: pase input.files[0] y compruebe que exista antes (if (!file) return;). Consulte ingest().
Get upload URL failed with status
Síntoma: Error: Get upload URL failed with status seguido de un número.
Causa: el paso en que el SDK solicita a la plataforma la dirección de subida recibió una respuesta de error. El número es el estado HTTP devuelto por la plataforma.
Qué verificar: en la pestaña Network, la llamada POST a api/ingest/get-url/dataset/<tu-dataset>: el estado, el cuerpo de la respuesta y el cuerpo enviado (table y partitions). Compruebe también si los valores de dataset, table y partitions coinciden con los de su entorno.
Get upload URL returned no upload URL
Síntoma: Error: Get upload URL returned no upload URL.
Causa: la plataforma respondió con éxito, pero la respuesta no incluyó la dirección de subida esperada.
Qué verificar: en la pestaña Network, el cuerpo de la respuesta de la misma llamada. Llévelo a infinity6.
Upload failed with status
Síntoma: Error: Upload failed with status seguido de un número.
Causa: la subida del archivo a la dirección firmada recibió una respuesta de error. Esta subida va directamente a la dirección firmada devuelta por la plataforma, sin pasar por la API de la plataforma y sin enviar la cookie de sesión.
Qué verificar: en la pestaña Network, la petición PUT: el estado y el cuerpo de la respuesta. Guarde el estado, la hora y el nombre del dataset.
Network error occurred during upload
Síntoma: Error: Network error occurred during upload.
Causa: la subida del archivo no se completó. El navegador dispara este error cuando la petición PUT no se completa, lo que incluye pérdida de conexión y también bloqueo del navegador por CORS en el destino de la subida.
Qué verificar: en la consola, un mensaje de CORS; en la pestaña Network, el PUT bloqueado o cancelado; la conexión. Si es CORS en el destino, lleve a infinity6 el origen de su página y el mensaje exacto de la consola.
La subida tuvo éxito, pero los datos no aparecen
Síntoma: upload() se resuelve normalmente (devuelve ingestId), pero el contenido esperado no aparece en el destino.
Causa probable: el archivo enviado no estaba en el formato requerido — JSON Lines (un objeto por línea) comprimido con gzip, extensión .json.gz. El SDK no valida esto: un archivo en otro formato aun así devuelve éxito en la llamada de subida.
Qué verificar: confirmar que el archivo es .json.gz de verdad (no solo renombrado) y que cada línea del contenido descomprimido es un objeto JSON válido aislado. Si el formato es correcto y el dato todavía no aparece, contactar al soporte con el ingestId devuelto por la llamada.
La página vuelve al login en bucle
Síntoma: después de iniciar sesión, la página redirige al login nuevamente, o user() no devuelve el perfil.
Causa: la cookie de sesión no se está guardando o enviando. La cookie de la plataforma es SameSite=None; Secure. Causas a verificar:
- Su página se sirve por HTTP. La cookie solo viaja por HTTPS.
- El navegador bloquea o aísla cookies de terceros. En general, su página y la plataforma pertenecen a sitios diferentes, por lo que la cookie de sesión se trata como de terceros. Safari las bloquea por defecto; Firefox aísla esas cookies por sitio por defecto; en Chrome depende de la configuración del usuario.
- El origen no está habilitado para CORS con credenciales (en este caso el error suele ser Failed to fetch, descrito arriba).
Qué verificar: compruebe si la página está en HTTPS; repita la prueba en otro navegador o perfil sin bloqueo de cookies de terceros; en la pestaña Application (Cookies), vea si aparece la cookie de la plataforma.
¿No encontró su caso? Reúna el estado y el cuerpo de la respuesta de la pestaña Network, el mensaje de la consola y la hora del error.
Soporte
Soporte a la implementación
Canales oficiales para resolver dudas durante la integración.
Correo de soporte técnico
Respuesta en hasta 1 día hábil
Envíe dudas de implementación con el contexto del paso actual.
Enviar correoRespuesta de acuerdo con la fila de atención
Atención directa para dudas rápidas de integración.
Asistente de soporte
Respuesta inmediata
Asistente de documentación e implementación de i6.
