generalbots/bottemplates/crm/attendance.gbai/attendance.gbdialog/resolve-chat.bas
Rodrigo Rodriguez (Pragmatismo) 037db5c381 feat: Major workspace reorganization and documentation update
- Add comprehensive documentation in botbook/ with 12 chapters
- Add botapp/ Tauri desktop application
- Add botdevice/ IoT device support
- Add botlib/ shared library crate
- Add botmodels/ Python ML models service
- Add botplugin/ browser extension
- Add botserver/ reorganized server code
- Add bottemplates/ bot templates
- Add bottest/ integration tests
- Add botui/ web UI server
- Add CI/CD workflows in .forgejo/workflows/
- Add AGENTS.md and PROD.md documentation
- Add dependency management scripts (DEPENDENCIES.sh/ps1)
- Remove legacy src/ structure and migrations
- Clean up temporary and backup files
2026-04-19 08:14:25 -03:00

63 lines
2 KiB
QBasic

PARAM session_id AS STRING LIKE "uuid" DESCRIPTION "ID da sessão atendida" OPTIONAL
PARAM status AS STRING LIKE "resolved" DESCRIPTION "Finalizar o chat ou aguardar (resolved, pending_customer)" OPTIONAL
PARAM summary AS STRING LIKE "Dúvida resolvida com sucesso" DESCRIPTION "Breve resumo da solução" OPTIONAL
DESCRIPTION "Resolve a conversa, registrando o final no CRM (atividade) ou deixa pendente pelo cliente."
IF NOT status THEN
status = "resolved"
END IF
IF status = "resolved" THEN
IF NOT summary THEN
TALK "A sessão foi totalmente concluída? Qual seria o resumo?"
HEAR summary AS STRING
END IF
END IF
' Tratar ID da sessão conversacionalmente
IF NOT session_id THEN
my_sessions = GET "/api/attendance/queue?status=active"
IF UBOUND(my_sessions) = 0 THEN
TALK "Você não tem nenhuma sessão de atendimento ativa no momento."
RETURN
END IF
IF UBOUND(my_sessions) = 1 THEN
session_id = FIRST(my_sessions).session_id
ELSE
TALK "Você tem várias sessões ativas. Qual delas quer resolver? Diga o nome do cliente."
FOR EACH s IN my_sessions
TALK "- **" + s.user_name + "**"
NEXT s
HEAR query AS STRING
FOR EACH s IN my_sessions
IF INSTR(LCASE(s.user_name), LCASE(query)) > 0 THEN
session_id = s.session_id
END IF
NEXT s
IF NOT session_id THEN
TALK "Sessão não identificada."
RETURN
END IF
END IF
END IF
resolution_payload = #{
status: status,
resolution_summary: summary,
resolved_by: GET "session.user_id",
resolved_at: FORMAT(NOW(), "YYYY-MM-DD HH:mm:ss")
}
PUT "/api/attendance/sessions/" + session_id + "/resolve", resolution_payload
IF status = "resolved" THEN
TALK "✅ **Atendimento Encerrado!**"
TALK "A conversa foi marcada como **Resolvida**."
TALK "Resumo: " + summary
ELSE
TALK "⏳ **Aguardando Cliente**"
TALK "O atendimento ficará pausado aguardando retorno do cliente."
END IF
RETURN session_id