ResumoO que foi entregue
| Entrega | Onde | Situação |
|---|---|---|
| Fase nova Validação de Pagamento | Lojinha · Admin › Pedidos | No ar |
| SLA por fase, card vermelho e ordenação por estouro | Lojinha · kanban | No ar |
| Caixas de controle das mensagens (1ª, 4 dias, 7 dias) | Lojinha · detalhe do card | No ar |
Marcação das caixas por fora (payment-followup-mark) | Lojinha · edge function | No ar |
| Frete por fornecedor nas telas (ajustado › estimado) | Lojinha · Meus Pedidos, Admin, Fornecedor | No ar |
| Templates de 1ª mensagem e de 4 dias aprovados na Meta | SIA · WABA de campanhas | Aprovados |
| Canvas do processo reescrito (9 seções, SLA por fase) | Slack · Processo Lojinha | Ajustes do agente |
| Agente de lembrete de pagamento | Olimpo · cron 8h e 18h | No ar desde 05/10 |
Parte 1Edições na lojinha
Fase nova: Validação de Pagamento
Entrou entre Aguardando Pagamento e Aguardando Envio, com SLA de 1 dia útil. Quando o cliente anexa o comprovante, o card vem para cá. O time confere se o valor bate e se o pagamento caiu, e só então libera para o fornecedor despachar. A ordem do quadro ficou: Caixa de Entrada → Enviado ao Fornecedor → Aguardando Pagamento → Validação de Pagamento → Aguardando Envio → Pedido Enviado → Concluído.
SLA por fase e card vermelho
Cada fase tem um prazo, em dias úteis. Quando passa do prazo, o card fica vermelho e mostra “SLA estourado X dias”. A coluna ordena os mais atrasados primeiro. Quando o atraso é do fornecedor (Recebido ou Informação de Envio), o card mostra também o indicador de estouro do fornecedor.
| Fase | SLA | Quem age |
|---|---|---|
| Caixa de Entrada | 1 dia útil | Analista de Fornecedores |
| Enviado ao Fornecedor (Fornecedor: Recebido) | 3 dias úteis | Fornecedor |
| Aguardando Pagamento | 7 dias úteis | Cliente · lembretes pelo agente e pelo Analista |
| Validação de Pagamento | 1 dia útil | Analista de Fornecedores |
| Aguardando Envio (Fornecedor: Informação de Envio) | 5 dias úteis | Fornecedor |
| Pedido Enviado | 15 dias úteis | Transportadora / Analista |
Caixas de controle das mensagens
No detalhe do card, o bloco Controle de mensagens (interno) tem uma caixa para cada lembrete. Quem envia, marca. O agente marca as duas primeiras e o Analista marca a do 7º dia. Se o Analista mandar uma das duas primeiras na mão e marcar, o agente não envia de novo.
Para o agente marcar sem login, a lojinha ganhou a função payment-followup-mark,
que é protegida por chave e só marca, nunca desmarca. As caixas também passaram a vir no
export que o agente lê (card_payment_followups).
Frete por fornecedor (05/10)
As telas (Meus Pedidos, Admin e painel do Fornecedor) passaram a calcular o total de cada
fornecedor do mesmo jeito: itens daquele fornecedor + frete do card. O frete vale nesta
ordem: ajustado pelo fornecedor › frete gravado nos itens › zero se for retirada › frete estimado
da região. O orders.total continua sendo o valor do checkout e não muda quando o fornecedor
ajusta o frete. Por isso o agente não usa esse campo.
Parte 2Mensagens ao cliente pela SIA
Todas saem pelo número Loja Seazone, com os templates da WABA de campanhas. As variáveis são: {{1}} nº do pedido, {{2}} fornecedor, {{3}} itens com quantidade e {{4}} valor do card daquele fornecedor.
| Mensagem | Quando | Quem envia | Template |
|---|---|---|---|
| 1ª mensagem: link disponível | 1ª rodada depois que o card entra em Aguardando Pagamento | Agente | informativo_pagamento_disponivel_sla |
| Lembrete do 4º dia | 4º dia corrido depois da entrada na fase, às 8h | Agente | lembrete_pagamento_4dias_certo |
| Último aviso do 7º dia | 7º dia útil | Analista | — |
Texto do lembrete de 4 dias que o agente envia (aprovado)
Parte 3 · estava pendente na sextaO agente de lembrete de pagamento
É uma rotina sem IA: não interpreta nada, só aplica as regras. Ela roda no Olimpo às 8h e às 18h, todos os dias, inclusive no fim de semana. A cada rodada, lê os cards da lojinha, decide quem recebe o quê, dispara pela SIA, marca a caixa no card e avisa no Slack o que não conseguiu enviar.
Exemplo de um card do começo ao fim
- Segunda, 19hFornecedorPreenche o link. O card entra em Aguardando Pagamento e essa é a data que conta.
- Terça, 8hAgenteEnvia a 1ª mensagem e marca a caixa. Se der erro, tenta de novo às 18h e depois desiste.
- Sexta, 8hAgente4º dia corrido depois da entrada: envia o lembrete de 4 dias se o card ainda estiver na fase e a caixa estiver desmarcada. Se der erro, tenta de novo às 18h.
- 7º dia útilAnalistaEnvia o último aviso na mão e marca a caixa. Depois de 1 dia útil sem comprovante, cancela.
Regras
- Só cards em Aguardando Pagamento, e só se a caixa daquela mensagem estiver desmarcada. O agente confere de novo a cada rodada. Se o Analista mandou e marcou, ele não envia.
- Ficam de fora: fornecedor Reveev, fornecedor Seazone e card com a tag Resgate. Os fornecedores são filtrados pelo ID, não pelo nome.
- Corte: só entram cards que chegaram à fase a partir de 05/10/2026. Os anteriores (42 no dia) ficaram com o Analista.
- Uma mensagem por card: pedido com 2 fornecedores gera 2 mensagens, cada uma com o próprio valor.
- Telefone: o do pedido, não o do cadastro. Telefone inválido conta como erro.
- Valor: itens do fornecedor (quantidade × preço) + frete do card (ajustado, se houver, senão o estimado).
- Itens: “2x Toalha de banho, 1x Lençol casal”.
Quando não consegue enviar
Se a SIA recusar (cliente com conversa aberta, o 409), o telefone for inválido ou outra coisa der errado, o bot Lembretes Loja Seazone posta no canal Fornecedores com @canal. A lista vem separada entre 1ª mensagem e 4 dias, no formato Pedido – Cliente – Fornecedor. O Analista envia na mão e marca a caixa. Rodada sem erro não posta nada.
Dois cards do mesmo cliente na mesma rodada: o primeiro sai e o segundo toma 409, porque a conversa ficou aberta. Ele não é juntado com o primeiro e cai no aviso, como combinado.
Onde está
- Código: olimpo/agents/agente-lembrete-pagamento-lojinha (PR #1570, 46 testes).
- Cron
lembrete-pagamento-lojinha-rodada,0 8,18 * * *, fuso de São Paulo. - Chaves no ai-portal (Meus Agentes › lab). Para parar o envio sem derrubar nada, basta apagar
EXTERNAL_WRITES_ENABLED. Para voltar a mandar só para teste, useTRAVA_NOME=henry.
Parte 4O teste de hoje
Pedido 865, em nome de “Henry”, com dois fornecedores. Para não esperar as 18h, a rodada foi para as 12h só durante o teste e voltou para as 8h logo depois (PRs #1583 e #1584). Até aqui o agente só mandava para o nome “henry”. Depois do teste, a trava foi desligada.
rodada_inicio simulado: false · trava: henry cards_lidos 911 cards · 2 envios · 41 antes do corte envio_ok pedido 865 · RM Enxoval · 1ª mensagem → caixa marcada envio_falhou pedido 865 · Matinali · 1ª mensagem → SIA 409 (conversa aberta) rodada_fim enviados 1 · erros 1 · aviso: postado no canal Fornecedores
O que o teste mostrou:
- Mensagem chegou no WhatsApp com pedido, fornecedor, itens e valor do card certos.
- Caixa “Envio Primeira mensagem” marcada no card da RM.
- Card da Matinali tomou 409 e apareceu no aviso do Slack, sem marcar a caixa.
- Os 41 cards antigos ficaram de fora pelo corte.
Parte 5Canvas do processo
O canvas Processo Lojinha no Slack foi reescrito no padrão do canvas de fotógrafos, com 9 seções: identificação, objetivo com meta, escopo, papéis, fluxo fase a fase com o que fazer quando o prazo estoura, SLA, comunicação com o cliente, indicadores e exceções. A ordem das fases foi corrigida, porque o pedido vai ao fornecedor antes do pagamento.
Proposta com comentários da revisão: canvas-processo-lojinha.
Parte 6O que ficou pendente
| Pendência | Tipo | Observação |
|---|---|---|
| Primeiro lembrete de 4 dias real | Acompanhar | Primeiros envios na sexta, 09/10, às 8h. O template ainda não foi disparado pelo agente. |
| Atualizar o canvas com o agente | Fazer | 4º dia corrido, texto novo do lembrete, horários, exclusões e aviso de erro. |
| “Cancelado automaticamente” nos templates | Decidir | O processo diz que só o Analista cancela. Ou muda o processo, ou o texto (nova aprovação na Meta). |
| Botão do lembrete de 4 dias | Decidir | Leva para a página inicial da loja, não para Meus Pedidos. |
| Chave da marcação | Fazer | Trocar a chave temporária no Lovable e no ai-portal ao mesmo tempo. |
| Regras novas de frete no agente | Opcional | Frete gravado no item e retirada = 0. Hoje nenhum card diverge. |
| Avisos de pedido cancelado e enviado com rastreio | Próximo passo | Pela SIA, em conversa com o Roberto Campos. |
Parte 7Checklist de validação
- Fase Validação de Pagamento aparece no kanban, entre Aguardando Pagamento e Aguardando Envio.
- Card fora do prazo fica vermelho com “SLA estourado X dias” e sobe na coluna.
- Caixas de controle (1ª, 4 dias, 7 dias) aparecem no card e podem ser marcadas à mão.
- 1ª mensagem chega pelo número Loja Seazone com os dados do card.
- Agente marca a caixa da 1ª mensagem depois de enviar.
- Erro de envio aparece no canal Fornecedores com @canal.
- Cards da Reveev, da Seazone e com tag Resgate não recebem mensagem.
- Lembrete de 4 dias sai na sexta (09/10) às 8h para os cards que entraram hoje e seguem sem pagar.
- Rodada das 18h de hoje roda sem a trava, para todos os clientes.
- Canvas do Slack atualizado com as regras do agente.