Gerenciar migrações de email pela API

Gerencie migrações de email pela API TrekMail. Teste conexões, inicie importações, monitore o progresso, cancele, repita e exclua tarefas.

Detalhes do artigo

Tipo, dificuldade, planos e data da última atualização.

Tipo
Referência
Dificuldade
Intermediário
Planos
Starter · Pro · Agency
Última atualização
9 de set de 2026

A API de Migração permite importar emails de qualquer provedor IMAP para uma caixa de correio TrekMail por meio de uma integração ou agente. Você pode testar conexões, iniciar importações, monitorar o progresso por pasta, cancelar tarefas em execução, repetir falhas e limpar registros antigos.

Antes de começar

  • Você precisa do plano Starter ou superior. O plano Nano não inclui a ferramenta de migração.
  • Pro e Agency podem iniciar, cancelar, repetir e excluir migrações pela API (migrations:read + migrations:write). Starter pode ler migrações pela API e executar novas pelo painel.
  • Uma migração pode ser executada por conta de cada vez. Inicie outra após o término da atual ou cancele-a primeiro.

Escopos

Escopo Função Planos
migrations:read Listar migrações e ver detalhes Starter · Pro · Agency
migrations:write Testar conexões, iniciar, cancelar, repetir e excluir Pro · Agency

Endpoints

Testar conexão

POST /api/v1/migrations/test-connection
Scope: migrations:write

Valida as credenciais IMAP e retorna as pastas de origem com suas contagens de mensagens. Use antes de iniciar uma migração para confirmar a conexão e permitir que o usuário escolha as pastas a importar.

Corpo da solicitação:

Campo Tipo Obrigatório Descrição
source_host string Sim Nome do host do servidor IMAP (por exemplo, imap.gmail.com)
source_port inteiro Sim Porta IMAP (normalmente 993 para SSL)
source_security string Sim ssl, tls ou none
source_email string Sim Endereço de email no servidor de origem
source_username string Não Nome de usuário, se for diferente do email
source_password string Sim Senha ou senha de aplicativo

Resposta (sucesso):

{
  "success": true,
  "folders": {
    "INBOX": 1234,
    "Sent": 567,
    "Drafts": 12,
    "Work": 89
  }
}

Resposta (falha): 422 com o código de erro connection_failed.

Listar migrações

GET /api/v1/migrations
Scope: migrations:read

Retorna uma lista paginada das tarefas de migração da sua conta.

Parâmetros de consulta:

Parâmetro Tipo Descrição
status string Filtrar por status (pending, validating, planning, processing, completed, failed, cancelled)
mailbox_id inteiro Filtrar pela caixa de destino
per_page inteiro Resultados por página (padrão: 20, máximo: 100)

Obter migração

GET /api/v1/migrations/{id}
Scope: migrations:read

Retorna o status detalhado da migração, incluindo o progresso por pasta.

Resposta:

{
  "data": {
    "id": 5,
    "mailbox_id": 10,
    "mailbox_email": "support@acme.com",
    "provider": "gmail",
    "source_host": "imap.gmail.com",
    "source_email": "j***e@gmail.com",
    "status": "processing",
    "progress": 45,
    "total_messages": 1234,
    "imported_messages": 556,
    "failed_messages": 2,
    "skipped_duplicates": 12,
    "selected_folders": ["INBOX", "Sent"],
    "import_since": "2025-01-01",
    "skip_duplicates": true,
    "folders": [
      { "name": "INBOX", "status": "processing", "expected": 1000, "imported": 450, "failed": 2, "skipped": 10 },
      { "name": "Sent", "status": "pending", "expected": 234, "imported": 0, "failed": 0, "skipped": 0 }
    ],
    "error_message": null,
    "poll_hint_seconds": 10,
    "started_at": "2026-03-13T10:00:00+00:00",
    "finished_at": null,
    "created_at": "2026-03-13T09:59:50+00:00"
  }
}

