Todas as funções do backend

Total: 1114 funções em 8 arquivos.

Cada função/método definido no código (extraído por AST), com a 1ª linha da docstring.

app.py (606 funções)

FunçãoO que faz (docstring)
_agendar_notificacao_feed()Dispara em background o envio de e-mails de novidade aos assinantes.
_agente_impressoras_detectadas()Retorna {'lista': [...], 'em': iso, 'online': bool} ou None.
_agente_online()
_amb()
_aplicar_transicao_status()Motor único do fluxo: carimba o horário da etapa (idempotente) e dispara
_app_pagar_msg()
_asaas_api_key()
_asaas_base_url()
_asaas_erro_humano()
_asaas_obter_ou_criar_customer()Reutiliza asaas_customer_id se já houver; senão cria no Asaas.
_asaas_request()Chamada HTTP à API do Asaas. Retorna (status_http, dict).
_asset_version_atual()
_atividade()
_atualizar_nota_fiscal()Consulta o provedor e atualiza a nota (processando → autorizada/rejeitada + XML/DANFE).
_atualizar_notas_processando()Poll das notas 'processando' da casa (eNotas é assíncrono).
_bairro_atendido()True se o bairro está sendo atendido (ativo na config do admin). Vale p/
_baixa_estoque_comanda()Baixa de estoque dos itens da comanda que controlam estoque.
_baixa_estoque_do_pedido()Dá baixa no estoque dos itens do pedido que controlam estoque (idempotente).
_bot_msg_template()Template da mensagem: override da casa (dashboard) ou o padrão do código.
_bot_render()Substitui {placeholders} pelo contexto; remove tags não usadas.
_br_payer_phone()
_brl()
_cache_estaticos()Cache longo p/ estáticos (antes vinha 'no-cache' → o navegador rebaixava
_carrinho_enviar_recuperacao()
_carrinho_job_abandonar()Função 4: a cada 15 min, Ativo inativo > 30 min → Abandonado.
_carrinho_job_regua()Função 5: a cada 30 min — régua de recuperação (passo 1 e 2).
_carrinho_marcar_convertido()Função 6: pagamento aprovado → cancela a régua de recuperação.
_carteira_add()Adiciona transação ao ledger E atualiza o saldo correspondente.
_carteira_debitar_pedido()Debita da carteira o crédito + cashback usados como pagamento do pedido.
_carteira_estornar_pedido()Devolve à carteira o que foi debitado, ao CANCELAR o pedido. Idempotente.
_casa_conteudo_id()Casa cujo conteúdo editável estamos lendo/gravando. Resolve pelo host (casa_atual);
_casa_do_pedido()
_casa_pag_cfg()Credenciais de pagamento configuradas no dashboard (Checkout) por casa.
_casa_por_agente_token()
_cat_key()
_checkout_background_view()Estado do fundo do checkout para template e API (efeito imediato após salvar no admin).
_cliente_sessao()
_cmv_produto()CMV (custo de mercadoria vendida) e margem de um produto, a partir da ficha técnica.
_confirmar_reserva()Marca a reserva como CONFIRMADA (dinheiro OK), bloqueia as mesas e notifica.
_conta_usuario()
_conteudo_pagina()Dict {chave: valor} da página para a casa atual (cache por request via g).
_coord_ok()Valida uma coordenada (lat ou lng). Devolve float ou None.
_creditar_fidelidade_pedido()AUTOMÁTICO: ao aprovar o pagamento, credita pontos + cashback (idempotente).
_criar_cupom_boas_vindas()
_criar_e_enviar_codigo_confirmacao()Invalida códigos antigos, cria um novo e envia. Retorna se o envio ok.
_criar_e_enviar_link_confirmacao()Cria token e envia o LINK de confirmação de e-mail (ativa a conta). HTML cru via enviar().
_criar_pix_carteira()Cria uma cobrança PIX avulsa (vale-presente / recarga de crédito) via MP.
_cupons_do_cliente()Cupons válidos do cliente: genéricos (usuario_id None) + específicos dele.
_default_cms_body_html()
_default_loja_widget()Quatro slots com posições iniciais distintas na grade.
_detectar_tipo_fundo()
_dias_restantes_lixeira()Quantos dias restam até a purga permanente (30 dias após delecao).
_distancia_km_entrega()Distância (km) loja→cliente. None se não conseguir geocodificar.
_editor_mode()True se a requisição está em modo editor (?editor=1) e é um admin logado.
_email_formato_valido()
_email_models()Models necessários pelo email_service. Centralizado para o serviço
_email_resumo()
_emitir_evento()Atalho para publicar um evento no outbox (transactional outbox).
_emitir_nfce_comanda()Emite NFC-e da comanda do salão (presencial). Gated + idempotente.
_emitir_nfce_pedido()Emite a NFC-e do pedido: só se a config está PRONTA e o canal está habilitado.
_ensure_agent_audit_log_table()
_ensure_audit_chain_columns()#19 Auditoria imutável: colunas da cadeia de hash.
_ensure_carteira_cupom_columns()Colunas do cupom por cliente e da carteira (vale/ledger criados por create_all).
_ensure_casa_app_cliente_columns()Manifesto e estado de build do app white-label por restaurante.
_ensure_chat_cliente_visto_column()Coluna cliente_visto_em em chat_sessoes (detecção de cliente offline).
_ensure_comanda_pdv_columns()Garantir colunas de PDV (fechamento de conta) na tabela comandas.
_ensure_cupom_resgate_columns()Colunas de resgate em cupons (estabelecimento/link/whatsapp).
_ensure_despesa_nota_columns()Colunas de nota/boleto na Despesa (escanear/link/automático).
_ensure_estoque_columns()Colunas de controle de estoque no produto (mínimo + baixa automática).
_ensure_estufa_ia_columns()Controle do El Bigodón (IA no WhatsApp) por conversa da Estufa.
_ensure_estufa_sessao_config_column()Coluna config (JSON) em estufa_sessoes — guarda credenciais por canal (IG/FB).
_ensure_fidelidade_columns()Colunas do clube (fidelidade/gamificação) na tabela usuarios.
_ensure_fiscal_produto_columns()Campos fiscais por produto (NFC-e) em produtos + produtos_casa.
_ensure_kds_columns()Estado do KDS (tela da cozinha) por item de comanda + 'conta pedida' na comanda.
_ensure_maps_api_config_column()Coluna JSON p/ a config da API de Mapas (provider/url/token) no site_config.
_ensure_mesa_area_column()Garantir a coluna de área/setor na tabela mesas + empresa_config na casas.
_ensure_motoboy_mensagens_columns()Colunas do canal operador<->motoboy (bidirecional + leitura).
_ensure_operador_papel_column()Nível de acesso do operador (admin|caixa|garcom|cozinha|motoboy|marketing|fiscal)
_ensure_pedido_deletado_em_column()Coluna deletado_em — soft delete: pedido vai para a 'lixeira' por 30
_ensure_pedido_entrega_columns()Garantir colunas de entrega/agendamento na tabela pedidos em bases antigas.
_ensure_pedido_hash_idemp_column()Coluna hash_idempotencia em pedidos — bloqueia criação duplicada por clique
_ensure_pedido_producao_columns()Colunas de produção/impressão do delivery no pedido.
_ensure_pedido_wa_notif_columns()Flags de notificação WhatsApp transacional (idempotência anti-ban).
_ensure_produto_cardapio_columns()Colunas novas do cardápio/delivery na tabela produtos.
_ensure_rastreio_destino_columns()Colunas de destino (lat/lng) na sessão de rastreio p/ a rota GPS.
_ensure_reservas_schema()Colunas novas de mesas/reservas p/ o módulo de reservas (aditivo).
_ensure_site_config_background_opacity_column()Garantir que a coluna de opacidade exista em bases antigas.
_ensure_site_config_entrega_config()Coluna JSON com a configuração de taxa de entrega.
_ensure_usuario_cartao_vault_columns()Colunas de cartão criptografado no perfil do cliente.
_ensure_usuario_cashback_pct()Garantir a coluna cashback_pct (% de cashback próprio do cliente) na tabela usuarios.
_ensure_usuario_checkout_presente_column()Coluna checkout_presente_config para persistir dados do formulário checkout.
_ensure_usuario_email_verificado_column()Coluna email_verificado. Contas antigas/Google são marcadas como
_ensure_usuario_fundo_columns()Adicionar colunas de fundo personalizado se faltarem.
_ensure_usuario_tenant_constraints()E-mail e Google ID são únicos dentro da casa, nunca globalmente.
_ensure_vale_columns()Colunas novas do vale-presente: recibo, baixa no caixa, comprador anônimo.
_entrega_aviso_texto()Texto da etapa 1 do checkout, gerado a partir da config de entrega.
_entrega_config()Config de taxa de entrega. Os NOMES dos bairros vêm sempre da lista
_entrega_config_padrao()
_entrega_fora_do_raio()Além do raio máximo de entrega? Só bloqueia quando o raio está configurado
_enviar_recibo_vale()Comprovante de pagamento (Rosa-styled) enviado ao COMPRADOR do vale. Idempotente.
_enviar_vale_destinatario()Envia o vale-presente (código + QR) ao destinatário por E-MAIL **e WhatsApp** (best-effort).
_estufa_sio_connect()
_estufa_sio_ping()
_fallback_opcoes()
_fechar_inventario()Fecha a contagem: aplica o valor CONTADO ao estoque do insumo e valora a
_fid_config()
_fin_metodo_app()
_fin_taxas_casa()
_fiscal_config_casa()Lê a config fiscal da casa (empresa_config) e descriptografa a chave da API.
_forma_recebivel()
_garantir_codigo_indicacao()
_gate_manual_publico()Codex #5: controle de exposição do manual técnico público.
_gen_codigo_vale()
_geocode()Geocodifica um endereço via Nominatim (OSM). Cacheado em memória.
_geocode_endereco()Geocode ROBUSTO (tipo Uber/iFood): tenta consulta ESTRUTURADA (bem mais
_geocode_nominatim()Uma chamada ao Nominatim (self-hosted via NOMINATIM_URL ou público). Cacheada.
_geocode_photon()Geocode fuzzy via Photon self-hosted (PHOTON_URL). Aceita erros de digitação.
_gerar_codigo_confirmacao()Código numérico de 6 dígitos para confirmação de e-mail.
_gerar_recebiveis_pedidos()Gera recebíveis (idempotente) para os pedidos pagos no período. Aplica taxa,
_gerar_variante_imagem()Gera (e cacheia em disco) uma versão redimensionada/otimizada.
_hash_pedido()Hash determinístico do conteúdo do pedido. Igual hash ⇒ pedido duplicado.
_haversine_km()
_heading_sobre_duas_linhas()Divide o título institucional: 1ª linha (ex.: Rosa Mexicano) / 2ª linha (restante após travessão).
_home_config()Conteúdo editável da HOME (admin → Páginas → Home), DA CASA.
_idade_anos()Idade completa em anos a partir de uma date de nascimento.
_inbox_token_casa()
_infinitepay_criar_link()Cria o link de checkout InfinitePay para o pedido. Retorna a URL.
_infinitepay_handle()
_infinitepay_pago()Confirmação AUTORITATIVA no servidor (payment_check).
_iniciar_scheduler()
_inject_globals()
_injetar_cliente_atual()
_injetar_delicias_fotos()Números das fotos de Delícias DA CASA, p/ usar como fundo (carrosséis).
_injetar_editor_overlay()Editor: injeta o overlay (clique-para-editar) quando ?editor=1 de admin.
_injetar_marketing()Config de marketing (banner do topo + popup de abertura) da casa atual,
_injetar_permissoes_operador()Disponibiliza pode_area()/operador_papel em TODOS os templates (não só no
_ip_post()POST JSON para a API do InfinitePay. Retorna dict (ou {} em falha).
_item()
_job()
_kds_notificar()#9 KDS em tempo real: avisa as telas de cozinha/bar para recarregarem NA HORA
_limite()Wrapper de @limiter.limit() resistente a `limiter is None` (dev sem a lib).
_loja_background_view()Fundo exclusivo da /loja.
_loja_numero_pedido()
_loja_page_view()Widgets + fundo para template /loja e API.
_loja_payer()
_loja_webhook_url()URL publica do webhook na propria casa (Host atual), nao num dominio fixo.
_manual_secoes()Lê o markdown e devolve lista ordenada de (slug, titulo, corpo_md), 1 por seção '## '.
_manual_shell()
_manual_slug()
_maps_api_config()Config da API de mapas: DB (SiteConfig.maps_api_config) por cima do default de env.
_maps_client()Instancia o SDK com a config atual, ou None se desligado/incompleto.
_maps_geocode_via_gateway()Geocode pelo gateway soberano. None => cai na cascata local (fail-open).
_maps_route_via_gateway()Rota pelo gateway soberano. None => cai no OSRM direto (fail-open).
_maps_testar_conexao()Testa conexão/token contra o gateway (GET /v1/usage). Devolve dict de status.
_md2html()
_merge_entrega_vazios_com_usuario()Campos omitidos ou em branco usam dados do cadastro quando existirem.
_mesas_disponiveis()Mesas livres p/ reserva na data (não reservadas, não bloqueadas, permite online).
_mesas_reservadas_na_data()set de mesa_ids ocupadas na data. Confirmadas (dinheiro OK) sempre bloqueiam.
_metodo_envia_email_ao_criar_pedido()Só dispara email na criação quando o pedido já está confirmado sem pagamento online.
_migrate_sobre_institucional()Substitui texto/título «Sobre» antigo pela narrativa actual e associa vídeo em loop.
_montar_grupo_mesas()Aplica a regra pública de escolha de mesas por tamanho do grupo.
_motivo()
_mp_additional_info()additional_info completo (items + payer + shipments) para a Medição de
_mp_aplicar_credenciais_do_arquivo_dotenv()Sobrepõe MERCADOPAGO_* a partir do ficheiro .env (prioridade sobre env herdado/errado).
_mp_credencial_eh_teste()
_mp_enriquecer_mensagem_credencial()Amplia mensagens de credencial quando a API MP devolve 401/token inválido.
_mp_erro_humanizado_montante()
_mp_extrair_erro_resposta_mp()
_mp_identificacao_pagador_cartao()Documento para cartão: JSON payer_cpf / identification_number ou env MERCADOPAGO_PAYER_DOCUMENT / MERCADOPAGO_PIX_PAYER_CPF.
_mp_max_installments()
_mp_payer_para_pix()Payer para Payments API (PIX). CPF opcional: JSON payer_cpf ou MERCADOPAGO_PIX_PAYER_CPF.
_mp_startup_verify_credentials()
_mp_strip_cred()
_mp_validar_credenciais()Valida credenciais do Mercado Pago DIRETO na API (/users/me). Detecta ambiente
_mp_valor_total_pedido_para_pagamentos()Montante em BRL com 2 decimais para Payments API (evita Invalid transaction_amount).
_msg_wa_aceito()
_msg_wa_aguardando()
_msg_wa_chegou()
_msg_wa_reserva()
_nfce_payload_pedido()Monta o corpo da NFC-e a partir dos itens do pedido + a ficha fiscal de cada
_nivel_rosa()
_nominatim_base()
_noop()
_norm_tel()
_norm_txt()
_normalize_checkout_background_dict()Mescla config JSON do fundo do checkout com valores padrão.
_normalize_loja_page_dict()Config completa da página loja (fundo + 4 widgets).
_normalize_loja_widget()
_normalized_image_url()
_notificar_assinantes_feed()Envia o e-mail 'novo produto' a todos os assinantes ativos+confirmados.
_notificar_wa_motoboy_chegou()Avisa o cliente no WhatsApp que o motoboy chegou e aguarda na porta.
_notificar_wa_pedido_aceito()Msg 2 — pedido aceito / em produção. Idempotente + silencioso.
_notificar_wa_pedido_recebido()Msg 1 — pedido recebido, aguardando aceite. Idempotente + silencioso.
_notificar_wa_pedido_status()Avisa o cliente por WhatsApp na transição de etapa (pronto/saiu/entregue).
_osrm_rota()Rota de carro origem→destino via OSRM (engine própria/self-hostável via OSRM_URL).
_osrm_url()
_overrides_auto()Overrides com chave 'auto:' da página + do 'site' (aplicados no vivo por JS).
_pag_env_permitido()Só FORA de produção o .env pode servir de credencial de pagamento.
_pagina_inst()
_pagina_slug_atual()Mapeia a rota pública atual para o slug do Editor de Site (home, delicias, ...).
_parse_codigo_barras()Extrai (valor, vencimento, cb_normalizado) de código de barras/linha digitável de boleto.
_parse_data_nasc()
_ped()
_pedido_previsao_entrega_texto()
_pedido_recente_por_hash()Retorna o pedido criado nos últimos _DEDUP_JANELA_SEG com o mesmo hash, ou None.
_pedido_wa_endereco_txt()
_pedido_wa_itens_txt()
_pedido_wa_numero()
_pedido_wa_pagamento_txt()
_por_produto()
_pos_aprovado_infinitepay()Mesmas ações pós-aprovação do MP (push admin + comprovante + carrinho).
_processar_indicacao_primeiro_pedido()
_produto_desc_limpa()Devolve uma versão sem tags HTML da descrição, adequada para meta tags
_produto_imagem_absoluta()
_produto_url_publica()
_produtos_para_feed()Devolve produtos ativos ordenados do mais novo para o mais antigo.
_public_site_base_url()Base HTTPS p/ back_urls do Checkout Pro / redirect MP. Usa o domínio REAL da
_public_url()URL pública absoluta. Em contexto de request (multi-tenant), usa o HOST
_purgar_pedidos_lixeira_antigos()Apaga DEFINITIVAMENTE pedidos que estão na lixeira há >30 dias.
_push_admin()Envia push FCM para todos os dispositivos admin cadastrados.
_push_enviar_agora()Dispara um PushNotificacao via FCM para os dispositivos do app cliente.
_push_executar()
_push_job_agendados()Função 2: a cada ~1 min, dispara pushes agendados cujo horário chegou.
_qr_url()
_rastreio_destino_coords()Coords (lat,lng) do destino. Ordem: (1) coordenada confirmada no checkout
_rate_limit_ok()True se a chave (ex.: 'vale_validar:IP') ainda está dentro do limite na janela.
_recalc_itens_pedido()
_receber_compra()Entrada de mercadoria: para cada item, soma ao estoque do insumo, recalcula o
_recibo_vale_html()HTML completo (auto-contido, Rosa Mexicano) do comprovante de pagamento do vale.
_redigir_segredos()Mascara tokens/segredos antes de mandar para o frontend.
_ref_arquivos_html()
_ref_funcoes_html()
_ref_rotas_html()
_ref_tabelas_html()
_rel_tempo()
_req_ip()
_requer_admin_key()Exige a chave MASTER (ADMIN_PUSH_KEY) — é o app admin do dono, não do cliente.
_reserva_cfg_para_data()Config efetiva p/ a data — aplica regra de DATA ESPECIAL se houver.
_reserva_config()
_reserva_confirmada_da_mesa()Reserva com DINHEIRO confirmado que ocupa a mesa na data (grupo + legado), ou None.
_reserva_log()
_reserva_mesas_numeros()
_reserva_notificar()Notifica o cliente (WhatsApp + e-mail) + push admin. Silencioso/idempotente.
_reserva_paginas_conteudo()Conteúdo institucional das reservas — linguagem transparente, princípios do CDC.
_reserva_saldo_carteira()
_reserva_validar_pedido()Valida quantidade. Retorna (ok, erro, encaminha_whatsapp).
_reservar_mesa_auto_site()Escolhe uma mesa livre que comporte 'pessoas' e não esteja reservada no dia.
_reservas_confirmadas_por_mesa(){mesa_id: reserva} das reservas confirmadas da data (inclui mesas agrupadas).
_reservas_job_liberar_vencidas()Libera automaticamente as reservas do dia:
_rosa_club_payload()Monta TODOS os dados do dashboard de fidelidade (clube) do cliente.
_salvar_entrega_config()
_salvar_maps_api_config()Persiste a config de mapas e invalida o cache em memória.
_save_uploaded_image_as_webp()Grava upload (PNG, JPEG, etc.) como WebP no disco para carregamento leve.
_scan_token_casa()Valida o token do link de escaneamento e devolve (casa_id, por) ou (None, None).
_scheduler_loop()
_seed_cms_pages()NÃO semeia mais páginas institucionais.
_seed_email_templates()Garantir templates de sistema (boas-vindas, recuperação, confirmação)
_seed_mapa_reservas()Popula/atualiza áreas + mesas (posição/forma/vizinhos) do mapa oficial.
_site_config_obj()
_slug_casa_por_host()Slug da casa a partir do request público.
_slugify_nome()Slug do nome do cliente para a URL /conta/<nome>.
_sobre_poster()
_sobre_video_publico()
_statement_descriptor()Descritor que aparece na fatura do cartão: nome da casa (do pedido) — fallback ROSA MEXICANO.
_sub_log_entregue()
_sub_log_pago()
_tabela_raio_ordenada()
_tabela_raio_tier()Faixa {raio,tempo,taxa} que cobre a distância km: primeira faixa com
_taxa_entrega_pedido_regra_negocio()Taxa de entrega conforme a configuração do admin (grátis/bairro/km).
_tef_para_recebivel()Uma TEF aprovada vira um Recebivel (entra na conciliação/contas a receber).
_tempo_entrega_estimado_min()Tempo estimado (min) por distância no modo 'raio'. Sem endereço → faixa
_texto_institucional_casa()Troca os marcadores do texto-base pelos dados DA CASA.
_texto_modalidade_pedido()Retorna (titulo, instrucao, texto_curto) por método de pagamento.
_titulo_e_blocos_sobre()
_top()
_tpag_forma()
_usuario_email_da_casa()
_usuario_google_da_casa()
_usuario_id_da_casa()
_usuarios_da_casa()Query de clientes limitada à casa resolvida pelo domínio atual.
_validar_assinatura_mp()Valida assinatura HMAC-SHA256 do novo formato de webhook do Mercado Pago.
_validar_nascimento()Parseia a data e exige maioridade (18+). Retorna (date|None, erro|None).
_valor_reserva()
_verificar_google_id_token()Valida um ID Token do Google via endpoint tokeninfo.
_viacep()Consulta o ViaCEP (grátis, oficial-ish) → dict do endereço ou None. Cacheado.
_video_mime_from_url()
_wa_enviar_texto()Envia texto pelo serviço Node (Baileys). Silencioso. Retorna (ok, msg).
_wa_num()Normaliza telefone → DDI(55)+DDD+numero, só dígitos. None se inválido.
_widget_overlaps_cart_zone()True se o widget ocuparia a zona do mini-carrinho fixo (canto inferior).
admin_api_aprovacao_decidir()Aprova ou rejeita um pedido HITL pelo app admin.
admin_api_aprovacoes_listar()Fila de aprovações humanas (HITL) para o app admin.
admin_api_atualizar_status()
admin_api_avaliacao_apagar()Remove uma avaliação pelo app admin.
admin_api_avaliacao_atualizar()Atualiza uma avaliação pelo app admin.
admin_api_avaliacao_criar()Cria uma avaliação (geralmente fake) pelo app admin.
admin_api_avaliacoes_listar()Lista de avaliações/testemunhos para o app admin.
admin_api_carrinho_apagar()
admin_api_carrinho_converter()
admin_api_carrinho_recuperar()
admin_api_carrinhos()Carrinhos abandonados para recuperação (app admin).
admin_api_chat_apagar()Apaga PERMANENTEMENTE uma conversa do suporte (e seus arquivos de mídia).
admin_api_checkout()Config de entrega (checkout) para o app admin.
admin_api_checkout_salvar()Atualiza a config de entrega (checkout).
admin_api_cliente_detalhe()Detalhe de um cliente + os pedidos dele (app admin).
admin_api_clientes()Lista de clientes para o app admin. Suporta ?busca=.
admin_api_config()Configurações básicas do site para o app admin.
admin_api_config_salvar()Atualiza configurações básicas do site.
admin_api_cupom_apagar()Remove um cupom pelo app admin.
admin_api_cupom_atualizar()Atualiza um cupom (ex.: ativar/desativar) pelo app admin.
admin_api_cupom_criar()Cria um cupom pelo app admin.
admin_api_cupons_listar()Lista de cupons de desconto para o app admin.
admin_api_dispositivo_apagar()
admin_api_dispositivos()Lista os aparelhos com app instalado, cruzando com a conta do cliente.
admin_api_financeiro()Resumo financeiro para o app admin. ?dias=30
admin_api_jarvis_chat()Conversa com o Jarvis (agente de IA) pelo app admin.
admin_api_lixeira_purgar()Endpoint pro cron — força a purga imediata de pedidos com >30 dias
admin_api_loja()Config da página Loja (título + categorias).
admin_api_loja_salvar()Atualiza título e categorias da página Loja.
admin_api_metricas()Métricas resumidas para a tela Início do app admin (dashboard mobile).
admin_api_pagina_atualizar()Atualiza uma página CMS pelo app admin.
admin_api_pagina_detalhe()Conteúdo completo de uma página CMS.
admin_api_paginas()Lista de páginas CMS para o app admin.
admin_api_pedido_deletar()Soft delete: move o pedido para a lixeira. Pode ser restaurado em até
admin_api_pedido_restaurar()Tira o pedido da lixeira (limpa deletado_em). Volta para a lista normal.
admin_api_pedidos()Lista pedidos para o app admin (JSON). Suporta ?pagina=1&por_pagina=20&status=X
admin_api_pedidos_deletados()Lista pedidos na lixeira (com até 30 dias). Ao chamar, também roda a
admin_api_perfil()Dados do administrador (nome, e-mail, telefone).
admin_api_perfil_salvar()Atualiza nome / e-mail / telefone do administrador.
admin_api_produto_apagar()Remove um produto pelo app admin.
admin_api_produto_atualizar()Atualiza campos de um produto a partir do app admin.
admin_api_produto_criar()Cria um produto (produto) a partir do app admin.
admin_api_produto_imagem()Upload de imagem de um produto (multipart 'imagem') pelo app admin.
admin_api_produtos()Lista de produtos (produtos) para o app admin. Suporta ?busca=.
admin_api_push_apagar()
admin_api_push_criar()Cria e dispara uma notificação push pelo app admin.
admin_api_push_listar()Histórico de notificações push para o app admin.
admin_api_push_reenviar()
admin_api_senha()Altera a senha do administrador (exige a senha atual).
admin_api_status()Saúde do sistema — espelha o que /admin/status mostra na web.
admin_api_webmail_apagar()Move um e-mail para a lixeira (ou apaga de vez se já estiver nela).
admin_api_webmail_contadores()Contadores de e-mails por pasta para o app admin.
admin_api_webmail_enviar()Envia um e-mail pelo app admin.
admin_api_webmail_listar()Lista e-mails de uma pasta para o app admin. ?pasta=entrada&page=1
admin_api_webmail_marcar()Marca lido/estrelado ou move de pasta.
admin_api_webmail_obter()Conteúdo completo de um e-mail (marca como lido).
admin_api_webmail_remetentes()Endereços disponíveis para o "De:" no app admin (mesma lista do webmail web).
admin_chat_fechar()
admin_chat_sessoes()
admin_chat_stream()SSE stream: envia evento a cada 3s com sessões abertas + contagem.
admin_registrar_device_token()Admin registra FCM token do dispositivo do app cheffzy-admin.
admin_remover_device_token()
api_agente_comandas()
api_agente_fila_impressao()Fila PRONTA p/ imprimir: itens não impressos agrupados por (mesa, estação),
api_agente_impressoras_detectadas()O agente local envia a lista de impressoras instaladas no Windows.
api_agente_marcar_impresso()
api_alterar_senha_cliente()Cliente logado altera a própria senha pela área do cliente.
api_casa_status_publico()Status aberto/fechado da casa (público) — site faz polling p/ refletir em tempo real.
api_cep()ViaCEP → endereço (p/ autopreencher o checkout). Grátis, sem chave.
api_checkout_background()JSON público do fundo do checkout (atualização periódica na página, sem recarregar).
api_conta_aniversario()
api_conta_avaliacao()Avaliação do cliente logado (sessão): 1 por cliente, alimenta o carrossel da home.
api_conta_cadastro()
api_conta_cartao_add()Adiciona um cartão à conta (número/CVV/validade vão criptografados no vault).
api_conta_cartao_del()
api_conta_cartao_preenchimento()Cartão PRINCIPAL descriptografado p/ pré-preencher o checkout (só o próprio dono).
api_conta_cartao_principal()
api_conta_carteira()
api_conta_carteira_confirmar()Confirma um pagamento PIX de vale/recarga (poll). Processa só se aprovado (idempotente).
api_conta_cartoes()Lista os cartões salvos do cliente (só máscara). Importa 1x o cartão legado.
api_conta_cashback_converter()Converte saldo de cashback em crédito (instantâneo, sem pagamento).
api_conta_chat_entrega()Chat do cliente (logado por sessão) com o motoboy da entrega em andamento.
api_conta_credito_recarregar()
api_conta_credito_recarregar_cartao()Recarrega crédito com cartão (token MercadoPago.js). Crédito imediato se aprovado.
api_conta_cupons()
api_conta_dados()
api_conta_endereco_item()
api_conta_endereco_principal()
api_conta_enderecos()
api_conta_esqueci_senha()
api_conta_favoritar()
api_conta_favoritos()
api_conta_foto()
api_conta_fundo()Cliente personaliza o fundo da própria área (upload de imagem) ou reseta.
api_conta_google()
api_conta_indicar()
api_conta_login()
api_conta_me()
api_conta_pedido_recuperar()
api_conta_pedidos()
api_conta_rastreio()Sessão de rastreio ativa de algum pedido do cliente logado (por sessão).
api_conta_reenviar_confirmacao()Reenvia o link de confirmação para o cliente logado (ou por e-mail informado).
api_conta_tema()
api_conta_vale_comprar()
api_conta_vale_pendente_excluir()Exclui/cancela um vale pendente (não pago) do próprio cliente.
api_conta_vale_pendente_recuperar()Recupera um vale pendente do próprio cliente: devolve os dados p/ repreencher
api_conta_vale_resgatar()Resgata o vale: credita o valor como crédito na carteira de quem resgata.
api_conta_vale_validar()Valida um código de vale-presente: revela o valor e o status.
api_contato()Recebe o formulário de contato da home e envia por e-mail para a loja.
api_entrega_cotar()Cota a taxa de entrega para o checkout (preview no cliente).
api_esqueci_senha_cliente()Cliente solicita link de recuperação. Não revela se o email existe ou não.
api_feed_assinar()Registra um e-mail para receber novidades. Envia um e-mail de boas-vindas
api_garcom_comanda()App do garçom envia pedido da mesa -> vira/atualiza Comanda da casa.
api_geocode()Geocode robusto de um endereço → coord (posiciona o pino no checkout).
api_loja_layout()Layout da loja (fundo + widgets) — polling para atualização imediata após admin.
api_loja_reserva()Compat: encaminha para o novo fluxo de criação.
api_redefinir_senha_cliente()Aplica nova senha via token único.
api_reserva_pagar_cartao()
api_reserva_pagar_carteira()Paga o Crédito de Reserva com a carteira (cashback + crédito) → confirma.
api_reserva_pagar_pix()
api_reserva_status_pub()
api_reservas_criar_publico()Cria a reserva (aguardando_pagamento) e SEGURA as mesas durante o pagamento.
api_reservas_disponibilidade()
api_tls_ask()O Caddy pergunta aqui ANTES de emitir certificado (on_demand_tls -> ask).
api_vale_comprar_pub()Compra de vale na PÁGINA PÚBLICA. Logado → gera pendente em 'Meus vales';
api_vale_confirmar_pub()Confirma o PIX de um vale (público/anônimo). Idempotente por vale.pago.
api_vale_validar_pub()Validação PÚBLICA de um código (rate-limited por IP). Só revela status/valor.
app_pagar_cartao()Pagamento do app: cria preferência do CHECKOUT PRO (tela oficial do
app_pagar_retorno()Retorno do Checkout Pro / InfinitePay → deep link ao app.
area_cliente()Página exclusiva da área do cliente
asaas_pagar_cartao()Processa pagamento com cartão via Asaas — usado SOMENTE pelo app.
asset_casa()Caminho de um asset DESTA casa: /assets/images/casas/<slug>/<caminho>.
atualizar_fundo_personalizado()Salvar URL/data URL de imagem ou vídeo para o plano de fundo da área do cliente.
atualizar_perfil()Atualizar dados do perfil
atualizar_preferencias_usuario()Atualizar preferências VIP do usuário
baixar_app_motoboy()Download do app do motoboy com nome de arquivo versionado (evita o celular
bust_asset_cache()Gera uma nova versão de assets em runtime; força reload em todos os clientes.
cadastro()Cadastro de novo usuário com email e senha
carrinho_recuperar()Devolve os itens salvos para o checkout reconstruir o carrinho.
carrinho_track()Captura/atualiza o carrinho no checkout (Função 3). Upsert por token.
casa_atual()Casa do contexto: dashboard -> sessão; site -> Host. None se não houver.
casa_por_host()A casa dona de um host. É o roteamento do SaaS, em 3 caminhos:
chat_enviar_mensagem()Envia mensagem numa sessão (cliente ou admin via chave).
chat_iniciar()Cliente (logado ou visitante) abre uma sessão de suporte.
chat_mensagens()Retorna mensagens de uma sessão. Serve de heartbeat do CLIENTE:
chat_minha_sessao()
chat_upload_midia()Faz upload de arquivo de mídia para uma sessão de chat.
checkout()Rota legada. No Cheffzy o checkout do cliente e' /loja/checkout.
cheffzy_demonstracao()Demonstração interativa pública, separada da Home comercial.
cheffzy_plataforma()Entrada estável da matriz, separada da página comercial pública.
cliente_pagar_mp_iframe()Página HTML MINIMAL com apenas o brick MP — embutida em iframe pelo
cliente_pedido_alterar_dados()Cliente altera dados de entrega/contato do próprio pedido (enquanto
cliente_pedido_alterar_pagamento()Cliente logado altera a forma de pagamento do próprio pedido.
cliente_pedido_status_pagamento()Polling leve: cliente verifica se a confirmação do gateway chegou.
cliente_pedido_substituir_itens()Substitui os itens de um pedido NÃO PAGO e recalcula o total.
config_casa()SiteConfig DA CASA (nao o global). Antes: SiteConfig.query.first() devolvia a
confirmar_email()Valida o código de 6 dígitos e ativa a conta, devolvendo o token de login.
confirmar_email_cliente()Cliente clica no link do e-mail: ativa a conta e entra.
conta_area()Área do cliente. URL canônica: /conta/<nome-do-cliente-conectado>.
conta_entrar()Login/cadastro do cliente no SITE.
conta_sair()
contato_enviar()Recebe mensagens do formulário de contato do site: salva no banco e
criar_avaliacao_cliente()Cliente publica seu testemunho com estrelas.
criar_banco_dados()Criar tabelas no banco de dados
criar_pedido()Criar novo pedido
criar_preference_pagamento()Criar preferência de pagamento para Mercado Pago
decorated()
decorated()
definir_senha()Define a senha com hash
descricao_amigavel()
despesa_inbox_criar()Webhook público (token fixo) que cria a conta a pagar automaticamente.
ed()Valor editável salvo (ou o placeholder default). Usado no conteúdo dos templates.
edattr()Atributos data-* p/ marcar um elemento como editável — SÓ no modo editor.
em_editor()Exposto aos templates (ex.: desativar autoplay/links no modo editor).
entregador_rota_pagina()Navegação GPS do entregador (tela cheia). Abre com ?mb_token=<token do motoboy>.
enviar_email_boas_vindas()Disparado após cadastro. Não bloqueia o fluxo se falhar.
enviar_email_codigo_confirmacao()Envia o código de 6 dígitos para o cliente confirmar o e-mail.
enviar_email_comprovante_pagamento()Comprovante Resend — pagamento aprovado.
enviar_email_confirmacao_pedido()Confirmação com itens do pedido. PIX/cartão: só após pagamento aprovado.
enviar_email_recuperacao_senha()Envia link de recuperação. `usuario_ou_email` pode ser Usuario ou str (admin).
enviar_emails_pedido_pago()E-mails após pagamento aprovado (webhook MP / InfinitePay / cartão síncrono).
enviar_mensagem_whatsapp()Enviar mensagem de contato via WhatsApp
erro_interno()
esta_expirado()
esta_valido()
feed_desassinar()
feed_meta_catalogo()Feed de catálogo Meta — RSS 2.0 com namespace g: (Google Merchant).
feed_pagina()Página HTML do feed — visual igual ao site, mostra os produtos novos em destaque.
feed_produtos_rss()RSS 2.0 dos produtos ativos da loja.
fiscal_dict()
fiscal_dict()
gerar()
gerar_token()Gera o JWT de autenticação do cliente.
get_produto()Obter detalhes de um produto
get_produtos()Obter lista de produtos
health_check()#25 Health check: prova que o app + banco respondem. Público, leve, sem sessão.
il()
index()Home comercial na raiz da Cheffzy; sites das casas continuam por host.
listar_avaliacoes_publicas()Avaliações publicadas — usadas no carrossel da home (fakes + reais misturadas).
listar_casas()
listar_mensagens_whatsapp()Listar todas as mensagens de contato (admin)
listar_parcelas_mercadopago()Parcelas reais via API pública de installments do Mercado Pago (amount + método + BIN opcional).
login()Login com email e senha
login_google()Autenticar com Google.
loja()Loja/cardápio. Com casa resolvida -> cardápio estilo delivery (cardapio.link).
loja_checkout()Página de pagamento do cardápio (casa).
loja_criar_pedido()Cria pedido do cardápio da casa. EXIGE cliente logado (sessão). Resolve a casa pelo Host.
loja_pagamento_config()Chave pública do MP + parcelas máximas para o checkout do cardápio.
loja_pagar_cartao()Processa pagamento com cartão (crédito/débito) via token do MercadoPago.js.
loja_pagar_pix()Gera cobrança PIX no Mercado Pago para um pedido da casa.
loja_pedido_status()Status de pagamento do pedido (polling do PIX/cartão).
manual_completo()Página única: TODO o conteúdo narrativo num HTML só, renderizado da MESMA
manual_index()Índice público do manual: links <a href> reais para cada seção (uma URL por seção).
manual_markdown()Manual em Markdown/texto cru — ideal p/ ingestão por IA (tudo num fetch, sem HTML).
manual_secao()Uma seção do manual na sua própria URL, com navegação por links reais.
marcar_mensagem_lida()Marcar mensagem como lida
mp_access_token()
mp_public_key()
mp_sdk()
nao_encontrado()
nome_casa()Nome do restaurante do contexto. NUNCA hardcode um cliente aqui.
nome_clube()Nome do programa de fidelidade DA CASA — nunca de um cliente específico.
obter_avaliacao_do_cliente()Retorna a avaliação do cliente logado, se existir.
obter_cartao_usuario()Retorna dados do cartão salvos (descriptografados) só para o dono da conta.
obter_config_mercadopago()Chave pública + metadados (parcelas máx.; perfil teste vs produção).
obter_pedidos_usuario()Obter histórico de pedidos do usuário
obter_perfil()Obter perfil do usuário autenticado
obter_preferencias_usuario()Obter preferências VIP do usuário
pagina_institucional()
pagina_institucional_redirect()Compatibilidade: URLs antigas /info/… passam a usar /pagina/…
pagina_institucional_slug_direto()Acesso direto por slug raiz, ex.: /politica-de-privacidade
pagina_redefinir_senha_cliente()Página HTML simples onde o cliente cola a nova senha.
par_com_lugares()
pasta_midia_casa()Pasta de imagens desta casa em /assets/images/casas/<pasta>.
pg_aniversario()
pg_delicias()
pg_sobre()
pg_vale_presente()Página de vale-presente FUNCIONAL (mesmo visual da Área do Cliente).
pick()
prefixo_pedido()Prefixo do número de pedido, DA CASA — nunca de um cliente específico.
processar_pagamento()Processar pagamento via Mercado Pago
processar_pagamento_brick()Processar pagamento via Brick do Mercado Pago (Cartão/Débito) - PRODUÇÃO
processar_pagamento_pix()Processar pagamento via PIX - PRODUÇÃO
produto_publico()Página pública individual de um produto, com Open Graph completo.
public_uploads()
recuperar_pedido_usuario()Recoloca itens no carrinho e devolve endereço/presente do pedido para refazer checkout.
recursos_casa()O que ESTA casa tem no site.
reenviar_codigo_confirmacao()Reenvia o código de confirmação para um e-mail ainda não verificado.
remover_cartao()Remover cartão salvo
reservas()Página de reservas da casa (mapa visual + fluxo com pagamento).
reservas_institucional()
resgate_instrucao()Texto legível de como obter o cupom (para o chatbot).
responder_mensagem()Responder mensagem de contato
revogar_sessoes()Derruba TODOS os tokens já emitidos deste usuário.
robots_txt()robots.txt liberando o acesso (a página pública do manual deve ser lida por
row()
salvar_cartao()Salva cartão criptografado no banco (número, validade, CVV, titular).
saude()Verificar saúde da API
scan_despesa_criar()Cria a despesa a partir do que foi escaneado/digitado no celular (token).
scan_despesa_page()Página MÓVEL (aberta pelo link no celular) — câmera escaneia o QR da NFC-e
sitemap_xml()Sitemap com todas as páginas do manual — crawler/IA descobre a estrutura inteira.
status_pagamento_pedido()Consulta leve do status de pagamento (PIX / polling no site e app).
tag()
telefone_bonito()Formata telefone pra leitura: 5547992334348 -> (47) 99233-4348.
telefone_br_valido()Valida telefone brasileiro no formato 55DDDN... com 10 ou 11 dígitos nacionais.
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
to_dict()
token_requerido()Decorador para rotas que requerem autenticação
verificar_senha()Verifica se a senha está correta
webhook_asaas()Webhook do Asaas — confirma pagamentos do app de forma assíncrona.
webhook_infinitepay()Webhook InfinitePay. Sempre confirma via payment_check antes de
webhook_mercadopago()Webhooks API (JSON body) + IPN clássico. Painel MP: os.getenv('PUBLIC_BASE_URL','https://cheffzy.com.br')/webhooks/mercadopago

admin/routes.py (319 funções)

FunçãoO que faz (docstring)
L()
M()
_admin_authenticated()
_admin_serializer()
_audit_admin()Registra no histórico quem fez o quê, com CADEIA DE HASH (#19): cada linha
_auditoria_verificar()Recomputa a cadeia e aponta a 1ª linha adulterada (ou None se íntegra).
_bi_analytics()
_bootstrap_credentials()
_brl()
_caixa_audit()
_caixa_resumo()Resumo financeiro vivo da sessão: por forma de pagamento + caixa esperado.
_caixa_sessao_aberta()
_casa_id_atual()
_cms_campos_empty()
_cms_campos_from_form()
_cms_campos_from_page()
_cms_protected_slugs()
_cms_spellcheck()Retorna (erro_bloqueante, aviso_nao_bloqueante).
_collect_dashboard_metrics()Métricas do painel — SEMPRE da casa do operador.
_config_da_casa_admin()SiteConfig DA CASA do painel. NUNCA SiteConfig.query.first(): aquilo devolvia
_credentials_path()
_criar_config_da_casa_admin()Cria o SiteConfig DA CASA. SiteConfig() sem casa_id vira config órfã (casa_id
_crm_retorno()Medição de retorno: cupons automáticos gerados x usados.
_crm_rfm()#18 Segmentação RFM (Recência, Frequência, Valor) + segmentos de comportamento.
_crm_segmentos()
_dash_completo()
_dash_order_badge()
_dash_parse_entrega_day()
_dash_pedido_recebido()Valor contabilizado como recebido (mesma regra do financeiro).
_dashboard_metricas_uteis()Ticket médio, pedidos por canal, cancelamentos, mais vendidos e horário de pico (30 dias).
_default_admin_email()
_default_admin_password()
_despesa_casa_id()
_dre_completo()#13 DRE em camadas (não só 'receita - despesa'). Regime de caixa por padrão.
_editor_casa_id()
_eh_matriz_operador()Só a matriz cadastra restaurante. Operador de restaurante NUNCA — senão o
_email_attachments_dir()
_ensure_categorias()Cria entidades Categoria para cada categoria distinta de produtos (delivery).
_enviar_pdf_whatsapp()Envia um PDF de verdade por WhatsApp via serviço Node (Baileys), reusando o
_filtrar_msgs()
_fin_metodo()
_fin_relatorio_dados()Coleta os lançamentos (presencial + delivery) conforme os filtros.
_fin_relatorio_pdf()Gera o relatório em PDF (fpdf2). Retorna bytes.
_fiscal_cfg()
_fiscal_dec()
_fiscal_enc()
_fiscal_status()Detecta o que está presente/válido e diz se está PRONTO para emitir.
_fmt_brl()
_fscore()
_generate_reset_token()
_grupo_mesas_numeros()Números das mesas de uma comanda (principal + juntadas), na ordem.
_jarvis_base_url()
_jarvis_casa_id()casa_id da sessão atual (Blumenau=2). None => não escopar.
_jarvis_contexto()Contexto do sistema injetado na 1ª msg: identidade + glossário + schema REAL +
_jarvis_schema_txt()Mapa REAL de TODAS as tabelas->colunas (information_schema), cacheado 10min.
_jarvis_snapshot()Retrato AO VIVO do estado operacional (números reais do banco agora).
_limite_desconto_operador()Limite de desconto (%) do operador. 0/None = sem limite configurado (= 100%).
_load_credentials()
_m()
_min()
_movimentacao_hoje()Resumo do dia: vendas, pedidos, cancelados, ticket médio (todas as sessões de hoje).
_mscore()
_n()
_n()
_normalize_email()
_notas_periodo()
_num()
_num()
_num()
_num()
_num()
_num()
_objeto_da_casa_or_404()Resolve um recurso administrativo somente dentro da casa da sessão.
_operador()
_operador_obj()
_operador_papel()
_papel_pode()True se o papel do operador pode acessar o path. Admin sempre pode.
_parse_background_opacity()
_parse_preco()
_pdata()
_periodo_req()
_phora()
_pode_permissao()#6 RBAC granular (aplicado de verdade). Admin/master sempre pode. Para os demais:
_protect_admin_area()
_q()Query do Model presa à casa do painel.
_recalc_comanda()
_require_admin_session()Bloqueia qualquer chamada do Jarvis sem sessão admin autenticada.
_reservar_mesa_auto()Escolhe uma mesa livre que comporte 'pessoas' e não esteja reservada no dia/hora.
_reservas_hoje_por_mesa(){mesa_id: 'HH:MM'} das reservas com DINHEIRO confirmado de hoje (inclui mesas
_roteirizacao_plano()Agrupa entregas pendentes por proximidade, ordena a rota (vizinho mais
_rscore()
_rsv_casa()
_save_credentials()
_send_sms()
_slugify_casa()
_smtp_send()
_status()
_sugestao_compra()Insumos no/abaixo do mínimo → sugestão de reposição, agrupada por fornecedor.
_tenant_guard()#7 Guarda defensiva: confirma que o objeto pertence à casa do contexto.
_upload_dir()Retorna diretório de upload persistente, usando UPLOAD_DIR env se configurado.
_upload_image_as_webp_url()Converte imagem enviada para WebP e devolve URL pública em /uploads/.
_upload_video_url()Salva um vídeo (mp4/webm/mov) e devolve URL pública em /uploads/.
_vale_info()
_valid_email()
_validar_certificado()Carrega o .pfx com a senha → devolve (validade_iso, cnpj) ou (None, None).
_verify_reset_token()
_webmail_models()
aceitar_pedido()
admin_cache_bust()Força a invalidação de cache estático de TODOS os clientes:
admin_criar_avaliacao_fake()
admin_editar_avaliacao()
admin_excluir_avaliacao()
admin_uploads()Serve arquivos enviados para a pasta instance/uploads
administrador()
apagar_pedido()Soft delete: move o pedido para a LIXEIRA. Fica lá por 30 dias e pode
apagar_pedido_definitivo()HARD delete imediato — uso interno (debugging / pedido de teste).
api_admin_vale_baixa()
api_admin_vale_checar()
api_casa_status()Interruptor da casa: abre/fecha (libera/bloqueia pedidos/mesas/delivery) + horário.
api_cashback_global()Define o % de cashback GLOBAL da casa (empresa_config['fidelidade']['cashback_pct']).
api_categoria_criar()
api_categoria_pausar()
api_login()Endpoint JSON para autenticação do app cheffzy-admin.
api_mensagens_bot()
api_pagamentos_testar()Valida credenciais do Mercado Pago direto na API (botão 'Testar conexão' do painel).
api_produto_duplicar()
api_produto_opcoes()Salva as opções/adicionais de um produto (editor visual do dashboard).
api_produto_preco()
api_produto_salvar()Cria/atualiza um produto do delivery com TODOS os campos do editor (popup).
api_produto_toggle()
api_reserva_acao()
api_reserva_detalhe()
api_reserva_nova()Reserva manual pelo admin (sem cobrança). Auto-agrupa mesas se preciso.
api_reservas_add_mesa()Cria uma mesa nova (aparece nas reservas do site E no Caixa & Salão).
api_reservas_config()
api_reservas_del_mesa()Remove uma mesa — some das reservas e do caixa. Bloqueia se houver comanda/reserva ativa.
api_reservas_listar()
api_reservas_mapa()
aprovacoes_decidir()
aprovacoes_listar()
aprovacoes_page()
atualizar_status_pedido()Salva o status e/ou a forma de pagamento do pedido (modal de detalhe).
auditoria_page()
auditoria_verificar()
avaliacoes_page()
bi_page()
brl()
caixa()Caixa/salão da casa ativa: mesas, comandas, itens por estação, fechar conta.
caixa_comanda_fechar()
caixa_movimento()
caixa_painel()Devolve SÓ o HTML do painel da comanda de uma mesa (troca via AJAX, sem recarregar).
caixa_relatorio_csv()
caixa_sessao_abrir()
caixa_sessao_atual()
caixa_sessao_fechar()
caixa_ultima_comprovante()Reimprime o comprovante da ÚLTIMA comanda paga da casa.
casa_endereco_publico()Onde o restaurante define COMO o sistema dele é acessado na internet.
clientes()
compras_cancelar()
compras_get()
compras_page()
compras_receber()
compras_salvar()
conciliacao_gerar()
conciliacao_page()
conciliacao_taxas()
configuracoes()Página de configurações do site e do administrador
contas_receber_page()
criar_cupom_cliente_api()Cria um cupom específico para este cliente (admin).
crm_campanha()Gera cupons automáticos (1 por cliente do segmento) com desconto e validade.
crm_page()
crm_rfm_api()
dashboard()
definir_casa()Define a casa ativa na sessão do operador e volta ao destino.
descricoes()
despesas_criar()
despesas_excluir()
despesas_inbox_link()URL FIXA de entrada automática de notas — aponte e-mail/integração/fornecedor
despesas_page()
despesas_scan_link()Gera um link tokenizado que o operador abre no celular para escanear a nota.
despesas_toggle_pago()
detalhe_cliente_api()
detalhe_pedido_api()
editar_cliente_api()
editor_site()Editor visual do site: abas por página + preview ao vivo (iframe ?editor=1)
editor_site_dados()
editor_site_reverter()
editor_site_salvar()
editor_site_upload()Recebe imagem (→ webp) ou vídeo e devolve a URL pública p/ o editor.
empresa_config()Dados da empresa + fiscais (CNPJ, IE, CSC, NFC-e, código do restaurante).
entregas_config()Configurações de entrega (taxa, bairros, km, raio, prazo) — aba separada.
escolher_casa()Tela de escolha da casa que o operador vai operar no dashboard.
estoque_ajustar()
estoque_page()
eventos_outbox()Observabilidade do Event Bus (#26): últimos eventos do outbox + assinantes.
excluir_cupom_cliente_api()
ficha_tecnica_get()
ficha_tecnica_page()
ficha_tecnica_salvar()
financeiro()
financeiro_dados()
financeiro_dre()
financeiro_relatorio_csv()Relatório financeiro DETALHADO (CSV): período, horário, operador, tipo,
financeiro_relatorio_enviar()Envia o relatório (PDF) por e-mail ou WhatsApp — anexando o arquivo de verdade.
financeiro_relatorio_imprimir()View HTML do relatório que dispara o diálogo de impressão automaticamente
financeiro_relatorio_pdf()Relatório financeiro em PDF (download).
fiscal_config()
fiscal_config_redirect()Redireciona apelidos antigos/óbvios para a rota real (evita link quebrado 404).
fiscal_produtos()Cadastro fiscal por produto (NCM/CFOP/CEST/origem/CST+alíquota de ICMS/PIS/COFINS).
fiscal_produtos_salvar()
forgot_email()
forgot_password()
fornecedores_salvar()
get_stats()API para obter estatísticas do sistema
impressoras()
impressoras_detectadas()JSON: impressoras instaladas no Windows que o agente local reportou.
inject_admin_credentials()
insumo_historico()
insumos_page()
insumos_salvar()
inventario_abrir()
inventario_contar()
inventario_fechar()
inventario_item()
inventario_page()
jarvis_chat()
jarvis_health()
jarvis_page()
kds_acao()
kds_dados()
kds_page()
login()
logout()
maps_api_page()API de Mapas & Rastreamento: mostra o token atual e permite trocar de provedor.
maps_api_salvar()
maps_api_testar()
marketing()
marketing_carrinho_apagar()
marketing_carrinho_converter()
marketing_carrinho_recuperar()
marketing_carrinhos()
marketing_dispositivo_apagar()Remove do banco um aparelho inativo (app instalado sem uso recente).
marketing_dispositivos()Lista os aparelhos com o app instalado, cruzando com a conta do cliente.
marketing_push_apagar()
marketing_push_criar()
marketing_push_reenviar()
marketing_pushes()
mensagens_bot()
motoboys_admin()Gestão de motoboys/entregadores da casa.
notas_fiscais_atualizar()Força o poll das notas 'processando' (consulta o provedor).
notas_fiscais_cancelar()
notas_fiscais_export()ZIP do período com os XMLs separados por status — para a contabilidade baixar.
notas_fiscais_inutilizar()Inutiliza uma faixa de numeração NFC-e quebrada (com justificativa + histórico).
notas_fiscais_page()
notas_fiscais_reenviar()Recuperação de falha: reemite uma nota que deu erro/rejeitada.
notas_fiscais_xml()
one()
operacao_home()Home do operador: launcher visual por TAREFA (achar tudo fácil) + status ao vivo.
operadores_admin()Gestão de operadores/usuários da casa (acesso ao painel).
pagina_checkout()Admin: fundo da página pública /checkout (vídeo, imagem ou cor).
paginas_home()Editor CMS da página inicial (home): vídeos laterais, imagens do hero,
pedidos()
pedidos_pendentes_api()
printer_print_comanda()
printer_print_comprovante()
printer_test()
produtos()
produtos_casa()Cardápio da CASA (à la carte do salão) — usado no Caixa & Salão. Separado do delivery.
promocoes()
promocoes_apagar()
promocoes_criar()
promocoes_editar()
promocoes_toggle()
rastreio()Mapa de rastreio dos motoboys em tempo real + conversas.
reativar_pedido()Reativa um pedido — volta para 'aguardando pagamento' p/ o cliente concluir.
recebiveis_baixar()
resend_webhook()Endpoint público chamado pelo Resend para eventos (entrega, abertura, clique, inbound).
reservas_admin()
reservas_criar()
reservas_mapa_admin()
reservas_status()
reset_password()
restaurante_ativo()Liga/desliga um restaurante (matriz). Desligado = o site dele para de responder.
restaurante_novo()Cadastra um restaurante e devolve o acesso dele.
restaurantes()Lista dos restaurantes conectados (matriz).
restaurar_pedido()Tira o pedido da lixeira (limpa deletado_em). Reaparece na lista.
roteirizacao_despachar()
roteirizacao_page()
salvar_descricao()
status()
suporte()
suporte_apagar()
suporte_contador()
suporte_mensagens()
suporte_responder()
suporte_sessoes()
suporte_status()
tef_cancelar()
tef_page()
tef_registrar()Registra uma transação da maquininha. Modo manual: o operador passa o cartão
tenant_auditoria()#7 Superfície de isolamento: quais tabelas têm casa_id (isoláveis) e quais não têm
vale_operador()Painel do operador: checar um código de vale-presente e dar baixa no caixa.
webmail_apagar()Soft delete: move para lixeira. Para apagar definitivamente passe ?hard=1
webmail_contadores()Contadores para a sidebar do webmail e o badge do menu.
webmail_contatos()Lista os clientes para auto-complete de destinatário.
webmail_criar_template()
webmail_download_anexo()
webmail_editar_template()
webmail_encaminhar()
webmail_enviar()Envia agora (cria nova mensagem ou converte rascunho/agendado).
webmail_excluir_template()
webmail_listar_mensagens()
webmail_listar_templates()
webmail_marcar()Marcar como lido/não lido, estrelado/não estrelado, mover de pasta.
webmail_obter_mensagem()
webmail_page()
webmail_responder()Cria rascunho de resposta com headers de thread populados.
webmail_salvar_rascunho()Cria/atualiza um rascunho. Body: {id?, destinatarios[], cc, bcc, assunto, corpo_html, agendado_para?}
webmail_upload_anexo()

estufa_routes.py (56 funções)

FunçãoO que faz (docstring)
_admin_logado()
_bot_nome_da_casa()Nome do bot desta casa (o dono escolhe no dashboard). 'Chef' é o padrão
_bot_wa_disparar()Roda o bot em thread (o webhook responde na hora; o Gemini leva alguns s).
_bot_wa_responder()Bot da casa no WhatsApp: reativo (só responde ao cliente), consulta dados
_casa_dict()Casa no formato que o agente entende (nome/slug/persona do bot).
_casa_do_evento()Casa dona do evento vindo do Node. O Node manda o slug da sessão que
_casa_id_atual()Casa do operador logado. None = não deu pra resolver (falha fechado).
_conv_ou_404()Conversa da casa atual, ou None. Fecha o IDOR entre casas.
_db()
_eh_grupo()
_emit()Broadcast Socket.IO no namespace /estufa (sem quebrar se SocketIO faltar).
_ia_master_ativa()Master switch do bot no WhatsApp DESTA casa (guardado no config da sessão).
_inject_admin_context()
_internal_token()
_media_dir()
_models()
_node_base_url()
_node_get()GET no Node, sempre no escopo da casa (?casa=<slug>).
_node_post()POST no Node. A casa vai SEMPRE no corpo: é ela que diz qual sessão de
_parse_iso()
_preview_de()
_processar_message_ack()Atualiza status de uma mensagem enviada (entregue/lida/falhou).
_processar_message_in()
_processar_status_in()Salva status do WhatsApp sem misturar com mensagens da conversa.
_q()Query do Model presa à casa do operador.
_slug_casa_atual()Slug da casa do operador — é o que identifica a sessão dela no Node.
_status_model()
_telefone_de_jid()Extrai o telefone (só dígitos, formato BR) do JID do WhatsApp.
_upsert_contato()
_upsert_conversa()
_wa_bot_enviar()Envia uma resposta do BOT pelo node e salva como mensagem 'out' (operador_id=None).
_wrap()
_wrap()
admin_only()Decorator: exige sessão admin. APIs respondem 401 JSON; páginas redirecionam.
api_arquivar()
api_contatos()
api_conversa_detalhe()
api_conversa_ia()Liga/desliga o El Bigodón numa conversa específica (retomar após takeover).
api_conversas()Lista conversas (paginação simples por ?pagina e ?por_pagina, busca por ?q).
api_deletar_conversa()Apaga PERMANENTEMENTE a conversa e todas as suas mensagens.
api_deletar_mensagem()Apaga uma mensagem específica de uma conversa.
api_enviar()Envia uma mensagem (texto e/ou mídia já hospedada em /uploads/estufa/...).
api_estado()Estado consolidado: sessões + contadores. Resposta única para o boot da UI.
api_ia_config()Master switch do bot no WhatsApp desta casa (liga/desliga a IA para
api_internal_casas()Casas reais (slug) — o Flask é a fonte de verdade de quem existe.
api_marcar_lida()
api_mensagens()
api_status_conversa()Lista os status recentes do contato daquela conversa.
api_upload()
api_whatsapp_conectar()Pede ao Node que abra/retome a sessão Baileys. Devolve estado atual.
api_whatsapp_desconectar()
api_whatsapp_reiniciar()Apaga a sessão (force logout) e pede um novo QR.
midia()
pagina_estufa()
webhook_only()Decorator: exige header X-Internal-Token (chamada do serviço Node).
webhook_whatsapp()Evento vindo do serviço Node. Tipos:

rastreio_routes.py (63 funções)

FunçãoO que faz (docstring)
_aceite_ativo()Modo de despacho: True = motoboy aceita/recusa; False = cai automático (padrão).
_add_recusado()
_admin_ok()Admin via sessão web OU via header X-Admin-Key (app admin nativo).
_arg()
_casar_fila()Casa pedidos `aguardando` com motoboys livres. Idempotente.
_central_telefone()Telefone da central/operador (config da aba Rastreio) para o motoboy ligar.
_chat_payload()Serializa a conversa e marca como lidas as mensagens do OUTRO lado.
_d()
_db()
_dest_cache()Coords do destino SEM geocodar (só cache): pino do checkout ou destino da sessão.
_endereco_pedido()
_estado_motoboy()Objeto de estado que o app do motoboy consome a cada poll.
_expirar_ofertas()Ofertas sem resposta viram 'recusa' e o pedido volta para a fila.
_f()Converte para float ou None (silencioso).
_iso()
_metros()
_motoboy_do_token()Resolve o motoboy pelo header X-Motoboy-Token, query ?mb_token= ou body.token.
_msg_dict()
_oferta_do_motoboy()Oferta pendente para este motoboy (modo aceite), ou None.
_online()
_ordenar_proximidade()Ordena as paradas por vizinho mais próximo a partir da origem (rota mais curta).
_parada_dict()
_pdf_txt()Texto seguro para as fontes core do PDF (latin-1).
_rastreio_api_cfg()Config server-driven p/ o app mandar GPS DIRETO à API de rastreamento
_recusou()
_sessao_ativa_do_cliente()Sessão de rastreio ativa de algum pedido do cliente logado.
_sessao_ativa_do_motoboy()
_sessao_dict()
_usuario_do_jwt()Cliente logado — mesmo JWT do site/app (Authorization: Bearer ...).
aceitar()Motoboy ACEITA a oferta (modo aceite) → vira 'retirar' (vai à loja).
atribuir()Operador FORÇA um pedido para um motoboy específico (obriga a retirar).
casa_do_motoboy()A casa DONA do motoboy que está chamando — resolvida pelo TOKEN, não pelo Host.
casa_por_host_ou_none()Casa pelo Host da requisição (quando o app aponta pro domínio do próprio cliente).
central_info()App do motoboy busca o telefone da central para o botão 'Ligar para a central'.
chat_cliente()Cliente logado conversa com o motoboy da entrega em andamento.
chat_motoboy()Motoboy (app) conversa com o cliente da entrega em andamento.
chat_operador()Canal DIRETO do motoboy com a central — aberto o app inteiro (não depende de
chat_operador_foto()Motoboy tira uma foto (casa/endereço/local) e envia para a central.
cheguei()Motoboy tocou 'Cheguei': avisa o cliente no WhatsApp que ele aguarda na porta.
cliente_meus()Sessão de rastreio ativa de um pedido do cliente logado, se houver.
conversa_admin()Thread completa operador<->motoboy. Marca as respostas do motoboy como lidas.
conversas_admin()Resumo por motoboy: última mensagem + nº de respostas não lidas pelo operador.
crashlog()Recebe o stack trace de um crash do app (diagnóstico). Sem auth estrita
disponivel()Botão 'disponível' do app — entra/sai do pool de despacho.
encerrar()Encerra a entrega. Pode vir do admin (sessão) ou do motoboy (token).
enviar_mensagem()Operador (dashboard) envia um aviso para um motoboy.
estado()Heartbeat leve: o app chama quando está ocioso (sem GPS para enviar).
excluir_motoboy()Remove um motoboy que não trabalha mais + TODO o rastro dele (posições GPS).
iniciar()Botão 'iniciar rastreamento' no detalhe do pedido. Enfileira o pedido.
mensagem_vista()Motoboy visualizou o aviso (fechou o card no meio da tela).
mensagens_app()App do motoboy busca avisos ainda NÃO visualizados. Marca 'entregue' ao baixar.
minhas_entregas()Histórico de entregas do motoboy, agrupado por dia (ciclos).
motoboys()Dado consumido pelo mapa do dashboard (polling).
num()
pedido_estado()Estado de rastreio de um pedido — usado pelo modal de detalhe.
ping()Recebe uma posição GPS. Atualiza o 'online' e repassa a posição para a
rastro()Pontos recentes de uma sessão — desenha a polyline do trajeto.
recusar()Motoboy RECUSA a oferta → volta para a fila (oferecida ao próximo).
registrar()1ª execução do app: gera/recupera o cadastro do motoboy pelo uuid.
relatorio_pdf()Relatório de entregas concluídas, por motoboy, em PDF.
rota()Rota de navegação motoboy→endereço da entrega. Consumida pelo dashboard,
sair_para_entrega()2ª perna: o motoboy retirou o pedido na loja e saiu para o cliente.
salvar_config_entrega()Salva a configuração de taxa de entrega (painel da aba Rastreio).

garcom_routes.py (18 funções)

FunçãoO que faz (docstring)
_cid()
_comanda_total()
_db()
_guard()
_logado()
_num()
api_abrir()
api_add_item()
api_cardapio()
api_comanda()
api_juntar()
api_mesas()
api_pedir_conta()
api_remover_item()
api_transferir()
app_shell()
manifest()
sw()

agent_public_routes.py (13 funções)

FunçãoO que faz (docstring)
_bloco_usuario()Diz ao bot se o visitante está LOGADO (e quem é) ou ANÔNIMO, p/ dar
_casa_do_bot()Casa do request atual (site). O bot do WhatsApp não usa isto: ele passa a
_chamar_agente()Conversa com o Gemini (function-calling) executando as ferramentas LOCAIS.
_contexto_cliente_para_prompt()Contexto vivo enviado pelo navegador. É dado auxiliar, não instrução.
_contexto_site()Cardápio (resumo), entrega, pagamento e horário da casa atual — p/ o prompt.
_meta_to_gemini_tools()Converte a meta das ferramentas locais no schema de function-calling do Gemini.
_persona_bot()Monta (persona, regra_de_escopo) da casa. Sem casa → cai no CEGO genérico:
_sessao_id_publica()Cria/recupera um id de sessão para rate-limit e auditoria.
_system_prompt()
public_tools()
sugestoes_evento()Site reporta evento de navegação. Agente decide se dispara popup.
suporte_chat()
suporte_transbordo_direto()Atalho INSTANTÂNEO de transbordo IA→humano (não passa pelo Gemini).

agent_internal_routes.py (6 funções)

FunçãoO que faz (docstring)
_admin_email_header()
_auth_internal_agent()
_token_ok()
health()
tools_list()
tools_run()

mobile_api.py (33 funções)

FunçãoO que faz (docstring)
_add_middle()
_dist_dir()
_enviar_push_para_tokens()Envia push para uma lista de tokens FCM.
_inicializar_firebase_admin()Inicializa o firebase_admin uma única vez. Retorna True se OK.
_is_mv()
_ler_sha256_sidecar()
_nome_da_casa_ou_marca()Nome da casa do request. NUNCA um cliente cravado: o título do push saía
_norm()
_public_app_config()
_sem_cache_download_artefato()URL fixo (/dist/...): sem isto browsers e proxies podem servir APK antigo.
admin_push_status()
app_cliente_bootstrap()Manifesto visual/funcional da casa. O binário é genérico; este
app_cliente_clube()
app_cliente_favorito_toggle()
app_cliente_favoritos()
app_cliente_manifest()
app_cliente_publico()PWA pública: mesma configuração e mesmo runtime visual do APK.
app_cliente_service_worker()
baixar_aab_release()AAB release assinado para upload na Play Console (gerado no servidor).
baixar_admin_apk()Serve o APK do app cheffzy-admin para sideload.
baixar_apk_debug()APK debug (só testes; package .debug).
baixar_apk_release()Serve o APK release assinado (com.cheffzy.mobile).
categorias_publicas()
init_mobile_api()Registra o blueprint e cria o modelo de dispositivos FCM.
mobile_app_artifact_info()Metadados do APK release (app normal) em /dist.
mobile_debug_artifact_info()Metadados do APK debug (só testes internos).
push_teste_proprio()
registrar_device_token()
registrar_device_token_publico()
remover_device_token()
site_config_publico()
site_version()
validar_cupom()

Versão para IA/crawler: /manual.md (Markdown cru) · /manual/completo (página única) · /sitemap.xml