Ferramentas de Importação de Dados
As Ferramentas de Importação de Dados permitem a importação em massa de dados de clientes, corridas e veículos a partir de arquivos CSV. Este guia cobre todas as capacidades de importação, requisitos de formato de arquivo e melhores práticas para uma migração de dados bem-sucedida.
Acessando Ferramentas de Importação de Dados
Navegue até Admin > Ferramentas de Banco de Dados para acessar a interface de importação.
Requisitos:
- Acesso de Admin ao sistema
- Arquivos CSV formatados corretamente
- Dados que correspondam ao schema esperado
Visão Geral
Tipos de Importação Disponíveis
| Tipo de Importação | Origem | Propósito |
|---|---|---|
| Clientes | Arquivo CSV | Importar registros de clientes |
| Corridas | Arquivo CSV | Importar histórico de corridas |
| Veículos | Dados JSON | Importar frota de veículos |
| Dispositivos IoT | Dados JSON | Importar inventário de dispositivos |
| Cobranças Stripe | Exportação CSV | Importar histórico de pagamentos |
Fluxo de Importação
Prepare Seus Dados
Formate seu arquivo de dados de acordo com as especificações para cada tipo de importação.
Faça Upload do Arquivo
Use a interface de importação para fazer upload do seu arquivo através de arrastar e soltar ou navegador de arquivos.
Processe os Dados
O sistema processa seus dados de forma síncrona ou assíncrona dependendo do tamanho do arquivo.
Verifique os Resultados
Use as estatísticas de importação e verifique registros aleatórios para confirmar a importação bem-sucedida.
Importação de Clientes
Acessando Importação de Clientes
Em Ferramentas de Banco de Dados, localize o card "Importação de Clientes" e clique para acessar.
Requisitos de Formato CSV
Delimitador: Ponto e vírgula (;)
Colunas Obrigatórias:
ID- Identificador único (torna-seoriginal_id)
Colunas Suportadas:
| Nome da Coluna | Descrição | Formato |
|---|---|---|
| ID | Identificador único do cliente | Texto |
| Registration date | Quando o cliente se cadastrou | Data ISO |
| Name | Nome completo | Texto |
| Endereço de e-mail | Texto | |
| Phone country code | Código do país | Texto (ex: "+55") |
| Phone number | Número de telefone | Texto |
| Phone number is verified? | Status de verificação | TRUE/FALSE |
| Business account | Flag de conta empresarial | TRUE/FALSE |
| Document ID | Identificador de documento | Texto |
| Group ID | ID do grupo do cliente | Texto |
| Subscribed for emails | Opt-in de e-mail | TRUE/FALSE |
| Language | Idioma preferido | Texto (ex: "pt") |
| Device OS | Sistema operacional móvel | Texto |
| Device OS version | Versão do SO | Texto |
| App version | Versão do app usado | Texto |
| Credit card saved? | Flag de cartão salvo | TRUE/FALSE |
| Wallet (USD) | Saldo da carteira | Decimal |
| Bonus (USD) | Saldo de bônus | Decimal |
| Balance (USD) | Saldo total | Decimal |
| Debt (USD) | Débito pendente | Decimal |
| Total rides | Contagem de corridas | Inteiro |
| Last ride | Data da última corrida | Data ISO |
| Avg. feedback | Avaliação média | Decimal |
| Blocked | Está bloqueado | TRUE/FALSE |
Processo de Importação
Arquivos Pequenos (< 4 MB):
- Clique em "Selecionar Arquivo" ou arraste e solte
- Clique em "Importar"
- O processamento acontece de forma síncrona
- Os resultados são exibidos imediatamente
Arquivos Grandes (4+ MB):
- O upload inicia o processamento em lote
- O arquivo é dividido em lotes de 500 linhas
- O progresso é rastreado via jobs de importação
- Notificação quando completo
Resultados da Importação
Após a importação ser concluída, você verá:
- Processados: Total de linhas lidas do arquivo
- Importados: Novos registros criados
- Atualizados: Registros existentes atualizados
- Erros: Linhas que falharam na importação
Detalhes de Erros: Os primeiros 10 erros são mostrados com:
- Número da linha
- ID do cliente (se disponível)
- Mensagem de erro
Importação de Corridas
Acessando Importação de Corridas
Em Ferramentas de Banco de Dados, localize o card "Importação de Corridas" e clique para acessar.
Requisitos de Formato CSV
Delimitador: Ponto e vírgula (;)
Colunas Principais:
| Nome da Coluna | Descrição | Formato |
|---|---|---|
| ID | Identificador único da corrida | Texto |
| Subaccount | Nome da subconta | Texto |
| Start date | Hora de início da corrida | Data/hora ISO |
| End date | Hora de término da corrida | Data/hora ISO |
| Ride duration | Duração em minutos | Decimal |
| Pause duration | Tempo de pausa em minutos | Decimal |
| Ride distance (km) | Distância percorrida | Decimal |
| Vehicle model ID | Identificador do modelo | Texto |
| Vehicle ID | Identificador do veículo | Texto |
| Total cost (USD) | Custo da corrida | Decimal |
| User ID | Identificador do cliente | Texto |
| User name | Nome do cliente | Texto |
| User email | E-mail do cliente | Texto |
| Feedback | Avaliação dada | Inteiro (1-5) |
| Comment | Comentário do cliente | Texto |
Colunas Adicionais (50+ no total):
- IDs de zona (estacionamento, pago, proibido, bônus, limite de velocidade, proibido)
- Coordenadas de localização (posições de início/fim)
- Detalhes de assinatura
- Informações de pacote de preços
- Dados de precificação dinâmica
Comportamento da Importação
A importação de corridas automaticamente:
- Cria clientes ausentes (se o User ID for fornecido)
- Cria veículos ausentes (se o Vehicle ID for fornecido)
- Vincula corridas a clientes e veículos existentes
- Trata corridas duplicadas via upsert no ID da corrida
Resultados da Importação
Após a importação:
- Verifique as contagens totais nas Estatísticas do Banco de Dados
- Verifique a criação de clientes e veículos
- Revise quaisquer mensagens de erro
Importação de Veículos
Formato
A importação de veículos usa formato JSON (não CSV):
[
{
"vehicle_number": "VH-001",
"iot_imei": "123456789012345",
"vin": "1HGBH41JXMN109186",
"vehicle_model": "Scooter Pro"
},
{
"vehicle_number": "VH-002",
"iot_imei": "123456789012346"
}
]
Campos Obrigatórios
vehicle_number- Obrigatório - Identificador único para o veículo
Campos Opcionais
iot_imei- Número IMEI do dispositivo IoTvin- Número de Identificação do Veículovehicle_model- Nome ou ID do modelo- Campos adicionais conforme necessário
Resultado da Importação
Retorna resultados por veículo:
- Status de sucesso ou falha
- Mensagem de erro para linhas com falha
- Vinculação automática a dispositivos IoT por IMEI
Importação de Dispositivos IoT
Formato
A importação de dispositivos IoT usa formato JSON:
[
{
"imei": "123456789012345",
"device_type": "Rastreador",
"firmware_version": "2.1.0"
}
]
Campos Obrigatórios
imei- Obrigatório - Número IMEI do dispositivo
Vinculação a Veículos
Após a importação, os dispositivos podem ser vinculados a veículos:
- Manualmente via edição de veículo
- Automaticamente se o veículo tiver IMEI correspondente
- Via requisição PUT para a API
Rastreamento de Jobs de Importação
Como os Jobs Funcionam
Para arquivos grandes e importações em segundo plano:
- Job Criado: O sistema cria um registro em
import_jobs - Status: Processando: O arquivo está sendo analisado e importado
- Atualizações de Progresso: A contagem de linhas processadas aumenta
- Conclusão: O status muda para
completedoucompleted_with_errors
Status dos Jobs
| Status | Descrição |
|---|---|
pending | Job criado, aguardando início |
processing | Importando dados atualmente |
completed | Todas as linhas importadas com sucesso |
completed_with_errors | Importação concluída com alguns erros |
failed | Erro crítico interrompeu a importação |
Visualizando Jobs Ativos
Na página de Importação Stripe, os jobs ativos são exibidos com:
- Barra de progresso (processados/total de linhas)
- Indicador de status
- Contagens de Importados/Atualizados/Ignorados/Erros
- Hora de início e nome do arquivo
Polling de Jobs
O sistema consulta a cada 2 segundos por atualizações de jobs enquanto você está na página de importação.
Tratamento de Erros
Erros Comuns
| Erro | Causa | Solução |
|---|---|---|
| "ID Duplicado" | Registro já existe | Verifique duplicatas na origem |
| "Formato de data inválido" | Data não está no formato ISO | Use YYYY-MM-DD ou ISO completo |
| "Campo obrigatório ausente" | Faltando coluna obrigatória | Adicione a coluna ausente ao CSV |
| "Número inválido" | Não numérico em campo numérico | Corrija a formatação dos dados |
Limites de Erros
- O processamento para após 100 erros consecutivos
- Os primeiros 10 detalhes de erros são mostrados na UI
- Log de erros completo disponível no registro do job de importação
Tratando Importações Parciais
Se a importação parar no meio:
- Anote a última linha bem-sucedida
- Corrija os erros nas linhas restantes
- Reimporte apenas os dados restantes
- Ou limpe e reimporte tudo
Diretrizes de Tamanho de Arquivo
| Tamanho do Arquivo | Método de Processamento | Timeout |
|---|---|---|
| < 4 MB | Síncrono | 60 segundos |
| 4-10 MB | Lote em segundo plano | 300 segundos |
| 10+ MB | Lote em streaming | 300 segundos |
Dicas para Arquivos Grandes
- Divida arquivos muito grandes: Quebre em chunks de 50.000 linhas
- Teste primeiro: Importe uma pequena amostra antes da importação completa
- Horários de baixo tráfego: Execute importações grandes durante períodos de baixo tráfego
- Monitore o progresso: Acompanhe o status do job para identificar problemas
Estratégia de Importação Grande
Para importações que excedem 100.000 registros, considere dividir em múltiplas sessões com etapas de verificação entre cada lote. Isso facilita a identificação e resolução de problemas.
Tabelas de Staging
Como o Staging Funciona
- Dados CSV são carregados em uma tabela de staging (ex:
users_import) - A função RPC transforma e valida os dados
- Registros válidos são inseridos/atualizados na tabela principal
- A tabela de staging é limpa (ou retida para auditoria)
Tabelas de Staging
| Tabela Principal | Tabela de Staging |
|---|---|
| customers | users_import |
| rides | rides_import |
| vehicles | vehicles_import |
| stripe_charges | stripe_charges_import |
Melhores Práticas
Antes da Importação
- Faça backup dos dados existentes: Exporte os dados atuais primeiro
- Valide o formato CSV: Verifique delimitador, codificação, cabeçalhos
- Teste com amostra: Importe 10-20 linhas primeiro
- Anote as contagens atuais: Registre estatísticas para comparação
Durante a Importação
- Não navegue para outra página: Fique na página para importações síncronas
- Monitore o progresso: Acompanhe o status do job para importações grandes
- Anote quaisquer erros: Tire screenshots ou registre mensagens de erro
Após a Importação
- Verifique as contagens: Confira as Estatísticas do Banco de Dados
- Verifique registros aleatórios: Revise alguns registros importados
- Teste a funcionalidade: Garanta que os dados importados funcionam corretamente
- Documente a importação: Registre o que foi importado e quando
Transformação de Dados
Transformações Automáticas
Durante a importação, os dados são automaticamente:
- Aparados de espaços em branco
- Strings vazias convertidas para NULL
- Datas analisadas para timestamps
- Números analisados a partir de strings
- Strings booleanas (TRUE/FALSE/Yes/No) convertidas
Preparação Manual
Antes da importação, garanta:
- Sem linhas de cabeçalho extras
- Formatos de data consistentes
- Formatos de e-mail válidos
- Números de telefone formatados consistentemente
- Sem caracteres especiais em IDs
Solução de Problemas
Upload de Arquivo Falha
Possíveis Causas:
- Arquivo muito grande
- Tipo de arquivo errado
- Timeout de rede
Soluções:
- Reduza o tamanho do arquivo
- Garanta a extensão .csv
- Verifique a conexão de rede
Importação Conclui mas Sem Novos Registros
Possíveis Causas:
- Todos os registros já existem
- Coluna ID mapeia para registros existentes
- Upsert atualizou em vez de inserir
Soluções:
- Verifique atualizações (não apenas inserções)
- Verifique os valores da coluna ID
- Revise as estatísticas de importação cuidadosamente
Muitos Registros Falhando
Possíveis Causas:
- Delimitador errado (vírgula vs ponto e vírgula)
- Incompatibilidade de nome de coluna
- Problemas de formato de dados
Soluções:
- Verifique o delimitador ponto e vírgula
- Confira se os cabeçalhos das colunas correspondem exatamente
- Valide os formatos de dados
Verificação de Delimitador
As importações do Levy Fleets usam ponto e vírgula (;) como delimitador, não vírgula. Se você estiver exportando do Excel, certifique-se de salvar como "CSV UTF-8 (delimitado por ponto e vírgula)" ou converta seu arquivo antes de fazer upload.
Próximos Passos
- Recursos de Super Admin - Aprenda sobre administração da plataforma
- Sincronização de Dados Stripe - Importe dados de pagamento do Stripe
- Guia de Início Rápido - Comece com o gerenciamento de frota
Importação Concluída
Após importar seus dados com sucesso, verifique se tudo está funcionando corretamente fazendo verificações aleatórias em registros e testando funcionalidades principais como criação de corridas e busca de clientes.