Skip to main content

Visão geral

As importações em lote permitem enviar arquivos CSV mapeados para campos Gu1 usando mapeamentos salvos (mappingId). O hub do dashboard (Importações em lote) usa as mesmas rotas da API. Prefixo base: todas as rotas abaixo ficam sob /batch-import (por exemplo GET https://api.gu1.ai/batch-import/mappings).

Autenticação

Use a mesma API key Bearer ou sessão do restante da API. As requisições são por organização; os mappingId pertencem apenas à organização atual.

Nome do campo: mappingId (não mapperId)

As importações multipart esperam o campo de formulário mappingId, o UUID retornado ao listar ou criar mapeamentos (GET / POST /batch-import/mappings). Não existe campo mapperId.

“Plataforma” vs CSV personalizado

Não há um único parâmetro type: custom | platform. O comportamento depende da rota e se você envia mapeamento:
CenárioComo funciona
Transações — formato nativoPOST /transactions/batch/upload sem mappingId nem columnMapping: o servidor faz parse de CSV / Excel / JSON com o parser nativo. Ver Criar transações em lote.
Transações — mapeamento salvoO mesmo endpoint de upload com mappingId, ou columnMapping como string JSON (apenas CSV). Também disponível como POST /batch-import/import/transactions.
Entidades — aba Entidades do hubPOST /batch-import/import/entities (CSV multipart; mesmo wizard do hub).
Entidades — CSV multipart (API)POST /batch-import/import/entities (padrão manual).
Entidades — colunas CSV arbitráriasPOST /batch-import/import/entities com file + mappingId.
Eventos de usuárioPOST /batch-import/import/user-events com file + mappingId (target user_event).

Limites (todas as importações em lote)

Por padrão, um arquivo CSV por request em entidades e eventos de usuário. Transações: até 5 arquivos por multipart.
TipoEndpoint(s)Arquivos por requestMáx. linhas por arquivo / request
TransaçõesPOST /transactions/batch/upload, POST /batch-import/import/transactionsAté 5Conforme plano (teto 100.000 linhas/arquivo)
Entidades (CSV / hub)POST /batch-import/import/entities1Conforme plano; teto opcional via BULK_AUTOMATIC_ENTITY_MAX_ITEMS
Eventos de usuárioPOST /batch-import/import/user-events1Conforme plano; teto opcional via USER_EVENT_BATCH_IMPORT_MAX_ROWS

Limites por plano

Vale para linhas de transação por arquivo, linhas de entidade por import CSV e linhas de evento por import:
PlanoMáx. linhas por arquivo / import
Freemium4.000
Startup12.000
Growth30.000
Enterprise100.000
Usage based100.000
Acima do limite: 400 com TOO_MANY_ITEMS (entidades, eventos) ou erro de limite por plano (transações). Descobrir limites em runtime: GET /individual-organization/batch-upload-enabled retorna plan, maxTransactionsPerFile, maxBulkEntityItemsPerImport, maxUserEventRowsPerFile e mapas por plano. Tamanho do body JSON (batch transações): máx. 50 MB por request; 150 MB multi-arquivo. Ver Criar transações em lote.

Import entidades: manual vs automático

Mesmo job em fila; modo via importMode (JSON) ou entityImportMode (CSV multipart).
Manual (manual)Automático (automatic)
Dados básicos por tax IDNãoSim
Nomesuggested_name / suggestedName obrigatórioRecomendado
País (ISO2)Obrigatóriocountry do lote e/ou country_code por linha (linha prevalece)Igual (automático: só AR, BR, CL)
EnrichmentsOpcionaisPadrão todos ativos
depth acionistasNãoSim (0–5)
PaísesQualquer ISO2 válidoAR, BR, CL
Default APIPOST /batch-import/import/entitiesPOST /batch-import/import/entities com entityImportMode=automatic
Detalhes: Importar entidades (CSV).

Falhas por linha e códigos estáveis

Cada linha com falha inclui code estável e message legível. Baixe CSV ou JSON por tipo de job. Catálogo: Códigos de falha batch.
RecursoCSVJSON
TransaçõesGET /batch-import/transaction-jobs/{jobId}/failures.csvGET …/failures
EventosGET /batch-import/user-event-jobs/{jobId}/failures.csvGET …/failures
EntidadesGET /batch-import/entity-jobs/{jobId}/failures.csvGET …/failures (inclui skips[] para taxId duplicado)
Fluxo típico: upload → consultar Histórico unificado até completed / failed → buscar endpoint de falhas se failed > 0 ou inspecionar jobFailure quando o job inteiro abortou.
Breaking change CSV (2026-06-04): CSVs de falha agora incluem coluna code. Parsers que assumiam exatamente duas colunas devem ler pelo nome do header.

Documentação relacionada

  • Índice de endpoints — tabela de rotas; cada operação tem página própria com badge GET/POST na barra lateral (mesmo padrão do restante da API).
  • Criar transações em lote — multipart e limites para arquivos de transações.