Mapa de Servicos API (Frontend)

Pasta: src/services/

ArquivoFuncao principalEndpoints chave
whatsapp.tsGerenciar canaisfetchWhatsapps, connectSession, disconnectSession, resetBaileysConnection
tickets.tsTickets/atendimentosfetchTickets, createTicket, updateTicket
contacts.tsContatosfetchContacts, updateContact, updateContactTags
messages.tsMensagenssendMessage, sendIndividualMessage
funnel.tsFunil de vendasfetchPipelines, fetchStages, fetchOpportunities, createOpportunity
kanban.tsKanbanfetchKanbans, fetchContactsKanban, updateContactKanban
queues.tsFilasfetchQueues
users.tsUsuariosfetchAllUsers, updateUserIsOnline
tags.tsEtiquetasfetchTags, createTag
waba-meta.tsMeta/WABAlistTemplates, createTemplate, uploadWabaImageManual
waba-calls.tsChamadas WABAsendWabaCallPermissionRequest, initiateWabaCall
bulk.tsEnvio em massasendBulkSms, sendBulkRcsInfobip, etc
tenants.tsConfiguracoes tenantfetchTenantById, updateTenantSMSToken, updateTenantInfobipRCSToken
chatflow.tsFlowBuilderfetchChatFlows
private-chat.tsChat internofetchPrivateGroups (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)

RotaArquivoChave/Token
GET /api/phone-lookup?phone=api/phone-lookup/route.tsWorkBuscas: qdAIQiafgBVqhPSAvzQnVOxq
GET /api/cpf-lookup?cpf=api/cpf-lookup/route.tsWorkBuscas: fZffGIblJbPKVwegpyhRHxsb
POST /api/waba-webrtc-statusapi/waba-webrtc-status/route.tsMeta Graph API
POST /api/link-preview?url=api/link-preview/route.ts(vendor)

Backend endpoints criticos

EndpointFuncaoNotas
POST /whatsapp/:id/reset-baileysRessincronizar sessao BaileysLimpa Signal Protocol state
GET /messagesContact/:contactIdHistorico do contatoUsado por useSpyMessages
POST /individualCriar ticket + contato novoUsado em StartConversationModal
PUT /contact-tags/:contactIdAtualizar etiquetas do contatobody: { tags: number[] }
POST /messages/:ticketIdEnviar mensagem no ticketbody: { body, fromMe, read }
POST /internalChat/sendNotificar agente internobody: { senderId, receiverId, message, contactId }

Catalogo completo de services (src/services/)

Autenticacao e Usuarios

  • auth.ts — login, refresh token, logout
  • users.ts — fetchAllUsers, updateUserIsOnline, updateUserConfigs
  • user-tenants.ts — usuarios por tenant
  • custom-profiles.ts — perfis customizados
  • superadmin.ts — operacoes superadmin
  • superadmin-config.ts — configuracoes globais

Canais / WhatsApp

  • whatsapp.tsPRINCIPAL — fetchWhatsapps, connect/disconnect, resetBaileysConnection
  • messages.ts — sendMessage, sendIndividualMessage
  • individual-message.ts — Nova conversa avulsa (POST /individual)
  • waba-meta.ts — templates WABA, criar/listar/deletar, uploadWabaImageManual
  • waba-calls.ts — chamadas WABA (permissao + iniciar)
  • channel-templates.ts — templates por canal
  • channel-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.ts
  • dialog360.ts + dialog360-bulk.ts + dialog360-calls.ts + dialog360-health.ts + dialog360-messages.ts + dialog360-meta.ts
  • meta-channel-health.ts — saude do canal Meta
  • sms.ts — SMS basico
  • vapi.ts — VAPI (voz AI)
  • wavoip.ts — WaVoIP
  • webchat.ts — Widget webchat
  • uazapi-interactive.ts — UZApi mensagens interativas

Atendimento

  • tickets.tsPRINCIPAL — CRUD tickets, transferir, pausar, fechar
  • ticket-action.ts — acoes em tickets
  • contacts.tsPRINCIPAL — CRUD contatos, updateContactTags
  • tags.ts — etiquetas
  • queues.ts — filas de atendimento
  • reasons.ts — motivos de fechamento
  • notes.ts — notas internas
  • evaluations.ts — avaliacoes de atendimento
  • farewell.ts — mensagens de despedida
  • fast-reply.ts — respostas rapidas
  • pause-logs.ts — logs de pausa
  • call-logs.ts — logs de ligacoes
  • protocols.ts — protocolos

CRM / Funil

  • funnel.ts — pipelines, stages, opportunities
  • kanban.ts — fetchKanbans, fetchContactsKanban, updateContactKanban
  • wallets.ts — carteiras (wallet)
  • tasks.ts — tarefas
  • schedules.ts — agendamentos

Integrações de Conteudo

  • instagram.ts — comentarios Instagram
  • facebook.ts — comentarios Facebook
  • tiktok.ts — TikTok
  • youtube.ts — YouTube
  • google-calendar.ts — Google Calendar
  • agenda.ts — agenda interna
  • woocommercePedidosService.ts — pedidos WC
  • woocommerceProdutosService.ts — produtos WC

IA e Automacao

  • copilot.ts — IA Copilot (generateTemplateViaCopilot)
  • copilot-profile-suggest.ts — sugestoes de perfil via IA
  • chatflow.ts — FlowBuilder (chat bots)
  • conversion.ts — conversoes Meta
  • ticket-action.ts — acoes automaticas

Relatorios e Analytics

  • dashboard.ts — dados do dashboard
  • reports.ts — relatorios
  • audit-log.ts — log de auditoria

Financeiro / Admin

  • tenants.ts — CRUD tenants
  • plans.ts — planos
  • license.ts — licenca
  • campaigns.ts — campanhas

Sistema

  • settings.ts — configuracoes gerais
  • tenant-variables.ts — variaveis do tenant
  • gallery.ts — galeria de midias
  • storage-config.ts — S3 config
  • push-service.ts — push notifications
  • support-chat.ts — suporte interno
  • internal-notifications.ts — notificacoes internas
  • private-chat.ts — chat privado entre agentes
  • bulk.tsPRINCIPAL MASSA — sendBulkSms, sendBulkRcsInfobip, etc
  • lid-consolidation.ts — consolidacao de LID (WhatsApp)
  • tutorials.ts — tutoriais
  • api-config.ts — configuracao de API
  • typography.ts — tipografia
  • todos.ts — lista de tarefas
  • email-imap.ts — email IMAP
  • teams.ts — equipes
  • groups.ts — grupos WhatsApp