poll_hint_seconds informa a frequência de consulta: 5 segundos durante pending/validating/planning, 10 segundos durante processing e null nos estados finais.

source_email é mascarado por segurança (por exemplo, j***e@gmail.com).

Iniciar migração

POST /api/v1/migrations
Scope: migrations:write

Inicia uma nova migração de email. Somente uma migração pode ser executada por conta de cada vez.

Corpo da solicitação:

Campo Tipo Obrigatório Descrição
mailbox_id inteiro Sim ID da caixa TrekMail de destino
provider string Sim gmail, outlook, yahoo, icloud ou generic_imap
source_host string Sim Nome do host do servidor IMAP
source_port inteiro Sim Porta IMAP
source_security string Sim ssl, tls ou none
source_email string Sim Endereço de email de origem
source_username string Não Nome de usuário, se diferente do email
source_password string Sim Senha de origem ou de aplicativo
selected_folders string[] Não Pastas específicas a importar (padrão: todas)
import_since data Não Importar apenas emails posteriores a esta data
skip_duplicates booleano Não Ignorar mensagens duplicadas (padrão: true)

Resposta: 201 com o recurso da tarefa de migração.

Respostas de erro:

Status Código Significado
409 conflict Já existe uma migração ativa nesta conta
503 migration_capacity_reached O limite de migrações do servidor foi atingido (pode ser repetida)
422 validation_error Parâmetros inválidos ou caixa não encontrada

Cancelar migração

POST /api/v1/migrations/{id}:cancel
Scope: migrations:write

Cancela uma migração em execução. Ela deve estar em um estado ativo (pending, validating, planning ou processing).

Repetir migração

POST /api/v1/migrations/{id}:retry
Scope: migrations:write

Repete uma migração failed ou cancelled. Redefine o progresso como 0 e reinicia o processo de validação.

Retorna 409 se outra migração já estiver em execução na conta.

Migrações parciais

A TrekMail pode tentar continuar uma migração parcialmente concluída quando for seguro. Verifique o status antes de agir. Se ela não estiver mais progredindo, confira as credenciais e os limites da conta de origem e use o endpoint de repetição ou a ação Continuar do painel. Não suponha que uma importação parcial terminará sem verificar seu status final.

Excluir migração

DELETE /api/v1/migrations/{id}
Scope: migrations:write

Exclui um registro de migração. A migração não pode estar em execução (cancele-a primeiro).

Retorna 204 No Content em caso de sucesso.

Limites de taxa

As operações de gravação de migração têm um limite próprio de 10 solicitações por minuto por token, separado do limite padrão da API.

O servidor também aplica um limite global de simultaneidade (padrão: 20 migrações simultâneas). Quando ele é atingido, novas solicitações retornam 503 com migration_capacity_reached e retryable: true. Aguarde alguns minutos e tente novamente.

Eventos de auditoria

Todas as ações da API de migração são registradas no log de auditoria:

  • migration_started: uma nova migração foi iniciada
  • migration_cancelled: uma migração em execução foi cancelada
  • migration_retried: uma migração com falha ou cancelada foi repetida
  • migration_deleted: um registro de migração foi excluído

Ferramentas MCP

Os mesmos recursos estão disponíveis pelo servidor MCP, incluindo testar, listar, iniciar, cancelar, repetir, retomar, atualizar senhas e excluir migrações individuais e em massa. Um administrador MCP hospedado localmente pode exigir aprovação explícita para gravações de migração. Consulte Conectar agentes de IA (MCP) para obter detalhes.

API de migração em massa

A API de Migração em Massa permite migrar várias contas ao mesmo tempo com dados no formato CSV. Consulte Migração de email em massa para ver o guia e Formato CSV de migração em massa para conhecer o formato dos dados.

Endpoints

