Assinantes
A base de clientes finais do seu provedor. Cada assinante é uma pessoa/empresa cadastrada com dados pessoais, plano, histórico e interações.

Permissão: assinantes:view.
Onde fica
/assinantes (lista) e /assinantes/[id] (detalhe).
A lista
Cada linha é um assinante com colunas: nome, telefone, e-mail, plano, status (ativo / inadimplente / cancelado / suspenso), última interação, tags.
Filtros
- Busca livre (nome, telefone, e-mail)
- Status
- Plano
- Tag
- Cidade / bairro (se IXC integrado)
- Data de cadastro
Detalhe do assinante
Tela com 5 abas: Visão geral · Interações · Plano e financeiro · Equipamento · Histórico de mudanças.
Bug conhecido: o detalhe expandido renderiza
interactions: []sempre (a query não está populando). Estamos corrigindo. Para ver interações, vá em/historicofiltrando pelo telefone.
Criar assinante
Botão + Novo assinante. Campos obrigatórios: nome e telefone (único). Demais opcionais (e-mail, CPF/CNPJ, endereço, plano, tags, notas).
POST /api/subscribers. Salva e abre detalhe.
Importar / exportar
Botão Exportar (CSV/JSON, respeita filtros). Botão Importar (CSV em massa).
Bulk actions
Marque vários para: aplicar tag, mudar status, disparar campanha, exportar selecionados.
Sincronização com IXC
Quando IXC está conectado:
- Busca por telefone funciona com base do IXC
- Status financeiro atualizado em tempo real
- Plano contratado vem do IXC
- Faturas carregadas via API
Edge cases
Assinante duplicado
A criação bloqueia se telefone já existe (constraint UNIQUE). Importação CSV pula silenciosamente.
Apagar com interações vinculadas
Retorna HTTP 409. Reatribuir/apagar as interactions primeiro.
LGPD — direito ao esquecimento
Vá em /config/compliance → Pedidos de erasure → aprove → execute.
Próximo passo
→ Agenda
→ Importação