Primeiros passos
Solução de problemas
Sintomas comuns ao integrar o SDK web, com a causa e o que verificar em cada um.
5 min de leitura
Esta página reúne os sintomas mais comuns ao integrar o SDK web. As mensagens do SDK são as do bundle latest verificado em 28/09/2026 e podem mudar entre versões. As mensagens do navegador variam conforme o navegador. Quando a causa depende de configuração da plataforma, a página indica o que levar à infinity6.
I6Sdk is not defined
Sintoma: o console mostra I6Sdk is not defined ou window.I6Sdk is not a constructor.
Causa: o bundle ainda não tinha carregado quando o seu código rodou, ou não chegou a carregar.
O que verificar:
- O
<script src="...">do bundle é um script clássico, semasync, e vem antes do<script type="module">. - Na aba Network, a requisição do bundle terminou com status 200.
- Se a sua página define Content-Security-Policy, ela permite o endereço do bundle em
script-src.
Failed to fetch
Sintoma: TypeError: Failed to fetch (Chrome), TypeError: NetworkError when attempting to fetch resource. (Firefox) ou TypeError: Load failed (Safari) ao chamar requireUser(), user() ou upload().
Causa: o navegador não completou a requisição à plataforma e não informa o motivo no erro. Causas comuns: a origem da sua página não está liberada para CORS com credenciais na plataforma; falta de conexão; extensão do navegador bloqueando a requisição.
O que verificar:
- No console, procure uma mensagem sobre CORS junto do erro.
- Na aba Network, veja se a chamada aparece bloqueada ou sem resposta.
- Se for CORS, peça à infinity6 a liberação da origem exata da sua página, com
https://e porta, se houver. Veja Cookies e CORS.
SyntaxError: is not valid JSON
Sintoma: um SyntaxError ao chamar user() ou requireUser(). No Chrome a mensagem termina em is not valid JSON ou é Unexpected end of JSON input (corpo vazio); no Firefox começa com JSON.parse:; no Safari é JSON Parse error.
Causa: user() lê a resposta de api/auth/me como JSON, e a resposta recebida não era JSON. Nesse caso requireUser() rejeita a promessa e não chega a redirecionar ao login.
O que verificar: na aba Network, abra a chamada api/auth/me e veja o status e o corpo da resposta. Leve esses dois dados à infinity6.
file must be a single File
Sintoma: Error: file must be a single File. ao chamar upload().
Causa: o valor de file não é um objeto File. Acontece ao passar o elemento <input>, a lista input.files ou undefined (nenhum arquivo escolhido).
O que verificar: passe input.files[0] e confira que ele existe antes (if (!file) return;). Veja ingest().
Get upload URL failed with status
Sintoma: Error: Get upload URL failed with status seguido de um número.
Causa: o passo em que o SDK pede à plataforma o endereço de envio recebeu uma resposta de erro. O número é o status HTTP devolvido pela plataforma.
O que verificar: na aba Network, a chamada POST para api/ingest/get-url/dataset/<seu-dataset>: o status, o corpo da resposta e o corpo enviado (table e partitions). Confira também se os valores de dataset, table e partitions são os do seu ambiente.
Get upload URL returned no upload URL
Sintoma: Error: Get upload URL returned no upload URL.
Causa: a plataforma respondeu com sucesso, mas a resposta não trouxe o endereço de envio esperado.
O que verificar: na aba Network, o corpo da resposta da mesma chamada. Leve-o à infinity6.
Upload failed with status
Sintoma: Error: Upload failed with status seguido de um número.
Causa: o envio do arquivo ao endereço assinado recebeu uma resposta de erro. Esse envio vai direto ao endereço assinado devolvido pela plataforma, sem passar pela API da plataforma e sem levar o cookie de sessão.
O que verificar: na aba Network, a requisição PUT: o status e o corpo da resposta. Guarde o status, o horário e o nome do dataset.
Network error occurred during upload
Sintoma: Error: Network error occurred during upload.
Causa: o envio do arquivo não foi concluído. O navegador dispara esse erro quando a requisição PUT não completa, o que inclui queda de conexão e também bloqueio do navegador por CORS no destino do envio.
O que verificar: no console, uma mensagem de CORS; na aba Network, o PUT bloqueado ou cancelado; a conexão. Se for CORS no destino, leve à infinity6 a origem da sua página e a mensagem exata do console.
A página volta ao login em repetição
Sintoma: depois de fazer login, a página redireciona ao login de novo, ou user() não devolve o perfil.
Causa: o cookie de sessão não está sendo guardado ou enviado. O cookie da plataforma é SameSite=None; Secure. Causas a verificar:
- A sua página é servida em HTTP. O cookie só trafega em HTTPS.
- O navegador bloqueia ou isola cookies de terceiros. Em geral, a sua página e a plataforma são de sites diferentes, então o cookie de sessão é tratado como de terceiros. O Safari bloqueia por padrão; o Firefox isola esses cookies por site por padrão; no Chrome depende da configuração do usuário.
- A origem não está liberada para CORS com credenciais (nesse caso o erro costuma ser Failed to fetch, descrito acima).
O que verificar: se a página está em HTTPS; repita o teste em outro navegador ou perfil sem bloqueio de cookies de terceiros; na aba Application (Cookies), veja se o cookie da plataforma aparece.
Não encontrou o seu caso? Reúna o status e o corpo da resposta da aba Network, a mensagem do console e o horário do erro.