Método Endpoint Escopo Descrição
POST /api/v1/migrations/bulk/preview migrations:write Visualizar e validar dados CSV
POST /api/v1/migrations/bulk migrations:write Iniciar um lote de migração em massa
GET /api/v1/migrations/bulk migrations:read Listar lotes de migração em massa
GET /api/v1/migrations/bulk/{id} migrations:read Obter detalhes do lote e status de cada tarefa
POST /api/v1/migrations/bulk/{id}:cancel migrations:write Cancelar o lote inteiro
POST /api/v1/migrations/bulk/{id}:retry migrations:write Repetir tarefas com falha no lote
POST /api/v1/migrations/bulk/{id}:resume migrations:write Retomar um lote pausado
DELETE /api/v1/migrations/bulk/{id} migrations:write Excluir o registro do lote
PATCH /api/v1/migrations/bulk/{id}/jobs/{job}/password migrations:write Atualizar a senha de origem de uma tarefa com falha

Solicitação de visualização

POST /api/v1/migrations/bulk/preview
Scope: migrations:write
Campo Tipo Obrigatório Descrição
data string Sim Dados CSV (uma linha por registro)
provider string Não gmail, outlook, yahoo, icloud, generic_imap
source_host string Não Host IMAP (se o provedor for generic_imap)
source_port inteiro Não Porta IMAP (padrão 993)
source_security string Não ssl, tls, none
per_row_server booleano Não Cada linha tem sua configuração de servidor (formato de 6 colunas)

A resposta inclui linhas categorizadas (valid, invalid_source_email, invalid_destination, etc.), limites do plano, estimativa de tempo e informações de armazenamento.

Solicitação para iniciar lote

POST /api/v1/migrations/bulk
Scope: migrations:write

Os mesmos campos da visualização, mais:

Campo Tipo Obrigatório Descrição
name string Não Nome do lote (gerado automaticamente se vazio)
folder_strategy string Não all, standard, inbox_only (padrão: all)
import_since string Não Filtro de data (YYYY-MM-DD)
skip_duplicates booleano Não Ignorar mensagens duplicadas (padrão: true)
idempotency_key string Não Chave de idempotência fornecida pelo cliente

Limites de simultaneidade

Plano Máximo de linhas por lote Simultâneas por conta
Starter 100 2
Pro 300 5
Agency 1,000 10

O limite global do servidor (20 migrações simultâneas) é compartilhado entre migrações individuais e em massa.

Ferramentas MCP

As ferramentas MCP para migração em massa são preview_bulk_migration, start_bulk_migration, list_bulk_migrations, get_bulk_migration, cancel_bulk_migration, retry_bulk_migration, resume_bulk_migration, delete_bulk_migration e update_bulk_migration_job_password. Um administrador MCP hospedado localmente pode exigir aprovação explícita para ações de gravação.

Soluções rápidas

  • 403 "insufficient_scope": seu token precisa de migrations:read ou migrations:write. Crie outro token com os escopos corretos.
  • 403 "token_scope_blocked_by_plan": os escopos de migração exigem um plano pago (Starter ou superior).
  • 409 "active migration running": cancele a migração existente ou aguarde sua conclusão.
  • 503 "migration_capacity_reached": o servidor está sem capacidade. Tente novamente em alguns minutos.
  • 422 no teste de conexão: verifique credenciais IMAP, nome do host, porta e configuração de segurança.

Artigos relacionados

Vá para guias próximos que dão continuidade ao fluxo de trabalho.

Usamos tecnologias necessárias para operar e proteger o TrekMail. Ao confirmar, você também permite análises limitadas e medição de publicidade descritas em nossa Política de Cookies.

Entrar no TrekMail

Acesse seu painel, caixas de correio e DNS.

ou

12 caracteres as senhas coincidem

ou

E-mail de redefinição enviado

Se existir uma conta com este e-mail, enviamos as instruções para redefinir a senha.

Ao continuar, você concorda com os Termos e a Política de Privacidade do TrekMail.