Backend Node.js responsável pela integração com IXCSoft, automação de agendamento de Ordens de Serviço (OS), sugestões inteligentes via IA (OpenAI), e integração com serviços de voz/texto.
- Sugestão de agendamento de OS por período (manhã/tarde) conforme disponibilidade de técnicos.
- Integração com IXCSoft (API REST) para consulta e atualização de OS.
- Suporte a respostas em texto e áudio (TTS/STT via Google Cloud/OpenAI).
- Controle de setores e vínculos de técnicos via arquivos de dados e API.
- Mensagens de confirmação e atualização de OS amigáveis e detalhadas.
backend/
├── app/ # Lógica principal, dados, mocks
├── routes/ # Rotas Express
├── services/ # Integrações externas (IXC, OpenAI, Voz)
├── config/ # Configurações gerais
├── tests/ # Scripts e testes automatizados
├── server.js # Inicialização do servidor Express
└── index.js # Entry point
- Variáveis de Ambiente:
Crie um arquivo
.envcom as seguintes variáveis (exemplo):IXC_API_TOKEN=seu_token_ixc OPENAI_API_KEY=sua_api_key_openai GOOGLE_APPLICATION_CREDENTIALS=caminho/para/credencial.json PORT=3001 ...
- Instale as dependências:
npm install
npm startO backend será iniciado na porta definida no .env (padrão: 3001).
Scripts de teste estão em /tests. Exemplo de execução:
node tests/testeAgendamentoOsMock.jsRequisição para endpoint de sugestão:
POST /webhook
Content-Type: application/json
{
"ordemServico": { ... },
"responderComAudio": false
}- O campo
responderComAudiocontrola se a resposta será em áudio ou texto. - O sistema retorna
{ sugestao, alternativas }.
Confirmações e mensagens de atualização são detalhadas e amigáveis, incluindo assunto, data e período (manhã/tarde).
- Para integração de voz, configure as credenciais do Google Cloud no
.env. - Os vínculos de técnicos/setores são controlados via
app/data/vinculos_tecnicos_setores.json. - O filtro de técnicos ativos é feito via API de funcionários.
- express, axios, mongoose, dotenv, openai, @google-cloud/text-to-speech, dayjs, twilio, etc.
Dúvidas ou sugestões? Abra uma issue ou entre em contato com o time de desenvolvimento.