Mapa de Servicos API (Frontend)
Pasta: src/services/
| Arquivo | Funcao principal | Endpoints chave |
|---|---|---|
| whatsapp.ts | Gerenciar canais | fetchWhatsapps, connectSession, disconnectSession, resetBaileysConnection |
| tickets.ts | Tickets/atendimentos | fetchTickets, createTicket, updateTicket |
| contacts.ts | Contatos | fetchContacts, updateContact, updateContactTags |
| messages.ts | Mensagens | sendMessage, sendIndividualMessage |
| funnel.ts | Funil de vendas | fetchPipelines, fetchStages, fetchOpportunities, createOpportunity |
| kanban.ts | Kanban | fetchKanbans, fetchContactsKanban, updateContactKanban |
| queues.ts | Filas | fetchQueues |
| users.ts | Usuarios | fetchAllUsers, updateUserIsOnline |
| tags.ts | Etiquetas | fetchTags, createTag |
| waba-meta.ts | Meta/WABA | listTemplates, createTemplate, uploadWabaImageManual |
| waba-calls.ts | Chamadas WABA | sendWabaCallPermissionRequest, initiateWabaCall |
| bulk.ts | Envio em massa | sendBulkSms, sendBulkRcsInfobip, etc |
| tenants.ts | Configuracoes tenant | fetchTenantById, updateTenantSMSToken, updateTenantInfobipRCSToken |
| chatflow.ts | FlowBuilder | fetchChatFlows |
| private-chat.ts | Chat interno | fetchPrivateGroups (CUIDADO: race condition) |
Servico critico: fetchPrivateGroups (race condition)
fetchPrivateGroups(userId) chamado em use-socket-chat.ts ao iniciar.
Se chamado antes do token estar no localStorage → 403 ERR_AUTH_TOKEN_MISSING → logout forcado.
Fix em use-socket-chat.ts:
setTimeout(() => {
try {
const raw = localStorage.getItem("token");
if (!raw) return; // token nao disponivel ainda
} catch { return; }
fetchPrivateGroups(userId).then(...).catch(() => {});
}, 500);Fix em api.ts — allowlist de URLs que nao forcam logout:
const isSilentBackgroundCall =
url.includes("/users/grupo-privado/") ||
url.includes("/users/chat-privado") ||
url.includes("/chat-privado/unread-preview");Endpoints de API Next.js (criados por nos)
| Rota | Arquivo | Chave/Token |
|---|---|---|
| GET /api/phone-lookup?phone= | api/phone-lookup/route.ts | WorkBuscas: qdAIQiafgBVqhPSAvzQnVOxq |
| GET /api/cpf-lookup?cpf= | api/cpf-lookup/route.ts | WorkBuscas: fZffGIblJbPKVwegpyhRHxsb |
| POST /api/waba-webrtc-status | api/waba-webrtc-status/route.ts | Meta Graph API |
| POST /api/link-preview?url= | api/link-preview/route.ts | (vendor) |
Backend endpoints criticos
| Endpoint | Funcao | Notas |
|---|---|---|
| POST /whatsapp/:id/reset-baileys | Ressincronizar sessao Baileys | Limpa Signal Protocol state |
| GET /messagesContact/:contactId | Historico do contato | Usado por useSpyMessages |
| POST /individual | Criar ticket + contato novo | Usado em StartConversationModal |
| PUT /contact-tags/:contactId | Atualizar etiquetas do contato | body: { tags: number[] } |
| POST /messages/:ticketId | Enviar mensagem no ticket | body: { body, fromMe, read } |
| POST /internalChat/send | Notificar agente interno | body: { senderId, receiverId, message, contactId } |
Catalogo completo de services (src/services/)
Autenticacao e Usuarios
auth.ts— login, refresh token, logoutusers.ts— fetchAllUsers, updateUserIsOnline, updateUserConfigsuser-tenants.ts— usuarios por tenantcustom-profiles.ts— perfis customizadossuperadmin.ts— operacoes superadminsuperadmin-config.ts— configuracoes globais
Canais / WhatsApp
whatsapp.ts— PRINCIPAL — fetchWhatsapps, connect/disconnect, resetBaileysConnectionmessages.ts— sendMessage, sendIndividualMessageindividual-message.ts— Nova conversa avulsa (POST /individual)waba-meta.ts— templates WABA, criar/listar/deletar, uploadWabaImageManualwaba-calls.ts— chamadas WABA (permissao + iniciar)channel-templates.ts— templates por canalchannel-history-import.ts— importar historico
BSPs (Business Solution Providers)
gupshup.ts+gupshup-bulk.ts+gupshup-calls.ts+gupshup-health.ts+gupshup-messages.ts+gupshup-meta.tsdialog360.ts+dialog360-bulk.ts+dialog360-calls.ts+dialog360-health.ts+dialog360-messages.ts+dialog360-meta.tsmeta-channel-health.ts— saude do canal Metasms.ts— SMS basicovapi.ts— VAPI (voz AI)wavoip.ts— WaVoIPwebchat.ts— Widget webchatuazapi-interactive.ts— UZApi mensagens interativas
Atendimento
tickets.ts— PRINCIPAL — CRUD tickets, transferir, pausar, fecharticket-action.ts— acoes em ticketscontacts.ts— PRINCIPAL — CRUD contatos, updateContactTagstags.ts— etiquetasqueues.ts— filas de atendimentoreasons.ts— motivos de fechamentonotes.ts— notas internasevaluations.ts— avaliacoes de atendimentofarewell.ts— mensagens de despedidafast-reply.ts— respostas rapidaspause-logs.ts— logs de pausacall-logs.ts— logs de ligacoesprotocols.ts— protocolos
CRM / Funil
funnel.ts— pipelines, stages, opportunitieskanban.ts— fetchKanbans, fetchContactsKanban, updateContactKanbanwallets.ts— carteiras (wallet)tasks.ts— tarefasschedules.ts— agendamentos
Integrações de Conteudo
instagram.ts— comentarios Instagramfacebook.ts— comentarios Facebooktiktok.ts— TikTokyoutube.ts— YouTubegoogle-calendar.ts— Google Calendaragenda.ts— agenda internawoocommercePedidosService.ts— pedidos WCwoocommerceProdutosService.ts— produtos WC
IA e Automacao
copilot.ts— IA Copilot (generateTemplateViaCopilot)copilot-profile-suggest.ts— sugestoes de perfil via IAchatflow.ts— FlowBuilder (chat bots)conversion.ts— conversoes Metaticket-action.ts— acoes automaticas
Relatorios e Analytics
dashboard.ts— dados do dashboardreports.ts— relatoriosaudit-log.ts— log de auditoria
Financeiro / Admin
tenants.ts— CRUD tenantsplans.ts— planoslicense.ts— licencacampaigns.ts— campanhas
Sistema
settings.ts— configuracoes geraistenant-variables.ts— variaveis do tenantgallery.ts— galeria de midiasstorage-config.ts— S3 configpush-service.ts— push notificationssupport-chat.ts— suporte internointernal-notifications.ts— notificacoes internasprivate-chat.ts— chat privado entre agentesbulk.ts— PRINCIPAL MASSA — sendBulkSms, sendBulkRcsInfobip, etclid-consolidation.ts— consolidacao de LID (WhatsApp)tutorials.ts— tutoriaisapi-config.ts— configuracao de APItypography.ts— tipografiatodos.ts— lista de tarefasemail-imap.ts— email IMAPteams.ts— equipesgroups.ts— grupos WhatsApp