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 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.
