[{"data":1,"prerenderedAt":1947},["ShallowReactive",2],{"docs-nav-docs_pt":3,"docs-search-docs_pt":213,"doc-docs_pt-\u002Fdocs\u002Fchannels\u002Finstagram":1765,"surround-docs_pt-\u002Fdocs\u002Fchannels\u002Finstagram":1942},[4],{"title":5,"path":6,"stem":7,"children":8,"page":58},"Docs","\u002Fdocs","docs",[9,13,17,21,59,92,105,134,155,159,184,188,192],{"title":10,"path":11,"stem":12},"Introdução","\u002Fdocs\u002Fintroduction","docs\u002F01.introduction",{"title":14,"path":15,"stem":16},"Primeiros passos","\u002Fdocs\u002Fgetting-started","docs\u002F02.getting-started",{"title":18,"path":19,"stem":20},"Como funciona","\u002Fdocs\u002Fhow-it-works","docs\u002F03.how-it-works",{"title":22,"path":23,"stem":24,"children":25,"page":58},"Conceitos","\u002Fdocs\u002Fconcepts","docs\u002F04.concepts",[26,30,34,38,42,46,50,54],{"title":27,"path":28,"stem":29},"Workspaces e recursos","\u002Fdocs\u002Fconcepts\u002Fworkspaces-and-resources","docs\u002F04.concepts\u002F1.workspaces-and-resources",{"title":31,"path":32,"stem":33},"Serviços e disponibilidade","\u002Fdocs\u002Fconcepts\u002Fservices-and-availability","docs\u002F04.concepts\u002F2.services-and-availability",{"title":35,"path":36,"stem":37},"Agendamentos e pré-reservas","\u002Fdocs\u002Fconcepts\u002Fbookings-and-holds","docs\u002F04.concepts\u002F3.bookings-and-holds",{"title":39,"path":40,"stem":41},"Automatizações","\u002Fdocs\u002Fconcepts\u002Fautomations","docs\u002F04.concepts\u002F4.automations",{"title":43,"path":44,"stem":45},"Busca global","\u002Fdocs\u002Fconcepts\u002Fglobal-search","docs\u002F04.concepts\u002F5.global-search",{"title":47,"path":48,"stem":49},"Resultados e vendas","\u002Fdocs\u002Fconcepts\u002Fsales-results","docs\u002F04.concepts\u002F6.sales-results",{"title":51,"path":52,"stem":53},"Como você chama as coisas","\u002Fdocs\u002Fconcepts\u002Fvocabulary","docs\u002F04.concepts\u002F7.vocabulary",{"title":55,"path":56,"stem":57},"Temas e paletas","\u002Fdocs\u002Fconcepts\u002Fthemes","docs\u002F04.concepts\u002F8.themes",false,{"title":60,"path":61,"stem":62,"children":63,"page":58},"Canais","\u002Fdocs\u002Fchannels","docs\u002F05.channels",[64,68,72,76,80,84,88],{"title":65,"path":66,"stem":67},"WhatsApp","\u002Fdocs\u002Fchannels\u002Fwhatsapp","docs\u002F05.channels\u002F01.whatsapp",{"title":69,"path":70,"stem":71},"Chat web","\u002Fdocs\u002Fchannels\u002Fwebchat","docs\u002F05.channels\u002F02.webchat",{"title":73,"path":74,"stem":75},"Telegram","\u002Fdocs\u002Fchannels\u002Ftelegram","docs\u002F05.channels\u002F03.telegram",{"title":77,"path":78,"stem":79},"Pausas e Estado","\u002Fdocs\u002Fchannels\u002Fpauses-and-status","docs\u002F05.channels\u002F04.pauses-and-status",{"title":81,"path":82,"stem":83},"Inbox","\u002Fdocs\u002Fchannels\u002Finbox","docs\u002F05.channels\u002F05.inbox",{"title":85,"path":86,"stem":87},"Formulário","\u002Fdocs\u002Fchannels\u002Fform","docs\u002F05.channels\u002F06.form",{"title":89,"path":90,"stem":91},"Instagram","\u002Fdocs\u002Fchannels\u002Finstagram","docs\u002F05.channels\u002F07.instagram",{"title":93,"path":94,"stem":95,"children":96,"page":58},"Bot e conhecimento","\u002Fdocs\u002Fbot","docs\u002F06.bot",[97,101],{"title":98,"path":99,"stem":100},"O bot e a IA","\u002Fdocs\u002Fbot\u002Foverview","docs\u002F06.bot\u002F01.overview",{"title":102,"path":103,"stem":104},"Conhecimento do bot","\u002Fdocs\u002Fbot\u002Fknowledge","docs\u002F06.bot\u002F02.knowledge",{"title":106,"path":107,"stem":108,"children":109,"page":58},"Trabalho, mapa e fluxos","\u002Fdocs\u002Fwork","docs\u002F07.work",[110,114,118,122,126,130],{"title":111,"path":112,"stem":113},"Trabalho e ações","\u002Fdocs\u002Fwork\u002Ftasks-and-actions","docs\u002F07.work\u002F01.tasks-and-actions",{"title":115,"path":116,"stem":117},"Mapa e endereços","\u002Fdocs\u002Fwork\u002Fmap-and-addresses","docs\u002F07.work\u002F02.map-and-addresses",{"title":119,"path":120,"stem":121},"Fluxos","\u002Fdocs\u002Fwork\u002Fflows","docs\u002F07.work\u002F03.flows",{"title":123,"path":124,"stem":125},"Condições dos fluxos","\u002Fdocs\u002Fwork\u002Fconditions","docs\u002F07.work\u002F04.conditions",{"title":127,"path":128,"stem":129},"Zonas","\u002Fdocs\u002Fwork\u002Fzones","docs\u002F07.work\u002F05.zones",{"title":131,"path":132,"stem":133},"Portal de acompanhamento do cliente","\u002Fdocs\u002Fwork\u002Ftracking-portal","docs\u002F07.work\u002F06.tracking-portal",{"title":135,"path":136,"stem":137,"children":138,"page":58},"Equipe","\u002Fdocs\u002Fteam","docs\u002F08.team",[139,143,147,151],{"title":140,"path":141,"stem":142},"Telegram da equipe","\u002Fdocs\u002Fteam\u002Ftelegram-team","docs\u002F08.team\u002F01.telegram-team",{"title":144,"path":145,"stem":146},"Papéis e permissões","\u002Fdocs\u002Fteam\u002Froles","docs\u002F08.team\u002F02.roles",{"title":148,"path":149,"stem":150},"Notificações","\u002Fdocs\u002Fteam\u002Fnotifications","docs\u002F08.team\u002F03.notifications",{"title":152,"path":153,"stem":154},"Comissões da equipe","\u002Fdocs\u002Fteam\u002Fcommissions","docs\u002F08.team\u002F04.commissions",{"title":156,"path":157,"stem":158},"Início rápido","\u002Fdocs\u002Fquickstart","docs\u002F09.quickstart",{"title":160,"path":161,"stem":162,"children":163,"page":58},"API","\u002Fdocs\u002Fapi","docs\u002F10.api",[164,168,172,176,180],{"title":165,"path":166,"stem":167},"Autenticação","\u002Fdocs\u002Fapi\u002Fauthentication","docs\u002F10.api\u002F1.authentication",{"title":169,"path":170,"stem":171},"Convenções","\u002Fdocs\u002Fapi\u002Fconventions","docs\u002F10.api\u002F2.conventions",{"title":173,"path":174,"stem":175},"Endpoints","\u002Fdocs\u002Fapi\u002Fendpoints","docs\u002F10.api\u002F3.endpoints",{"title":177,"path":178,"stem":179},"Webhooks","\u002Fdocs\u002Fapi\u002Fwebhooks","docs\u002F10.api\u002F4.webhooks",{"title":181,"path":182,"stem":183},"SDKs de TypeScript e Python","\u002Fdocs\u002Fapi\u002Fsdks","docs\u002F10.api\u002F5.sdks",{"title":185,"path":186,"stem":187},"MCP e agentes de IA","\u002Fdocs\u002Fmcp","docs\u002F11.mcp",{"title":189,"path":190,"stem":191},"Receitas","\u002Fdocs\u002Frecipes","docs\u002F12.recipes",{"title":193,"path":194,"stem":195,"children":196,"page":58},"E se…?","\u002Fdocs\u002Fque-pasa-si","docs\u002F13.que-pasa-si",[197,201,205,209],{"title":198,"path":199,"stem":200},"E se…? Agendamentos e sinais","\u002Fdocs\u002Fque-pasa-si\u002Fsenas-y-reservas","docs\u002F13.que-pasa-si\u002F01.senas-y-reservas",{"title":202,"path":203,"stem":204},"E se…? Avisos e canais","\u002Fdocs\u002Fque-pasa-si\u002Favisos-y-canales","docs\u002F13.que-pasa-si\u002F02.avisos-y-canales",{"title":206,"path":207,"stem":208},"E se…? O bot","\u002Fdocs\u002Fque-pasa-si\u002Fbot","docs\u002F13.que-pasa-si\u002F03.bot",{"title":210,"path":211,"stem":212},"E se…? Serviços e tarefas","\u002Fdocs\u002Fque-pasa-si\u002Fservicios-y-tareas","docs\u002F13.que-pasa-si\u002F04.servicios-y-tareas",[214,218,224,229,233,238,241,246,251,256,261,266,271,276,281,284,289,294,299,304,308,313,318,321,326,331,336,341,344,349,354,359,364,370,375,380,385,390,395,398,403,408,413,418,423,426,431,436,441,446,451,456,461,466,471,474,479,484,489,492,497,502,507,510,515,520,523,528,533,536,541,546,551,556,561,566,571,574,579,584,589,594,599,603,607,610,615,620,625,629,634,638,641,646,651,656,661,666,671,674,679,684,689,694,699,704,707,712,717,722,725,730,734,739,743,746,751,756,761,766,771,776,781,785,790,793,798,803,808,813,818,823,826,831,836,841,846,851,856,861,866,871,876,881,886,891,896,899,904,909,914,919,924,929,934,937,942,947,952,957,962,965,970,975,980,985,990,993,998,1003,1008,1013,1016,1021,1026,1031,1034,1039,1044,1049,1054,1059,1064,1069,1072,1077,1082,1087,1092,1097,1102,1107,1110,1115,1120,1125,1130,1135,1138,1143,1147,1152,1157,1161,1164,1169,1174,1179,1184,1189,1194,1199,1203,1206,1211,1216,1221,1226,1229,1234,1239,1244,1249,1254,1257,1262,1267,1272,1277,1282,1286,1291,1296,1301,1306,1311,1316,1319,1324,1329,1334,1339,1344,1347,1352,1357,1362,1366,1371,1376,1380,1384,1388,1393,1396,1401,1406,1411,1416,1421,1426,1431,1436,1441,1445,1448,1453,1458,1463,1468,1473,1478,1483,1488,1493,1498,1503,1508,1511,1516,1521,1526,1531,1536,1541,1546,1551,1556,1561,1566,1571,1576,1581,1586,1589,1594,1599,1604,1609,1614,1619,1624,1629,1634,1639,1644,1647,1652,1657,1662,1667,1672,1677,1682,1687,1690,1695,1700,1705,1710,1715,1720,1725,1730,1735,1740,1745,1750,1755,1760],{"id":11,"title":10,"titles":215,"content":216,"level":217},[],"O que é a Fiuit, para quem serve e os blocos que você vai usar para atender, agendar e trabalhar com a sua equipe. Fiuit é uma camada de automação multicanal: conecta WhatsApp, Telegram e o chat do seu site à agenda e ao trabalho da sua equipe. Entende o que pedem, propõe o próximo passo e transforma confirmações em reservas e tarefas. Você define as regras. WhatsApp, Telegram e chat web conversam com seus clientes. Os formulários também chegam ao Inbox, para atendimento humano. Sua equipe e a API operam sobre as mesmas tarefas. Esta documentação descreve o que já está disponível. O que ainda não existe aparece marcado como Em breve.",1,{"id":219,"title":220,"titles":221,"content":222,"level":223},"\u002Fdocs\u002Fintroduction#para-quem-é","Para quem é",[10],"Qualquer negócio que vende o tempo de alguém ou de algo. A Fiuit usa um vocabulário genérico (tarefa, recurso, serviço) e se adapta ao seu ramo com um modelo inicial: NegócioO que se reserva ou se fazBarbeariaUm barbeiro por 30 a 45 minutosEstéticaUm profissional e uma máquina e uma cabine, ao mesmo tempoClínicaUm médico e um consultórioRestauranteLugares no salão conforme o tamanho do grupoEntregasTarefas que um entregador pega de uma fila, com destino no mapa",2,{"id":225,"title":226,"titles":227,"content":228,"level":223},"\u002Fdocs\u002Fintroduction#o-que-você-vai-usar","O que você vai usar",[10],"Hoje: o que precisa ser feito agora, com o seu trabalho ou o de toda a equipe, conforme o seu papel.Inbox: todas as conversas de todos os canais em um só lugar; você assume o controle quando precisar.Trabalho: todas as tarefas, em lista, calendário ou mapa, com ações por etapa (pegar, soltar, concluir, \"não estava\").Clientes, Serviços, Equipe e recursos: seu catálogo e sua gente.Bot: personalidade, conhecimento e simulador. Automação: regras e fluxos.Wagy: o assistente do painel que ajuda você a configurar tudo conversando.Novidades: o que há de mais recente na Fiuit e o que vem por aí, com um ponto quando há algo que você ainda não viu.Configuração: Negócio, Estado, Equipe, Canais, Desenvolvedores, Webhooks e Uso de IA.",{"id":230,"title":60,"titles":231,"content":232,"level":223},"\u002Fdocs\u002Fintroduction#canais",[10],"Todos os canais usam o mesmo motor: um horário reservado pelo WhatsApp some na hora do painel, do chat web e da API. WhatsApp com assistente de IA (texto e áudio).Chat web para colar no seu site.Telegram com o bot próprio do seu negócio.Telegram da equipe: avisos e o Mini App \"Meu dia\".",{"id":234,"title":235,"titles":236,"content":237,"level":223},"\u002Fdocs\u002Fintroduction#por-onde-continuar","Por onde continuar",[10],"Primeiros passos: do modelo de negócio à sua primeira tarefa, com o Wagy.Como funciona: a vida de uma mensagem e as garantias do motor.Trabalho e ações e Fluxos.Uma dúvida pontual? Veja E se…?: respostas curtas sobre agendamentos, avisos, bot e tarefas.Se você desenvolve: Início rápido da API, SDK e MCP. O bot de clientes reserva serviços com horário; a equipe cria tarefas de fila pelo painel ou pela API. Criação de entregas em fila pelo chat: em breve.",{"id":15,"title":14,"titles":239,"content":240,"level":217},[],"Guia passo a passo para montar o seu negócio na Fiuit com a ajuda do Wagy, conectar um canal, testar o bot e fazer a sua primeira tarefa. Este guia leva você do zero a um negócio atendendo. Leva cerca de 20 minutos e você pode pedir ajuda ao Wagy em cada passo. Esqueceu a senha? No login, Esqueci a senha envia um link para o seu email. A mensagem não revela se o email existe na Fiuit; o link é usado uma única vez e pede uma senha nova de 12 a 128 caracteres.",{"id":242,"title":243,"titles":244,"content":245,"level":223},"\u002Fdocs\u002Fgetting-started#_1-criar-o-negócio-a-partir-de-um-modelo","1. Criar o negócio a partir de um modelo",[14],"Cada negócio (ou unidade) é um projeto. Ao criá-lo você escolhe o tipo de negócio e a Fiuit carrega um modelo com serviços, recursos, horários e etapas típicas desse ramo: barbearia, estética, clínica, restaurante ou entregas. Entre no painel e abra o seletor de projetos.Toque em Criar projeto, informe o nome, escolha o tipo de negócio, o fuso horário e o idioma.Entre no projeto novo. O seu plano define quantos projetos você pode ter; se atingiu o limite, o seletor avisa. Tudo o que vem no modelo pode ser alterado depois. Os nomes se adaptam ao ramo (por exemplo \"Aceitar entrega\" em entregas), mas por baixo é o mesmo motor.",{"id":247,"title":248,"titles":249,"content":250,"level":223},"\u002Fdocs\u002Fgetting-started#_2-configurar-com-o-wagy","2. Configurar com o Wagy",[14],"O Wagy é o assistente de configuração do painel: um bot simpático a quem você conta o que faz e que monta o seu negócio com você. Você o abre com o botão Falar com o Wagy. Só proprietário e gerentes o usam. Conte sobre o seu negócio (\"Tenho uma barbearia com três barbeiros\").O Wagy propõe um plano de mudanças: um cartão com o que vai criar ou modificar (serviços, horários, recursos, regras do bot, automações).Revise o plano e toque em Confirmar, Ajustar (você continua conversando e ele monta outro) ou Descartar. Nada é aplicado sem a sua confirmação.Se não gostar do resultado, toque em Desfazer: dá para desfazer o último plano aplicado por 24 horas. O Wagy também mostra uma lista de Primeiros passos que se marca sozinha com os seus dados reais: perfil do negócio, horário de atendimento, serviços, equipe, canal conectado, bot testado, primeira reserva e primeira tarefa concluída. E envia avisos discretos (no máximo dois por dia) que você pode fechar ou silenciar. O Wagy nunca pede senhas nem tokens: para conectar um canal ele leva você à tela correspondente. As primeiras mensagens com o Wagy são pagas pela plataforma; depois consomem a cota de IA do seu plano.",{"id":252,"title":253,"titles":254,"content":255,"level":223},"\u002Fdocs\u002Fgetting-started#_3-revisar-o-básico-manualmente","3. Revisar o básico manualmente",[14],"Se preferir o painel, estas são as telas: Configuração → Negócio: nome, fuso horário, moeda, idioma, endereço e política de cancelamento.Serviços: duração, preço, sinal e quais recursos cada serviço pede.Equipe e recursos: pessoas, salas ou máquinas com seus horários. Convide a equipe em Configuração → Equipe (veja papéis e permissões).",{"id":257,"title":258,"titles":259,"content":260,"level":223},"\u002Fdocs\u002Fgetting-started#_4-conectar-um-canal","4. Conectar um canal",[14],"Vá em Configuração → Canais: WhatsApp: escaneie um QR. Veja WhatsApp.Chat web: cole uma linha de código no seu site. Veja Chat web.Telegram: cole o token do seu bot. Veja Telegram. Todas as conversas chegam à mesma caixa, o Inbox.",{"id":262,"title":263,"titles":264,"content":265,"level":223},"\u002Fdocs\u002Fgetting-started#_5-testar-o-bot","5. Testar o bot",[14],"Antes de abrir para clientes reais, use o Simulador em Automação → Bot. Você conversa com o bot como se fosse um cliente, sem enviar mensagens reais; as reservas que ele faz são de teste. Experimente frases como \"quero reservar\", \"quanto custa?\" ou \"até que horas abrem?\". Ajuste a personalidade e carregue conhecimento (veja Bot e conhecimento).",{"id":267,"title":268,"titles":269,"content":270,"level":223},"\u002Fdocs\u002Fgetting-started#_6-sua-primeira-tarefa","6. Sua primeira tarefa",[14],"Toque em Nova tarefa (fica na barra superior, em qualquer tela). Aguarde o carregamento do catálogo; os campos permanecem inativos e você pode fechar o diálogo enquanto carrega.Escolha o serviço, busque ou crie o cliente e escolha o horário.Salve. A tarefa aparece em Hoje e em Trabalho.",{"id":272,"title":273,"titles":274,"content":275,"level":223},"\u002Fdocs\u002Fgetting-started#_7-ver-o-dia-em-hoje","7. Ver o dia em Hoje",[14],"Hoje mostra o que precisa ser feito agora. Proprietários e gerentes veem tudo; a equipe vê o que é seu. Em cada tarefa você avança de etapa com as ações disponíveis. Continue em Trabalho e ações.",{"id":277,"title":278,"titles":279,"content":280,"level":223},"\u002Fdocs\u002Fgetting-started#próximos-passos","Próximos passos",[14],"Fluxos e condições: lembretes e avisos automáticos.Telegram da equipe: avisos e \"Meu dia\" no celular.Pausas e Estado: o que fazer se algo se complicar.",{"id":19,"title":18,"titles":282,"content":283,"level":217},[],"Arquitetura, princípios e a vida de uma mensagem, desde que chega por um canal até virar uma tarefa, uma ação ou um aviso.",{"id":285,"title":286,"titles":287,"content":288,"level":223},"\u002Fdocs\u002Fhow-it-works#princípios","Princípios",[18],"Núcleo determinístico, IA como intérprete. A IA entende o cliente e chama ferramentas. O motor calcula disponibilidade, pré-reserva e confirma. A IA nunca inventa um horário nem um preço.O banco de dados garante as regras. O overbooking é impossível porque o PostgreSQL rejeita alocações sobrepostas, não porque o app \"confere antes\".Uma verdade operacional, várias visões. Uma tarefa é um único objeto; você a vê em Hoje, em lista, em calendário ou no mapa.API primeiro. O painel, o bot, o MCP e o Wagy usam os mesmos serviços. Se algo não dá para fazer por API, falta na API.A credencial define o negócio. Uma chave ou sessão sempre pertence a um projeto.",{"id":290,"title":291,"titles":292,"content":293,"level":223},"\u002Fdocs\u002Fhow-it-works#da-entrada-à-ação","Da entrada à ação",[18],"Entradas → motor → interpretação → ações. Este é o caminho de uma conversa, não uma sequência obrigatória: painel e API chamam o motor diretamente; formulários vão para uma pessoa. A IA volta ao motor para validar cada proposta antes de agir. Entradas → Motor Fiuit → IA interpreta → Ações e saídas A IA não executa por conta própria: pede ferramentas e o motor valida permissões, disponibilidade e confirmações. Reservas e tarefas compartilham uma verdade operacional. Os avisos dependem das suas regras e do canal; o chat web responde durante a conversa, sem lembretes proativos. O bot de clientes reserva serviços com horário; a equipe cria tarefas de fila pelo painel ou pela API. Criação de entregas em fila pelo chat: em breve. WhatsApp → reserva «Tem horário amanhã para corte com o João?» Fiuit consulta horários reais, oferece opções e segura a escolhida por 10 minutos. Pede os dados que faltam e a confirmação; só então o motor confirma a reserva. João vê na agenda dele. Telegram → reserva com horário «Tem mesa para quatro amanhã às 20:00?» Fiuit consulta os horários do serviço, segura a opção escolhida por 10 minutos e pede os dados e a confirmação. Quando o cliente confirma, o motor registra a reserva e a equipe vê na agenda. A equipe cria a entrega pelo painel com um serviço de fila, o cliente e o endereço, sem escolher um horário. Depois pode atribuir, assumir e concluir a tarefa pelo Trabalho. Avisos dependem dos fluxos ativados. Criar entregas em fila automaticamente pelo chat: em breve.",{"id":295,"title":296,"titles":297,"content":298,"level":223},"\u002Fdocs\u002Fhow-it-works#a-vida-de-uma-mensagem","A vida de uma mensagem",[18],"Entra e se organiza. O canal verifica a origem e descarta mensagens repetidas. O motor guarda o contexto no Inbox e respeita as pausas. Formulários: entrada para atendimento humano, sem bot automático.O contexto é respeitado. O cliente e a conversa são identificados. Se uma pessoa assumiu, o bot não responde. Ações da equipe e da API têm suas próprias permissões e não precisam passar pela IA.A IA interpreta. Nos canais de conversa, o modelo entende a intenção, consulta dados do negócio por ferramentas e pede o que falta. Áudio é transcrito somente onde o canal suporta.Proposta e confirmação. O motor verifica regras, permissões e disponibilidade. Uma opção escolhida fica retida por 10 minutos; o cliente confirma antes de virar reserva. Se algo mudou, são oferecidas alternativas.O motor executa. Operações idempotentes evitam repetir uma ação ao tentar novamente. A base impede reservas sobrepostas. Datas, preços e confirmações são comunicados com dados reais do sistema, em modelos de mensagem.Trabalho, avisos e diálogo. Uma reserva criada pelo chat ou uma entrega em fila registrada pela equipe no painel aparece como tarefa para a equipe. Os fluxos ativos geram avisos e ações permitidas. Fiuit também responde dúvidas e encaminha para uma pessoa; nem toda mensagem precisa criar uma tarefa.",{"id":300,"title":301,"titles":302,"content":303,"level":223},"\u002Fdocs\u002Fhow-it-works#tarefas-etapas-e-ações","Tarefas, etapas e ações",[18],"Cada negócio define as etapas por onde passa o seu trabalho e as ações que movem uma tarefa de uma para outra (pegar, soltar, concluir, \"não estava\"). Uma ação pode ter efeitos: atribuir a quem a executa, liberar, encerrar com um resultado. Veja Trabalho e ações.",{"id":305,"title":119,"titles":306,"content":307,"level":223},"\u002Fdocs\u002Fhow-it-works#fluxos",[18],"Um fluxo diz \"quando isto acontecer, se esta condição for atendida, faça aquilo\": enviar uma mensagem, avisar a equipe, esperar, executar uma ação. As condições são expressões simples sobre a tarefa, o cliente ou a hora.",{"id":309,"title":310,"titles":311,"content":312,"level":223},"\u002Fdocs\u002Fhow-it-works#segurança","Segurança",[18],"Cada negócio é isolado no próprio banco de dados, os segredos são cifrados e cada mudança fica num registro de auditoria. Você é o responsável pelos dados dos seus clientes; a Fiuit os trata em seu nome.",{"id":314,"title":315,"titles":316,"content":317,"level":223},"\u002Fdocs\u002Fhow-it-works#para-onde-ir-depois","Para onde ir depois",[18],"Reservas e pré-reservas: as garantias da agenda.Bot e IA: o que o assistente pode e não pode fazer.",{"id":28,"title":27,"titles":319,"content":320,"level":217},[],"Organizações, workspaces, papéis, recursos, modos de capacidade e grupos de recursos.",{"id":322,"title":323,"titles":324,"content":325,"level":223},"\u002Fdocs\u002Fconcepts\u002Fworkspaces-and-resources#organização-e-workspaces","Organização e workspaces",[27],"No painel, um workspace se chama projeto: você pode ter vários e trocar entre eles com o seletor de projetos. Uma organização é a conta que paga. Ela contém um ou mais workspaces. Um workspace é um negócio ou unidade com seus próprios: fuso horário, idioma e moeda,número(s) de WhatsApp,bot, serviços, recursos e equipe. Uma rede de três barbearias é uma organização com três workspaces.",{"id":327,"title":328,"titles":329,"content":330,"level":223},"\u002Fdocs\u002Fconcepts\u002Fworkspaces-and-resources#papéis","Papéis",[27],"Detalhes de cada papel e das permissões em Papéis e permissões. PapelPodeownerTudo, em todos os workspaces da organizaçãomanagerTudo dentro de um workspacestaffVer e gerenciar só os próprios recursos (por exemplo, o barbeiro vê só a sua agenda)viewerSomente leitura A equipe também pode agir pelo WhatsApp depois de vincular o número com um código de uso único. Ações de administrador pelo WhatsApp sempre pedem confirmação SIM\u002FNÃO.",{"id":332,"title":333,"titles":334,"content":335,"level":223},"\u002Fdocs\u002Fconcepts\u002Fworkspaces-and-resources#recursos","Recursos",[27],"Um recurso é qualquer coisa consumida por um agendamento. kindExemplosstaffBarbeiro, médico, esteticista, instrutorspaceSala, consultório, cabine, salãoequipmentMáquina de laser, cadeira, quadratableMesa de restaurante (modo mesas)vehicleVan, equipe de entregazoneÁrea de entrega por CEP Cada recurso tem um modo de capacidade: exclusive — atende um agendamento por vez (um barbeiro, uma sala, uma máquina).pooled — tem capacidade em unidades (40 lugares por turno, 12 vagas numa aula, 10 entregas por janela).",{"id":337,"title":338,"titles":339,"content":340,"level":223},"\u002Fdocs\u002Fconcepts\u002Fworkspaces-and-resources#grupos-de-recursos","Grupos de recursos",[27],"Um grupo de recursos é um conjunto intercambiável (\"qualquer barbeiro\", \"máquinas de laser\"). Serviços exigem grupos, não recursos individuais, para que o motor escolha um. A estratégia de alocação decide qual: assignmentComportamentocustomer_choiceO cliente escolhe (por exemplo \"com o Juan\"); se não tiver preferência, usa outra estratégiaround_robinReveza entre os membrosleast_busyEscolhe o membro com menos agendamentos no diafixedSempre o mesmo membro (máquina única, sala única) {\n  \"name\": \"Barbeiros\",\n  \"assignment\": \"customer_choice\",\n  \"member_ids\": [\"res_juan\", \"res_pedro\", \"res_leo\"]\n} html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"id":32,"title":31,"titles":342,"content":343,"level":217},[],"Serviços, requisitos com vários recursos, horários e como os slots são calculados.",{"id":345,"title":346,"titles":347,"content":348,"level":223},"\u002Fdocs\u002Fconcepts\u002Fservices-and-availability#serviços","Serviços",[31],"Um serviço é o que o cliente agenda. CampoSignificadoduration_minDuração do serviçostep_minGrade de início (a cada 15, 30 minutos…)buffer_before_min \u002F buffer_after_minTempo de preparo ou limpeza bloqueado ao redor do agendamentoprice_cents, currencyPreço que o bot informa (sempre do banco de dados)deposit_centsSinal exigido para confirmar (cobrança online: em breve)lead_time_minAntecedência mínima (por exemplo 60 minutos)max_advance_daysCom quanta antecedência máxima o cliente pode agendarwindow_modeO slot é uma janela fixa (entregas: 14:00–16:00)fulfillment_modescheduled (padrão, com horário) ou queue (despacho por fila, sem horário fixo)location_modeOnde o serviço é feito: no local, no endereço do cliente ou à escolhacolorCor que identifica o serviço em todas as telasintake_formJSON Schema de dados extras a coletar (convênio, endereço…)requirementsQuais recursos o serviço precisa ao mesmo tempo",{"id":350,"title":351,"titles":352,"content":353,"level":223},"\u002Fdocs\u002Fconcepts\u002Fservices-and-availability#janela-ou-despacho-dois-modos-de-cumprimento","Janela ou despacho: dois modos de cumprimento",[31],"Cada serviço define como o agendamento é cumprido (fulfillment_mode): scheduled (o padrão): o agendamento ocupa um intervalo de tempo conhecido — um horário fixo ou, com window_mode, uma janela (entregas das 14:00 às 16:00, com cota por zona).queue (despacho, para água, gás ou delivery sob demanda): o agendamento não tem horário fixo — entra na fila de pendências de um entregador. O motor o atribui ao entregador com menos tarefas ativas e cada entregador tem um limite de tarefas ativas por vez, garantido no banco de dados. A fila usa os mesmos estados de um agendamento: pendente → aceita → iniciada → concluída (ou falhou). Assim, um mesmo negócio de entregas pode oferecer janelas programadas, despacho imediato ou os dois.",{"id":355,"title":356,"titles":357,"content":358,"level":223},"\u002Fdocs\u002Fconcepts\u002Fservices-and-availability#requisitos","Requisitos",[31],"Um requisito diz: deste grupo, preciso de tantas unidades. Um serviço pode ter vários; um slot só existe se todos estiverem livres. {\n  \"name\": \"Depilação a laser\",\n  \"duration_min\": 45,\n  \"buffer_after_min\": 10,\n  \"requirements\": [\n    { \"resource_group_id\": \"grp_professionals\", \"units\": 1 },\n    { \"resource_group_id\": \"grp_lasers\", \"units\": 1 },\n    { \"resource_group_id\": \"grp_rooms\", \"units\": 1 }\n  ]\n} Com duas profissionais e só um laser, o Fiuit nunca oferece duas sessões de laser sobrepostas. Opções avançadas: units: \"party_size\" — consome tantas unidades quanto pessoas (restaurantes, aulas).offset_min \u002F duration_min num requisito — usa um recurso só em parte do serviço (por exemplo o lavatório nos últimos 15 minutos de uma coloração).",{"id":360,"title":361,"titles":362,"content":363,"level":223},"\u002Fdocs\u002Fconcepts\u002Fservices-and-availability#horários","Horários",[31],"Cada recurso tem um horário: regras semanais no fuso do recurso mais exceções para datas específicas (fechado ou horário especial). {\n  \"tz\": \"America\u002FSao_Paulo\",\n  \"weekly\": { \"tue\": [[\"09:00\", \"19:00\"]], \"sat\": [[\"08:00\", \"12:00\"], [\"13:00\", \"16:00\"]] },\n  \"overrides\": [{ \"date\": \"2026-12-24\", \"ranges\": [[\"09:00\", \"13:00\"]] }, { \"date\": \"2026-12-25\", \"closed\": true }]\n}",{"id":365,"title":366,"titles":367,"content":368,"level":369},"\u002Fdocs\u002Fconcepts\u002Fservices-and-availability#dias-e-horários-próprios-do-serviço","Dias e horários próprios do serviço",[31,361],"Um serviço também pode ter a sua própria janela: os dias e intervalos em que é oferecido, com o mesmo editor semanal dos recursos. A oferta é sempre a interseção: a janela do serviço corta a disponibilidade da equipe, nunca a amplia. Se o serviço não define janela, é oferecido qualquer horário que seus recursos tenham. O editor mostra uma pré-visualização com a interseção real antes de salvar, e o bot explica a janela quando não há horários.",3,{"id":371,"title":372,"titles":373,"content":374,"level":223},"\u002Fdocs\u002Fconcepts\u002Fservices-and-availability#cor","Cor",[31],"Cada serviço escolhe uma cor da paleta do tema. Você a vê no calendário, em Hoje, em Trabalho, no mapa e nas estatísticas, junto ao nome: a cor identifica, mas não substitui o texto. Se você não escolher uma, o Fiuit atribui uma cor estável automaticamente.",{"id":376,"title":377,"titles":378,"content":379,"level":223},"\u002Fdocs\u002Fconcepts\u002Fservices-and-availability#onde-é-feito","Onde é feito",[31],"Cada serviço define o seu destino: No local: a tarefa acontece no endereço do negócio.No endereço do cliente: entregas, visitas, serviço em domicílio.À escolha do cliente: o cliente decide ao reservar. Quando o destino é o endereço do cliente, ao criar a tarefa o Fiuit sugere o endereço que ele já tem salvo (com preenchimento automático ou carga manual, veja Mapa e endereços). Cada tarefa guarda o seu próprio destino: alterá-lo numa tarefa não toca nas demais nem no perfil. Salvar o endereço novo no perfil do cliente é opcional e separado: só acontece se você marcar a caixa de consentimento. O bot confirma o endereço, o consentimento e a reserva como passos separados.",{"id":381,"title":382,"titles":383,"content":384,"level":223},"\u002Fdocs\u002Fconcepts\u002Fservices-and-availability#formulários-com-quantidades-e-cálculos","Formulários com quantidades e cálculos",[31],"Além dos campos de texto, o formulário de um serviço aceita: Quantidades: quantas unidades de algo (galões, metros, pessoas, equipamentos).Campos calculados: uma expressão simples que combina quantidades e preços para mostrar um total (por exemplo agua * 1500 + gas * 3000). O cálculo é validado no servidor e não pode tocar em dados de outros módulos nem de outros negócios. O painel tem editor e pré-visualização: teste o resultado antes de salvar. Ao criar a tarefa, o formulário pede as quantidades, aplica o cálculo e mostra o total; o cliente vê um resumo claro do que pediu. A cotação fica congelada com a tarefa: se o preço do catálogo mudar antes de confirmar, a tarefa já montada mantém o seu total; editar as quantidades manualmente recalcula com o catálogo vigente.",{"id":386,"title":387,"titles":388,"content":389,"level":223},"\u002Fdocs\u002Fconcepts\u002Fservices-and-availability#como-os-slots-são-calculados","Como os slots são calculados",[31],"Expandir os horários para o período pedido, no fuso de cada recurso.Remover agendamentos e pré-reservas ativos (mais os buffers) e bloqueios manuais.Cortar em slots candidatos conforme duração e grade do serviço.Aplicar antecedência mínima e máxima, regras de corte e tamanho do grupo.Cruzar todos os requisitos, testando os membros de cada grupo conforme a estratégia de alocação.Devolver uma lista curta e ordenada. Quando não há nada disponível, a resposta traz unavailable_reason (closed, no_staff, no_equipment, no_space, lead_time, max_advance, cutoff, full) para o bot explicar o motivo. Os resultados passados de cada serviço —concluídas, canceladas, faturamento estimado, horário de pico e exportação CSV— estão em Resultados e vendas.",{"id":391,"title":392,"titles":393,"content":394,"level":223},"\u002Fdocs\u002Fconcepts\u002Fservices-and-availability#pausar-e-duplicar","Pausar e duplicar",[31],"Pausar deixa de oferecer o serviço para novos pedidos no bot, reserva pública, Wagy e MCP. As tarefas já agendadas podem ser reagendadas, reatribuídas, concluídas e canceladas com as permissões e validações habituais. A pausa preserva os controles de horário e capacidade. Reativar volta a oferecê-lo. Pausar e desativar são a mesma ação. Duplicar cria « (copia)» pausado com preço, regras, requisitos, formulário, produtos, horário independente e etapas. Não copia tarefas, resultados nem avaliações. Exige permissão de catálogo; sem permissão para editar etapas usa as etapas base do projeto e avisa. Revise a cópia e reative quando estiver pronta. No detalhe abra ⋯ → Duplicar ou Pausar. No desktop também há um menu na lista. Wagy propõe as duas ações e aguarda a confirmação do plano. MCP permite pausar com update_service(active=false, confirm=true); duplicar ainda não tem ferramenta MCP. html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"id":36,"title":35,"titles":396,"content":397,"level":217},[],"Estados do agendamento, a pré-reserva de 10 minutos, sinal e a garantia de zero overbooking.",{"id":399,"title":400,"titles":401,"content":402,"level":223},"\u002Fdocs\u002Fconcepts\u002Fbookings-and-holds#por-que-pré-reserva","Por que pré-reserva",[35],"Uma conversa no WhatsApp pode levar minutos: o cliente escolhe o horário, depois você pergunta o nome, talvez um sinal. Enquanto isso, outros clientes e a API disputam o mesmo horário. A pré-reserva (hold) segura o horário por 10 minutos (15 quando há sinal) e expira sozinha.",{"id":404,"title":405,"titles":406,"content":407,"level":223},"\u002Fdocs\u002Fconcepts\u002Fbookings-and-holds#estados","Estados",[35],"StatusSignificadoOcupa o horárioheldPré-reserva temporáriaSimpending_paymentAguardando o sinalSimconfirmedAgendadoSimchecked_inO cliente chegouSimcompletedAtendidoNãocancelledCancelado (ou substituído por reagendamento)Nãono_showFalta marcada por uma pessoaNãoexpiredPré-reserva não confirmada a tempoNão held ──confirm──► confirmed ──check-in──► checked_in ──► completed\n │  └─(sinal)──► pending_payment ──pago──► confirmed\n └─expira──► expired          confirmed ──cancela──► cancelled",{"id":409,"title":410,"titles":411,"content":412,"level":223},"\u002Fdocs\u002Fconcepts\u002Fbookings-and-holds#garantias","Garantias",[35],"Cada recurso ocupado por um agendamento é gravado como uma alocação com intervalo de tempo.Para recursos exclusive, o PostgreSQL rejeita alocações sobrepostas com uma constraint de exclusão.Para recursos pooled, os contadores de capacidade nunca passam do limite (verificação atômica).Um agendamento com vários recursos é gravado numa única transação: se qualquer recurso conflitar, nada é agendado.POST \u002Fholds e POST \u002Fholds\u002F{id}\u002Fconfirm exigem Idempotency-Key: reenviar uma requisição nunca cria um segundo agendamento. Se o horário foi ocupado enquanto o cliente decidia, você recebe 409 com code: \"slot_taken\" e uma lista de alternatives.",{"id":414,"title":415,"titles":416,"content":417,"level":223},"\u002Fdocs\u002Fconcepts\u002Fbookings-and-holds#reagendar-e-cancelar","Reagendar e cancelar",[35],"Reagendar cria um novo agendamento e cancela o anterior (ligados por rescheduled_to). Os lembretes se movem sozinhos.Cancelar libera o horário e cancela lembretes pendentes.Falta nunca é automática: o sistema sugere, uma pessoa confirma.",{"id":419,"title":420,"titles":421,"content":422,"level":223},"\u002Fdocs\u002Fconcepts\u002Fbookings-and-holds#sinal","Sinal",[35],"Se o serviço tem deposit_cents, confirmar a pré-reserva deixa o agendamento em pending_payment e o horário continua bloqueado. Quando o provedor confirma a cobrança do sinal, o núcleo registra o pagamento, confirma o agendamento e emite payment.paid. A disponibilidade de um provedor real depende da configuração do negócio.",{"id":40,"title":39,"titles":424,"content":425,"level":217},[],"Regras simples de lembretes e confirmações, horário de silêncio e garantias de execução. Para esperas e condições, veja os fluxos. Há duas ferramentas de automação: Regras: \"quando isso acontecer, envie aquela mensagem\". São a forma mais simples de enviar lembretes e confirmações. Administram-se em Automação → Regras.Fluxos: esperam, decidem com condições e agem sobre as tarefas. Veja Fluxos e Condições.",{"id":427,"title":428,"titles":429,"content":430,"level":223},"\u002Fdocs\u002Fconcepts\u002Fautomations#regras","Regras",[39],"Uma regra tem um gatilho, a mensagem enviada (um modelo com pré-visualização) e, se quiser, um filtro por etapa ou ação. Cada negócio cria, ativa e ajusta as suas: nenhuma regra escreve a um cliente sem estar ativa.",{"id":432,"title":433,"titles":434,"content":435,"level":369},"\u002Fdocs\u002Fconcepts\u002Fautomations#gatilhos","Gatilhos",[39,428],"GatilhoExemploUm tempo antes do início24 h antes: enviar um lembreteUm tempo depois do fimMensagem de acompanhamentoCancelamento ou remarcaçãoAvisar o clienteUso de uma ferramenta da tarefaQuando alguém remarca ou pega a tarefaHorário fixo do diaAvisos à equipe, como a agenda do dia As regras dirigidas a clientes saem pelo WhatsApp. Os avisos à equipe saem por Telegram, WhatsApp ou e-mail, conforme cada pessoa recebe avisos: veja Telegram da equipe. Em cada regra você vê os últimos envios com seu estado e o motivo, se falhou.",{"id":437,"title":438,"titles":439,"content":440,"level":223},"\u002Fdocs\u002Fconcepts\u002Fautomations#avisos-ao-entrar-em-uma-etapa-e-a-confirmação","Avisos ao entrar em uma etapa (e a confirmação)",[39],"O aviso ao cliente quando a tarefa entra em uma etapa —por exemplo, «Saiu para entrega»— e o aviso de confirmação não são mais regras: fazem parte da etapa do serviço, no bloco «Ao chegar». Assim há um só lugar e o cliente nunca recebe o mesmo aviso duas vezes. Cada aviso tem seu próprio interruptor. Os que vêm com o seu tipo de negócio chegam desligados, inclusive «Saiu para entrega».A confirmação sai uma única vez, venha do bot, do pagamento do sinal, do painel ou de um botão de etapa. Tarefas sem horário não a recebem.Ao chegar também pode avisar a equipe: todas as pessoas atribuídas à tarefa, por e-mail e Telegram. Se um canal falhar, ele é tentado de novo sem repetir o que já chegou.Valem as mesmas garantias abaixo (horário de silêncio, clientes de teste, canal em pausa) e os interruptores de avisos do projeto.Para esperar um tempo, pôr condições ou chamar um webhook próprio ao entrar em uma etapa, use um fluxo. Por enquanto estes avisos se configuram pela API ou MCP (etapas do serviço); o editor visual de etapas chega em breve. As regras de etapa ou de confirmação que você tinha passaram sozinhas para as suas etapas, com o mesmo estado (ligada ou desligada).",{"id":442,"title":443,"titles":444,"content":445,"level":223},"\u002Fdocs\u002Fconcepts\u002Fautomations#recomendadas-para-o-seu-negócio","Recomendadas para o seu negócio",[39],"O Fiuit traz um conjunto de regras recomendadas conforme o tipo de negócio (lembrete 24 h antes, pedido de avaliação após concluir, avisos à equipe…). Elas são instaladas desligadas: ninguém escreve aos seus clientes sem você decidir. Vá em Automação → Regras.Em Recomendadas para o seu negócio, veja a pré-visualização da mensagem de cada regra.Ative as que quiser com o interruptor. A seção se oculta quando não resta nenhuma para ativar.",{"id":447,"title":448,"titles":449,"content":450,"level":369},"\u002Fdocs\u002Fconcepts\u002Fautomations#reativar-clientes-que-não-voltam","Reativar clientes que não voltam",[39,443],"Uma das recomendadas é \"Reativar clientes que não voltam\": escreve pelo WhatsApp a quem não tem atividade há N dias (sem tarefas concluídas nem mensagens recebidas; o que o negócio envia não conta). A quantidade de dias se edita na regra (de 1 a 365; cada modelo traz um valor razoável para o seu ramo). A varredura roda a cada hora, só de dia (10:00 às 18:00, hora do negócio) e com limite de clientes novos por passada, então escreve aos poucos. Cada cliente recebe uma única mensagem por período de inatividade: se ele voltar e faltar de novo, pode receber outra mais adiante. Se o cliente pediu para não receber mensagens, ou o canal ou a IA estiverem pausados, ele não recebe.",{"id":452,"title":453,"titles":454,"content":455,"level":223},"\u002Fdocs\u002Fconcepts\u002Fautomations#mensagens-automáticas-com-juízo","Mensagens automáticas com juízo",[39],"Há um limite de 30 envios automáticos por hora a clientes, por projeto: os envios se escalonam sozinhos para cuidar da linha do WhatsApp.Na ficha do cliente (proprietário e gerente), o interruptor \"Não enviar mensagens automáticas de promoção\" marca quem pediu para não recebê-las. Os lembretes de agendamento continuam saindo normalmente: o interruptor só freia as mensagens de promoção, como a reativação.",{"id":457,"title":458,"titles":459,"content":460,"level":223},"\u002Fdocs\u002Fconcepts\u002Fautomations#garantias-de-execução","Garantias de execução",[39],"Cada envio é programado junto com o evento que o origina, então não se perde.Antes de sair, o sistema revisa a tarefa de novo. Se foi remarcada ou cancelada, o envio antigo é descartado.Cada envio sai uma só vez e, se falhar, tenta de novo com espera crescente; após 5 falhas aparece no painel.Horário de silêncio: nada é enviado a clientes entre 21:00 e 08:00 no fuso horário do negócio. O envio é adiado, não se perde.As respostas SIM\u002FNÃO (\"sim\", \"ok\", \"👍\", \"não\"...) são interpretadas sem IA: instantâneo e sem custo.",{"id":462,"title":463,"titles":464,"content":465,"level":223},"\u002Fdocs\u002Fconcepts\u002Fautomations#em-breve","Em breve",[39],"Ainda não existem gatilhos para pré-reservas vencidas nem para pagamentos (chegam com a cobrança de sinais).",{"id":467,"title":468,"titles":469,"content":470,"level":223},"\u002Fdocs\u002Fconcepts\u002Fautomations#avisos-por-serviço-e-histórico","Avisos por serviço e histórico",[39],"Em Configurações → Avisos ao cliente, o dono ou gerente configura avisos por serviço: criação sem horário, pessoa designada ou alterada, dados modificados, a caminho, chegada e conclusão. Começam desativados. Para dados modificados, escolha as chaves dos campos relevantes; edições seguidas são agrupadas até 60 segundos após a última. Para progresso, escolha uma etapa vigente do serviço. Se a etapa já tem um aviso, sua configuração existente é preservada. Os textos são salvos por idioma e aceitam marcadores de serviço e negócio. O histórico aparece nessa configuração, na Atividade da tarefa e na ficha do cliente. Mostra até 50 tentativas dos últimos 90 dias: enviado, omitido, adiado ou falhou, com canal, modelo e motivo. «Enviado» significa aceito pelo adaptador; não comprova entrega ou leitura. Não armazena texto nem contatos. Começa nesta versão, sem reconstruir envios anteriores. Sem canal ou com janela de resposta encerrada, o aviso é omitido; não há troca automática para email ou outro canal. A recusa de promoções afeta a reativação, não os avisos operacionais.",{"id":44,"title":43,"titles":472,"content":473,"level":217},[],"Encontre clientes, conversas, tarefas, recursos e serviços de qualquer tela do painel com Ctrl\u002FCmd+K ou a lupa do celular. A busca global leva você direto ao que procura, de qualquer tela do painel, sem entrar em cada seção.",{"id":475,"title":476,"titles":477,"content":478,"level":223},"\u002Fdocs\u002Fconcepts\u002Fglobal-search#como-usar","Como usar",[43],"No computador, pressione Ctrl+K (no Mac, Cmd+K). No celular, toque na lupa da barra superior.Escreva o que procura: um nome, um telefone, um email ou o código de uma tarefa.Percorra os resultados com as setas, pressione Enter para abrir o resultado e Escape para fechar. Os resultados vêm agrupados por tipo —Clientes, Conversas, Tarefas, Recursos e Serviços— e os grupos vazios não aparecem. Cada resultado abre a sua tela: uma tarefa abre direto o seu diálogo.",{"id":480,"title":481,"titles":482,"content":483,"level":223},"\u002Fdocs\u002Fconcepts\u002Fglobal-search#o-que-busca","O que busca",[43],"Clientes: nome, telefone ou email.Conversas: pelo cliente ou pela última mensagem.Tarefas: por cliente, serviço ou código (o prefixo curto que você vê na tarefa).Recursos e serviços: pelo nome.",{"id":485,"title":486,"titles":487,"content":488,"level":223},"\u002Fdocs\u002Fconcepts\u002Fglobal-search#quem-vê-o-quê","Quem vê o quê",[43],"Os resultados respeitam o seu papel: a equipe e a leitura não veem clientes, recursos nem serviços, e a equipe vê apenas as conversas e tarefas que já pode ver nas suas telas, com os dados sensíveis mascarados. A busca nunca mostra dinheiro nem registra o que você digitou. Se um grupo demora demais, é omitido e o restante dos resultados aparece normalmente.",{"id":48,"title":47,"titles":490,"content":491,"level":217},[],"Como ver os resultados de cada serviço e do negócio, com períodos, tendências, melhores clientes e exportação CSV, e quem pode ver. Em Serviços você vê muito mais que o catálogo: cada serviço mostra seus resultados passados e o negócio tem um resumo mensal com o total.",{"id":493,"title":494,"titles":495,"content":496,"level":223},"\u002Fdocs\u002Fconcepts\u002Fsales-results#no-detalhe-de-um-serviço","No detalhe de um serviço",[47],"Abra Serviços e toque no serviço.Escolha o período: Hoje, semana, mês, mês passado, trimestre (com barras semanais) ou ano (com barras mensais).Revise os indicadores e toque em Exportar CSV para baixar a tabela. O que mostra: Tarefas concluídas, com a taxa de canceladas e de ausentes (\"não estava\").Faturamento estimado e ticket médio: calculados com o preço atual do catálogo das tarefas concluídas, mais os sinais retidos. É uma estimativa, não os recebimentos reais.Sinais retidos e melhores clientes (sem dados que o seu papel não pode ver).Dia e hora de pico do serviço.Peso sobre a capacidade: quanto dos recursos compartilhados o serviço ocupa. Os serviços por fila não usam agenda, então não têm esse dado. Se o serviço tem um formulário com quantidades ou cálculos (veja Serviços e disponibilidade), os resultados são agregados por campo: você vê quanto foi usado ou vendido de cada item, com a tendência, e isso também sai no CSV.",{"id":498,"title":499,"titles":500,"content":501,"level":223},"\u002Fdocs\u002Fconcepts\u002Fsales-results#resumo-do-negócio","Resumo do negócio",[47],"A lista de Serviços traz um cartão com o resumo do mês de todo o negócio; ao tocar nele você vê o detalhe dividido por serviço.",{"id":503,"title":504,"titles":505,"content":506,"level":223},"\u002Fdocs\u002Fconcepts\u002Fsales-results#quem-vê","Quem vê",[47],"Somente o proprietário e o gerente (ou uma chave de API com permissão de leitura de reservas) veem resultados e valores. A equipe e a leitura não recebem dinheiro nem nomes de clientes.",{"id":52,"title":51,"titles":508,"content":509,"level":217},[],"Renomeie Serviço, Tarefa, Recurso e Cliente com as palavras do seu negócio e use-as no painel, no bot, nos avisos e nos emails operacionais. O Fiuit fala do serviço, da tarefa, do recurso e do cliente. Se no seu negócio essas coisas têm outro nome —produto e pedido, profissional e paciente— você pode colocar os seus. O painel, as mensagens do bot, os avisos e os emails operacionais usam as suas palavras, respeitando a concordância («o turno» \u002F «a entrega», «Novo turno» \u002F «Nova entrega»).",{"id":511,"title":512,"titles":513,"content":514,"level":223},"\u002Fdocs\u002Fconcepts\u002Fvocabulary#mudar-os-nomes-passo-a-passo","Mudar os nomes, passo a passo",[51],"Entre em Configurações → Como você chama as coisas (só o dono ou quem administra o projeto).Escolha um ponto de partida ou escreva cada nome à mão. Para cada conceito, defina o singular, o plural e o gênero, em minúsculas.Você edita por idioma: os nomes escritos em português são usados nas mensagens em português, e assim por diante com espanhol e inglês.Salve. As Configurações aplicam tudo junto numa única rodada: Salvar confirma os nomes junto com o restante das mudanças da página e Descartar recupera os valores anteriores. As mudanças aparecem na hora no menu, nos botões, nas telas, nas mensagens do bot e nos avisos, para todo o time.",{"id":516,"title":517,"titles":518,"content":519,"level":223},"\u002Fdocs\u002Fconcepts\u002Fvocabulary#o-que-não-muda","O que não muda",[51],"Só muda o nome. Seus dados, reservas, permissões e estatísticas continuam iguais: uma tarefa continua sendo uma tarefa mesmo que na tela diga «pedido».Os textos escritos por pessoas (notas, respostas, comentários) não são alterados.Para voltar atrás, restaure os nomes padrão na mesma seção e salve. Os nomes reais —de clientes, serviços ou recursos— e os números nunca são traduzidos: o vocabulário muda como o Fiuit chama os conceitos, não os seus dados.",{"id":56,"title":55,"titles":521,"content":522,"level":217},[],"A paleta de cores do projeto é escolhida em Configurações e vale para todo o time; cada pessoa escolhe entre tema claro, escuro ou automático na sua conta. O Fiuit tem duas decisões de cor separadas: a paleta do projeto (quais cores o painel usa) e o tema claro\u002Fescuro (sobre qual fundo elas são desenhadas).",{"id":524,"title":525,"titles":526,"content":527,"level":223},"\u002Fdocs\u002Fconcepts\u002Fthemes#a-paleta-do-projeto","A paleta do projeto",[55],"A paleta define as cores do painel para todo o time: botões, etiquetas, ações principais e superfícies. Entre em Configurações → Aparência (dono ou quem administra o projeto).Escolha uma paleta entre as disponíveis: combinações de duas cores, monocromáticas e a opção Preto e branco para uma interface sem cores de marca. O seletor mostra uma prévia com textos e botões reais.Salve. As mudanças das Configurações são aplicadas todas juntas com um único Salvar e aparecem na hora para todo o time. Se você não escolher nenhuma, o projeto usa a paleta da plataforma. Com a paleta Preto e branco, os avisos de sucesso, erro e outros continuam coloridos: o importante não passa despercebido.",{"id":529,"title":530,"titles":531,"content":532,"level":223},"\u002Fdocs\u002Fconcepts\u002Fthemes#o-tema-de-cada-pessoa","O tema de cada pessoa",[55],"Cada pessoa escolhe como vê o próprio painel, sem mexer na paleta do projeto: Em Minha conta você escolhe claro, escuro ou automático (segue o tema do dispositivo).O mapa tem seu próprio seletor (automático, claro ou escuro), que fica lembrado por navegador. Assim o negócio mantém sua identidade e cada um trabalha com a luz que prefere.",{"id":66,"title":65,"titles":534,"content":535,"level":217},[],"Conecte o número do seu negócio por QR, o que o assistente faz com clientes e com a sua equipe, e como encaminhar uma conversa a uma pessoa.",{"id":537,"title":538,"titles":539,"content":540,"level":223},"\u002Fdocs\u002Fchannels\u002Fwhatsapp#conectar-um-número","Conectar um número",[65],"No painel, vá em Configuração → Canais.Toque em Vincular WhatsApp. Aparece um código QR.No celular do negócio abra o WhatsApp, toque em Configurações (ou nos três pontinhos), Aparelhos conectados e Conectar um aparelho, e aponte a câmera para o código.Quando o status mudar para Conectado, você já recebe mensagens. Se o código expirar, toque em Reconectar para gerar outro. Só o proprietário e os gerentes podem vincular. A tela mostra o status (conectado, aguardando leitura, desconectado) e quantas conexões o seu plano inclui. Desconectar para o bot nesse número, mas conserva as conversas e o histórico. Use um número dedicado ao negócio. Hoje a conexão por QR (como no WhatsApp Web) é a forma de conectar o WhatsApp. Não compartilhe o código: ele dá acesso ao seu WhatsApp. Existe um Canal de teste: é o simulador do bot e não conta para o seu plano.",{"id":542,"title":543,"titles":544,"content":545,"level":223},"\u002Fdocs\u002Fchannels\u002Fwhatsapp#clientes-e-equipe","Clientes e equipe",[65],"O papel é decidido no código, nunca pelo que alguém diz no chat: Um número vinculado a alguém da equipe (verificado com um código de uso único) recebe ferramentas de equipe.Todos os demais recebem ferramentas de cliente. Ferramentas de clienteFerramentas de equipe (extras)Ver serviços, buscar horários, pré-reservar e confirmar, ver e cancelar ou remarcar as suas reservas, consultar as informações e o conhecimento do negócio, salvar uma localização compartilhada, passar para uma pessoaVer o dia, bloquear tempo, marcar uma ausência, atualizar o catálogo e avançar etapas de uma tarefa, sempre com confirmação SIM\u002FNÃO A equipe também pode receber avisos pelo Telegram.",{"id":547,"title":548,"titles":549,"content":550,"level":223},"\u002Fdocs\u002Fchannels\u002Fwhatsapp#o-que-a-ia-pode-e-não-pode-fazer","O que a IA pode e não pode fazer",[65],"PodeNão podeEntender texto, áudio, erros de digitação e mudanças de ideiaInventar horários, preços ou endereçosBuscar horários e oferecer 2 ou 3 opçõesConfirmar uma reserva sem o motorPré-reservar e pedir os dados que faltamUsar ferramentas de administrador com um clienteResponder com o conhecimento do negócioSeguir instruções escondidas em mensagens ou arquivosPassar a conversa para uma pessoaVer dados de outro negócio Mais detalhes em Bot e IA.",{"id":552,"title":553,"titles":554,"content":555,"level":223},"\u002Fdocs\u002Fchannels\u002Fwhatsapp#localização-compartilhada","Localização compartilhada",[65],"Se um cliente compartilha a localização pelo WhatsApp, ela fica salva na conversa e o Inbox a mostra com um mapa. O bot pode usá-la como destino de uma entrega ou como endereço do cliente, sempre pedindo que confirme com SIM ou NÃO. Veja Mapa e endereços.",{"id":557,"title":558,"titles":559,"content":560,"level":223},"\u002Fdocs\u002Fchannels\u002Fwhatsapp#encaminhar-a-uma-pessoa","Encaminhar a uma pessoa",[65],"A equipe vê todas as conversas ao vivo no Inbox. Com Assumir conversa o bot é pausado nessa conversa; ele volta sozinho após 15 minutos sem atividade do operador, ou quando você toca em Devolver ao bot. O assistente também encaminha quando o cliente pede (\"quero falar com uma pessoa\").",{"id":562,"title":563,"titles":564,"content":565,"level":223},"\u002Fdocs\u002Fchannels\u002Fwhatsapp#áudios-e-idiomas","Áudios e idiomas",[65],"Os áudios são transcritos antes de a IA lê-los e a transcrição aparece no Inbox. O assistente responde no idioma do cliente (português, espanhol ou inglês).",{"id":567,"title":568,"titles":569,"content":570,"level":223},"\u002Fdocs\u002Fchannels\u002Fwhatsapp#pausar-o-canal","Pausar o canal",[65],"Se houver spam ou ruído, você pode pausar o bot ou o canal inteiro sem desconectar. Veja Pausas e Estado.",{"id":70,"title":69,"titles":572,"content":573,"level":217},[],"Coloque o assistente da Fiuit no seu site com uma linha de código, com dados de contato obrigatórios e regras por canal. O chat web é um widget que o seu negócio cola no próprio site. Ele conversa com o mesmo bot do WhatsApp (mesmos horários, preços e reservas), sem número nem aprovações de terceiros. As conversas chegam ao mesmo Inbox. Se você hospeda o Fiuit por conta própria, o chat web vem desligado: ele é ativado com PUBLIC_WEBCHAT_ENABLED=true na API.",{"id":575,"title":576,"titles":577,"content":578,"level":223},"\u002Fdocs\u002Fchannels\u002Fwebchat#instalar-passo-a-passo","Instalar passo a passo",[69],"Entre como proprietário em Configuração → Canais → Chat web.Em Sites permitidos adicione cada site onde vai usá-lo, um por linha, com https:\u002F\u002F e sem curingas nem caminhos (por exemplo https:\u002F\u002Fwww.minhaloja.com). Para testar no seu computador, http:\u002F\u002Flocalhost é aceito.Escolha cor principal, posição do botão, idioma padrão, um título opcional (até 40 caracteres) e o avatar do assistente: seu logo (com a URL), a mascote animada Wagy tingida com sua cor ou iniciais genéricas.Toque em Ativar chat web. Você recebe uma chave publicável wg_web_… e o código para colar.Cole o snippet antes de \u003C\u002Fbody> em cada página onde quiser o chat: \u003Cscript src=\"https:\u002F\u002Ffiuit.com\u002Fwidget.js\" data-key=\"wg_web_…\" defer>\u003C\u002Fscript> Atributos opcionais: data-locale (pt, es ou en; por padrão usa o idioma do navegador), data-offset-bottom (pixels, para subir o botão se o seu site tem uma barra fixa embaixo), data-api (origem da API, só para ambientes de teste) e data-avatar (logo, wagy ou generic; força o avatar sobre o configurado). Se você tocar em Desativar, o chat deixa de funcionar e as conversas abertas são encerradas; ao ativar de novo você recebe uma chave nova e precisa atualizar o código. Em \u002Fdemo\u002Fwebchat há uma página de demonstração onde você cola a chave e vê o widget funcionando.",{"id":580,"title":581,"titles":582,"content":583,"level":223},"\u002Fdocs\u002Fchannels\u002Fwebchat#o-que-o-visitante-vê","O que o visitante vê",[69],"Um botão flutuante que abre o chat (no celular abre em tela cheia, respeitando as áreas seguras), em português, espanhol ou inglês.Se você escolher o Wagy como avatar, o mascote pisca e \"fala\" enquanto o bot prepara a resposta (com a preferência de redução de movimento do dispositivo ele fica parado), e o botão flutuante pode mostrar uma mini Wagy.Um chat breve de propósito: respostas curtas que propõem reservar ou continuar pelo WhatsApp. Pela web o visitante é anônimo e cada resposta custa.Se o bot pedir a localização (por exemplo para uma entrega), oferece Usar minha localização, com consentimento explícito.A conversa continua entre páginas e recarregamentos: ao voltar, o chat mostra o que foi conversado e as respostas que chegaram nesse meio tempo (com um aviso de mensagens novas se estava fechado). Um botão Nova conversa, no menu ⋯ do chat, apaga tudo e recomeça do zero.",{"id":585,"title":586,"titles":587,"content":588,"level":223},"\u002Fdocs\u002Fchannels\u002Fwebchat#continuidade-entre-páginas-e-recarregamentos","Continuidade entre páginas e recarregamentos",[69],"Ao abrir a conversa, o servidor emite um código de sessão opaco. O widget o guarda no armazenamento do navegador (localStorage, ou sessionStorage se não estiver disponível) do site onde você instalou o chat, com uma chave por chave publicável. Não usa cookies nem serviços de terceiros, e ali não se guarda nada pessoal: nem nome, nem telefone, nem e-mail, nem mensagens. Os dados de contato declarados ficam só no servidor, então o chat não os pede de novo dentro da mesma conversa. Ao carregar outra página ou recarregar, o widget valida o código, traz o histórico e se reconecta para receber as respostas novas.Vencimento: a conversa vence por inatividade e por um limite máximo de duração. Se o código venceu, foi encerrado ou apagado, o widget o descarta e começa uma conversa nova, sem mostrar erros.Nova conversa: o visitante a escolhe no menu ⋯. O código é invalidado no servidor, o do navegador é apagado e o chat começa vazio. A equipe mantém o histórico anterior no Inbox até a limpeza.Modo privado ou armazenamento bloqueado: o chat funciona igual, mas a conversa não sobrevive a um recarregamento.Canal pausado: se você pausou o canal, o chat não aparece mesmo que o visitante tenha um código guardado; ao retomar, a conversa continua. O código não é um segredo forte: é uma chave de uma única conversa, nunca dá acesso a outras nem ao painel. Só funciona a partir das origens que você autorizou no widget, está sujeito aos mesmos limites de uso e é invalidado ao vencer, ao escolher Nova conversa e na limpeza da conversa.",{"id":590,"title":591,"titles":592,"content":593,"level":223},"\u002Fdocs\u002Fchannels\u002Fwebchat#dados-de-contato-obrigatórios","Dados de contato obrigatórios",[69],"Por padrão o bot não conversa até ter telefone e e-mail: diante de qualquer mensagem responde um texto fixo (sem IA) e o chat mostra um mini formulário (telefone com seletor de país, em formato internacional, e e-mail). Assim que é preenchido, a primeira mensagem do visitante é processada sozinha, sem que ele a repita. Os dados são declarados, não verificados: não identificam o visitante nem se unem a clientes existentes. São guardados cifrados e apagados junto com a conversa vencida.",{"id":595,"title":596,"titles":597,"content":598,"level":223},"\u002Fdocs\u002Fchannels\u002Fwebchat#regras-do-bot-por-canal","Regras do bot por canal",[69],"Em Canais → Regras do bot por canal (proprietário e gerente) você escolhe o canal (Chat web ou WhatsApp) e define: RegraO que fazChat web (padrão)WhatsApp (padrão)Dados exigidosNome, telefone e\u002Fou e-mail antes de conversartelefone e e-mailnenhum (o telefone já chega do canal)Quando pedeDesde a primeira mensagem, depois de algumas respostas, ou nuncadesde a primeira mensagemnuncaTexto com que pedeUm texto fixo personalizávelo padrãonão se aplicaLimite de respostasTeto de respostas do bot por conversa6sem tetoO que oferece ao chegar ao limiteContinuar pelo WhatsApp e\u002Fou receber as informações por e-mailambosnenhumEstilo do bot no canalUma preferência de tom (até 500 caracteres)respostas curtasnenhuma São regras do projeto: o servidor as aplica antes de acionar a IA, mesmo que alguém use a API pública sem o widget. Ao chegar ao limite, o bot para de responder e de gastar IA, envia uma mensagem fixa com as opções e a conversa fica no Inbox como \"precisa de acompanhamento\", com os dados que o visitante deixou. Se não há WhatsApp conectado, essa opção não é oferecida.",{"id":600,"title":310,"titles":601,"content":602,"level":223},"\u002Fdocs\u002Fchannels\u002Fwebchat#segurança",[69],"A chave publicável só abre conversas anônimas: não dá acesso ao painel, à API privada nem a dados de clientes. Pode ser revogada quando quiser.O negócio sempre sai da chave; o widget nunca envia um identificador de negócio.Só os sites permitidos podem usar o chat. Sem cookies.A checagem da origem não é autenticação: só protege contra outros sites em um navegador. A proteção real são os limites de uso.Há tetos de mensagens por conversa, por hora e por dia. Ao esgotar, o chat pede que você aguarde e a IA não é acionada.O texto do visitante é tratado como dado não confiável, e o widget o mostra sempre como texto simples.O chat só responde: não envia mensagens proativas.Você pode pausar o bot ou o canal inteiro se precisar; com o canal pausado o widget se oculta.",{"id":604,"title":160,"titles":605,"content":606,"level":223},"\u002Fdocs\u002Fchannels\u002Fwebchat#api",[69],"Gestão (proprietário): GET|PUT|DELETE \u002Fv1\u002Fwebchat-site. Regras por canal (proprietário e gerente): GET \u002Fv1\u002Fbot\u002Fchannel-policies e PUT \u002Fv1\u002Fbot\u002Fchannel-policies\u002F{channel}. Os endpoints públicos do widget estão no contrato OpenAPI em \u002Fv1\u002Fpublic\u002Fwebchat. html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"id":74,"title":73,"titles":608,"content":609,"level":217},[],"Conecte o bot do Telegram do seu negócio para que os clientes reservem e consultem como no WhatsApp, com a mesma caixa e o mesmo bot. Com o Telegram, seus clientes escrevem para um bot próprio do seu negócio e recebem o atendimento do mesmo assistente do WhatsApp: mesmos serviços, mesmos horários, mesma caixa. É independente do Telegram da equipe, que é um único bot da Fiuit para avisos internos e o Mini App \"Meu dia\".",{"id":611,"title":612,"titles":613,"content":614,"level":223},"\u002Fdocs\u002Fchannels\u002Ftelegram#conectar-o-seu-bot","Conectar o seu bot",[73],"No Telegram abra o @BotFather e envie \u002Fnewbot. Escolha um nome e um usuário que termine em bot.O BotFather entrega um token (algo como 123456:ABC…). É um segredo: não o compartilhe.No painel, vá em Configuração → Canais → Telegram para os seus clientes.Cole o token em Token do bot e toque em Conectar bot. Só o proprietário pode fazer isso.Quando o status disser Recebendo mensagens, já funciona. Teste escrevendo para o bot do seu Telegram. O token é guardado cifrado e não é mostrado de novo. Se você o revogar no BotFather, cole o novo com Atualizar token. Um mesmo bot não pode estar conectado a dois negócios. Desconectar apaga o token guardado e conserva o histórico.",{"id":616,"title":617,"titles":618,"content":619,"level":223},"\u002Fdocs\u002Fchannels\u002Ftelegram#o-que-faz","O que faz",[73],"Atende com o mesmo bot: busca horários, pré-reserva, confirma, responde com o seu conhecimento e encaminha a uma pessoa.As opções e confirmações aparecem como botões dentro do chat.Aceita texto e localização (inclusive a compartilhada como local). Hoje não processa voz, fotos nem mensagens de grupos ou canais.Não tem janela de resposta como o WhatsApp: você pode responder quando quiser.",{"id":621,"title":622,"titles":623,"content":624,"level":223},"\u002Fdocs\u002Fchannels\u002Ftelegram#identidade-multicanal","Identidade multicanal",[73],"Cada pessoa que escreve pelo Telegram fica como uma identidade do cliente, verificada pelo Telegram e sem telefone. Um mesmo cliente pode ter várias identidades (telefone do WhatsApp, Telegram) e vê-las todas na ficha. As mensagens de saída vão pelo canal da identidade correspondente.",{"id":626,"title":553,"titles":627,"content":628,"level":223},"\u002Fdocs\u002Fchannels\u002Ftelegram#localização-compartilhada",[73],"Se o cliente compartilha a localização, ela fica na conversa e o Inbox mostra um mapa. O bot pode salvá-la como destino da tarefa ou como endereço do cliente, com confirmação SIM\u002FNÃO. Veja Mapa e endereços.",{"id":630,"title":631,"titles":632,"content":633,"level":223},"\u002Fdocs\u002Fchannels\u002Ftelegram#estado-e-pausas","Estado e pausas",[73],"Em Configuração → Estado você vê se o bot está recebendo mensagens, se houve erros de entrega e se algum cliente bloqueou o bot. Você pode pausar o bot ou o canal.",{"id":635,"title":463,"titles":636,"content":637,"level":223},"\u002Fdocs\u002Fchannels\u002Ftelegram#em-breve",[73],"Instagram: veja Instagram (é habilitado quando a Meta aprova o app). O bot de clientes reserva serviços com horário; a equipe cria tarefas de fila pelo painel ou pela API. Criação de entregas em fila pelo chat: em breve.",{"id":78,"title":77,"titles":639,"content":640,"level":217},[],"Pause um canal ou a IA do seu projeto numa emergência e veja em Estado e em Uso de IA se o seu negócio está atendendo. Há três ferramentas para quando algo se complica (spam, custos inesperados, ruído no Inbox) e duas telas para ver como está o seu serviço.",{"id":642,"title":643,"titles":644,"content":645,"level":223},"\u002Fdocs\u002Fchannels\u002Fpauses-and-status#pausar-um-canal","Pausar um canal",[77],"Cada canal conectado (WhatsApp, Telegram e chat web) pode ser pausado sem desconectar, em Configuração → Canais. Só proprietário e gerente. Há dois níveis: NívelO que aconteceQuando usarPausar botAs mensagens continuam sendo salvas e chegam ao Inbox, mas o bot não responde nem gasta IA. A conversa passa ao modo humano, marcada para atenção. Opcionalmente é enviada ao cliente uma única mensagem fixa (você escolhe o texto; por padrão \"Em breve uma pessoa responde.\").Você quer atender manualmente por um tempo.Pausar canalTudo o que chega pelo canal é descartado: não se criam clientes, conversas nem mensagens, e não há IA. Só se conta quantas foram descartadas. A equipe também não pode enviar por esse canal. O chat web deixa de aparecer.Há spam ou abuso. Passos: Entre em Configuração → Canais e encontre o canal.Toque em Pausar bot ou Pausar canal.Escreva um motivo (opcional), decida se quer enviar a mensagem fixa e confirme.Para voltar, toque em Retomar. Enquanto algo está pausado, o painel mostra um aviso com quem pausou e desde quando. Tudo fica no registro de auditoria.",{"id":647,"title":648,"titles":649,"content":650,"level":223},"\u002Fdocs\u002Fchannels\u002Fpauses-and-status#pausar-a-ia-do-projeto","Pausar a IA do projeto",[77],"É um interruptor de emergência em Configuração → Uso de IA: corta todo o consumo de IA do projeto (bot, Wagy, conhecimento e transcrição de áudios) antes que se gaste mais um centavo. O bot responde uma mensagem fixa e passa a conversa ao Inbox com atenção.As importações de conhecimento ficam em espera, sem erro, e são retomadas ao reativar.O restante continua funcionando: calendário, tarefas, clientes e ações manuais. Toque em Pausar IA e confirme; para voltar, Retomar IA. Só proprietário e gerente.",{"id":652,"title":653,"titles":654,"content":655,"level":223},"\u002Fdocs\u002Fchannels\u002Fpauses-and-status#pausa-automática-por-spam-ou-abuso","Pausa automática por spam ou abuso",[77],"Ativada por padrão, em Configuração → Uso de IA. Duas proteções, ambas sem nunca pausar o canal inteiro (assim nenhum cliente legítimo se perde): Silêncio por contato. Se um mesmo contato manda mais de 15 mensagens em 5 minutos (ou 60 em uma hora), o bot para de responder nessa conversa por 30 minutos. As mensagens continuam sendo guardadas e chegam na caixa de entrada; só a IA e as respostas automáticas são cortadas. A conversa fica marcada para atenção com o motivo \"possível spam\", você recebe uma notificação de spam e, na conversa, Reativar bot a devolve antes da hora. Ao fim do resfriamento o bot volta sozinho.Freio de gasto de IA. Se o projeto passa de 300 chamadas à IA em 10 minutos, a IA do projeto é pausada sozinha (motivo: automática) e avisamos você. Essa pausa não é retirada sozinha: um pico assim pode ser um loop ou um ataque, e reativar sozinha voltaria a gastar. Você a vê em Estado e em Uso de IA, e a retoma com Retomar IA depois de revisar o que aconteceu. As mensagens da sua equipe e as do simulador não contam. Proprietário e gerente podem desligar ou mudar os limites e o resfriamento.",{"id":657,"title":658,"titles":659,"content":660,"level":223},"\u002Fdocs\u002Fchannels\u002Fpauses-and-status#estado-do-meu-serviço","Estado do meu serviço",[77],"Configuração → Estado (proprietário e gerente) responde em linguagem simples se o seu negócio está atendendo. Mostra um semáforo geral e um cartão para cada parte: WhatsApp: se está conectado e recebendo mensagens.Assistente automático: se o bot está ativo.Respostas inteligentes: se há cota de IA disponível neste mês.Chat web e Telegram: sites permitidos e sessões ativas, última mensagem, tetos de uso atingidos, webhook do Telegram, erros de entrega e clientes que bloquearam o bot.Os canais disponíveis que você ainda não conectou, com um link para Canais. Cada cartão com problema traz um link para resolver. Se algo está pausado, isso também é indicado.",{"id":662,"title":663,"titles":664,"content":665,"level":223},"\u002Fdocs\u002Fchannels\u002Fpauses-and-status#uso-de-ia","Uso de IA",[77],"Configuração → Uso de IA mostra quanta IA o seu negócio usou neste mês e qual é o limite do seu plano, com avisos aos 80 % e ao atingir o limite. Ao atingir o limite, as funções com IA são pausadas e as automações com IA esperam na caixa; todo o resto continua funcionando.Se não for possível confirmar o uso, aparece \"Uso incerto\" e a IA pode estar limitada.O valor é o subtotal conhecido, não uma fatura.Com Solicitar mais (proprietário) você avisa a equipe da Fiuit para ampliar o limite.",{"id":667,"title":668,"titles":669,"content":670,"level":223},"\u002Fdocs\u002Fchannels\u002Fpauses-and-status#quem-pode-o-quê","Quem pode o quê",[77],"AçãoProprietárioGerenteEquipe e leituraPausar ou retomar canais e IASimSimNãoVer Estado e Uso de IASimSimNãoSolicitar mais IASimNãoNãoConectar o Telegram ou publicar o chat webSimNãoNão Mais sobre permissões em Papéis e permissões.",{"id":82,"title":81,"titles":672,"content":673,"level":217},[],"Todas as conversas de todos os canais em um só lugar: estados, resolver, arquivar, excluir, contexto do cliente e resumo com IA. O Inbox reúne as conversas do WhatsApp, Telegram e chat web em uma única caixa de entrada. O bot atende sozinho; o Inbox é onde você entra quando uma conversa precisa de uma pessoa.",{"id":675,"title":676,"titles":677,"content":678,"level":223},"\u002Fdocs\u002Fchannels\u002Finbox#estados-de-uma-conversa","Estados de uma conversa",[81],"Cada conversa tem um estado que reflete quem está sendo esperado: Pendente: ainda ninguém a assumiu.Aguardando o cliente: você respondeu e ficou a espera de que o cliente escreva.Aguardando a equipe: o cliente escreveu e alguém precisa responder.Resolvida: encerrada. Na lista você pode filtrar por estado, com o contador de cada um; os filtros em zero não aparecem.",{"id":680,"title":681,"titles":682,"content":683,"level":223},"\u002Fdocs\u002Fchannels\u002Finbox#resolver-arquivar-e-excluir","Resolver, arquivar e excluir",[81],"Marcar como resolvida (e Reabrir uma resolvida) fica no detalhe e no menu de cada linha. Se o cliente escrever de novo, a conversa reabre sozinha. Também funciona com várias conversas ao mesmo tempo: entre no modo de seleção, escolha as linhas e aplique a ação.Arquivar tira a conversa da lista principal. O filtro Arquivadas aparece só se houver alguma, e dali você a desarquiva.Excluir (só proprietário e gerente) apaga a conversa e todas as mensagens e anexos para sempre. O cliente e as tarefas ficam; se o cliente escrever de novo, começa uma conversa nova. O painel pede confirmação e avisa se houver envios pendentes. Cada exclusão fica no registro de auditoria.",{"id":685,"title":686,"titles":687,"content":688,"level":223},"\u002Fdocs\u002Fchannels\u002Finbox#contexto-do-cliente","Contexto do cliente",[81],"Ao abrir uma conversa, um painel lateral (uma folha no celular) mostra o contexto do cliente: os dados dele, um resumo das visitas, etiquetas e notas, e as próximas e últimas tarefas, que abrem o diálogo da tarefa. O que está vazio fica oculto. Dali você também pode criar uma tarefa com o cliente já pré-selecionado (e o serviço da última tarefa dele, se ainda estiver ativo). Se ele já tiver uma próxima tarefa parecida, o painel oferece abri-la antes de criar outra. A equipe vê apenas o canal, o estado e as tarefas que já pode ver: nunca vê dinheiro. O proprietário e o gerente leem a ficha completa.",{"id":690,"title":691,"titles":692,"content":693,"level":223},"\u002Fdocs\u002Fchannels\u002Finbox#resumir-com-ia","Resumir com IA",[81],"O botão Resumir (no contexto da conversa) gera com IA um resumo breve: o que o cliente pede, o que foi respondido e o que falta, em três a cinco tópicos. Telefones e emails aparecem mascarados, e o texto é para leitura: confirme na conversa antes de agir. Ele é gerado só quando há mensagens novas; se nada mudou, o resumo salvo aparece sem gastar IA de novo.Junto da data do resumo aparece Atualizar quando chegaram mensagens novas.Consome a cota de IA do plano e respeita a pausa de emergência: com a IA pausada ou sem cota não há botão, apenas o aviso.",{"id":695,"title":696,"titles":697,"content":698,"level":223},"\u002Fdocs\u002Fchannels\u002Finbox#permissões","Permissões",[81],"AçãoProprietário e gerenteEquipeSó leituraVer e responderSimSó o que é seuSim (leitura)Mudar estado e arquivarSimSimNãoExcluirSimNãoNãoResumir com IASimSim (só o que vê)Não Quando uma conversa fica com uma pessoa, o bot pausa nela: veja O bot e a IA.",{"id":700,"title":701,"titles":702,"content":703,"level":223},"\u002Fdocs\u002Fchannels\u002Finbox#primeiro-contato-pela-ficha-do-cliente","Primeiro contato pela ficha do cliente",[81],"O botão de mensagem da ficha leva o nome do canal («WhatsApp», «Telegram»); com vários canais, no computador há um botão por canal (até dois) e no celular «Mensagem» abre uma folha para escolher. Abre uma conversa vazia se houver um canal conectado e um destinatário válido. Abrir não envia nada. Telegram exige um usuário que já escreveu ao bot; o telefone não serve como destinatário. WhatsApp Cloud (oficial): textos livres precisam de uma janela de 24 horas aberta por uma mensagem do cliente. Abrir a conversa não abre essa janela. Fora dela é necessário um modelo aprovado; este botão não envia modelos.WAHooks (não oficial): permite texto de primeiro contato sem a janela oficial. O painel avisa antes de abrir: o número pode ser bloqueado; evite mensagens não solicitadas. Há um limite de novas aberturas por projeto e dia UTC (20 por padrão). Reabrir a mesma conversa não consome cota; ao atingir o limite, aguarde o próximo dia. Esse limite não elimina o risco de bloqueio.Instagram: não se inicia pela ficha: o cliente abre a janela de 24 h ao escrever. Chat web: só responde ao visitante.",{"id":86,"title":85,"titles":705,"content":706,"level":217},[],"Um formulário do seu site (ou do Typeform, Tally…) que entra no Inbox como um canal, com URL protegida por token, antispam e resposta por email ou WhatsApp. O canal Formulário recebe os envios de um formulário do seu próprio site (ou de uma ferramenta como Typeform ou Tally) e os transforma em conversas do Inbox: chegam com nome, email, telefone e mensagem, e você responde por ali, como em qualquer conversa.",{"id":708,"title":709,"titles":710,"content":711,"level":223},"\u002Fdocs\u002Fchannels\u002Fform#ativá-lo-passo-a-passo","Ativá-lo, passo a passo",[85],"Entre como proprietário em Canais → Formulário e toque em Ativar o canal.Você recebe a URL pública com um token secreto: é para onde o seu formulário aponta. O painel também oferece um código HTML simples, sem dependências, pronto para colar no seu site.Opcional — Sites permitidos: restrinja de onde se pode enviar, um domínio por linha (com https:\u002F\u002F, sem rotas nem curingas, até 10). Vazio: aceita envios de qualquer site.Opcional — Verificação antispam: se a plataforma tiver as chaves do Cloudflare Turnstile, ative a verificação para bloquear bots do lado do servidor.Opcional — Mapeamento de campos: se o seu formulário usa outros nomes de campo, indique a qual dado cada um corresponde (nome, email, telefone, motivo, mensagem). Os demais campos são guardados como dados extras do envio.",{"id":713,"title":714,"titles":715,"content":716,"level":223},"\u002Fdocs\u002Fchannels\u002Fform#como-se-responde","Como se responde",[85],"Cada envio aparece no Inbox como uma conversa nova, no idioma do projeto. A resposta é por email ou por WhatsApp, conforme os canais que você tem conectados e os dados que quem escreveu deixou: Com email ou telefone em mãos, você responde direto do Inbox.Se não houver nenhuma via de resposta, o envio aparece mesmo assim no Inbox, marcado como sem resposta disponível. Antes de publicar o formulário, você pode mandar um envio de teste pelo próprio canal e vê-lo no Inbox com uma etiqueta de teste.",{"id":718,"title":719,"titles":720,"content":721,"level":223},"\u002Fdocs\u002Fchannels\u002Fform#o-token","O token",[85],"A URL carrega um token que autentica os envios. Se ele vazar ou você quiser trocá-lo, toque em Rotar token: a URL atual para de funcionar na hora e é preciso atualizar os formulários publicados. Desligar o canal corta os envios novos; o que já chegou fica guardado. A página de contato do fiuit.com é um exemplo deste canal: o que você escreve lá cai direto no Inbox da equipe do Fiuit. O campo Produtos permite configurar até 72 linhas. Nomes, unidades e demais campos compartilham 512 nós e 16 KiB, portanto os dados reais podem permitir menos linhas. Configurações com mínimos que não cabem são rejeitadas. Pedidos e valores existentes são preservados.",{"id":90,"title":89,"titles":723,"content":724,"level":217},[],"Conecte a conta profissional do Instagram do seu negócio para atender por mensagem direta com o mesmo bot e a mesma caixa. Com o Instagram, seus clientes escrevem por mensagem direta (DM) para a conta profissional do negócio e são atendidos pelo mesmo assistente do WhatsApp: mesmos serviços, mesmos horários, mesma caixa de entrada. É um canal só para clientes: a equipe não recebe avisos pelo Instagram. O Instagram é habilitado quando o app da Fiuit é aprovado pela Meta. Se em Canais você não vê o cartão do Instagram (ou ele aparece como «Em breve»), ainda não está disponível para o seu projeto.",{"id":726,"title":727,"titles":728,"content":729,"level":223},"\u002Fdocs\u002Fchannels\u002Finstagram#conectar-sua-conta","Conectar sua conta",[89],"Sua conta do Instagram precisa ser profissional (Empresa ou Criador). Não é preciso uma Página do Facebook.No painel, vá em Canais → Instagram e toque em Conectar Instagram. Só o proprietário pode fazer isso.Entre no Instagram com a conta do negócio e aceite as permissões (perfil básico e mensagens).Você volta ao painel com a conta conectada (@sua_conta). Teste enviando uma DM de outra conta. A Fiuit guarda o acesso criptografado e o renova sozinha antes de vencer. Se o Instagram o revogar (por exemplo, você trocou a senha ou removeu a permissão), o cartão passa para Desconectado e é preciso conectar de novo. Uma mesma conta não pode estar conectada a dois projetos. Desconectar apaga o acesso guardado e mantém o histórico.",{"id":731,"title":617,"titles":732,"content":733,"level":223},"\u002Fdocs\u002Fchannels\u002Finstagram#o-que-faz",[89],"Atende com o mesmo bot: busca horários, pré-reserva, confirma, responde com o seu conhecimento e encaminha para uma pessoa.Aceita texto. Se o cliente mandar foto, áudio ou outro anexo, o bot pede que escreva. Comentários, menções em stories e Messenger não entram.As opções aparecem como lista numerada (sem botões).",{"id":735,"title":736,"titles":737,"content":738,"level":223},"\u002Fdocs\u002Fchannels\u002Finstagram#a-regra-das-24-horas","A regra das 24 horas",[89],"A Meta só permite responder dentro de 24 horas da última mensagem do cliente. Por isso: As respostas do bot e da equipe saem enquanto a janela estiver aberta. Se venceu, a mensagem não é enviada e a conversa passa para uma pessoa.Os avisos automáticos (lembretes, confirmações, «a caminho», horário definido) não saem pelo Instagram fora da janela. Se o cliente também escreveu pelo WhatsApp ou Telegram, o aviso vai por esse canal, sempre dentro das regras dele (por exemplo, a janela de 24 h do WhatsApp oficial). Se ele não tiver nenhum canal utilizável, o aviso não é reenviado: a tarefa recebe a etiqueta no-se-pudo-avisar e aparece em Precisa da sua atenção em Hoje («Não foi possível avisar»). Avise por conta própria e remova a etiqueta.Não é possível iniciar uma conversa nova pelo Instagram a partir da ficha do cliente: quem abre é o cliente ao escrever.",{"id":740,"title":631,"titles":741,"content":742,"level":223},"\u002Fdocs\u002Fchannels\u002Finstagram#estado-e-pausas",[89],"Em Canais → Instagram você vê a conta conectada, o estado do acesso e quando vence. Você pode pausar o bot ou o canal como nos outros canais. Conclua a autorização no mesmo navegador e projeto em que começou. Não compartilhe o link de conexão. Ao desconectar, a conta fica livre para conectar a outro projeto. A revogação é detectada ao enviar, consultar o estado ou renovar; os callbacks de desautorização e exclusão ainda estão pendentes. Desconectar mantém o histórico e não exclui os dados. Se a janela expirar durante o envio, outro canal utilizável do mesmo cliente será tentado. A marca no-se-pudo-avisar tem um espaço reservado além das vinte etiquetas de negócio, sem substituí-las. Reconfirmações e pedidos de avaliação permanecem na conversa original e não mudam de canal.",{"id":99,"title":98,"titles":744,"content":745,"level":217},[],"O que o bot do seu negócio faz, o que ele não pode fazer, como configurá-lo, testá-lo no simulador e quando a conversa passa para uma pessoa. O bot é o assistente que atende seus clientes pelo WhatsApp, pelo Telegram e pelo chat do seu site. Ele entende o que escrevem, oferece horários reais e deixa a reserva montada. Tudo o que importa é calculado pelo sistema: o bot não inventa horários, preços nem endereços, e não confirma nada por conta própria.",{"id":747,"title":748,"titles":749,"content":750,"level":223},"\u002Fdocs\u002Fbot\u002Foverview#o-que-ele-pode-e-o-que-não-pode-fazer","O que ele pode e o que não pode fazer",[98],"PodeNão podeEntender texto, áudios, erros de digitação e mudanças de ideiaInventar horários, preços ou endereçosBuscar horários e oferecer 2 ou 3 opçõesConfirmar uma reserva sem passar pelo motor de agendaReter um horário e pedir os dados que faltamUsar ferramentas de administração com um clienteResponder dúvidas com a base de conhecimentoSeguir instruções escondidas em uma mensagem ou arquivoGuardar uma localização compartilhada (com sua confirmação SIM\u002FNÃO)Ver dados de outro negócioPassar a conversa para uma pessoaResponder assuntos que não são do seu negócio (tarefas, código, política, conversa) Datas, horas, serviços e preços de cada mensagem saem de modelos preenchidos com dados do sistema. Os áudios são transcritos antes de a IA os ler, e a transcrição aparece no Inbox.",{"id":752,"title":753,"titles":754,"content":755,"level":223},"\u002Fdocs\u002Fbot\u002Foverview#configurar-o-bot","Configurar o bot",[98],"Vá em Automação → Bot. Há quatro abas: Personalidade: o nome do bot, o tom (amigável, profissional ou casual), a mensagem inicial (você pode usar {name} e {business}), instruções de comportamento e o idioma padrão.Base de conhecimento: o que o bot sabe sobre o seu negócio. Veja Conhecimento do bot.Simulador: você testa o bot sem enviar mensagens reais.Fontes: páginas web, seções de um site e listas que o bot lê e mantém em dia. As instruções são uma preferência de estilo (\"seja breve\", \"trate por você\"). Elas não mudam as regras: o bot nunca vai conseguir pular o motor de agenda.",{"id":757,"title":758,"titles":759,"content":760,"level":223},"\u002Fdocs\u002Fbot\u002Foverview#testar-no-simulador","Testar no simulador",[98],"Na aba Simulador você escreve como se fosse um cliente. Vê as respostas do bot, a configuração e os itens de conhecimento ativos, e as reservas de teste criadas (com a etiqueta Teste: não entram nas estatísticas). Reiniciar conversa começa do zero. Ao criar a sessão de teste você escolhe a pessoa: um contato novo ou um existente. São contatos fictícios, nunca um cliente real.",{"id":762,"title":763,"titles":764,"content":765,"level":369},"\u002Fdocs\u002Fbot\u002Foverview#o-inspetor","O Inspetor",[98,758],"O Inspetor mostra, turno a turno, como o bot pensou: As ferramentas que chamou, com seus argumentos e o resultado resumido.O conhecimento que usou, com a pontuação.As regras que decidiram.O modelo, os tokens e o custo de cada chamada.O motivo quando encaminha a conversa a uma pessoa. Assim você ajusta a configuração vendo exatamente o que aconteceu, sem adivinhar.",{"id":767,"title":768,"titles":769,"content":770,"level":223},"\u002Fdocs\u002Fbot\u002Foverview#quando-uma-pessoa-entra","Quando uma pessoa entra",[98],"Todas as conversas aparecem no Inbox, com o estado \"IA respondendo\", \"Pede uma pessoa\" ou \"Pessoa atendendo\". Assumir conversa: se você escrever uma resposta, o bot fica em pausa nessa conversa.Devolver ao bot: você faz isso manualmente quando terminar.Se você ficar 15 minutos sem atividade, o bot retoma sozinho.O bot também passa a conversa ao Inbox quando o cliente pede para falar com uma pessoa ou quando algo falha. O cliente pode escrever «atendente», «humano» ou “human”, ou pedir com suas palavras, a qualquer momento: também no meio de um pedido ou agendamento.Se pedirem algo que não é do negócio, o bot responde com cortesia quais assuntos atende e como falar com uma pessoa, sem passar a conversa. O WhatsApp não permite assistentes de uso geral na sua API desde janeiro de 2026.",{"id":772,"title":773,"titles":774,"content":775,"level":223},"\u002Fdocs\u002Fbot\u002Foverview#limites-por-canal","Limites por canal",[98],"Cada canal pode ter suas regras. No chat web, por exemplo, o bot pede telefone e e-mail antes de conversar e para de responder depois de um número de mensagens. Veja em WebChat.",{"id":777,"title":778,"titles":779,"content":780,"level":223},"\u002Fdocs\u002Fbot\u002Foverview#quanta-ia-seu-negócio-usa","Quanta IA seu negócio usa",[98],"Em Configurações → Uso de IA você vê quanto seu negócio consumiu no mês e o limite do plano. Ao chegar em 80 % aparece um aviso; se o limite for atingido, as funções com IA pausam, e o bot responde uma mensagem fixa e passa a conversa ao Inbox. Você também pode cortar o consumo manualmente com a pausa de emergência: veja Pausas e Estado.",{"id":782,"title":278,"titles":783,"content":784,"level":223},"\u002Fdocs\u002Fbot\u002Foverview#próximos-passos",[98],"Conhecimento do bot: ensine-o a responder com as informações do seu negócio.WhatsApp e Telegram: conecte os canais. O bot de clientes reserva serviços com horário; a equipe cria tarefas de fila pelo painel ou pela API. Criação de entregas em fila pelo chat: em breve.",{"id":786,"title":787,"titles":788,"content":789,"level":223},"\u002Fdocs\u002Fbot\u002Foverview#o-bot-reúne-mensagens-seguidas","O bot reúne mensagens seguidas",[98],"O bot pode reunir mensagens consecutivas antes de responder. O modo normal espera 3 segundos de silêncio, ou 5 enquanto coleta dados necessários; o modo curto espera 3 e Desativado mantém um turno por mensagem. A espera máxima é de 12 segundos. Mensagens recebidas depois que um turno começou ficam para a próxima resposta. Você pode escolher o modo global em Bot e uma exceção no WhatsApp ou WebChat. Telegram e Instagram herdam o modo global. O painel mostra a espera efetiva; ela não depende de um sinal de digitação do canal. A confirmação continua explícita: dados enviados junto com um SIM produzem um novo resumo e exigem outro SIM posterior. Cancelar ou pedir uma pessoa interrompe a proposta. Áudios admitidos são preparados após cumprir as regras de contato; um áudio excessivo não é cortado.",{"id":103,"title":102,"titles":791,"content":792,"level":217},[],"Ensine o bot com textos, arquivos, páginas web, uma seção do seu site ou listas (planilhas, CSV, JSON e RSS) que se mantêm atualizadas. A base de conhecimento é o que o bot consulta para responder dúvidas: horário de funcionamento, políticas, produtos, preços, novidades. Ela tem duas origens: o que você cadastra manualmente e o que importa de fontes que se atualizam sozinhas. Tudo fica em Automação → Bot, nas abas Base de conhecimento e Fontes. Não coloque dados pessoais de clientes em nenhuma fonte. O que está em uma fonte pode aparecer nas respostas do bot. O bot cita esses dados como informação, nunca os trata como ordens.",{"id":794,"title":795,"titles":796,"content":797,"level":223},"\u002Fdocs\u002Fbot\u002Fknowledge#cadastrar-conhecimento-manualmente","Cadastrar conhecimento manualmente",[102],"Em Base de conhecimento, toque em Novo item e escolha o tipo: FAQ: uma pergunta e a resposta.Texto: um título e um conteúdo livre (por exemplo, a política de cancelamento).Produto\u002FServiço: nome, descrição e preço opcional.Arquivo: arraste um arquivo (máximo de 5 MB). Ele é processado e pode ser ativado ou desativado. Cada item tem um interruptor Ativo: o bot só usa os ativos. Você pode buscar e filtrar por tipo.",{"id":799,"title":800,"titles":801,"content":802,"level":223},"\u002Fdocs\u002Fbot\u002Fknowledge#fontes-o-que-se-atualiza-sozinho","Fontes: o que se atualiza sozinho",[102],"Em Fontes, toque em Adicionar fonte e escolha o tipo. O sistema importa em poucos minutos e atualiza sozinho; você pode mudar a frequência (a cada hora, 6 horas, dia ou semana), Atualizar agora, Pausar e Retomar. Cada cartão mostra o estado: Na fila, Em dia, Com erro ou Pausada. Uma fonte que falha várias vezes seguidas pausa sozinha. Se você a apagar, os itens importados dela também saem (os escritos à mão não são tocados). Regras comuns: apenas endereços públicos http(s), até 2 MiB por fonte e 10 fontes por projeto. Páginas que exigem login não são lidas, e o robots.txt do site é respeitado.",{"id":804,"title":805,"titles":806,"content":807,"level":369},"\u002Fdocs\u002Fbot\u002Fknowledge#uma-página-web","Uma página web",[102,800],"Adicionar fonte → Página web, alcance Página.Digite a URL pública (por exemplo, sua página de preços).O texto da página é lido, sem executar JavaScript.",{"id":809,"title":810,"titles":811,"content":812,"level":369},"\u002Fdocs\u002Fbot\u002Fknowledge#uma-seção-do-seu-site","Uma seção do seu site",[102,800],"Para o bot aprender várias páginas de um mesmo site, sem cadastrá-las uma a uma: Adicionar fonte → Página web, alcance Seção do site.Digite o prefixo, por exemplo https:\u002F\u002Fseusite.com\u002Fajuda.Escolha o máximo de páginas (50 por padrão, até 200). O sistema lê o sitemap.xml do domínio e pega só as páginas do mesmo site que começam com esse prefixo. A cada atualização, adiciona as páginas novas, atualiza as que mudaram e arquiva as que sumiram. O cartão mostra \"N páginas importadas\" e Ver páginas lista cada uma com seu estado (Importada ou Arquivada). Não existe um rastreador: se o site não publica sitemap.xml, a fonte fica com o aviso correspondente e você precisa importar as páginas uma a uma.",{"id":814,"title":815,"titles":816,"content":817,"level":369},"\u002Fdocs\u002Fbot\u002Fknowledge#uma-lista-planilha-csv-json-ou-rss","Uma lista: planilha, CSV, JSON ou RSS",[102,800],"Serve para produtos, preços ou novidades que você já mantém em uma planilha, uma loja ou um feed. Adicionar fonte e escolha Planilha, CSV, API JSON ou RSS.Cole o link. Para uma planilha do Google: Arquivo → Compartilhar → Publicar na Web, ou deixe visível para qualquer pessoa com o link; a primeira linha deve ter cabeçalhos.Em Mapeamento de campos, escreva qual coluna alimenta cada campo: Nome (obrigatório), Descrição, Preço, Categoria, Link e Chave estável. Em JSON, escreve-se o caminho, por exemplo produtos[].nome. Com RSS não é preciso mapeamento.Toque em Ver pré-visualização: mostra as primeiras linhas válidas e quantas foram ignoradas.Se estiver bom, Salvar fonte. Até 1000 linhas por fonte. Se você usar Chave estável (um código que não muda, como um SKU), renomear um produto o atualiza; sem chave, renomear cria um item novo e desativa o antigo. Para uma API que exige credencial, você pode informar um cabeçalho Authorization ou um parâmetro na URL: ele é guardado criptografado e não volta a ser exibido.",{"id":819,"title":820,"titles":821,"content":822,"level":223},"\u002Fdocs\u002Fbot\u002Fknowledge#se-algo-der-errado","Se algo der errado",[102],"O cartão da fonte explica a causa: MensagemO que fazerNão encontramos essa página (404)Confira o endereçoA página exige loginSó páginas públicas são lidasO site não respondeuTentamos de novo mais tarde, sozinhosO site não publica sitemap.xmlImporte as páginas uma a umaO sitemap não tem páginas sob esse endereçoConfira o prefixoO sitemap não é válidoRevise o sitemap do siteO site não permite a leitura (robots.txt)É uma decisão do siteUma coluna do mapeamento não existeConfira os nomes das colunasNenhum texto encontrado para importarA página ou a lista está vazia; o que já foi importado não é desativado Depois de adicionar conhecimento, teste no Simulador: pergunte o que um cliente perguntaria. Para integrar fontes por API, veja os endpoints \u002Fknowledge em Endpoints.",{"id":112,"title":111,"titles":824,"content":825,"level":217},[],"Como o dia a dia se organiza no Fiuit, com Hoje, Inbox e Trabalho, e como funcionam as etapas e as ações de uma tarefa, como assumir, soltar e encerrar. No Fiuit, tudo o que precisa ser feito é uma tarefa: um horário marcado, uma mesa, uma visita, uma entrega. Uma conversa pode criar uma; você também as cria manualmente com o botão Nova tarefa ou pela API. O painel mostra três destinos principais: Hoje, Inbox e Trabalho. O resto fica em Mais.",{"id":827,"title":828,"titles":829,"content":830,"level":223},"\u002Fdocs\u002Fwork\u002Ftasks-and-actions#hoje-inbox-e-trabalho","Hoje, Inbox e Trabalho",[111],"Hoje é o painel do seu dia. Mostra o que precisa da sua atenção, o que vem agora, o que está em andamento, o de mais tarde e, recolhido, o concluído. Quem é da equipe vê só o que é seu (Minhas); proprietário e gerente alternam entre Minhas e Tudo.Inbox reúne as conversas que pedem uma pessoa. Veja O bot e a IA.Trabalho é onde você vê todas as tarefas. Olha-se em dois eixos que se combinam.",{"id":832,"title":833,"titles":834,"content":835,"level":369},"\u002Fdocs\u002Fwork\u002Ftasks-and-actions#trabalho-conjunto-forma","Trabalho: conjunto × forma",[111,828],"Primeiro você escolhe qual trabalho ver (o conjunto): ConjuntoO que mostraSem responsávelO que precisa de atenção: sem responsável, sem horário ou aguardando confirmaçãoHojeO trabalho de hoje de todo o negócioPróximasO que vem pela frente, agrupado por diaTudoTodo o trabalho, com ordem e agrupamento à escolhaMinhasO que está atribuído a você Depois escolhe como ver (a forma): FormaQuando apareceListaSempreCalendárioSe houver recursos com agenda (por dia, por profissional ou por semana)MapaSe houver tarefas com localização. Veja Mapa e endereços \"Se não tem nada, não aparece\": uma forma só surge quando o seu negócio precisa dela. Todas abrem o mesmo detalhe da tarefa. Os filtros (buscar, prioridade, etiqueta, datas), a ordem e o agrupamento valem para todas as formas.",{"id":837,"title":838,"titles":839,"content":840,"level":369},"\u002Fdocs\u002Fwork\u002Ftasks-and-actions#atenção-sob-demanda","Atenção sob demanda",[111,828],"Hoje mostra um único aviso prioritário: conversas sem resposta, tarefas sem responsável, sem zona, endereço a revisar e por agendar, nessa ordem e conforme suas permissões. «Responder» abre Inbox em Atenção. «+N mais» abre os outros motivos com links para listas filtradas. Zeros ficam ocultos; uma tarefa pode contar em vários motivos. Sem responsável abrange o projeto e não implica horário próximo.",{"id":842,"title":843,"titles":844,"content":845,"level":223},"\u002Fdocs\u002Fwork\u002Ftasks-and-actions#a-tarefa-e-suas-etapas","A tarefa e suas etapas",[111],"Cada tarefa está em uma etapa. As etapas são o vocabulário do seu negócio: uma barbearia usa Confirmada → Em andamento → Concluída; uma entrega usa Sem responsável → Aceita → A caminho → Entregue. Por trás há estados fixos (pré-reserva, confirmada, em andamento, concluída, cancelada, ausente, com falha), por isso os números e as estatísticas significam o mesmo em todos os segmentos. O detalhe da tarefa mostra o cliente, a data e o recurso, as notas, os dados do formulário, a origem (por exemplo, a conversa de WhatsApp de onde veio) e os comentários e a atividade.",{"id":847,"title":848,"titles":849,"content":850,"level":369},"\u002Fdocs\u002Fwork\u002Ftasks-and-actions#formulários-por-serviço","Formulários por serviço",[111,843],"Um serviço pode pedir dados próprios ao criar a tarefa: o endereço de entrega, o motivo da consulta, o modelo do equipamento. Esses dados são preenchidos na tarefa e ficam guardados com ela. São definidos no serviço (Serviços).",{"id":852,"title":853,"titles":854,"content":855,"level":223},"\u002Fdocs\u002Fwork\u002Ftasks-and-actions#próximo-passo","Próximo passo",[111],"Cada tarefa mostra seu próximo passo: conforme a etapa, o papel e o serviço, o painel oferece uma saída principal grande (por exemplo Iniciar ou Concluir), o resto em Mais ações e as ferramentas da etapa como botões secundários. Abaixo do botão principal você vê o que ainda falta para avançar (por exemplo Cobrança ou um dado do serviço). Tudo vem do servidor: você só vê o que seu papel pode fazer nessa etapa. Ao escolher uma saída, abre uma única folha com os requisitos da etapa de destino: O obrigatório, à vista: os dados que a etapa pede, a evidência do serviço (assinatura ou foto), a pessoa atribuída, a localização e a cobrança quando há saldo.O opcional, recolhido em Adicionar mais dados (uma observação, uma gorjeta).Cobrança: Cobrado (todo o saldo), Parcial (o resto fica devendo) ou Fica devendo. O saldo é calculado pelo servidor. Se o sinal já cobre o total, nada é pedido. Tudo é enviado junto, em um só passo: se algo falha, nada fica pela metade, e tentar de novo não duplica a cobrança nem a etapa. Se falta algo, a folha marca o que falta.",{"id":857,"title":858,"titles":859,"content":860,"level":369},"\u002Fdocs\u002Fwork\u002Ftasks-and-actions#regras-de-cobrança","Regras de cobrança",[111,853],"Concluir exige o obrigatório, incluída a cobrança quando a tarefa tem valor e o serviço pede.Uma pessoa da equipe só pode deixar dívida se o cliente tem limite de crédito e o saldo cabe nesse limite; se não, precisa cobrar. O dono e o gerente podem deixá-la sempre (fica auditado).Não veio \u002F Não estava não gera dívida: o devido fica no que já foi cobrado (o sinal não é devolvido nem vira crédito).",{"id":862,"title":863,"titles":864,"content":865,"level":369},"\u002Fdocs\u002Fwork\u002Ftasks-and-actions#ferramentas-da-etapa","Ferramentas da etapa",[111,853],"FerramentaO que fazPegarA tarefa fica atribuída a quem a pega. Se outra pessoa chegou antes, avisa e não atribui duas vezesAtribuir \u002F ReatribuirO dono ou o gerente escolhe para quem vaiSoltarA tarefa volta para Sem atribuição para outra pessoa pegar (pede confirmação)Voltar mais tardeEm tarefas sem horário, move o vencimento para a data e hora que você escolherCompartilhar acompanhamentoUm link para o cliente ver o status do pedido. Quem está atribuído à tarefa compartilha As ferramentas nunca dão permissões extras: aparecem só se seu papel pode usá-las. Reagendar uma tarefa com horário continua em Mais ações.",{"id":867,"title":868,"titles":869,"content":870,"level":369},"\u002Fdocs\u002Fwork\u002Ftasks-and-actions#tarefas-sem-responsável-e-filas","Tarefas sem responsável e filas",[111,853],"Há trabalhos sem horário, como as entregas. Entram como Sem atribuição, quem pode fazê-los os pega e depois segue a sequência. Uma pessoa da equipe vê as tarefas atribuídas a ela e as que seu grupo pode pegar, sem o telefone nem o email do cliente até pegá-la. Um entregador vê primeiro só a zona aproximada. Exemplo do segmento de entregas: Chega um pedido: fica Sem atribuição.Um entregador toca Pegar: a tarefa é dele. (Ou o gerente toca Atribuir.)Se não puder, toca Soltar e ela volta para a fila.Toca A caminho e, se quiser, Compartilhar acompanhamento com o cliente.Fecha com Concluir (com a cobrança), ou com Não estava ou Não quis (mais o motivo).",{"id":872,"title":873,"titles":874,"content":875,"level":369},"\u002Fdocs\u002Fwork\u002Ftasks-and-actions#cada-serviço-com-suas-etapas","Cada serviço com suas etapas",[111,853],"As etapas vêm do modelo do seu segmento e cada serviço tem as suas: que saídas cada etapa oferece, o que pede para entrar e que ferramentas tem. Hoje elas se ajustam pela API ou pelo servidor MCP: veja API e MCP.",{"id":877,"title":878,"titles":879,"content":880,"level":223},"\u002Fdocs\u002Fwork\u002Ftasks-and-actions#escrever-ao-cliente-pela-tarefa","Escrever ao cliente pela tarefa",[111],"Cada cartão e cada detalhe de tarefa traz um botão Mensagem para escrever ao cliente sem sair do que você está fazendo. Toque em Mensagem no cartão ou no detalhe da tarefa.Escreva seu texto ou parta de uma resposta rápida e a edite antes de enviar.Envie. O Fiuit escolhe o canal para você: a conversa que você já tem com esse cliente, ou WhatsApp ou email se ainda não houver nenhuma. Tudo fica no Inbox, como qualquer conversa, e à mão ficam Ligar e Abrir conversa.",{"id":882,"title":883,"titles":884,"content":885,"level":223},"\u002Fdocs\u002Fwork\u002Ftasks-and-actions#evidência-de-trabalho","Evidência de trabalho",[111],"Uma ação pode pedir a localização do momento (por exemplo, ao marcar \"Cheguei\") e a tarefa aceita anexos (foto, documento, áudio, nota). São privados: só vê quem tem acesso àquela tarefa, os links de download expiram em 60 segundos e são apagados após um prazo (30 dias por padrão). O proprietário ou o gerente podem apagar uma localização.",{"id":887,"title":888,"titles":889,"content":890,"level":223},"\u002Fdocs\u002Fwork\u002Ftasks-and-actions#o-que-cada-papel-vê","O que cada papel vê",[111],"PapelHojeTrabalhoClientesProprietário e gerenteTodo o negócioTudoSimEquipeO que é seu e o que pode assumirO que é seu e o que pode assumirNãoLeituraSomente verSomente verNão Mais detalhes em Papéis e permissões.",{"id":892,"title":893,"titles":894,"content":895,"level":223},"\u002Fdocs\u002Fwork\u002Ftasks-and-actions#automatizar-o-trabalho","Automatizar o trabalho",[111],"Ao entrar em uma etapa, a tarefa pode avisar o cliente e a equipe (por e-mail e Telegram) conforme o que a etapa definir: veja Automações. Para esperas ou condições, veja Fluxos. O bot de clientes reserva serviços com horário; a equipe cria tarefas de fila pelo painel ou pela API. Criação de entregas em fila pelo chat: em breve.",{"id":116,"title":115,"titles":897,"content":898,"level":217},[],"A visão Mapa de Trabalho, os endereços do cliente (com etiqueta e um padrão), o preenchimento automático, a localização compartilhada e a privacidade. Se o seu negócio atende no endereço do cliente (entregas, visitas, assistência técnica), o Fiuit guarda onde é cada tarefa e mostra num mapa.",{"id":900,"title":901,"titles":902,"content":903,"level":223},"\u002Fdocs\u002Fwork\u002Fmap-and-addresses#a-visão-mapa","A visão Mapa",[115],"Em Trabalho, a forma Mapa aparece quando há pelo menos uma tarefa com localização. Se você não precisa dela, ela não aparece. Cada tarefa é um marcador, com cor, símbolo e nome conforme o estado: pendente, confirmada, em andamento, concluída ou com problema. A cor não é a única coisa que as distingue.Toque em um marcador para abrir a tarefa.A lista lateral mostra as mesmas tarefas (útil com teclado ou leitor de tela). As tarefas sem localização são listadas à parte.O mapa se ajusta sozinho aos resultados e mostra até 500 tarefas; se houver mais, refine os filtros. Os filtros e o conjunto (Sem responsável, Hoje, Próximas...) valem como na lista.A legenda conta as tarefas por estado. O mapa usa o Google Maps. Se o Google não estiver disponível, usa-se um mapa de reserva e a visão continua funcionando.",{"id":905,"title":906,"titles":907,"content":908,"level":369},"\u002Fdocs\u002Fwork\u002Fmap-and-addresses#modo-claro-e-escuro","Modo claro e escuro",[115,901],"Um seletor flutuante tem três opções: Automático, Claro e Escuro. Automático segue o tema do seu painel. É lembrado por navegador.",{"id":910,"title":911,"titles":912,"content":913,"level":223},"\u002Fdocs\u002Fwork\u002Fmap-and-addresses#endereço-com-preenchimento-automático","Endereço com preenchimento automático",[115],"Ao cadastrar o endereço de um cliente, ou o destino de uma tarefa (Nova tarefa ou a edição), aparece um buscador: Comece a digitar rua e número (a partir de 3 caracteres).Escolha uma sugestão: são guardados o endereço completo (rua, número, bairro, cidade, CEP, país) e o ponto no mapa.Aparece um mapa pequeno com um pin: arraste-o ou toque no mapa para ajustar a localização exata. Se preferir, preencha o endereço manualmente e toque em Marcar no mapa: o sistema o procura e deixa o pin para você mover. Se o preenchimento automático não estiver disponível, ele avisa e o que você digitou passa para o preenchimento manual: você não perde nada. Um serviço \"tem destino\" quando seu formulário pede o endereço de entrega. Para esse serviço, o destino é preenchido com esse mesmo buscador.",{"id":915,"title":916,"titles":917,"content":918,"level":223},"\u002Fdocs\u002Fwork\u002Fmap-and-addresses#os-endereços-do-cliente","Os endereços do cliente",[115],"Um cliente pode ter vários endereços, cada um com sua etiqueta (casa, escritório, depósito…) e um padrão. Eles são administrados na seção «Dados» da ficha do cliente. Ao criar ou editar uma tarefa com destino no endereço do cliente, o seletor oferece os endereços salvos e uma opção Outro para cadastrar um novo. Salvá-lo no perfil é uma decisão à parte: você pode usá-lo só naquela tarefa.Cada tarefa mantém seu destino. Se depois o endereço do cliente ou o do seu estabelecimento mudar, as tarefas já criadas continuam apontando para onde estavam: o endereço fica registrado na tarefa.Quando o serviço acontece no seu estabelecimento, a tarefa guarda uma cópia do endereço do negócio daquele momento: o detalhe da tarefa, a Mini App e os lembretes mostram esse endereço, com acesso ao mapa, mesmo que você o mude depois.O bot oferece apenas os endereços autorizados e confirma qual usar antes de reservar.",{"id":920,"title":921,"titles":922,"content":923,"level":223},"\u002Fdocs\u002Fwork\u002Fmap-and-addresses#localização-compartilhada-pelo-cliente","Localização compartilhada pelo cliente",[115],"Um cliente pode enviar a localização pelo WhatsApp ou pelo Telegram (ou pelo chat web, com consentimento explícito). No Inbox, a mensagem aparece com um mapa pequeno, o nome ou endereço, se o canal trouxe, e um link Abrir no mapa.Se o serviço pede destino, o bot pode guardar essa localização como destino da tarefa ou como endereço do cliente. Antes, ele pergunta com SIM\u002FNÃO na conversa.No chat web, o widget oferece \"Usar minha localização\" só quando o bot pediu, e o visitante precisa aceitar de forma explícita.",{"id":925,"title":926,"titles":927,"content":928,"level":223},"\u002Fdocs\u002Fwork\u002Fmap-and-addresses#privacidade","Privacidade",[115],"O endereço e a localização são dados pessoais: não vão para registros (logs) nem para a URL do painel.Um entregador vê de uma tarefa ainda não assumida só a zona aproximada. O endereço exato aparece quando ele a assume. Veja Trabalho e ações.O Google recebe o que o mapa dele precisa para ser desenhado. Na visão Mapa ele não recebe endereços nem coordenadas das suas tarefas. O preenchimento automático e o \"Marcar no mapa\" enviam a ele o texto do endereço buscado. Se seus clientes têm requisitos especiais, mencione isso no seu aviso de privacidade.",{"id":930,"title":931,"titles":932,"content":933,"level":223},"\u002Fdocs\u002Fwork\u002Fmap-and-addresses#para-quem-administra-a-conta","Para quem administra a conta",[115],"O mapa do Google precisa de uma chave de navegador e de três APIs do Google Maps Platform habilitadas (Maps JavaScript, Places e Geocoding). É uma configuração da plataforma, não do negócio: se o mapa ou o preenchimento automático não aparecerem, fale com o suporte.",{"id":120,"title":119,"titles":935,"content":936,"level":217},[],"O que fazer automaticamente quando algo acontece no seu negócio: esperas, condições e avisos. Carregar exemplos, ativar, pausar e ver o histórico. Um fluxo é o que o sistema faz sozinho quando algo acontece: quando ocorre um evento, esperar um tempo, olhar uma condição e fazer algo (avisar a equipe, enviar uma mensagem, executar uma ação). É o passo seguinte às regras simples de lembretes. Os fluxos ficam em Automação → Fluxos.",{"id":938,"title":939,"titles":940,"content":941,"level":223},"\u002Fdocs\u002Fwork\u002Fflows#as-peças","As peças",[119],"Gatilho: quando começa. Alguns dos eventos disponíveis: uma tarefa é criada, atribuída, modificada, concluída ou cancelada; muda de estado; uma tarefa vence;uma ação é executada (por exemplo, alguém marca \"Não estava\");uma conversa começa, é resolvida ou recebe uma mensagem;um cliente é criado ou fica inativo;um anexo é adicionado ou uma localização é registrada. Passos: o que faz. PassoO que fazEsperarUma duração (por exemplo, 2 horas), até uma data, até um horário do dia, um tempo antes ou depois do início ou fim da tarefa, ou até que um evento ocorra com um tempo máximo de espera. Até 90 diasCondição\"Se esta condição for atendida\": segue pelo ramo Se atendida ou Se não atendida. Veja CondiçõesAvisar a equipeUm aviso interno sobre uma tarefa, por Telegram, WhatsApp ou e-mail, conforme cada pessoa recebe avisosEnviar uma mensagem ao clienteUma mensagem na conversa deleExecutar uma açãoUsa uma ação da tarefa (por exemplo, Soltar entrega), com as mesmas regras do painelDeixar um comentárioUma nota na tarefaCriar, atualizar ou atribuir uma tarefaOperações sobre tarefasCalcular dadosPrepara valores para usar nos passos seguintes Um fluxo tem até 32 passos, sem ciclos. Os fluxos não pulam nenhuma regra: cada passo é validado de novo pelo sistema, com o papel do proprietário ou gerente que criou o fluxo. Uma espera é cancelada sozinha se a tarefa for cancelada.",{"id":943,"title":944,"titles":945,"content":946,"level":223},"\u002Fdocs\u002Fwork\u002Fflows#comece-com-exemplos","Comece com exemplos",[119],"O modelo do seu segmento traz fluxos de exemplo. Em Fluxos, toque em Carregar exemplos (somente o proprietário). Eles ficam inativos até você ativá-los, e carregar de novo não os duplica. SegmentoExemploEntregasEntrega sem ser assumida por 2 h: quando uma entrega é criada, esperar 2 horas e, se continuar sem responsável, avisar a equipeEntregasEntrega aceita que não sai em 30 min: se alguém aceita e não sai, a entrega volta para Sem responsávelBarbeariaTerceira ausência do cliente: ao marcar uma ausência, se for a terceira, avisar para pedir sinal na próxima vez",{"id":948,"title":949,"titles":950,"content":951,"level":223},"\u002Fdocs\u002Fwork\u002Fflows#ver-ativar-e-pausar","Ver, ativar e pausar",[119],"Cada fluxo mostra seu estado (Ativo, Pausado ou Rascunho) e a última execução. Ao abri-lo, você vê O que faz em linguagem simples: o gatilho e os passos, com os ramos. Toque em Ativar e confirme. A partir daí ele age sozinho toda vez que o gatilho acontece.Pausar deixa de iniciar novas execuções; as que já estão em andamento terminam o caminho delas.Em Histórico de execuções você vê cada execução com seu estado (Concluída, Em andamento, Aguardando, Falhou, Cancelada...), até quando espera e qual ramo tomou. Um fluxo em Rascunho permite editar a condição: Editar condição, Testar esta condição e Salvar como nova versão. Para alterar um fluxo ativo ou mais complexo, peça ao Wagy, o assistente (Primeiros passos), ou use a API. Antes de ativar um fluxo com condição, teste-a com Testar esta condição em uma tarefa real. Nada é alterado: ela só diz se deu verdadeiro ou falso.",{"id":953,"title":954,"titles":955,"content":956,"level":223},"\u002Fdocs\u002Fwork\u002Fflows#fluxos-e-regras","Fluxos e regras",[119],"As Regras (aba ao lado de Fluxos) continuam sendo a forma mais simples de enviar um lembrete ou uma confirmação. Um fluxo que vem de uma regra clássica é administrado em Regras. Os fluxos são para o que precisa esperar, decidir ou agir sobre as tarefas.",{"id":958,"title":959,"titles":960,"content":961,"level":223},"\u002Fdocs\u002Fwork\u002Fflows#para-desenvolvedores","Para desenvolvedores",[119],"Os fluxos são gerenciados pela API (\u002Fv1\u002Fautomation-flows, somente proprietário ou gerente com sessão do painel). Veja Endpoints. Os eventos que os disparam são os mesmos que seus webhooks recebem.",{"id":124,"title":123,"titles":963,"content":964,"level":217},[],"Como escrever uma condição em um fluxo, quais dados ela pode olhar, exemplos prontos por segmento e como testá-la antes de ativar. Uma condição decide por qual ramo um fluxo segue. Escreve-se como uma frase curta que dá verdadeiro ou falso, por exemplo \"o serviço custa mais de 100 e o cliente é VIP\". Uma condição apenas olha dados: não altera nada.",{"id":966,"title":967,"titles":968,"content":969,"level":223},"\u002Fdocs\u002Fwork\u002Fconditions#como-se-escreve","Como se escreve",[123],"O quêExemploComparar== (igual), !=, \u003C, \u003C=, >, >=Combinar&& (e), || (ou), ! (não)Texto\"entrega\" entre aspasEstá em uma lista\"vip\" in customer.tagsContémservice.name.contains(\"Corte\")Se \u002F entãoworkItem.priority == \"urgent\" ? now.hour \u003C 22 : now.hour \u003C 18Um campocustomer.no_show_count, com ponto Isso é toda a linguagem: não há laços nem funções próprias. As condições são validadas ao salvar o fluxo e de novo ao ativá-lo.",{"id":971,"title":972,"titles":973,"content":974,"level":223},"\u002Fdocs\u002Fwork\u002Fconditions#quais-dados-ela-pode-olhar","Quais dados ela pode olhar",[123],"ObjetoO que traztriggerO evento que iniciou o fluxo. Com uma ação executada: action_key (a ação), from_stage, to_stageworkItemA tarefa: status, stage, priority, tags, party_size, start_at, due_at, age_minutes (minutos desde que foi criada), assigned (se tem responsável)customername, locale (idioma), tags, no_show_count (ausências reais)servicename, price_cents (o preço em centavos: 100,00 é 10000), deposit_cents, duration_minresourcename, kindnowA hora do seu negócio: hour, minute, weekday (0 = segunda ... 6 = domingo)variablesValores calculados por um passo anterior Por privacidade, uma condição não vê telefones, e-mails, documentos, endereços nem notas do cliente. Se o evento não traz uma tarefa, workItem, customer e service chegam vazios e a condição falha com uma mensagem clara, em vez de responder \"falso\" em silêncio.",{"id":976,"title":977,"titles":978,"content":979,"level":223},"\u002Fdocs\u002Fwork\u002Fconditions#exemplos","Exemplos",[123],"VIP com um serviço caro: avisar o gerente service.price_cents > 10000 && \"vip\" in customer.tags \"Não estava\" antes das 18 h (gatilho: uma ação é executada) trigger.action_key == \"nao_estava\" && now.hour \u003C 18 Terceira ausência: pedir sinal na próxima vez trigger.action_key == \"ausencia\" && customer.no_show_count >= 3 Tarefa sem responsável há mais de 2 horas (depois de um passo Esperar de 2 h) !workItem.assigned && workItem.age_minutes > 120 Fora do horário comercial (sábado, domingo ou fora das 9 às 18) now.weekday >= 5 || now.hour \u003C 9 || now.hour >= 18 Tarefa urgente workItem.priority == \"urgent\" || \"urgente\" in workItem.tags Cliente que fala português customer.locale == \"pt\" Sinal pendente há mais de uma hora workItem.stage == \"aguardando_sinal\" && workItem.age_minutes >= 60 Serviço longo de corte service.name.contains(\"Corte\") && service.duration_min >= 45 As chaves de ação e de etapa (ausencia, nao_estava, aguardando_sinal) são as do modelo do seu segmento. Se você mudou os nomes, use os seus.",{"id":981,"title":982,"titles":983,"content":984,"level":223},"\u002Fdocs\u002Fwork\u002Fconditions#testar-uma-condição","Testar uma condição",[123],"No detalhe de um fluxo, toque em Testar esta condição (ou Testar condição): Escreva a condição.Escolha uma tarefa real do seu projeto com o buscador.Se ela olha trigger.action_key, escreva a chave da ação em Simular a ação.Toque em Testar. Ele mostra Verdadeiro ou Falso e, abaixo, O que a condição viu: exatamente os dados com os quais decidiu. Nada é executado.",{"id":986,"title":987,"titles":988,"content":989,"level":223},"\u002Fdocs\u002Fwork\u002Fconditions#erros-comuns","Erros comuns",[123],"Ao salvar, a mensagem diz qual passo falhou e por quê: ProblemaO que significaO campo não existeVocê usou um dado que não está disponível (por exemplo, customer.email)Tipos que não combinamComparou texto com número (customer.name > 5)Não dá verdadeiro ou falsoA condição precisa ser uma pergunta de sim ou nãoFunção não permitidaSó existe containsObjeto desconhecidoSó dá para usar os objetos da tabela acimaLonga ou custosa demaisDivida em duas condições com outro passo no meio Uma condição aceita até 1024 caracteres e é avaliada em uma fração de segundo.",{"id":128,"title":127,"titles":991,"content":992,"level":217},[],"Agrupe sua equipe por zona, com área, dias e horários de atendimento e um limite por faixa, e deixe cada tarefa receber a sua zona sozinha. Uma zona é um grupo de pessoas com uma área e dias e horários de atendimento. Serve para entregas, visitas técnicas, rotas ou qualquer trabalho feito no endereço do cliente: por exemplo, a Zona Norte atende às terças e quintas e a Zona Sul, às quartas e sextas.",{"id":994,"title":995,"titles":996,"content":997,"level":223},"\u002Fdocs\u002Fwork\u002Fzones#criar-uma-zona","Criar uma zona",[127],"Em Equipe e recursos, abra a aba Zonas e toque em Nova zona. Cada zona tem: Nome.Área: bairros, cidades ou CEPs, como etiquetas. O CEP coincide por prefixo: 20 cobre todos os que começam com 20.Pessoas: as que atendem a zona. Uma pessoa pode estar em várias zonas.Dias e horários: por exemplo terça e quinta das 9h às 18h. Se deixar vazio, a zona não restringe os dias.Limite por faixa (opcional): quantas tarefas, no máximo, cabem em cada faixa de horário da zona. Você também pode pedir à Wagy: \"Zona Norte, terça e quinta, Camila e Diego\". A Wagy monta o plano, você revisa a mudança e confirma.",{"id":999,"title":1000,"titles":1001,"content":1002,"level":223},"\u002Fdocs\u002Fwork\u002Fzones#como-a-zona-é-atribuída","Como a zona é atribuída",[127],"Cada tarefa com endereço procura a sua zona sozinha, comparando CEP, bairro e cidade sem considerar acentos nem maiúsculas. Se várias coincidem, vale o CEP, depois o bairro e depois a cidade. Se nenhuma coincide, a tarefa fica sem zona e aparece em Hoje → Precisa da sua atenção; ao corrigir o endereço, a zona é atribuída sozinha. Em Trabalho você pode filtrar por zona ou ver só o que está sem zona, e no mapa cada tarefa mostra a sua zona.",{"id":1004,"title":1005,"titles":1006,"content":1007,"level":223},"\u002Fdocs\u002Fwork\u002Fzones#horários-e-bot","Horários e bot",[127],"Quando uma entrega ou visita tem horário, só são oferecidos os dias e horários da zona, cruzados com a disponibilidade das pessoas e com o limite por faixa. O bot pede ao cliente o bairro, a cidade ou o CEP e diz, por exemplo: \"Para a sua zona (Zona Norte) atendemos terça-feira ou quinta-feira\".",{"id":1009,"title":1010,"titles":1011,"content":1012,"level":223},"\u002Fdocs\u002Fwork\u002Fzones#tarefas-sem-dono","Tarefas sem dono",[127],"Uma tarefa sem dono de uma zona é avisada, e oferecida para Assumir, só às pessoas dessa zona. Quem administra (owner e manager) vê todas e pode atribuí-las a qualquer pessoa. Antes, a \"zona\" era um recurso com capacidade. Esses recursos continuam funcionando; o comando de migração os converte em zonas sem perder nenhuma tarefa.",{"id":132,"title":131,"titles":1014,"content":1015,"level":217},[],"Como compartilhar um link privado em que cada cliente vê os pedidos em aberto com a marca do seu negócio, o que ele vê e como revogar. O portal de acompanhamento é uma página pública, sem conta e somente leitura, com o logo, o nome e as cores do seu negócio. Seu cliente vê ali os pedidos em aberto e o andamento. Quem compartilha é você (owner ou manager) com o botão Compartilhar.",{"id":1017,"title":1018,"titles":1019,"content":1020,"level":223},"\u002Fdocs\u002Fwork\u002Ftracking-portal#compartilhar-o-link","Compartilhar o link",[131],"Abra uma tarefa e toque em Compartilhar, ou na ficha do cliente abra Mais › Compartilhar acompanhamento.Se o cliente não tem link, Criar link. Existe um link por cliente: vale para todos os pedidos dele, inclusive os criados depois.Copiar link ou Compartilhar… (a folha do celular) e envie pelo chat do cliente.Opções: Mostrar saldo (vem desligado) e Validade (7, 30, 90 ou 180 dias). Mudar não troca o link.Gerar novo link invalida o anterior na hora; Revogar link corta sem criar outro. As duas pedem confirmação e ficam na auditoria. Só owner e manager compartilham e revogam; staff e viewer não veem o botão.",{"id":1022,"title":1023,"titles":1024,"content":1025,"level":223},"\u002Fdocs\u002Fwork\u002Ftracking-portal#o-que-o-cliente-vê","O que o cliente vê",[131],"O quêDetalheMarcaLogo (ou a inicial), nome e paleta do seu negócio, em claro ou escuro.PedidosServiço, andamento em linguagem clara (Recebido, Agendado, Em andamento) e horário ou «Horário ainda não definido».HistóricoPedidos concluídos ou cancelados nos últimos 30 dias.SaldoSó se você ativou Mostrar saldo: quanto falta pagar no total e por pedido, calculado pelo servidor com seus recebimentos. Nunca mostra telefone, e-mail, endereço, notas, comentários nem atividade da equipe, entregador, custos nem dados de outros clientes.",{"id":1027,"title":1028,"titles":1029,"content":1030,"level":223},"\u002Fdocs\u002Fwork\u002Ftracking-portal#segurança-e-privacidade","Segurança e privacidade",[131],"O link é um token longo e aleatório: não dá para adivinhar. Um link inexistente, vencido ou revogado mostra a mesma mensagem.A página não é indexada, não usa cookies nem scripts de terceiros e não grava nada.Quem tem o link vê o mesmo que o cliente: envie só pelo chat dele e revogue se for encaminhado.Se publicar o saldo, mencione no seu aviso de privacidade.",{"id":141,"title":140,"titles":1032,"content":1033,"level":217},[],"Receba avisos de trabalho no Telegram, pegue tarefas com um toque e abra seu dia no Mini App \"Meu dia\". O Telegram da equipe é a forma mais rápida de cada pessoa do negócio saber o que é com ela: uma tarefa atribuída, um trabalho sem dono, um lembrete ou o resumo do dia. Usa-se pelo celular, sem instalar nada além do Telegram. Existe um único bot da Fiuit para todas as equipes. Não é o bot do seu negócio: esse é o que conversa com seus clientes (Telegram de clientes). Os dois são independentes e não se misturam.",{"id":1035,"title":1036,"titles":1037,"content":1038,"level":223},"\u002Fdocs\u002Fteam\u002Ftelegram-team#vincular-seu-telegram","Vincular seu Telegram",[140],"O vínculo é por pessoa, não por negócio: você faz uma vez e vale para todos os negócios aos quais tem acesso. No painel, abra Minha conta (seu nome, no rodapé do menu) e toque em Vincular Telegram.Toque em Abrir Telegram e, no bot, em Iniciar. O bot confirma que ficou vinculado.Para desvincular, escreva \u002Fsair ao bot ou desvincule em Minha conta. O link de vínculo é de uso único e vence em 15 minutos. Se venceu, gere outro. Se você não vê a opção Vincular Telegram, o bot da equipe ainda não está ativado no seu ambiente: avise-nos.",{"id":1040,"title":1041,"titles":1042,"content":1043,"level":223},"\u002Fdocs\u002Fteam\u002Ftelegram-team#quais-avisos-você-recebe","Quais avisos você recebe",[140],"AvisoQuando chegaTarefa atribuídaAlguém atribuiu uma tarefa a vocêTrabalho sem donoHá uma tarefa de fila que seu grupo pode pegarLembreteFalta pouco para um atendimento (aviso prévio da equipe)Relatório diárioResumo do seu diaMudançasUma tarefa sua foi cancelada ou mudou Os avisos trazem botões para agir sem abrir o painel: Abrir abre o Mini App direto naquela tarefa.Pegar e Concluir executam a ação com as suas permissões, igual ao painel. Se outra pessoa pegou o trabalho antes, o bot avisa que já foi pego.Os avisos nunca incluem dados de outro negócio. Os lembretes, o relatório diário e o aviso à equipe saem dos seus fluxos e regras. Se você ativa um, a equipe o recebe por este canal.",{"id":1045,"title":1046,"titles":1047,"content":1048,"level":223},"\u002Fdocs\u002Fteam\u002Ftelegram-team#escolha-como-recebê-los","Escolha como recebê-los",[140],"Em Minha conta → Preferências de avisos você define: Canal preferido: automático, Telegram, WhatsApp ou e-mail. No automático, Telegram se você o tem vinculado; se não, WhatsApp (com seu vínculo verificado) e, se também não, e-mail.O que silenciar: atribuídas, sem dono, lembretes, relatório diário ou mudanças. Se o Telegram não consegue entregar um aviso (por exemplo, você bloqueou o bot), o aviso cai para o próximo canal.",{"id":1050,"title":1051,"titles":1052,"content":1053,"level":223},"\u002Fdocs\u002Fteam\u002Ftelegram-team#comandos","Comandos",[140],"ComandoO que faz\u002FstartVincula sua conta (com o link de Minha conta)\u002FhojeMostra seu dia, por negócio\u002FsairDesvincula seu Telegram",{"id":1055,"title":1056,"titles":1057,"content":1058,"level":223},"\u002Fdocs\u002Fteam\u002Ftelegram-team#mini-app-meu-dia","Mini App \"Meu dia\"",[140],"O botão de menu do bot (à esquerda do campo de texto) abre Meu dia: o painel em formato compacto dentro do Telegram, sem pedir senha. Mostra o mesmo que você veria no painel conforme seu papel: Hoje e Trabalho (com \"Minhas\" por padrão para a equipe operacional) e um seletor de negócio se você tem vários. A sessão dura 60 minutos e só acessa Hoje, Trabalho e as tarefas. Não dá acesso a chaves de API, equipe, canais nem webhooks.Ela se encerra sozinha se você desvincula o Telegram ou se é removido do negócio.",{"id":1060,"title":1061,"titles":1062,"content":1063,"level":223},"\u002Fdocs\u002Fteam\u002Ftelegram-team#grupo-da-equipe","Grupo da equipe",[140],"Além dos avisos pessoais, o negócio pode ter um grupo do Telegram da equipe onde as tarefas sem responsável são publicadas com o botão Assumir. Ganha quem tocar primeiro: se duas pessoas tocam ao mesmo tempo, só uma fica atribuída e a outra vê que já foi assumida. Um owner ou manager com o Telegram já vinculado adiciona o bot da equipe ao grupo.No grupo, escreve \u002Fvincular e toca Confirmar (se administra vários negócios, escolhe qual). Só quem pediu pode confirmar.Opcional, em um grupo com tópicos: dentro de um tópico, \u002Ftopico e escolha a zona ou o grupo de recursos cujas tarefas vão para lá. As demais vão para o tópico geral. Comando do grupoO que faz\u002FvincularVincula o grupo ao negócio (com confirmação)\u002FtopicoEscolhe qual zona ou grupo publica neste tópico\u002FdesvincularDeixa de publicar tarefas no grupo Só podem Assumir as pessoas do negócio com o Telegram vinculado e permissão para assumir tarefas (e, se forem da equipe operacional, dentro do seu grupo e zona). Para os demais o bot não responde.A publicação mostra só o serviço, o horário e a zona: nunca o cliente, o endereço nem o telefone. Quando alguém assume, a mensagem diz quem e perde o botão.Há um grupo por negócio e um negócio por grupo. Dá para ver e desvincular em Equipe → Acessos; também se corta se você remover o bot do grupo.O bot publica no máximo 20 mensagens por minuto no grupo; o resto espera na fila.Ao substituir o grupo ou migrá-lo para supergrupo, as tarefas sem responsável são publicadas novamente no grupo vinculado. Os botões de mensagens anteriores respondem «Este grupo não está mais vinculado» e não atribuem a tarefa.",{"id":1065,"title":1066,"titles":1067,"content":1068,"level":223},"\u002Fdocs\u002Fteam\u002Ftelegram-team#limites-e-segurança","Limites e segurança",[140],"No privado, o bot só fala com uma pessoa; no grupo da equipe só lê os seus comandos e botões.O Telegram admite 1 mensagem por segundo por chat; se há muitos avisos juntos, os seguintes esperam na fila e chegam do mesmo jeito.O vínculo e o Mini App são sempre validados no servidor. Um link usado, vencido ou de outra conta responde com a mesma mensagem neutra. Para saber o que cada pessoa vê e pode fazer, veja Papéis e permissões. Para desenvolvedores: os endpoints GET\u002FDELETE \u002Fme\u002Ftelegram, POST \u002Fme\u002Ftelegram\u002Flink e GET\u002FPUT \u002Fme\u002Fnotification-preferences são da conta do usuário (sessão do painel) e não se usam com chaves de API.",{"id":145,"title":144,"titles":1070,"content":1071,"level":217},[],"O que cada papel (dono, gerente, equipe e somente leitura) pode ver e fazer, como convidar a equipe e como trabalhar com vários projetos. Cada pessoa entra em um negócio (um projeto) com um papel. O papel decide quais telas vê e o que pode alterar. Quem controla é o servidor: esconder um botão no painel não é a única barreira.",{"id":1073,"title":1074,"titles":1075,"content":1076,"level":223},"\u002Fdocs\u002Fteam\u002Froles#os-quatro-papéis","Os quatro papéis",[144],"PapelPara quemO que fazDono (owner)Quem administra a contaTudo, incluindo chaves de API, equipe e canaisGerente (manager)ResponsáveisOpera o negócio: catálogo, equipe, clientes, bot, fluxos, canais e webhooks. Não administra as chaves de APIEquipe (staff)Quem atende ou entregaVê e trabalha o que é seu: suas tarefas e o que seu grupo pode pegarSomente leitura (viewer)Sócios, contadoresVê Hoje, Trabalho e conversas; não altera nada",{"id":1078,"title":1079,"titles":1080,"content":1081,"level":223},"\u002Fdocs\u002Fteam\u002Froles#o-que-cada-um-vê-no-painel","O que cada um vê no painel",[144],"SeçãoDonoGerenteEquipeSomente leituraHoje e TrabalhoSimSimO que é seuSim (leitura)ConversasSimSimSó as suasSim (leitura)Catálogo, Equipe, ClientesSimSimNãoNãoBot e FluxosSimSimNãoNãoConfigurações, Canais, IA e usoSimSimNãoNãoWebhooksSimSimNãoNãoChaves de API (Desenvolvedores)SimNãoNãoNão A equipe busca clientes com uma visão mínima: nome, telefone parcialmente oculto, etiquetas e faltas, com um mínimo de caracteres e um limite de resultados. Um entregador vê o destino exato de uma entrega só depois de pegá-la; antes vê uma zona aproximada.",{"id":1083,"title":1084,"titles":1085,"content":1086,"level":223},"\u002Fdocs\u002Fteam\u002Froles#convidar-a-equipe","Convidar a equipe",[144],"Em Equipe você pode convidar de duas formas: Por mensagem (WhatsApp): só para equipe operacional, sem senha. Você informa nome e número (com código do país) e o convite chega pelo chat; ao aceitar, esse número fica vinculado. Enquanto não aceitar, aparece como Convite pendente (vence em 48 horas) e do número só se vê o final.Por e-mail: para dono, gerente, equipe ou somente leitura. A pessoa aceita o convite e cria sua senha. A uma pessoa da equipe você associa um ou mais recursos (sua agenda, seu veículo): isso define quais tarefas ela vê e quais pode pegar. Você pode mudar o papel ou remover alguém quando quiser; as sessões e o Telegram dessa pessoa deixam de funcionar na hora.",{"id":1088,"title":1089,"titles":1090,"content":1091,"level":369},"\u002Fdocs\u002Fteam\u002Froles#links-de-agenda-da-equipe","Links de agenda da equipe",[144,1084],"Cada pessoa da equipe com recursos tem um link de agenda para abrir «Meu dia» sem fazer login. Em Equipe → Acessos você vê se há um ativo, até quando vale e quando foi usado pela última vez. Dali você pode: Reenviar o de hoje: o link vigente chega pelo chat dela (se havia outro, ele deixa de valer). É preciso que o contato esteja vinculado e o canal conectado; se ela acabou de receber um, aguarde um minuto.Revogar e encerrar sessões: o link e as sessões abertas com ele param de funcionar na hora. O link é de uso único e vale o dia da agenda; se já foi aberto em outro dispositivo, venceu ou foi revogado, a pessoa vê um aviso claro e pede outro escrevendo «minha agenda» no chat do negócio. A Wagy pode propor o convite por mensagem (nome e WhatsApp) com o mesmo fluxo de confirmação.",{"id":1093,"title":1094,"titles":1095,"content":1096,"level":223},"\u002Fdocs\u002Fteam\u002Froles#vários-projetos","Vários projetos",[144],"Uma conta pode ter vários projetos (negócios ou unidades), cada um com sua equipe, sua agenda, seus canais e seus dados, totalmente isolados. O número de projetos depende do plano. Com mais de um projeto, o seletor de projeto do painel permite alternar entre eles.Só o dono da conta pode criar um projeto novo, a partir de um modelo por segmento (barbearia, estética, clínica, restaurante ou entregas).Seu papel pode ser diferente em cada projeto.",{"id":1098,"title":1099,"titles":1100,"content":1101,"level":223},"\u002Fdocs\u002Fteam\u002Froles#suporte-da-plataforma","Suporte da plataforma",[144],"Quando você precisa de ajuda, a equipe da Fiuit pode entrar no seu projeto de forma temporária: Sempre com um motivo escrito e por no máximo 60 minutos.No modo leitura (vê o que um gerente veria, sem alterar nada) ou assistência (pode ajustar catálogo, horários e configuração do negócio).Nunca pode ver nem alterar chaves de API, senhas, segredos de canais, cobrança nem a equipe, nem enviar mensagens aos seus clientes.Cada entrada e saída fica registrada e o dono as vê na atividade do negócio, com quem, em que modo e por quê.",{"id":1103,"title":1104,"titles":1105,"content":1106,"level":223},"\u002Fdocs\u002Fteam\u002Froles#chaves-de-api-e-permissões","Chaves de API e permissões",[144],"As chaves de API não têm papel: têm scopes (permissões restritas, como slots:read ou bookings:write) e só o dono as cria. Veja Autenticação.",{"id":149,"title":148,"titles":1108,"content":1109,"level":217},[],"O sino do painel (com as Novidades da Fiuit incluídas), o push no celular, quais avisos você recebe e por onde, o horário de silêncio e as regras do projeto. As notificações avisam o que precisa de atenção sem que você precise olhar o painel o tempo todo. Elas coincidem com o que você vê em Requer atenção no Inbox e em Hoje.",{"id":1111,"title":1112,"titles":1113,"content":1114,"level":223},"\u002Fdocs\u002Fteam\u002Fnotifications#o-sino","O sino",[148],"No painel, o sino reúne num só lugar as suas notificações e as Novidades da Fiuit (o que está saindo, no seu idioma), com uma contagem combinada de pendentes que se atualiza sozinha, sem recarregar. Se não há nada pendente, você vê só o sino, sem número. Toque no sino para ver a lista: cada notificação leva ao que pede atenção (a conversa, a tarefa, o canal ou a IA) e cada entrada de Novidades abre seu detalhe.No celular, o sino abre como uma folha clara que fecha com Escape ou deslizando; as sugestões de Wagy ficam ao lado, sem cobrir seus cartões.Com Marcar todas como lidas você zera. As lidas são apagadas em 14 dias e todas em 60. O histórico completo das Novidades está em fiuit.com\u002Fnovidades.",{"id":1116,"title":1117,"titles":1118,"content":1119,"level":223},"\u002Fdocs\u002Fteam\u002Fnotifications#quais-avisos-existem","Quais avisos existem",[148],"AvisoQuando chegaUma conversa precisa de atençãoO bot encaminhou ou falhou e ninguém respondeu aindaTarefa atribuída a mimAlguém atribuiu uma tarefa a vocêTarefa sem responsávelHá uma tarefa que seu grupo ou zona pode assumirCanal caído ou com erroUm canal de mensagens desconectouIA pausada ou cota esgotadaA IA do projeto foi pausada ou a cota do mês acabouPossível spamUm canal pausado descartou muitas mensagens em um diaSugestão do WagyO Wagy tem algo a propor",{"id":1121,"title":1122,"titles":1123,"content":1124,"level":223},"\u002Fdocs\u002Fteam\u002Fnotifications#escolher-o-que-você-recebe-e-por-onde","Escolher o que você recebe e por onde",[148],"Em Minha conta → Notificações você escolhe, para cada aviso, se quer no painel, como push, por Telegram ou por e-mail. Ali também define: Horário de silêncio: dentro da faixa nada sai fora do painel (nem push, nem Telegram, nem e-mail). As notificações continuam no sino.Resumo diário por e-mail: um e-mail por dia com o que ficou sem ler. Vem desligado. Se o seu ambiente ainda não tem o envio de e-mail configurado, o resumo só sai quando tiver.",{"id":1126,"title":1127,"titles":1128,"content":1129,"level":223},"\u002Fdocs\u002Fteam\u002Fnotifications#push-no-celular-e-no-navegador","Push no celular e no navegador",[148],"Em Minha conta → Notificações → Push neste dispositivo toque em Ativar push e aceite a permissão do navegador. Cada dispositivo é ativado separadamente. Se o seu projeto ainda não tem o push disponível, a tela avisa. No iPhone e no iPad o push só funciona se você adicionar o painel à tela de início: abra no Safari, toque em Compartilhar → Adicionar à Tela de Início, abra o Fiuit pelo ícone novo e ative o push por lá.",{"id":1131,"title":1132,"titles":1133,"content":1134,"level":223},"\u002Fdocs\u002Fteam\u002Fnotifications#regras-do-projeto-proprietário","Regras do projeto (proprietário)",[148],"Em Configuração → Notificações o proprietário decide quem recebe os alertas de canal caído e de spam (só o proprietário, proprietário e gerentes, ou toda a equipe) e quais avisos estão ativos para todo o projeto. O que é pessoal, como canais e silêncio, cada pessoa escolhe em Minha conta.",{"id":153,"title":152,"titles":1136,"content":1137,"level":217},[],"Regras de comissão por pessoa e por serviço ou produto, gorjetas e relatório por período em CSV, calculado na hora. Em Financeiro > Comissões você vê o que cabe a cada pessoa da equipe. O Fiuit calcula sozinho, com os recebimentos reais que você registra (dinheiro, transferência, Pix, cartão, link de pagamento): nunca sobre o vendido nem com números digitados à mão no navegador.",{"id":1139,"title":1140,"titles":1141,"content":1142,"level":223},"\u002Fdocs\u002Fteam\u002Fcommissions#como-é-calculado","Como é calculado",[152],"Sobre o recebido. Se uma tarefa vale 100 e pagam 60, a comissão é sobre 60. Quando chega o resto, soma-se a comissão do resto. Uma tarefa com dívida não gera comissão até ser recebida.Sinais e descontos. Um sinal recebido conta no dia em que é recebido (se a tarefa foi remarcada, conta para quem faz a tarefa vigente). Um desconto reduz o recebido e, portanto, a comissão.Anulações e devoluções subtraem no dia em que acontecem (o dia do recebimento não muda) e são valoradas com a regra do recebimento original: encerrar ou mudar uma regra depois não deixa comissão de um recebimento anulado.De quem é a comissão: tudo o que foi recebido por uma tarefa é de quem fez o trabalho, ou seja, de quem tinha a tarefa atribuída (ativo e com o recurso) ao concluí-la, mesmo que outra pessoa tenha registrado o recebimento. Enquanto a tarefa estiver aberta, é de quem a tem atribuída hoje. Se depois essa pessoa sai da equipe ou o recurso passa para outra, a tarefa continua sendo dela; anulações e devoluções posteriores também descontam dela.Sinal retido sem trabalho realizado: se a tarefa termina em ausência, cancelamento ou falha (no_show, cancelled, failed), seus recebimentos não geram comissão nem aparecem como «sem pessoa atribuída»: ficam como receita do negócio no Financeiro e no Caixa. Uma saída da equipe ou reatribuição posterior não muda essa regra.Reembolso parcial eletrônico: por enquanto a comissão continua sobre o total até o reembolso ser total.Várias pessoas na mesma tarefa: o recebido é dividido em partes iguais.Gorjetas: ficam à parte, por meio de pagamento, e não geram comissão.Tarefas sem pessoa atribuída: o recebido aparece à parte (só owner e manager) e não gera comissão.",{"id":1144,"title":428,"titles":1145,"content":1146,"level":223},"\u002Fdocs\u002Fteam\u002Fcommissions#regras",[152],"Uma regra é um percentual do recebido ou um valor fixo (por tarefa, ou por unidade se for um produto). Pode valer para toda a equipe ou para uma pessoa, para todo o recebido ou para um serviço ou produto, e descontar ou não a taxa do meio de pagamento (por exemplo, a tarifa do Mercado Pago). Cada regra tem vigência a partir de uma data. Vale a regra mais específica: pessoa + serviço ou produto, depois serviço ou produto, depois pessoa, depois a geral. Uma regra não se edita: para mudar uma taxa, você a encerra e cria outra. Owner e manager configuram as regras; cada pessoa da equipe vê as que se aplicam a ela.",{"id":1148,"title":1149,"titles":1150,"content":1151,"level":223},"\u002Fdocs\u002Fteam\u002Fcommissions#o-dia-de-cada-pessoa","O dia de cada pessoa",[152],"Para cada pessoa você vê o recebido por meio de pagamento, as gorjetas, a comissão, os ajustes e, se recebeu em dinheiro, a diferença de caixa do dia. Owner e manager podem ajustar a comissão de um dia, com sinal e motivo (fica na auditoria). Não há fechamento diário: os números são calculados na hora a partir dos recebimentos. Como cada tarefa concluída fica com quem a tinha ao concluí-la, desativar alguém ou trocar seus recursos não muda o passado.",{"id":1153,"title":1154,"titles":1155,"content":1156,"level":223},"\u002Fdocs\u002Fteam\u002Fcommissions#relatório-por-período","Relatório por período",[152],"Em Período você escolhe as datas e vê o total por pessoa, calculado na hora (cada tarefa conta uma vez). Exportar CSV baixa uma linha por pessoa e dia, com valores na unidade menor da moeda: serve de base para acertar com a equipe e para o relatório mensal do salão-parceiro.",{"id":1158,"title":486,"titles":1159,"content":1160,"level":223},"\u002Fdocs\u002Fteam\u002Fcommissions#quem-vê-o-quê",[152],"PapelVêPodeOwner e managerToda a equipeRegras, ajustes, gorjetas, CSVStaffSó o seuRegistrar suas gorjetas (se o negócio permite que receba) e baixar seu CSVViewerNada de dinheiro— O Wagy pode ler as comissões de um dia ou de um período; regras, ajustes e gorjetas são feitos no painel. Por API e MCP estão as mesmas leituras (scope commissions:read).",{"id":157,"title":156,"titles":1162,"content":1163,"level":217},[],"Crie seu primeiro agendamento pela API em cinco minutos com uma chave de um negócio de teste. Este guia cria um agendamento real, então use uma chave de produção (wg_live_...) de um negócio que você montou para testes. Chaves wg_test_ são somente leitura: permitem listar e ler, não criar nem alterar nada. Um sandbox para escritas é Em breve. Para testar o bot sem WhatsApp, use o simulador do painel. URL base: https:\u002F\u002Fapi.fiuit.com\u002Fv1. Toda requisição precisa de Authorization: Bearer \u003Cchave>.",{"id":1165,"title":1166,"titles":1167,"content":1168,"level":223},"\u002Fdocs\u002Fquickstart#_1-gere-uma-chave","1. Gere uma chave",[156],"No painel, vá em Configurações → Desenvolvedores, crie uma chave de Produção e marque os escopos slots:read, bookings:write e config:read. A chave aparece uma única vez. export WAGEND_KEY=\"wg_live_xxxxxxxx_xxxxxxxxxxxxxxxxxxxx\"",{"id":1170,"title":1171,"titles":1172,"content":1173,"level":223},"\u002Fdocs\u002Fquickstart#_2-veja-quem-você-é","2. Veja quem você é",[156],"curl https:\u002F\u002Fapi.fiuit.com\u002Fv1\u002Fme -H \"Authorization: Bearer $WAGEND_KEY\" {\n  \"workspace\": { \"id\": \"ws_9f2c\", \"name\": \"Barbearia Centro\", \"timezone\": \"America\u002FSao_Paulo\", \"locale\": \"pt\", \"currency\": \"BRL\" },\n  \"scopes\": [\"slots:read\", \"bookings:write\", \"config:read\"],\n  \"mode\": \"live\"\n} O workspace sempre vem da chave. Você nunca envia um id de workspace.",{"id":1175,"title":1176,"titles":1177,"content":1178,"level":223},"\u002Fdocs\u002Fquickstart#_3-liste-os-serviços","3. Liste os serviços",[156],"curl https:\u002F\u002Fapi.fiuit.com\u002Fv1\u002Fservices -H \"Authorization: Bearer $WAGEND_KEY\" {\n  \"data\": [\n    { \"id\": \"svc_corte\", \"name\": \"Corte\", \"duration_min\": 30, \"price_cents\": 5000, \"currency\": \"BRL\",\n      \"requirements\": [{ \"resource_group_id\": \"grp_barbers\", \"units\": 1 }] }\n  ]\n}",{"id":1180,"title":1181,"titles":1182,"content":1183,"level":223},"\u002Fdocs\u002Fquickstart#_4-busque-horários-disponíveis","4. Busque horários disponíveis",[156],"curl \"https:\u002F\u002Fapi.fiuit.com\u002Fv1\u002Fslots?service_id=svc_corte&from=2026-10-15T08:00:00-03:00&to=2026-10-15T13:00:00-03:00\" \\\n  -H \"Authorization: Bearer $WAGEND_KEY\" {\n  \"data\": [\n    { \"start\": \"2026-10-15T09:00:00-03:00\", \"end\": \"2026-10-15T09:30:00-03:00\", \"resource_ids\": [\"res_juan\"] },\n    { \"start\": \"2026-10-15T09:45:00-03:00\", \"end\": \"2026-10-15T10:15:00-03:00\", \"resource_ids\": [\"res_juan\"] }\n  ],\n  \"unavailable_reason\": null\n}",{"id":1185,"title":1186,"titles":1187,"content":1188,"level":223},"\u002Fdocs\u002Fquickstart#_5-faça-a-pré-reserva","5. Faça a pré-reserva",[156],"A pré-reserva (hold) segura o horário por 10 minutos enquanto você coleta os dados do cliente. Sempre envie um Idempotency-Key para que reenvios sejam seguros. curl -X POST https:\u002F\u002Fapi.fiuit.com\u002Fv1\u002Fholds \\\n  -H \"Authorization: Bearer $WAGEND_KEY\" \\\n  -H \"Idempotency-Key: $(uuidgen)\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{ \"service_id\": \"svc_corte\", \"start\": \"2026-10-15T09:45:00-03:00\", \"resource_ids\": [\"res_juan\"] }' { \"id\": \"bkg_7Qx1\", \"status\": \"held\", \"expires_at\": \"2026-10-14T15:30:00-03:00\", \"start\": \"2026-10-15T09:45:00-03:00\" }",{"id":1190,"title":1191,"titles":1192,"content":1193,"level":223},"\u002Fdocs\u002Fquickstart#_6-confirme","6. Confirme",[156],"curl -X POST https:\u002F\u002Fapi.fiuit.com\u002Fv1\u002Fholds\u002Fbkg_7Qx1\u002Fconfirm \\\n  -H \"Authorization: Bearer $WAGEND_KEY\" \\\n  -H \"Idempotency-Key: $(uuidgen)\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{ \"customer\": { \"name\": \"Carlos\", \"phone\": \"+5521999990000\", \"locale\": \"pt\" } }' { \"id\": \"bkg_7Qx1\", \"status\": \"confirmed\", \"start\": \"2026-10-15T09:45:00-03:00\", \"source\": \"api\" } Se o serviço exige sinal, o status fica pending_payment. A cobrança online do sinal está em breve.",{"id":1195,"title":1196,"titles":1197,"content":1198,"level":223},"\u002Fdocs\u002Fquickstart#o-mesmo-fluxo-em-javascript","O mesmo fluxo em JavaScript",[156],"const api = (path: string, init: RequestInit = {}) =>\n  fetch(`https:\u002F\u002Fapi.fiuit.com\u002Fv1${path}`, {\n    ...init,\n    headers: { Authorization: `Bearer ${process.env.WAGEND_KEY}`, 'Content-Type': 'application\u002Fjson', ...init.headers },\n  }).then((r) => r.json())\n\nconst { data: slots } = await api(`\u002Fslots?service_id=svc_corte&from=${from}&to=${to}`)\nconst hold = await api('\u002Fholds', {\n  method: 'POST',\n  headers: { 'Idempotency-Key': crypto.randomUUID() },\n  body: JSON.stringify({ service_id: 'svc_corte', start: slots[0].start }),\n})\nconst booking = await api(`\u002Fholds\u002F${hold.id}\u002Fconfirm`, {\n  method: 'POST',\n  headers: { 'Idempotency-Key': crypto.randomUUID() },\n  body: JSON.stringify({ customer: { name: 'Carlos', phone: '+5521999990000' } }),\n})",{"id":1200,"title":278,"titles":1201,"content":1202,"level":223},"\u002Fdocs\u002Fquickstart#próximos-passos",[156],"Prefere não montar o cliente à mão? Use os SDKs de TypeScript e Python.Reaja a agendamentos com webhooks.Veja todos os endpoints na referência e mais exemplos nas receitas.Conecte um agente de IA com o servidor MCP. html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"id":166,"title":165,"titles":1204,"content":1205,"level":217},[],"Chaves de API, scopes e quais rotas podem ser usadas com uma chave e quais são só do painel.",{"id":1207,"title":1208,"titles":1209,"content":1210,"level":223},"\u002Fdocs\u002Fapi\u002Fauthentication#chaves-de-api","Chaves de API",[165],"As chaves são criadas pelo dono em Configurações → Desenvolvedores. Aparecem uma única vez. Envie sua chave como bearer token: GET \u002Fv1\u002Fme HTTP\u002F1.1\nHost: api.fiuit.com\nAuthorization: Bearer wg_live_xxxxxxxx_xxxxxxxxxxxxxxxxxxxx PrefixoModowg_live_Dados de produção e mensagens reaiswg_test_Somente leitura: permite listar e ler, não criar nem alterar nada. Um sandbox para escritas é Em breve As chaves pertencem a um projeto (workspace). O projeto sempre vem da chave: não há id de workspace em paths nem em bodies. As chaves são guardadas com hash.",{"id":1212,"title":1213,"titles":1214,"content":1215,"level":223},"\u002Fdocs\u002Fapi\u002Fauthentication#scopes","Scopes",[165],"ScopePermiteslots:readGET \u002Fslotsbookings:readLer agendamentos e tarefas (\u002Fbookings, \u002Fwork-items), histórico de etapas, anexos, estatísticas da equipebookings:writePré-reservas, confirmar, cancelar, remarcar, check-in, falta, concluir, executar ações e editar prioridade, etiquetas e prazo de uma tarefacustomers:readLer e buscar clientes, seu histórico, resumo e comentárioscustomers:writeCriar e editar clientesmessages:readLer conversas e mensagensmessages:writeEnviar mensagens, mudar o modo (bot ou pessoa), resolver, marcar como lidaconfig:read \u002F config:writeServiços, recursos, grupos, horários, automações por regra, conhecimento e botsettings:writeSubstituir e reverter etapas, ações e formulários (\u002Fservices\u002F{id}\u002Fstages)webhooks:manageEndpoints de webhooks de saída Uma requisição sem o scope necessário devolve 403 com code: \"insufficient_scope\".",{"id":1217,"title":1218,"titles":1219,"content":1220,"level":223},"\u002Fdocs\u002Fapi\u002Fauthentication#o-que-é-só-do-painel","O que é só do painel",[165],"Estas áreas não aceitam chaves de API: usam a sessão de uma pessoa da equipe (com seu papel) e são protegidas com CSRF. Se você as chama com uma chave, a API responde que não estão disponíveis para esse tipo de credencial. Canais, pausas de canais e da IA, estado do serviço.Fluxos de automação (\u002Fautomation-flows), assistente Wagy e seu plano.Fontes de conhecimento (\u002Fknowledge\u002Fsources) e política do bot por canal.Equipe, convites, chaves de API, projetos e suporte da plataforma.Telegram da equipe e preferências de avisos. A lista de endpoints marca quais são quais.",{"id":1222,"title":1223,"titles":1224,"content":1225,"level":223},"\u002Fdocs\u002Fapi\u002Fauthentication#rotação","Rotação",[165],"Crie uma chave nova, faça o deploy e depois revogue a antiga em Configurações → Desenvolvedores. Chaves revogadas devolvem 401 na hora. html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"id":170,"title":169,"titles":1227,"content":1228,"level":217},[],"Formatos, idempotência, paginação, erros e limites de uso da API v1.",{"id":1230,"title":1231,"titles":1232,"content":1233,"level":223},"\u002Fdocs\u002Fapi\u002Fconventions#o-básico","O básico",[169],"URL base https:\u002F\u002Fapi.fiuit.com\u002Fv1. Mudanças incompatíveis saem como uma nova versão; mudanças aditivas (campos novos) podem chegar a qualquer momento, então ignore os campos que você não conhece.JSON na entrada e na saída (Content-Type: application\u002Fjson).Datas em ISO 8601 com offset (2026-10-15T09:45:00-03:00). São guardadas em UTC.Valores em centavos inteiros mais currency (BRL, ARS, PYG, USD).Os IDs são strings opacas. Campos sem valor chegam como null explícito.O contrato legível por máquina é packages\u002Fopenapi\u002Fopenapi.yaml (OpenAPI 3.1) e as novidades recentes resumem o que é novo.",{"id":1235,"title":1236,"titles":1237,"content":1238,"level":223},"\u002Fdocs\u002Fapi\u002Fconventions#idempotência","Idempotência",[169],"POST \u002Fholds, POST \u002Fholds\u002F{id}\u002Fconfirm, POST \u002Fbookings, POST \u002Fbookings\u002F{id}\u002Freschedule e POST \u002Fbookings\u002F{id}\u002Factions\u002F{key} levam o header Idempotency-Key (por exemplo um UUID). Repetir uma requisição com a mesma chave em até 24 horas devolve a resposta original. Reusar a chave com outro body devolve 422 com code: \"idempotency_conflict\". POST \u002Fcustomers aceita Idempotency-Key de forma opcional. POST \u002Fwebhook-endpoints não o admite, porque sua resposta contém o segredo.",{"id":1240,"title":1241,"titles":1242,"content":1243,"level":223},"\u002Fdocs\u002Fapi\u002Fconventions#paginação","Paginação",[169],"Os endpoints de listagem usam cursores: curl \"https:\u002F\u002Fapi.fiuit.com\u002Fv1\u002Fbookings?limit=50\" -H \"Authorization: Bearer $WAGEND_KEY\"\n# → { \"data\": [...], \"next_cursor\": \"eyJpZCI6...\" }\ncurl \"https:\u002F\u002Fapi.fiuit.com\u002Fv1\u002Fbookings?limit=50&cursor=eyJpZCI6...\" -H \"Authorization: Bearer $WAGEND_KEY\" Quando next_cursor é null, não há mais páginas.",{"id":1245,"title":1246,"titles":1247,"content":1248,"level":223},"\u002Fdocs\u002Fapi\u002Fconventions#erros","Erros",[169],"Os erros seguem a RFC 9457 (application\u002Fproblem+json): {\n  \"type\": \"https:\u002F\u002Ffiuit.com\u002Fdocs\u002Fapi\u002Fconventions#errors\",\n  \"title\": \"Slot no longer available\",\n  \"status\": 409,\n  \"code\": \"slot_taken\",\n  \"alternatives\": [{ \"start\": \"2026-10-15T10:15:00-03:00\", \"end\": \"2026-10-15T10:45:00-03:00\" }]\n} codeStatusQuandovalidation_error422Falhou a validação do body ou dos parâmetrosinvalid_api_key401Chave ausente, inválida ou revogadaidempotency_key_required400Falta o header Idempotency-Key em uma operação que o exigeinsufficient_scope403A chave não tem o scopenot_found404Id desconhecido (ou de outro projeto)slot_taken409Outra pessoa pegou o horárioalready_claimed409Outra pessoa da equipe pegou antes a tarefa da filacustomer_exists409Já existe um cliente com esse telefoneinvalid_transition409Por exemplo confirmar um agendamento canceladoversion_conflict409Alguém editou antes o mesmo recurso (versão desatualizada)hold_expired410A pré-reserva venceu antes de confirmaridempotency_conflict422Mesma chave, body diferenterate_limited429Requisições demais Toda resposta de erro traz code: use-o para decidir o que fazer, não o texto do title.",{"id":1250,"title":1251,"titles":1252,"content":1253,"level":223},"\u002Fdocs\u002Fapi\u002Fconventions#limites-de-uso","Limites de uso",[169],"Os limites valem por chave e por projeto (um balde com rajada de 120 requisições e recarga de 2 por segundo). Cada resposta traz RateLimit-Limit, RateLimit-Remaining e RateLimit-Reset. Diante de um 429, espere Retry-After segundos. html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"id":174,"title":173,"titles":1255,"content":1256,"level":217},[],"Os endpoints da API v1 agrupados por tema, com o scope que cada um pede, e quais áreas são só do painel. O contrato legível por máquina está no repositório, em packages\u002Fopenapi\u002Fopenapi.yaml (OpenAPI 3.1). Esta página resume o que você pode usar com uma chave de API. As áreas marcadas como \"só painel\" usam a sessão de uma pessoa da equipe (veja Autenticação).",{"id":1258,"title":1259,"titles":1260,"content":1261,"level":223},"\u002Fdocs\u002Fapi\u002Fendpoints#agenda-horários-e-agendamentos","Agenda: horários e agendamentos",[173],"MétodoPathScopeDescriçãoGET\u002Fslotsslots:readHorários disponíveis para um serviçoPOST\u002Fholdsbookings:writeCriar pré-reserva de 10 minutosPOST\u002Fholds\u002F{id}\u002Fconfirmbookings:writeConfirmar (ou pending_payment se exigir sinal)DELETE\u002Fholds\u002F{id}bookings:writeLiberar pré-reservaPOST\u002Fbookingsbookings:writePré-reserva e confirmação em uma chamadaGET\u002Fbookingsbookings:readListar (from, to, status, resource_id, customer_id)GET \u002F PATCH\u002Fbookings\u002F{id}bookings:read \u002F writeLer, atualizar notas ou dados de entradaPOST\u002Fbookings\u002F{id}\u002Fcancel, \u002Freschedule, \u002Fcheck-in, \u002Fno-show, \u002Fcomplete, \u002Ffailbookings:writeMudar o estado",{"id":1263,"title":1264,"titles":1265,"content":1266,"level":223},"\u002Fdocs\u002Fapi\u002Fendpoints#trabalho-tarefas-e-ações","Trabalho: tarefas e ações",[173],"Um agendamento é uma tarefa com etapas. As tarefas sem horário (por exemplo entregas) ficam na fila de um grupo até alguém pegá-las. Veja Trabalho e ações. MétodoPathScopeDescriçãoGET\u002Fwork-itemsbookings:readConsulta unificada: filtros por view (inbox, today, upcoming), status, stage, unassigned, priority, tag, origin, q, intervalo de datas e caixa geográficaPATCH\u002Fwork-items\u002F{id}bookings:writeMudar prioridade, etiquetas ou prazo (com expected_version opcional)POST\u002Fbookings\u002F{id}\u002Factions\u002F{key}bookings:writeExecutar uma ação da etapa (pegar, soltar, concluir, \"não estava\"…) com Idempotency-KeyGET\u002Fbookings\u002F{id}\u002Fstage-historybookings:readHistórico de etapasGET\u002Fbookings\u002F{id}\u002Fcomments, \u002Ftimelinebookings:readComentários e linha do tempoGET\u002Fbookings\u002F{id}\u002Fattachments, \u002Flocation-eventsbookings:readEvidência de trabalhoGET\u002Fconversations\u002F{id}\u002Fwork-itemsbookings:readTarefas criadas a partir de uma conversaGET\u002Fteam\u002Foverview, \u002Fresources\u002F{id}\u002Fstatsbookings:readOcupação e estatísticas da equipe",{"id":1268,"title":1269,"titles":1270,"content":1271,"level":223},"\u002Fdocs\u002Fapi\u002Fendpoints#catálogo-e-etapas","Catálogo e etapas",[173],"MétodoPathScopeGET \u002F POST\u002Fservices, \u002Fresources, \u002Fresource-groups, \u002Fschedulesconfig:read \u002F config:writeGET \u002F PATCH \u002F DELETE\u002Fservices\u002F{id}, \u002Fresources\u002F{id}, \u002Fresource-groups\u002F{id}, \u002Fschedules\u002F{id}config:read \u002F config:writePOST \u002F DELETE\u002Fschedules\u002F{id}\u002Foverrides, \u002Fschedules\u002F{id}\u002Foverrides\u002F{date}config:writeGET\u002Fschedule-overridesconfig:readGET\u002Fservices\u002F{id}\u002Fstages, \u002Fservices\u002F{id}\u002Fstages\u002Fversions, \u002Fservices\u002F{id}\u002Fstages\u002Fversions\u002F{version}config:readPUT\u002Fservices\u002F{id}\u002Fstagessettings:writePOST\u002Fservices\u002F{id}\u002Fstages\u002Fvalidatesettings:writeGET\u002Fstage-templates, \u002Fbase-statesconfig:readPOST\u002Fservices\u002F{id}\u002Fstages\u002Fversions\u002F{version}\u002Frevertsettings:write",{"id":1273,"title":1274,"titles":1275,"content":1276,"level":223},"\u002Fdocs\u002Fapi\u002Fendpoints#clientes","Clientes",[173],"MétodoPathScopeDescriçãoGET\u002Fcustomerscustomers:readListar e buscar (q: nome, e-mail, empresa, etiqueta ou telefone; phone, tag)POST\u002Fcustomerscustomers:writeCadastro manual. O telefone é único: se já existir, 409 customer_existsGET \u002F PATCH\u002Fcustomers\u002F{id}customers:read \u002F writeLer ou editar (inclui endereço com formatted, lat e lng)GET\u002Fcustomers\u002F{id}\u002Fbookings, \u002Fsummary, \u002Ftimeline, \u002Fcommentscustomers:readHistórico, resumo ao vivo, linha do tempo e comentários Um cliente pode ter várias identidades (WhatsApp, Telegram, WebChat) em identities[].",{"id":1278,"title":1279,"titles":1280,"content":1281,"level":223},"\u002Fdocs\u002Fapi\u002Fendpoints#conversas","Conversas",[173],"MétodoPathScopeGET\u002Fconversations, \u002Fconversations\u002F{id}, \u002Fconversations\u002F{id}\u002Fmessagesmessages:readPOST\u002Fconversations\u002F{id}\u002Fmessagesmessages:write (responde 409 channel_paused se o canal está pausado)POST\u002Fconversations\u002F{id}\u002Fmode, \u002Fread, \u002Fresolvemessages:write",{"id":1283,"title":93,"titles":1284,"content":1285,"level":223},"\u002Fdocs\u002Fapi\u002Fendpoints#bot-e-conhecimento",[173],"MétodoPathScopeGET \u002F PUT\u002Fbotconfig:read \u002F config:writeGET \u002F POST\u002Fknowledge, \u002Fknowledge\u002Ffilesconfig:read \u002F config:writePOST\u002Fknowledge\u002Fsearchconfig:readPATCH \u002F DELETE\u002Fknowledge\u002F{id}config:writeGET \u002F POST \u002F PATCH\u002Fautomations, \u002Fautomations\u002F{id}config:read \u002F config:write",{"id":1287,"title":1288,"titles":1289,"content":1290,"level":223},"\u002Fdocs\u002Fapi\u002Fendpoints#webhooks-de-saída","Webhooks de saída",[173],"MétodoPathScopeGET \u002F POST\u002Fwebhook-endpointswebhooks:manageGET \u002F PATCH \u002F DELETE\u002Fwebhook-endpoints\u002F{id}webhooks:managePOST\u002Fwebhook-endpoints\u002F{id}\u002Frotate-secret, \u002Fping, \u002Fdeliveries\u002F{delivery_id}\u002Fresendwebhooks:manageGET\u002Fwebhook-endpoints\u002F{id}\u002Fdeliverieswebhooks:manage Detalhes em Webhooks.",{"id":1292,"title":1293,"titles":1294,"content":1295,"level":223},"\u002Fdocs\u002Fapi\u002Fendpoints#plataforma","Plataforma",[173],"MétodoPathScopeGET\u002Fmequalquer",{"id":1297,"title":1298,"titles":1299,"content":1300,"level":223},"\u002Fdocs\u002Fapi\u002Fendpoints#só-painel-não-aceitam-chaves-de-api","Só painel (não aceitam chaves de API)",[173],"ÁreaRotasCanais e pausas\u002Fchannels, \u002Fchannels\u002Fwhatsapp, \u002Fchannels\u002Ftelegram, \u002Fchannels\u002Fservice-status, \u002Fchannels\u002Fpauses, \u002Fchannels\u002F{channel}\u002Fpause e \u002Fresume; veja Pausas e StatusPolítica do bot por canal\u002Fbot\u002Fchannel-policies (veja WebChat)Fontes de conhecimento\u002Fknowledge\u002Fsources (veja Conhecimento)Fluxos\u002Fautomation-flows (veja Fluxos)IA do projeto\u002Fai\u002Fusage, \u002Fai\u002Fpause, \u002Fai\u002Fresume, \u002Fai\u002Fspam-guard, \u002Fai\u002FnoticesWagy\u002Fassistant\u002F*, o assistente de configuração do painelEquipe e conta\u002Fteam\u002F*, \u002Fapi-keys, \u002Fworkspaces, \u002Fme\u002Ftelegram, \u002Fme\u002Fnotification-preferencesWebChat\u002Fwebchat-site (gestão) e \u002Fpublic\u002Fwebchat\u002F* (públicos, com a chave publicável do widget)",{"id":1302,"title":1303,"titles":1304,"content":1305,"level":223},"\u002Fdocs\u002Fapi\u002Fendpoints#exemplo-slots","Exemplo: slots",[173],"GET \u002Fv1\u002Fslots?service_id=svc_laser&from=2026-10-20T09:00:00-03:00&to=2026-10-20T20:00:00-03:00&around=2026-10-20T18:00:00-03:00 {\n  \"data\": [\n    { \"start\": \"2026-10-20T17:45:00-03:00\", \"end\": \"2026-10-20T18:30:00-03:00\", \"resource_ids\": [\"res_ana\", \"res_laser1\", \"res_room2\"] },\n    { \"start\": \"2026-10-20T18:45:00-03:00\", \"end\": \"2026-10-20T19:30:00-03:00\", \"resource_ids\": [\"res_carla\", \"res_laser1\", \"res_room1\"] }\n  ],\n  \"unavailable_reason\": null\n}",{"id":1307,"title":1308,"titles":1309,"content":1310,"level":223},"\u002Fdocs\u002Fapi\u002Fendpoints#exemplo-objeto-de-agendamento","Exemplo: objeto de agendamento",[173],"{\n  \"id\": \"bkg_7Qx1\",\n  \"status\": \"confirmed\",\n  \"stage\": \"confirmed\",\n  \"service_id\": \"svc_laser\",\n  \"start\": \"2026-10-20T17:45:00-03:00\",\n  \"end\": \"2026-10-20T18:30:00-03:00\",\n  \"party_size\": 1,\n  \"customer\": { \"id\": \"cus_31\", \"name\": \"Marina\", \"phone\": \"+5521988887777\", \"locale\": \"pt\" },\n  \"allocations\": [\n    { \"resource_id\": \"res_ana\", \"start\": \"2026-10-20T17:45:00-03:00\", \"end\": \"2026-10-20T18:40:00-03:00\" },\n    { \"resource_id\": \"res_laser1\", \"start\": \"2026-10-20T17:45:00-03:00\", \"end\": \"2026-10-20T18:40:00-03:00\" },\n    { \"resource_id\": \"res_room2\", \"start\": \"2026-10-20T17:45:00-03:00\", \"end\": \"2026-10-20T18:40:00-03:00\" }\n  ],\n  \"priority\": \"normal\",\n  \"tags\": [],\n  \"source\": \"whatsapp\",\n  \"created_at\": \"2026-10-19T11:02:13-03:00\"\n} As alocações incluem o buffer (aqui, 10 minutos depois do serviço). Nas tarefas com fila, start e end vêm como null até alguém pegá-las.",{"id":1312,"title":1313,"titles":1314,"content":1315,"level":223},"\u002Fdocs\u002Fapi\u002Fendpoints#novidades-recentes","Novidades recentes",[173],"Estas são as novidades da API, todas aditivas. O histórico completo está no repositório (docs\u002Fapi\u002FCHANGELOG.md). Clientes: cadastro manual, dados ampliados, endereço com formatted, lat e lng, e identities[] multicanal.Tarefas e ações: consulta unificada GET \u002Fwork-items, executor de ações com efeitos (pegar, soltar, resultados) e 409 already_claimed.Mensagens com localização: WhatsApp, Telegram e WebChat guardam a localização compartilhada na conversa.Pausas: ao pausar um canal, enviar uma mensagem responde 409 channel_paused.Conhecimento: fontes do tipo site com max_pages e erros por causa. As confirmações preservam título e corpo nos três idiomas. A API aceita até 42 etapas para preservar as identidades anteriores e as canônicas do sistema. Canônicas isoladas não adicionam ações nem permissões; as saídas configuradas mantêm a validação do grafo. Validar, salvar e restaurar aceitam essas configurações migradas. html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}",{"id":178,"title":177,"titles":1317,"content":1318,"level":217},[],"Avisos assinados do que acontece com seus agendamentos, com reenvio automático, log de entregas e exemplos para verificar a assinatura.",{"id":1320,"title":1321,"titles":1322,"content":1323,"level":223},"\u002Fdocs\u002Fapi\u002Fwebhooks#eventos","Eventos",[177],"É possível assinar estes eventos: EventoQuandobooking.createdUma pré-reserva ou agendamento foi criadobooking.confirmedUm agendamento foi confirmadobooking.cancelledAgendamento cancelado ou pré-reserva liberadabooking.rescheduledMudou de horário (o payload traz o id antigo e o novo)booking.no_showMarcado como faltabooking.completedAtendimento concluídobooking.scheduledHorário definido na mesma tarefabooking.unscheduledHorário removido da tarefabooking.reassignedMudou o conjunto de corresponsáveis; data.booking.resource_ids contém todos os recursos posteriores e previous_resource_ids os anteriores.action.executedAção de tarefa aplicada pelo servidorpayment.paidProvedor atualizou a cobrança para pagapayment.recordedPagamento manual registradopayment.voidedPagamento manual anuladomessage.receivedMensagem recebida persistida (IDs e tipo, sem texto)conversation.handoffConversa transferida para modo humano booking.reassigned: Só é emitido se havia pelo menos um recurso atribuído e o conjunto muda. Inclui remover a atribuição (novo conjunto vazio); exclui a atribuição inicial e repetir o mesmo recurso. A deduplicação usa a reserva e a sequência persistida de mudanças reais de recursos, independente da versão: A→B→A→B emite três eventos. Repetir o mesmo PATCH ou o conjunto atual não adiciona eventos nem incrementa a sequência. Tipos inexistentes retornam 422 (invalid_webhook) com unsupported_events e a lista supported_events. webhook.ping é apenas um teste, não um tipo de assinatura. booking.cancelled não inclui a expiração automática de pré-reservas (booking.expired, evento interno). Crie endpoints em Configurações → Webhooks no painel ou com POST \u002Fv1\u002Fwebhook-endpoints (url e events). O segredo de assinatura (whsec_…) aparece uma única vez. curl -X POST https:\u002F\u002Fapi.fiuit.com\u002Fv1\u002Fwebhook-endpoints \\\n  -H \"Authorization: Bearer $WAGEND_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{ \"url\": \"https:\u002F\u002Fexample.com\u002Fwagend\", \"events\": [\"booking.confirmed\", \"booking.cancelled\"] }'",{"id":1325,"title":1326,"titles":1327,"content":1328,"level":223},"\u002Fdocs\u002Fapi\u002Fwebhooks#payload","Payload",[177],"O envelope mantém data.booking para agendamentos; cobranças usam data.payment (ID da cobrança), mensagens data.message (ID da mensagem), transferências data.conversation (ID da conversa) e ações data.action (com workitem_id, action_key e efeitos). O texto da mensagem não é incluído. {\n  \"id\": \"evt_3f6c1d9e0b7a4c2f8e5d1a9b7c3e6f20\",\n  \"type\": \"booking.confirmed\",\n  \"created_at\": \"2026-10-14T15:21:07-03:00\",\n  \"workspace_id\": \"b3a6c8e2-5f1d-4c7a-9e0b-2d8f4a1c6e53\",\n  \"data\": { \"booking\": { \"id\": \"6d1f0c4a-7b2e-4a58-9c3d-0e5f8a2b1c47\", \"status\": \"confirmed\", \"start_at\": \"2026-10-15T12:45:00+00:00\" } }\n} A entrega é pelo menos uma vez: use o id para ignorar duplicados.",{"id":1330,"title":1331,"titles":1332,"content":1333,"level":223},"\u002Fdocs\u002Fapi\u002Fwebhooks#verificando-a-assinatura","Verificando a assinatura",[177],"Toda requisição traz o header: Wagend-Signature: t=1791040867,v1=5c2b9f...e81 v1 é HMAC-SHA256(segredo, t + \".\" + corpo_bruto) em hexadecimal. Rejeite requisições com mais de 5 minutos e calcule a assinatura sobre o corpo bruto, sem serializar o JSON de novo. import crypto from 'node:crypto'\n\nexport function verifyWagend(rawBody: string, header: string, secret: string) {\n  const parts = Object.fromEntries(header.split(',').map((p) => p.split('=') as [string, string]))\n  const age = Math.abs(Date.now() \u002F 1000 - Number(parts.t))\n  if (!parts.t || !parts.v1 || age > 300) return false\n  const expected = crypto.createHmac('sha256', secret).update(`${parts.t}.${rawBody}`).digest('hex')\n  return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(parts.v1))\n} import hashlib, hmac, time\n\ndef verify_wagend(raw_body: bytes, header: str, secret: str) -> bool:\n    parts = dict(p.split(\"=\", 1) for p in header.split(\",\"))\n    if abs(time.time() - int(parts.get(\"t\", \"0\"))) > 300:\n        return False\n    signed = f\"{parts['t']}.\".encode() + raw_body\n    expected = hmac.new(secret.encode(), signed, hashlib.sha256).hexdigest()\n    return hmac.compare_digest(expected, parts.get(\"v1\", \"\"))",{"id":1335,"title":1336,"titles":1337,"content":1338,"level":223},"\u002Fdocs\u002Fapi\u002Fwebhooks#reenvios","Reenvios",[177],"Responda com qualquer 2xx em até 10 segundos. Caso contrário, tentamos de novo após 1 min, 5 min, 30 min, 2 h e 12 h. Cada tentativa aparece no log de entregas, onde você também pode reenviar manualmente.",{"id":1340,"title":1341,"titles":1342,"content":1343,"level":223},"\u002Fdocs\u002Fapi\u002Fwebhooks#segurança-e-limites","Segurança e limites",[177],"A URL deve ser https e resolver para um endereço público: rejeitamos localhost, redes privadas, link-local e endereços de metadados de nuvem (ao cadastrar e a cada entrega). Não seguimos redirecionamentos (um 3xx conta como falha).Cabeçalhos extras: Wagend-Event (tipo) e Wagend-Delivery (id da entrega). Cada tentativa é assinada com um timestamp novo.Até 10 endpoints por workspace. Após 10 falhas consecutivas o endpoint é desativado (reative com PATCH \u002Fv1\u002Fwebhook-endpoints\u002F{id} e {\"active\": true}).POST \u002Fv1\u002Fwebhook-endpoints\u002F{id}\u002Fping envia um evento de teste webhook.ping; POST \u002Fv1\u002Fwebhook-endpoints\u002F{id}\u002Frotate-secret gera um novo segredo (mostrado uma única vez; o anterior deixa de valer na hora).Com API key use o escopo webhooks:manage. O log fica em GET \u002Fv1\u002Fwebhook-endpoints\u002F{id}\u002Fdeliveries e o reenvio em POST …\u002Fdeliveries\u002F{delivery_id}\u002Fresend. html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"id":182,"title":181,"titles":1345,"content":1346,"level":217},[],"Clientes tipados gerados a partir do contrato OpenAPI: como usá-los hoje a partir do repositório, com exemplos de agendamento, erros, paginação e idempotência. A Fiuit tem dois SDKs que são gerados a partir do contrato packages\u002Fopenapi\u002Fopenapi.yaml, então seus tipos sempre acompanham a API. Os SDKs ainda não estão publicados no npm nem no PyPI (Em breve). Hoje são usados a partir do repositório, como explicado abaixo. Se preferir não depender deles, a API REST funciona com qualquer cliente HTTP.",{"id":1348,"title":1349,"titles":1350,"content":1351,"level":223},"\u002Fdocs\u002Fapi\u002Fsdks#typescript","TypeScript",[181],"O cliente (packages\u002Fsdk-ts) é um invólucro leve sobre fetch com tipos de todas as rotas.",{"id":1353,"title":1354,"titles":1355,"content":1356,"level":369},"\u002Fdocs\u002Fapi\u002Fsdks#instalar-a-partir-do-repositório","Instalar a partir do repositório",[181,1349],"cd packages\u002Fsdk-ts\nnpm ci\nnpm run build          # genera dist\u002F No seu projeto, instale-o a partir dessa pasta: npm install \u002Fcaminho\u002Fpara\u002Fwagendapp\u002Fpackages\u002Fsdk-ts",{"id":1358,"title":1359,"titles":1360,"content":1361,"level":369},"\u002Fdocs\u002Fapi\u002Fsdks#agendar-um-horário","Agendar um horário",[181,1349],"import { createWagendClient, WagendError } from \"@wagend\u002Fsdk\";\n\nconst api = createWagendClient({\n  baseUrl: \"https:\u002F\u002Fapi.fiuit.com\u002Fv1\",\n  apiKey: process.env.WAGEND_API_KEY!, \u002F\u002F wg_live_xxx\n});\n\ntry {\n  const { data: services } = await api.GET(\"\u002Fservices\");\n  const serviceId = services!.data![0].id!;\n\n  const { data: slots } = await api.GET(\"\u002Fslots\", {\n    params: { query: { service_id: serviceId, from: \"2026-10-15T08:00:00-03:00\", to: \"2026-10-15T13:00:00-03:00\" } },\n  });\n  const slot = slots!.data[0];\n\n  \u002F\u002F Pré-reserva de 10 minutos\n  const { data: hold } = await api.POST(\"\u002Fholds\", {\n    params: { header: { \"Idempotency-Key\": crypto.randomUUID() } },\n    body: { service_id: serviceId, start: slot.start, party_size: 1, resource_ids: slot.resource_ids },\n  });\n\n  \u002F\u002F Confirmação com os dados do cliente\n  const { data: booking } = await api.POST(\"\u002Fholds\u002F{id}\u002Fconfirm\", {\n    params: { path: { id: hold!.id! }, header: { \"Idempotency-Key\": crypto.randomUUID() } },\n    body: { customer: { name: \"Carlos\", phone: \"+5491155550000\", locale: \"es\" } },\n  });\n  console.log(booking!.status); \u002F\u002F \"confirmed\"\n} catch (err) {\n  if (err instanceof WagendError) {\n    console.error(err.status, err.code, err.retryAfter);\n  } else {\n    throw err;\n  }\n} Autenticação: o cliente adiciona Authorization: Bearer sozinho.Idempotência: em toda escrita adiciona uma Idempotency-Key se você não passar uma. Para repetir uma operação, passe você a mesma chave nas duas tentativas (vale 24 horas). O tipo do TypeScript a declara em params.header nas rotas que a exigem.Erros: toda resposta que não seja 2xx lança WagendError com .status, .code, .problem (RFC 9457) e .retryAfter (segundos, em 429).",{"id":1363,"title":1241,"titles":1364,"content":1365,"level":369},"\u002Fdocs\u002Fapi\u002Fsdks#paginação",[181,1349],"let cursor: string | undefined;\ndo {\n  const { data: page } = await api.GET(\"\u002Fbookings\", { params: { query: { limit: 50, cursor } } });\n  for (const booking of page?.data ?? []) console.log(booking.id);\n  cursor = page?.next_cursor ?? undefined;\n} while (cursor);",{"id":1367,"title":1368,"titles":1369,"content":1370,"level":369},"\u002Fdocs\u002Fapi\u002Fsdks#clientes-e-ações","Clientes e ações",[181,1349],"\u002F\u002F Buscar e criar clientes (scopes customers:read e customers:write)\nconst { data: found } = await api.GET(\"\u002Fcustomers\", { params: { query: { q: \"carlos\" } } });\nawait api.POST(\"\u002Fcustomers\", { body: { name: \"Ana\", phone: \"+5491155551111\", tags: [\"vip\"] } });\n\n\u002F\u002F Executar uma ação da etapa, por exemplo atribuir uma entrega a um entregador (scope bookings:write).\n\u002F\u002F \"atribuir\" é a chave dessa ação no modelo de entregas.\nawait api.POST(\"\u002Fbookings\u002F{id}\u002Factions\u002F{key}\", {\n  params: { path: { id: taskId, key: \"atribuir\" }, header: { \"Idempotency-Key\": crypto.randomUUID() } },\n  body: { data: {}, resource_id: courierResourceId },\n}); As chaves de ação (key) são definidas pela configuração de etapas do seu negócio: consulte-as com available_actions.",{"id":1372,"title":1373,"titles":1374,"content":1375,"level":223},"\u002Fdocs\u002Fapi\u002Fsdks#python","Python",[181],"O cliente (packages\u002Fsdk-py) usa httpx e modelos Pydantic v2 gerados.",{"id":1377,"title":1354,"titles":1378,"content":1379,"level":369},"\u002Fdocs\u002Fapi\u002Fsdks#instalar-a-partir-do-repositório-1",[181,1373],"pip install \u002Fcaminho\u002Fpara\u002Fwagendapp\u002Fpackages\u002Fsdk-py\n# ou, com uv:\nuv pip install \u002Fcaminho\u002Fpara\u002Fwagendapp\u002Fpackages\u002Fsdk-py",{"id":1381,"title":1359,"titles":1382,"content":1383,"level":369},"\u002Fdocs\u002Fapi\u002Fsdks#agendar-um-horário-1",[181,1373],"from datetime import UTC, datetime\nfrom wagend import Fiuit, WagendError\n\nwith Fiuit(\"https:\u002F\u002Fapi.fiuit.com\u002Fv1\", \"wg_live_xxx\") as api:\n    try:\n        service = api.list_services()[0]\n        slots = api.list_slots(\n            str(service.id), datetime(2026, 10, 15, 8, tzinfo=UTC), datetime(2026, 10, 15, 13, tzinfo=UTC)\n        )\n\n        hold = api.request(\n            \"POST\", \"\u002Fholds\",\n            json={\"service_id\": str(service.id), \"start\": slots[0].start.isoformat(), \"party_size\": 1},\n            idempotency_key=\"reserva-carlos-2026-10-15\",\n        )\n        booking = api.request(\n            \"POST\", f\"\u002Fholds\u002F{hold['id']}\u002Fconfirm\",\n            json={\"customer\": {\"name\": \"Carlos\", \"phone\": \"+5491155550000\"}},\n        )\n        print(booking[\"status\"])\n    except WagendError as err:\n        print(err.status, err.code, err.retry_after) list_services() e list_slots() devolvem modelos tipados. Para as demais rotas use api.request(método, rota, params=…, json=…); você pode validar a resposta com wagend.models.Idempotência: as escritas levam Idempotency-Key (uma é gerada se você não passar idempotency_key). Repita com a mesma chave.Erros: WagendError com .status, .code, .problem e .retry_after (em 429).Paginação: api.paginate(\"\u002Fbookings\", params={\"limit\": 50}) percorre todas as páginas. for booking in api.paginate(\"\u002Fbookings\", params={\"limit\": 50}):\n    print(booking[\"id\"])",{"id":1385,"title":1251,"titles":1386,"content":1387,"level":223},"\u002Fdocs\u002Fapi\u002Fsdks#limites-de-uso",[181],"O limite é por chave e por projeto. Diante de um 429, espere retry_after \u002F retryAfter segundos antes de tentar de novo. Veja Convenções.",{"id":1389,"title":1390,"titles":1391,"content":1392,"level":223},"\u002Fdocs\u002Fapi\u002Fsdks#regenerar-os-sdks","Regenerar os SDKs",[181],"Se o contrato mudar, make sdk regenera os dois a partir de openapi.yaml e make sdk-check falha se ficaram desatualizados. html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"id":186,"title":185,"titles":1394,"content":1395,"level":217},[],"Conecte Claude, ChatGPT ou seu próprio agente ao servidor MCP da Fiuit para buscar horários, agendar e operar o negócio com sua chave de API. A Fiuit inclui um servidor MCP (Model Context Protocol) para que os agentes de IA usem o mesmo motor do bot de WhatsApp: mesmas pré-reservas, mesma validação e mesmo registro de auditoria. O servidor é um cliente fino da API: cada ferramenta chama a API com a sua mesma chave, então o MCP nunca dá mais permissões do que a chave. O servidor está no repositório (packages\u002Fmcp) e hoje quem o executa é você. O servidor hospedado em mcp.fiuit.com ainda não foi publicado: é Em breve. A autenticação com OAuth também.",{"id":1397,"title":1398,"titles":1399,"content":1400,"level":223},"\u002Fdocs\u002Fmcp#executar-o-servidor","Executar o servidor",[185],"Você precisa de Python 3.12+ e uv. cd packages\u002Fmcp\nuv sync\nWAGEND_API_URL=https:\u002F\u002Fapi.fiuit.com MCP_PORT=8700 uv run python -m wagend_mcp\n# escucha en http:\u002F\u002F127.0.0.1:8700\u002F (Streamable HTTP) Variáveis: VariávelPara quêWAGEND_API_URLURL da API (padrão https:\u002F\u002Fapi.fiuit.com)MCP_TOOLSETSConjuntos a expor: booking, admin, tasks, payments, customers, inbox, finance (padrão os sete)MCP_HOST, MCP_PORTOnde escuta (padrão 127.0.0.1:8700)MCP_ALLOWED_HOSTSHosts permitidos (proteção contra DNS rebinding)",{"id":1402,"title":1403,"titles":1404,"content":1405,"level":223},"\u002Fdocs\u002Fmcp#conectar-um-cliente","Conectar um cliente",[185],"A autenticação é uma chave de API no header Authorization. Sem uma chave com formato válido, o servidor responde 401 antes de entrar no protocolo. Com o Claude Code: claude mcp add --transport http wagend http:\u002F\u002F127.0.0.1:8700\u002F \\\n  --header \"Authorization: Bearer wg_live_xxx\" Ou com a configuração JSON de qualquer cliente que suporte HTTP: {\n  \"mcpServers\": {\n    \"wagend\": {\n      \"type\": \"http\",\n      \"url\": \"http:\u002F\u002F127.0.0.1:8700\u002F\",\n      \"headers\": { \"Authorization\": \"Bearer wg_live_xxx\" }\n    }\n  }\n} Para testar sem um agente: npx @modelcontextprotocol\u002Finspector (transporte Streamable HTTP, a mesma URL e o header).",{"id":1407,"title":1408,"titles":1409,"content":1410,"level":223},"\u002Fdocs\u002Fmcp#ferramentas","Ferramentas",[185],"As ferramentas de tarefas e cobranças só aparecem na lista se a chave tiver o scope de que precisam (uma chave sem permissões de cobrança não as vê nem pode usá-las). Nas demais, cada uma só funciona se a chave tiver o scope; caso contrário, devolve o erro 403 da API. As escritas ficam auditadas com ator mcp. Agendamentos (booking): para assistentes que agendam em nome de um cliente. FerramentaScopeFazlist_servicesconfig:readServiços com duração e preçofind_slotsslots:readHorários disponíveis de um serviço entre duas datashold_slotbookings:writePré-reserva de 10 minutosconfirm_bookingbookings:writeConfirma uma pré-reserva com os dados do clientecancel_booking, reschedule_bookingbookings:writeGerencia um agendamento existenteget_bookingbookings:readDetalhe de um agendamento Administração (admin): para o dono operar o negócio pelo seu assistente de IA. FerramentaScopeFazlist_resourcesconfig:readEquipe, salas, máquinas e gruposlist_todaybookings:readAgendamentos do diablock_timeconfig:write e bookings:readFecha dias inteiros de um recurso (máx. 31). Não cancela agendamentos existentes: devolve-os para uma pessoa decidircreate_service, update_serviceconfig:writeCria ou altera um serviço, com seu formulário de agendamentoupdate_scheduleconfig:writeAltera o horário semanal ou o fuso horárioget_statsbookings:readAgendamentos, ocupação e faltas por recursoget_service_stages, list_service_stage_versions, get_service_stage_versionconfig:readEtapas, saídas e requisitos por serviço; histórico de versõesvalidate_service_stagessettings:writeValida sem gravarupdate_service_stagessettings:writeCria uma versão após prévia e confirmaçãorevert_service_stagesconfig:read + settings:writeCria outra versão a partir da escolhida; preserva o históricoget_stage_templates, get_base_statesconfig:readModelos para copiar e estados fixos do motor Tarefas (tasks): tarefas com e sem horário, as \"a agendar\" e a fila. FerramentaScopeFazlist_tasksbookings:read (e payments:read_balance se pedir saldo)Lista tarefas por estado, a agendar (scheduling_state=pending), sem atribuição (unassigned=true), fila, origem (origin=conversation é o pedido pelo chat) e, opcionalmente, com o saldo e filtro por estado de pagamento da páginacreate_taskbookings:writeCria uma tarefa com horário, de fila ou a agendar sem horário (schedule_later=true)schedule_taskbookings:writeDá horário a uma tarefa sem horário, ou muda o que ela tem; a API valida a disponibilidadeassign_taskbookings:writeAtribui pessoas ou recursos a uma tarefa Cobranças (payments): cobranças manuais e saldos. Os saldos são sempre calculados pela API; o MCP não soma nem subtrai. FerramentaScopeFazrecord_paymentpayments:recordRegistra uma cobrança manual (dinheiro, transferência ou outro), opcionalmente dividida entre tarefasvoid_paymentpayments:voidAnula uma cobrança, com motivo obrigatórioapply_refund_due_to_accountpayments:adjust«Usar para outra dívida»: um pagamento tardio separado «a devolver» (refund_due) passa ao saldo do cliente e cobre as dívidas mais antigas. Exige confirm=true; a API recusa com uma reclamação aberta no Mercado Pagoget_task_balancepayments:read_balanceSaldo de uma tarefa e, se quiser, seu histórico de cobrançasget_customer_accountcustomer_balance:read (e customer_account:read para o detalhe)Conta corrente do cliente: saldo, pagamentos antecipados e dívidas; com include_movements=true, detalhe por tarefa e cobrançasget_commissionscommissions:readComissões da equipe calculadas pela API sobre o recebido: com day, o dia por pessoa (recebido por meio, gorjetas, comissão, ajustes e caixa); sem day, o relatório entre start e end. Somente leitura | list_prepaid_plans | prepaid:read | Pacotes (N sessões com validade) e planos de clube (N por mês) do catálogo, com preço, valor por unidade e limite por dia\u002Ffaixa |\n| get_customer_plans | prepaid:read | Pacotes e clube de um cliente: unidades restantes, reservadas, validade e mensalidade pendente |\n| sell_prepaid_plan | prepaid:sell e payments:record | Vende um plano cobrado na hora (dinheiro, transferência ou outro). Exige confirm=true |\n| renew_prepaid_plan | prepaid:sell e payments:record | Registra o pagamento do mês de um clube cobrado na hora. Exige confirm=true |\n| cancel_prepaid_plan | prepaid:sell (reembolso: também payments:void e payments:record) | Cancela e libera as sessões de tarefas futuras; com refund=true devolve o não consumido do período vigente de um plano cobrado na hora (o vencido se perde). Exige confirm=true |\n| extend_prepaid_plan | prepaid:sell | Estende manualmente a validade de um pacote ou clube (ou reabre um pacote vencido). Ao vencer, o não usado se perde. Exige confirm=true |\n| remove_task_plan | prepaid:sell | Tira o plano de uma tarefa: libera a unidade e a tarefa volta ao valor normal. Necessário antes de trocar o cliente ou o serviço. Exige confirm=true | record_payment e void_payment movimentam dinheiro: exigem confirm=true e, sem ele, não executam a operação monetária (o protocolo pode consultar GET \u002Fme). Passe sempre idempotency_key para tentar de novo sem cobrar duas vezes; os limites de valor e a detecção de duplicados são os da API. received_by é a associação de quem recebeu o dinheiro: com uma chave de API é obrigatório. A preparação sem confirm devolve idempotency_key; a confirmação exige essa chave ou uma do agente (1-128 caracteres). Reutilize a mesma chave, destino e payload em todas as tentativas, mesmo quando a resposta se perder. Uma operação nova exige outra chave, mesmo com uma cobrança idêntica. Por padrão, list_tasks omite contatos, endereço exato, coordenadas, notas e formulário. include_sensitive=true solicita o detalhe e exige também customers:read. Os movimentos de get_customer_account e o histórico de get_task_balance omitem nomes dos recebedores, notas e motivos; o mesmo parâmetro exige também payments:read. Chaves mode=test só veem ferramentas de leitura. As escritas de configuração, de tarefas e de cobranças exigem confirm=true. Sem ele, a ferramenta não executa a escrita (pode consultar dados para a prévia): devolve confirmation_required com o que enviaria, para o agente mostrar a uma pessoa e repetir com a confirmação.",{"id":1412,"title":1413,"titles":1414,"content":1415,"level":223},"\u002Fdocs\u002Fmcp#exemplos-de-pedidos","Exemplos de pedidos",[185],"\"Agende um corte com o João amanhã de manhã, no nome do Carlos.\"\"Bloqueie a máquina de laser na próxima segunda por manutenção e me diga quais agendamentos ficam afetados.\"\"Quantas faltas tivemos este mês?\"\"Mostre as tarefas sem atribuição e dê horário a elas amanhã às 10.\"\"Registre uma cobrança em dinheiro de 50.000 da Ana pela última tarefa e me diga o saldo.\"",{"id":1417,"title":1418,"titles":1419,"content":1420,"level":223},"\u002Fdocs\u002Fmcp#docs-para-llms","Docs para LLMs",[185],"\u002Fllms.txt lista todas as páginas da documentação.\u002Fllms-full.txt contém a documentação completa em Markdown. Etapas por serviço: as ferramentas de um serviço exigem service_id. update_service_stages valida antes da prévia; confirm=true cria versão. revert_service_stages cria outra versão (leitura config:read e escrita settings:write). validate_service_stages, get_stage_templates e get_base_states completam a configuração. MCP inclui get_work_item_next_steps, move_work_item_stage e use_work_item_tool. Escritas exigem confirm=true e Idempotency-Key. complete_task foi removida. Cobrança eletrônica pendente F4-29. get_work_item_stage_history (scope bookings:read) lê o histórico imutável de etapas (máximo 100). Scopes: leitura bookings:read; mover e usar ferramentas bookings:write (mais payments:record ao cobrar); editar etapas do serviço settings:write. Um 403 (permissão ou scope), 409 (stage_conflict, already_claimed) ou 422 (stage_requirements_missing) chega ao agente sem alteração; repetir com a mesma idempotency_key e corpo devolve o mesmo resultado sem duplicar. A Wagy explica a capacidade vigente e o painel inclui Próximo passo e o editor de etapas. Os efeitos habilitados entram no outbox; isso não comprova entrega ao cliente. As confirmações preservam título e corpo nos três idiomas. A API aceita até 42 etapas para preservar as identidades anteriores e as canônicas do sistema. Canônicas isoladas não adicionam ações nem permissões; as saídas configuradas mantêm a validação do grafo. Validar, salvar e restaurar aceitam essas configurações migradas. update_service aceita payment_requirement: required|optional|off: mostra uma proposta e com confirm=true usa o mesmo PATCH do catálogo (config:write). Alterar a regra cria uma versão auditada e atualiza payment em todas as etapas completed; preserva os demais requisitos. Com payments_enabled=false explícito não exige resolver cobrança nem apaga saldos (mudança em relação a F3-177).",{"id":1422,"title":1423,"titles":1424,"content":1425,"level":223},"\u002Fdocs\u002Fmcp#mercado-pago","Mercado Pago",[185],"Brasil e Argentina conectam apenas por OAuth. Chile, Uruguai, Colômbia, México e Peru conectam apenas por token em Pagamentos, sem comissão Fiuit. Paraguai não oferece Mercado Pago. Contas existentes são preservadas. Com conta de produção e serviço com sinal, BRL\u002FARS geram um link que vence antes da reserva temporária. No Brasil, o Pix é pago dentro do Mercado Pago. O portal mostra o link e o chat o envia pela conversa disponível. A reserva fica aguardando sinal até verificar o pagamento. Pré-pagamento aplicado cobre ou reduz o sinal. Pagamento tardio exige revisão da equipe: não reconfirma nem devolve dinheiro automaticamente. Uma tentativa rejeitada ou cancelada permite tentar o checkout novamente. Se um pagamento tardio deixar dinheiro não aplicado em revisão, a reserva pendente vence e libera o horário; o recibo e o aviso são preservados. A conciliação detecta pagamentos adicionais também quando chegam juntos na busca do Mercado Pago. Uma cobrança tardia, devolvida ou contestada sem sinal aplicado conserva recibo e revisão ao liberar o horário. Um estado local cancelado não prova ausência de dinheiro: exige consulta final. A tolerância de 24 horas por perda de credenciais só libera uma reserva sem cobertura aplicada nem links substituídos sem verificar. A disponibilidade de MP inclui country (país de cobrança conforme a moeda do negócio) mesmo sem conta; Pix só BR. Sem novas ferramentas, scopes ou ações de reembolso. Antes de vencer uma reserva, o worker concilia todos os links eletrônicos pendentes de verificação, inclusive os substituídos e cancelados por mudança de valor, mesmo com nova tentativa adiada. Se uma consulta falhar ou faltar acesso a um link substituído, o horário é preservado. Recibos já verificados mantêm seu estado financeiro. Um pagamento no prazo pelo link anterior é aplicado mesmo quando parcial: reduz o pendente e gera um link pela diferença. A reserva continua aguardando sinal e mantém o horário; o link pela diferença mantém o prazo original e nunca passa de duas horas antes do horário. Quando o prazo termina, fica em revisão sem novos links ou avisos ao cliente; owner\u002Fmanager recebe um aviso na primeira retenção parcial. Confirmar exige cobrir o total. Perder credenciais depois não remove a cobertura aplicada. A equipe deve concluir a cobrança ou resolver a reserva; não há devolução automática. Checkout Pro recebe apenas contato e descrição conhecidos. O nome na fatura usa letras e números ASCII, sem acentos ou símbolos, com até 13 caracteres. O retorno abre o portal privado do cliente por seu link existente; sem link vigente ou após revogação, volta a \u002Fpayment-return, uma página neutra sem dados do cliente. O retorno nunca cria nem revoga portais. O token fica no fragmento e não confirma pagamento. O receptor exige HTTPS público e rejeita .test, .example, .invalid e .localhost. Os testes habilitam explicitamente seus domínios reservados; produção não habilita. Um POST de criação ambíguo libera a vaga após sete dias de buscas vazias bem-sucedidas, com aviso ao negócio e auditoria. Erro, pagamento observado ou perda de credenciais reinicia a janela. Owner\u002Fmanager pode confirmar «Liberar a vaga» na revisão: cancela com auditoria e conserva o dinheiro registrado, sem reembolso. Exige tasks:work e payments:accounts_configure no painel; nenhuma ferramenta ou API key usa esse motivo reservado.",{"id":1427,"title":1428,"titles":1429,"content":1430,"level":223},"\u002Fdocs\u002Fmcp#avaliações-após-o-serviço","Avaliações após o serviço",[185],"get_feedback(kind, identifier) (bookings:read): booking, service, customer, resource; 0–100. get_feedback_settings (config:read). O dono pode ativar avaliações após concluir uma tarefa: formulário configurável, link de uso único, marca da empresa e indicadores de satisfação com amostra mínima. Comentários seguem permissões de privacidade. Uma nota baixa entra em atenção e gera aviso por email e Telegram, conforme preferências e disponibilidade. Desligado por padrão; o envio depende do canal e de sua janela. A entrega pode repetir o mesmo link após falha do worker; a resposta continua única. F3-143 inclui estado de admissão nas leituras de conversas da API. A Caixa de entrada continua excluída do MCP: bloquear\u002Fliberar contatos exige sessão owner\u002Fmanager no painel (contacts:moderate). Não há ferramenta externa de moderação nem desafio anti-bot nesta entrega inicial. A política do Telegram é configurada no painel ou por propostas confirmadas do Wagy. WebChat pode exigir Turnstile ao abrir sessão. São superfícies públicas\u002Fpainel, sem scopes de API key: MCP não abre sessões WebChat nem modera contatos. A revisão com sinal eletrônico já aplicado não dispara consultas finais repetidas. As cobranças restantes usam tentativas limitadas; webhooks verificados continuam sendo processados. Uma criação ambígua usa espera exponencial até um dia entre consultas durante a janela de sete dias de buscas vazias bem-sucedidas; a liberação ocorre na próxima consulta, no máximo um dia depois de completar a janela. Erros, pagamentos observados ou perda de credenciais reiniciam a evidência vazia. Turnos guiados, desfazer e recomeçar a entrevista inicial exigem sessão owner e CSRF do painel; não são ferramentas MCP. A API pública de setup está pendente (F3-220). confirm_booking aplica as validações atuais do core: uma pré-reserva pendente cujo serviço foi desativado retorna 409 service_inactive. Uma confirmação já gravada mantém seu replay. Turnos, desfazer e recomeçar a entrevista exigem sessão owner e CSRF; continuam fora do MCP. Etapas por serviço: as ferramentas de um serviço exigem service_id. update_service_stages valida antes da prévia; confirm=true cria versão. revert_service_stages cria outra versão (leitura config:read e escrita settings:write). validate_service_stages, get_stage_templates e get_base_states completam a configuração. O novo executor e suas ferramentas operacionais ainda estão pendentes. As confirmações preservam título e corpo nos três idiomas. A API aceita até 42 etapas para preservar as identidades anteriores e as canônicas do sistema. Canônicas isoladas não adicionam ações nem permissões; as saídas configuradas mantêm a validação do grafo. Validar, salvar e restaurar aceitam essas configurações migradas. Os formulários e efeitos que convergem para uma etapa são preservados integralmente na migração: até 1024 campos escalares e 512 efeitos por etapa, com configuração total de até 256 KiB. Validar, salvar sem alterações e restaurar aceitam essas uniões. Liberar a partir de uma etapa confirmada conta como caminho para pendente e vencimento na validação do grafo, sem adicionar saídas nem permissões. O novo executor e o disparo uniforme de efeitos continuam pendentes. A revisão e união da identidade de clientes (F3-154) exige sessão owner\u002Fmanager com CSRF no painel. MCP não oferece união por contatos declarados; coincidências não verificam identidade. Códigos e união com recebimentos ainda estão pendentes. As regras de reconfirmação e alerta por falta de resposta (F3-75) são configuradas pela API de automações e continuam excluídas do MCP. Só avisam após uma solicitação enviada sem resposta. Não há tool MCP para responder reconfirmações ou liberar horários por silêncio. CSV de produtos (F3-153): export_products_csv(template=false), preview_products_csv(csv) e confirm_products_import(import_id, confirm=false) no toolset admin; escopo products:write, inclusive para exportar. A prévia não altera produtos. Confirmar exige confirm=true, é atômico e idempotente por ID (resultado por 7 dias); a prévia vence em 30 minutos e mudanças no catálogo\u002Fmoeda exigem repetir. Máximo 1 MiB \u002F 2000 linhas; UTF-8, valores com regra única (PYG\u002FCLP inteiros; BRL «1,500» ambíguo). Wagy indica o painel para o arquivo; não confirma CSV no chat.",{"id":1432,"title":1433,"titles":1434,"content":1435,"level":223},"\u002Fdocs\u002Fmcp#operações-do-negócio-f4-45","Operações do negócio (F4-45)",[185],"O servidor do repositório adiciona 76 ferramentas: clientes\u002Fendereços (customers), Inbox (inbox),\nfinanças somente leitura (finance), transições de tarefa (tasks) e catálogo, horários, automações\ne conhecimento JSON (admin). Os sete conjuntos ficam ativos por padrão. tools\u002Flist publica o scope e os esquemas de path (IDs), query (filtros) e body (comando JSON).\nNão envie URL ou projeto. Novas escritas mostram a prévia e uma chave; repita com confirm=true e\nidempotency_key estável. A API valida permissões, requisitos e disponibilidade ao confirmar;\na prévia não garante sucesso. Área \u002F exemplosScope baselist_customers, get_customer, endereços, resumo e históricocustomers:readcreate_customer, update_customer, salvar\u002Fexcluir endereçocustomers:writelist_conversations, list_conversation_messages, contadoresmessages:readsend_conversation_message, modo, resolver, lida, intenção e abrir conversamessages:writemove_work_item_stage, use_work_item_tool, remover horário, metadata e itensbookings:writeHistórico, comentários, anexos e localização da tarefabookings:readDetalhe do produto \u002F categorias e sugestõesproducts:read \u002F products:writeHorários, zonas, recursos, automações e conhecimentoconfig:read \u002F config:writeResumo, relatórios, dívida, contas, clientes e previsão financeirosfinance:analyzeDisponibilidade\u002Fmovimentos financeiros; caixa; configuração do caixapayments:read; cash:read; cash:configure Clientes omitem nomes, contatos, documentos e endereços por padrão; outras vistas sensíveis omitem\ntexto livre e contatos. include_sensitive=true exige o scope de leitura anunciado, além do scope\nbase; habilita conteúdo de mensagens\u002Fcomentários. Finanças preservam valores, avisos e estimativas da\nAPI. Uma ação que cobra precisa também da permissão financeira do core: bookings:write não basta. As exclusões caem de 134 para 58. Ainda não há equivalência completa com o painel: 26 rotas não\naceitam API key (escrita de comentários, resumos de conversa e outras; acompanhamento F4-47).\nContinuam fora sessão\u002Fnotificações pessoais, SSE, simulador, segredos\u002Fwebhooks, transferências\nbinárias\u002FCSV em massa e novas escritas de dinheiro. Consulte o catálogo com sua chave. Uma mensagem\npending não confirma entrega ao cliente.",{"id":1437,"title":1438,"titles":1439,"content":1440,"level":369},"\u002Fdocs\u002Fmcp#avisos-ao-cliente-e-histórico","Avisos ao cliente e histórico",[185,1433],"Configure avisos por serviço para pedidos sem horário, atribuição, alterações e progresso. Começam desligados. Consulte tentativas enviadas, omitidas, adiadas ou com falha em Configuração, Atividade e na ficha do cliente. O histórico conserva 90 dias sem copiar mensagens ou contatos; enviado não confirma entrega. Wagy e MCP consultam os mesmos resultados. list_customer_notice_deliveries, get_customer_notice_policies: config:read. update_customer_notice_policy: config:write, confirm=true. PUT e revert preservam a regra de cobrança vigente do catálogo em todas as etapas completed. Salvar payment_requirement novamente repara versões divergentes; restaurar o histórico não altera a cobrança. A revisão de uma reserva vencida com links substituídos compartilha a espera crescente de toda a reserva, até um dia. Cada consulta final lê todas as preferências ainda não resolvidas; um erro impede a liberação e reinicia a evidência vazia. Webhooks verificados continuam ativos. O link vence 15 minutos antes da reserva; se o prazo for curto, a margem é metade do tempo disponível, com mínimo de 5 minutos. A página e o chat mostram o horário do link. A reserva mantém seu próprio prazo para verificar aprovações demoradas. Um estado local expired não bloqueia um pagamento verificado e aprovado a tempo: cobre o sinal se a reserva ainda estiver pendente; se já estiver encerrada ou o pagamento for tardio, conserva o dinheiro e pede revisão, sem reabrir nem devolver automaticamente. Se o link duraria menos de 5 minutos (com a margem mínima, menos de 10 minutos até o prazo da reserva), ele não é criado: fica o pagamento manual. Um pagamento tardio com a vaga já liberada fica separado «a devolver» (refund_due) na tarefa, na conta do cliente e no Financeiro, com um aviso à equipe por pagamento: não é descontado de outras dívidas do cliente até chegar a devolução do Mercado Pago ou a equipe (owner\u002Fmanager) passá-lo ao saldo com «Usar para outra dívida» (auditado). Com uma reclamação aberta no Mercado Pago (in_mediation) não é marcado «a devolver»: não devolva até que seja resolvida. Nada é automático. As unidades reservadas também se perdem ao vencer: a tarefa volta ao preço normal e a equipe recebe um aviso. Uma falha de consumo retorna prepaid_consumption_failed e mantém a tarefa sem concluir. Tire o plano antes de ajustar o valor ou a cobrança; as notas internas podem ser editadas. Se a janela expirar durante o envio, outro canal utilizável do mesmo cliente será tentado. A marca no-se-pudo-avisar tem um espaço reservado além das vinte etiquetas de negócio, sem substituí-las. Reconfirmações e pedidos de avaliação permanecem na conversa original e não mudam de canal.",{"id":1442,"title":392,"titles":1443,"content":1444,"level":223},"\u002Fdocs\u002Fmcp#pausar-e-duplicar",[185],"Pausar deixa de oferecer o serviço para novos pedidos no bot, reserva pública, Wagy e MCP. As tarefas já agendadas continuam normalmente. Reativar volta a oferecê-lo. Pausar e desativar são a mesma ação. No detalhe abra ⋯ → Duplicar ou Pausar. No desktop também há um menu na lista. Wagy propõe as duas ações e aguarda a confirmação do plano. MCP permite pausar com update_service(active=false, confirm=true); duplicar ainda não tem ferramenta MCP. API: POST \u002Fv1\u002Fservices\u002F{id}\u002Fduplicate, Idempotency-Key, config:write; settings:write para copiar etapas. html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"id":190,"title":189,"titles":1446,"content":1447,"level":217},[],"Receitas de API (clientes, tarefas, ações, webhooks) e como modelar barbearia, estética, clínica, restaurante e entregas.",{"id":1449,"title":1450,"titles":1451,"content":1452,"level":223},"\u002Fdocs\u002Frecipes#receitas-de-api","Receitas de API",[189],"Todas usam $WAGEND_KEY como no início rápido.",{"id":1454,"title":1455,"titles":1456,"content":1457,"level":369},"\u002Fdocs\u002Frecipes#criar-um-cliente-e-agendar-de-uma-vez","Criar um cliente e agendar de uma vez",[189,1450],"Precisa de customers:write e bookings:write. O telefone é o identificador único do cliente: se já existir, a API responde 409 customer_exists. curl -X POST https:\u002F\u002Fapi.fiuit.com\u002Fv1\u002Fcustomers \\\n  -H \"Authorization: Bearer $WAGEND_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{ \"name\": \"Marina\", \"phone\": \"+5521988887777\", \"locale\": \"pt\", \"tags\": [\"vip\"],\n        \"address\": { \"street\": \"Rua das Flores\", \"number\": \"120\", \"city\": \"Rio de Janeiro\", \"formatted\": \"Rua das Flores 120, Rio de Janeiro\" } }'\n\ncurl -X POST https:\u002F\u002Fapi.fiuit.com\u002Fv1\u002Fbookings \\\n  -H \"Authorization: Bearer $WAGEND_KEY\" \\\n  -H \"Idempotency-Key: $(uuidgen)\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{ \"service_id\": \"svc_corte\", \"start\": \"2026-10-15T09:45:00-03:00\",\n        \"customer\": { \"name\": \"Marina\", \"phone\": \"+5521988887777\" } }' POST \u002Fbookings faz a pré-reserva e a confirmação em uma única chamada.",{"id":1459,"title":1460,"titles":1461,"content":1462,"level":369},"\u002Fdocs\u002Frecipes#ler-o-que-é-para-hoje","Ler o que é para hoje",[189,1450],"Precisa de bookings:read. GET \u002Fwork-items é a mesma consulta usada pela tela Hoje. curl \"https:\u002F\u002Fapi.fiuit.com\u002Fv1\u002Fwork-items?view=today&limit=50\" \\\n  -H \"Authorization: Bearer $WAGEND_KEY\"\n\n# Só o que ninguém pegou ainda\ncurl \"https:\u002F\u002Fapi.fiuit.com\u002Fv1\u002Fwork-items?unassigned=true&limit=50\" \\\n  -H \"Authorization: Bearer $WAGEND_KEY\" Cada tarefa traz seu stage e suas available_actions.",{"id":1464,"title":1465,"titles":1466,"content":1467,"level":369},"\u002Fdocs\u002Frecipes#atribuir-e-fechar-uma-entrega-com-ações","Atribuir e fechar uma entrega com ações",[189,1450],"Precisa de bookings:write. As ações têm o nome dado pela configuração de etapas do negócio (com o modelo de entregas: atribuir, soltar, iniciar, concluir, nao_estava). Consulte-as em available_actions da tarefa. # Atribuir a entrega a um entregador (resource_id é o recurso do entregador)\ncurl -X POST https:\u002F\u002Fapi.fiuit.com\u002Fv1\u002Fbookings\u002F$TASK_ID\u002Factions\u002Fatribuir \\\n  -H \"Authorization: Bearer $WAGEND_KEY\" \\\n  -H \"Idempotency-Key: $(uuidgen)\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{ \"data\": {}, \"resource_id\": \"'$COURIER_ID'\" }'\n\n# Fechá-la como concluída\ncurl -X POST https:\u002F\u002Fapi.fiuit.com\u002Fv1\u002Fbookings\u002F$TASK_ID\u002Factions\u002Fconcluir \\\n  -H \"Authorization: Bearer $WAGEND_KEY\" \\\n  -H \"Idempotency-Key: $(uuidgen)\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{ \"data\": {} }' Se duas pessoas pegam a mesma tarefa ao mesmo tempo, uma ganha e a outra recebe 409 already_claimed. A ação \"Aceitar entrega\" (aceitar) é para a equipe pelo painel ou Telegram: pega a tarefa com o recurso de quem a executa.",{"id":1469,"title":1470,"titles":1471,"content":1472,"level":369},"\u002Fdocs\u002Frecipes#receber-avisos-por-webhook","Receber avisos por webhook",[189,1450],"Registre um endpoint (veja Webhooks) e verifique a assinatura antes de processar. Exemplo mínimo com Express: import express from 'express'\nimport { verifyWagend } from '.\u002Fverify' \u002F\u002F a função da página de Webhooks\n\nconst app = express()\napp.post('\u002Fwagend', express.raw({ type: 'application\u002Fjson' }), (req, res) => {\n  const raw = req.body.toString('utf8')\n  if (!verifyWagend(raw, req.header('Wagend-Signature') ?? '', process.env.WAGEND_WEBHOOK_SECRET!)) {\n    return res.sendStatus(400)\n  }\n  const event = JSON.parse(raw)\n  if (event.type === 'booking.confirmed') console.log('Nova reserva', event.data.booking.id)\n  res.sendStatus(200) \u002F\u002F responda 2xx rápido; duplicados são descartados por event.id\n})\napp.listen(3000)",{"id":1474,"title":1475,"titles":1476,"content":1477,"level":223},"\u002Fdocs\u002Frecipes#modelos-por-negócio","Modelos por negócio",[189],"Cada receita corresponde a um modelo pronto que você escolhe no onboarding.",{"id":1479,"title":1480,"titles":1481,"content":1482,"level":223},"\u002Fdocs\u002Frecipes#barbearia","Barbearia",[189],"Cada barbeiro é um recurso staff exclusive com seu próprio horário. Um grupo, customer_choice com round_robin como alternativa. {\n  \"name\": \"Corte\",\n  \"duration_min\": 30,\n  \"step_min\": 15,\n  \"buffer_after_min\": 5,\n  \"price_cents\": 5000,\n  \"requirements\": [{ \"resource_group_id\": \"grp_barbers\", \"units\": 1 }]\n}",{"id":1484,"title":1485,"titles":1486,"content":1487,"level":223},"\u002Fdocs\u002Frecipes#estética","Estética",[189],"Profissionais, máquinas e cabines são recursos separados. O serviço exige os três ao mesmo tempo, então o mais escasso (geralmente a máquina) limita a agenda. {\n  \"name\": \"Depilação a laser\",\n  \"duration_min\": 45,\n  \"buffer_after_min\": 10,\n  \"price_cents\": 18000,\n  \"deposit_cents\": 5000,\n  \"requirements\": [\n    { \"resource_group_id\": \"grp_professionals\", \"units\": 1 },\n    { \"resource_group_id\": \"grp_lasers\", \"units\": 1 },\n    { \"resource_group_id\": \"grp_rooms\", \"units\": 1 }\n  ]\n}",{"id":1489,"title":1490,"titles":1491,"content":1492,"level":223},"\u002Fdocs\u002Frecipes#clínica","Clínica",[189],"Médico mais consultório, por unidade (um workspace por unidade). Dados de saúde são sensíveis: o assistente nunca pergunta sintomas, e o formulário coleta só o necessário para agendar. {\n  \"name\": \"Consulta\",\n  \"duration_min\": 30,\n  \"buffer_after_min\": 10,\n  \"intake_form\": { \"type\": \"object\", \"properties\": { \"convenio\": { \"type\": \"string\" } } },\n  \"requirements\": [\n    { \"resource_group_id\": \"grp_doctors\", \"units\": 1 },\n    { \"resource_group_id\": \"grp_offices\", \"units\": 1 }\n  ]\n}",{"id":1494,"title":1495,"titles":1496,"content":1497,"level":223},"\u002Fdocs\u002Frecipes#restaurante","Restaurante",[189],"O salão é um recurso pooled com 40 unidades (lugares) por turno. A duração cresce com o tamanho do grupo, e grupos grandes pagam sinal. {\n  \"name\": \"Mesa\",\n  \"step_min\": 30,\n  \"duration_by_units\": [\n    { \"max_units\": 2, \"duration_min\": 90 },\n    { \"max_units\": 4, \"duration_min\": 120 },\n    { \"max_units\": 20, \"duration_min\": 150 }\n  ],\n  \"requirements\": [{ \"resource_group_id\": \"grp_dining_room\", \"units\": \"party_size\" }]\n} O modo mesas (mesas específicas com tamanho mínimo e máximo, e combinações) está no roadmap.",{"id":1499,"title":1500,"titles":1501,"content":1502,"level":223},"\u002Fdocs\u002Frecipes#entregas","Entregas",[189],"Cada zona é um recurso pooled com capacidade por janela de 2 horas. A zona é escolhida pelo CEP, e uma regra de corte fecha as janelas do mesmo dia ao meio-dia. {\n  \"name\": \"Entrega\",\n  \"window_mode\": true,\n  \"duration_min\": 120,\n  \"cutoff_rule\": { \"same_day_until\": \"12:00\" },\n  \"intake_form\": { \"type\": \"object\", \"required\": [\"address\", \"cep\"] },\n  \"requirements\": [{ \"resource_group_id\": \"grp_zones\", \"units\": 1, \"select_by\": \"cep\" }]\n}",{"id":1504,"title":1505,"titles":1506,"content":1507,"level":223},"\u002Fdocs\u002Frecipes#wagy-configure-seu-negócio-com-wagy","Wagy · Configure seu negócio com Wagy",[189],"Você pode pular a entrevista e retomar pelo checklist. A equipe e os horários são revisados em uma proposta antes de confirmar. Serviços e produtos sugeridos ficam como rascunhos privados até completar seus dados e confirmá-los. Se Wagy não puder sugerir, preencha manualmente. A entrevista usa os mesmos campos do formulário: o marco «Montar meu negócio» reúne ramo, equipe, horários e catálogo revisado em uma confirmação. O ramo instala apenas vocabulário, etapas e exemplos inativos; não cria pessoas, horários ou preços de modelo. Seu plano informa o máximo de recursos antes da proposta. Acima de 25 mudanças, confirme Base e depois Catálogo; é possível desfazê-los na ordem inversa, em até 24 horas se ninguém os alterou. Rascunhos incompletos continuam privados. Não envia convites de acesso. Para alterar alguém existente, use Equipe pela identidade. Depois de confirmar a base, os nomes informados são propostos em ordem para os recursos anônimos intactos dessa configuração. Se houver mais nomes, são criados os recursos que faltam; se houver menos, permanecem os anônimos restantes. Recursos editados, vinculados a usuários ou com atribuições são preservados, e a confirmação verifica isso novamente. O botão de retomar aparece somente enquanto essa fase está pendente. Renomear ou reordenar um serviço ou produto preserva a origem e o estado do preço sugerido. Somente editar o campo do valor confirma o preço. Retomar a configuração reutiliza os horários individuais sem alterações; editar o horário geral preserva as exceções de cada pessoa. html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"id":199,"title":198,"titles":1509,"content":1510,"level":217},[],"Respostas rápidas sobre pré-reservas, sinais, horários ocupados, cancelamentos e faltas. Esta página reúne as dúvidas mais comuns sobre como um agendamento se comporta. Cada resposta diz o que acontece, por quê e onde você vê.",{"id":1512,"title":1513,"titles":1514,"content":1515,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fsenas-y-reservas#e-se-o-cliente-demora-para-confirmar","E se o cliente demora para confirmar?",[198],"O horário fica guardado por 10 minutos (15 se o serviço pede sinal) e depois é liberado sozinho. Assim outro cliente pode pegá-lo e uma conversa abandonada nunca bloqueia um horário. Você vê em Trabalho, onde a pré-reserva vencida deixa de ocupar a agenda.",{"id":1517,"title":1518,"titles":1519,"content":1520,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fsenas-y-reservas#e-se-o-horário-foi-ocupado-enquanto-ele-decidia","E se o horário foi ocupado enquanto ele decidia?",[198],"O sistema não confirma o agendamento e propõe horários alternativos. É a garantia de zero overbooking: ninguém fica com um horário que já tem dono. O bot e o chat web oferecem ao cliente as outras opções.",{"id":1522,"title":1523,"titles":1524,"content":1525,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fsenas-y-reservas#e-se-dois-clientes-agendam-ao-mesmo-tempo","E se dois clientes agendam ao mesmo tempo?",[198],"Ganha o primeiro e o segundo recebe alternativas. Se um agendamento usa vários recursos e um deles está ocupado, nenhum é reservado: o agendamento é gravado completo ou não é gravado.",{"id":1527,"title":1528,"titles":1529,"content":1530,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fsenas-y-reservas#e-se-o-serviço-pede-sinal","E se o serviço pede sinal?",[198],"Ao confirmar, o agendamento fica aguardando o sinal e o horário continua bloqueado. Quando o provedor de pagamentos confirma a cobrança, o agendamento passa a confirmado. Enquanto isso você o vê na agenda com o status de espera. Veja Agendamentos e pré-reservas.",{"id":1532,"title":1533,"titles":1534,"content":1535,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fsenas-y-reservas#e-se-eu-reagendo-um-agendamento","E se eu reagendo um agendamento?",[198],"É criado um agendamento novo e o anterior é cancelado, vinculados entre si. Os lembretes pendentes se movem sozinhos para o novo horário, então o cliente não recebe avisos do horário antigo.",{"id":1537,"title":1538,"titles":1539,"content":1540,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fsenas-y-reservas#e-se-eu-cancelo-um-agendamento","E se eu cancelo um agendamento?",[198],"O horário é liberado na hora e os lembretes pendentes são cancelados. O cliente pode receber o aviso de cancelamento se você o ativou em Configuração → Avisos ao cliente.",{"id":1542,"title":1543,"titles":1544,"content":1545,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fsenas-y-reservas#e-se-um-cliente-não-aparece","E se um cliente não aparece?",[198],"Nada automático. O sistema pode sugerir a falta, mas quem a marca é uma pessoa da equipe: assim nunca se registra uma falta por engano.",{"id":1547,"title":1548,"titles":1549,"content":1550,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fsenas-y-reservas#e-se-paga-tarde-e-o-horário-já-foi-liberado","E se paga tarde e o horário já foi liberado?",[198],"O dinheiro fica separado como a devolver na tarefa, na conta do cliente e no Financeiro; não compensa outras dívidas. A equipe recebe um aviso por pagamento. Dono ou gerente pode devolver pelo Mercado Pago ou confirmar Usar para outra dívida. Não há reabertura nem devolução automática.",{"id":1552,"title":1553,"titles":1554,"content":1555,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fsenas-y-reservas#e-se-há-uma-reclamação-aberta-no-mercado-pago","E se há uma reclamação aberta no Mercado Pago?",[198],"Fica como Reclamação aberta: não devolva até a resolução e não use para outra dívida. Se o negócio vence, volta a ficar a devolver; se o cliente recebe o reembolso, não há valor pendente.",{"id":1557,"title":1558,"titles":1559,"content":1560,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fsenas-y-reservas#quando-vence-o-link-e-se-o-aviso-chega-depois","Quando vence o link e se o aviso chega depois?",[198],"Vence 15 minutos antes do agendamento; em prazos curtos, a margem é metade do tempo disponível e pelo menos cinco minutos. Sem cinco minutos de vida útil, não é criado e a cobrança fica manual. Um pagamento verificado aprovado a tempo ainda pode cobrir um agendamento pendente após o link vencer; um agendamento fechado fica em revisão. O recibo mantém ambos os prazos.",{"id":1562,"title":1563,"titles":1564,"content":1565,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fsenas-y-reservas#onde-o-cliente-paga-e-voltar-do-mercado-pago-confirma","Onde o cliente paga e voltar do Mercado Pago confirma?",[198],"O sinal eletrônico está disponível em reais e pesos argentinos pelo Checkout Pro hospedado; Pix é pago dentro do Mercado Pago, sem pedir CPF ou cartão no Fiuit. Brasil e Argentina conectam por autorização; outros países aceitos usam token e Paraguai não tem Mercado Pago. Voltar abre o portal privado existente ou uma página neutra; nunca confirma o pagamento. Pix nesse checkout não tem prazo separado definido pelo Fiuit.",{"id":1567,"title":1568,"titles":1569,"content":1570,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fsenas-y-reservas#e-se-há-pagamento-parcial-ou-link-incerto","E se há pagamento parcial ou link incerto?",[198],"Um parcial aprovado a tempo reduz o sinal e pode criar um link pela diferença, sem estender o prazo original nem passar de duas horas antes do horário. A cobertura aplicada mantém o horário em revisão. Se a criação do link ficou incerta, só sete dias de consultas vazias bem-sucedidas permitem liberar na próxima consulta, até um dia depois. Erro ou falta de acesso reinicia a evidência. Dono ou gerente pode confirmar Liberar o horário na tarefa: preserva dinheiro e não devolve.",{"id":1572,"title":1573,"titles":1574,"content":1575,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fsenas-y-reservas#sinais-retidos-geram-comissão-e-como-se-atribui-o-trabalho","Sinais retidos geram comissão e como se atribui o trabalho?",[198],"Sinais retidos por falta, cancelamento ou falha são receita do negócio, sem comissão nem recebimentos sem atribuição. As demais comissões usam o recebido e pertencem a quem tinha a tarefa atribuída ao concluí-la; aberta, a quem a tem hoje. Entre várias pessoas se divide igualmente. Gorjetas ficam à parte. Em Financeiro → Comissões, o relatório é calculado na hora sem fechamento diário; cada tarefa conta uma vez e staff vê só o seu. Um sinal nunca aplicado não cobre o valor nem gera comissão para a tarefa original, inclusive após reembolso ou transferência para crédito livre. Tarefas vencidas também não geram comissão.",{"id":1577,"title":1578,"titles":1579,"content":1580,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fsenas-y-reservas#e-se-devolvo-um-recebimento-que-gerou-comissão","E se devolvo um recebimento que gerou comissão?",[198],"O estorno desconta da mesma pessoa e usa a regra do recebimento original, mesmo que tenha terminado ou mudado. Um reembolso parcial eletrônico sem detalhe de devolução ainda não é descontado até a devolução total: esse caso continua pendente. Veja em Financeiro → Comissões.",{"id":1582,"title":1583,"titles":1584,"content":1585,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fsenas-y-reservas#como-aparecem-os-valores","Como aparecem os valores?",[198],"Cada projeto usa o símbolo local da moeda em todos os idiomas, com seus decimais habituais: reais com R$, guaranis com ₲ e dólares com US$. O código fica onde se comparam moedas. Muda a apresentação, não os valores.",{"id":203,"title":202,"titles":1587,"content":1588,"level":217},[],"Respostas rápidas sobre avisos ao cliente, horário de silêncio, limites de envio, spam e pausas de canal. O que acontece com as mensagens que saem e entram pelos seus canais, e onde você vê.",{"id":1590,"title":1591,"titles":1592,"content":1593,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Favisos-y-canales#e-se-eu-ativo-uma-regra-recomendada","E se eu ativo uma regra recomendada?",[202],"As regras recomendadas são instaladas desligadas. Nenhuma regra escreve a um cliente até você ligá-la com o interruptor em Automação → Regras. Cada regra mostra os últimos envios com o status e o motivo se falhou.",{"id":1595,"title":1596,"titles":1597,"content":1598,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Favisos-y-canales#e-se-um-aviso-fosse-sair-de-noite","E se um aviso fosse sair de noite?",[202],"Entre 21:00 e 08:00 (horário do negócio) nada sai para clientes: o envio é adiado para a manhã, não se perde. Antes de sair, o sistema revisa a tarefa de novo: se foi cancelada ou reagendada, o aviso antigo é descartado.",{"id":1600,"title":1601,"titles":1602,"content":1603,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Favisos-y-canales#e-se-eu-mando-muitos-avisos-juntos","E se eu mando muitos avisos juntos?",[202],"Há um limite de 30 envios automáticos por hora por projeto. Os que sobram são espaçados sozinhos para proteger a linha de WhatsApp.",{"id":1605,"title":1606,"titles":1607,"content":1608,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Favisos-y-canales#e-se-um-cliente-pediu-para-não-receber-promoções","E se um cliente pediu para não receber promoções?",[202],"Ative na ficha dele Não enviar mensagens automáticas de promoção. Isso freia promoções como a reativação, mas os lembretes de agendamento continuam saindo, porque são operacionais.",{"id":1610,"title":1611,"titles":1612,"content":1613,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Favisos-y-canales#e-se-eu-edito-uma-tarefa-várias-vezes-seguidas","E se eu edito uma tarefa várias vezes seguidas?",[202],"Se o aviso de dados modificados está ativo, as edições consecutivas são agrupadas e o cliente recebe um único aviso 60 segundos depois da última. Os avisos por serviço começam desligados e você os configura em Configuração → Avisos ao cliente, onde também vê o registro do que foi enviado e do que foi omitido.",{"id":1615,"title":1616,"titles":1617,"content":1618,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Favisos-y-canales#e-se-um-contato-manda-mensagens-demais","E se um contato manda mensagens demais?",[202],"Se um mesmo contato manda mais de 15 mensagens em 5 minutos (ou 60 em uma hora), o bot para de responder por 30 minutos. As mensagens continuam chegando ao Inbox, marcadas como possível spam, e você pode tocar em Reativar bot antes da hora.",{"id":1620,"title":1621,"titles":1622,"content":1623,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Favisos-y-canales#e-se-a-ia-gasta-demais-de-uma-vez","E se a IA gasta demais de uma vez?",[202],"Se o projeto passa de 300 chamadas à IA em 10 minutos, a IA é pausada sozinha e avisamos você. Ela não volta sozinha, porque pode ser um laço ou um ataque: você a retoma em Configuração → Uso de IA depois de revisar o que aconteceu.",{"id":1625,"title":1626,"titles":1627,"content":1628,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Favisos-y-canales#qual-a-diferença-entre-pausar-o-bot-e-pausar-o-canal","Qual a diferença entre pausar o bot e pausar o canal?",[202],"Pausar bot guarda as mensagens e as deixa no Inbox para atender manualmente, sem gasto de IA. Pausar canal descarta tudo o que chega, pensado para spam ou abuso. Veja Pausas e Estado.",{"id":1630,"title":1631,"titles":1632,"content":1633,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Favisos-y-canales#e-se-vence-a-janela-do-instagram-ou-já-há-vinte-etiquetas","E se vence a janela do Instagram ou já há vinte etiquetas?",[202],"Após 24 horas da última mensagem do cliente, inclusive se vencerem durante o envio, o aviso tenta outro canal utilizável do mesmo cliente. Sem alternativa, fica Não foi possível avisar na atenção de Hoje e no histórico: a marca extra não substitui as vinte etiquetas do negócio. A equipe a remove depois de avisar por conta própria. Reconfirmações SIM\u002FNÃO mantêm o canal; avaliações são canceladas sem marcar a tarefa. Instagram não permite que o negócio inicie uma conversa sem mensagem do cliente.",{"id":1635,"title":1636,"titles":1637,"content":1638,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Favisos-y-canales#desconectar-o-instagram-apaga-os-dados","Desconectar o Instagram apaga os dados?",[202],"Só o dono conecta ou desconecta, autorizando no mesmo navegador e projeto. Desconectar libera a conta e mantém o histórico; não apaga dados. Revogação é detectada ao enviar, consultar ou renovar. Exclusão por callback ainda está pendente; siga as instruções de privacidade.",{"id":1640,"title":1641,"titles":1642,"content":1643,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Favisos-y-canales#e-se-troco-o-grupo-da-equipe-ou-vira-supergrupo","E se troco o grupo da equipe ou vira supergrupo?",[202],"As tarefas sem responsável são republicadas no grupo novo e botões antigos dizem este grupo não está mais vinculado, sem atribuir. Tarefas livres anteriores ao primeiro vínculo também são oferecidas. Tarefas atribuídas, encerradas, de teste ou sem ação autorizada não são oferecidas. Gerencie em Equipe → Acessos. Telegram não garante evitar duplicação se a conexão cair logo após publicar.",{"id":207,"title":206,"titles":1645,"content":1646,"level":217},[],"Respostas rápidas sobre o que o bot faz e não faz, quando a conversa passa a uma pessoa e o que acontece com a IA.",{"id":1648,"title":1649,"titles":1650,"content":1651,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fbot#e-se-o-cliente-pede-para-falar-com-uma-pessoa","E se o cliente pede para falar com uma pessoa?",[206],"A conversa vai para o Inbox com o status «Pede uma pessoa» e o bot para de responder. O mesmo acontece se algo falha. Você vê em Requer atenção e como notificação.",{"id":1653,"title":1654,"titles":1655,"content":1656,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fbot#e-se-eu-escrevo-em-uma-conversa","E se eu escrevo em uma conversa?",[206],"Quando você responde, o bot é pausado nessa conversa. Você pode devolvê-la manualmente; se passam 15 minutos sem atividade sua, o bot retoma sozinho.",{"id":1658,"title":1659,"titles":1660,"content":1661,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fbot#e-se-o-cliente-pergunta-um-preço-ou-horário-que-o-bot-não-conhece","E se o cliente pergunta um preço ou horário que o bot não conhece?",[206],"O bot não inventa: horários, preços e endereços saem sempre do sistema. Se falta informação, cadastre-a na base de conhecimento ou a conversa passa a uma pessoa.",{"id":1663,"title":1664,"titles":1665,"content":1666,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fbot#e-se-o-cliente-confirma-com-dados-novos","E se o cliente confirma com dados novos?",[206],"Um «sim» enviado junto com dados novos não confirma: o bot monta um resumo atualizado e espera outro «sim» depois. A confirmação é sempre explícita, e cancelar ou pedir uma pessoa interrompe a proposta.",{"id":1668,"title":1669,"titles":1670,"content":1671,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fbot#e-se-o-cliente-manda-várias-mensagens-seguidas","E se o cliente manda várias mensagens seguidas?",[206],"O bot espera alguns segundos de silêncio (3, ou 5 enquanto coleta dados, com máximo de 12) e responde a todas juntas. Você escolhe o modo em Automação → Bot.",{"id":1673,"title":1674,"titles":1675,"content":1676,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fbot#e-se-acaba-a-cota-de-ia-do-mês","E se acaba a cota de IA do mês?",[206],"As funções com IA são pausadas, o bot responde uma mensagem fixa e passa a conversa ao Inbox. Agenda, tarefas e clientes continuam funcionando. Você vê o consumo em Configuração → Uso de IA, com aviso ao chegar a 80 %.",{"id":1678,"title":1679,"titles":1680,"content":1681,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fbot#e-se-um-cliente-tenta-dar-instruções-ao-bot","E se um cliente tenta dar instruções ao bot?",[206],"Ele as ignora. O bot não segue instruções escondidas em uma mensagem ou arquivo, não usa ferramentas de administração com um cliente e não vê dados de outro negócio. Veja O bot e a IA.",{"id":1683,"title":1684,"titles":1685,"content":1686,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fbot#e-se-o-cliente-mistura-um-pedido-com-outro-assunto","E se o cliente mistura um pedido com outro assunto?",[206],"O bot atende a parte do negócio e ignora o resto. Se tudo for alheio, responde um texto fixo com os assuntos atendidos e como pedir uma pessoa; essa recusa sozinha não avisa a equipe. Pedir uma pessoa interrompe qualquer carrinho ou resumo e leva à Caixa de entrada.",{"id":211,"title":210,"titles":1688,"content":1689,"level":217},[],"Respostas rápidas sobre pegar e soltar tarefas, resultados, permissões da equipe e evidências de trabalho.",{"id":1691,"title":1692,"titles":1693,"content":1694,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fservicios-y-tareas#quantos-produtos-um-pedido-pode-ter","Quantos produtos um pedido pode ter?",[210],"Até 72 produtos (linhas) por pedido. É um limite do motor de agendamentos para que cada pedido seja salvo e cobrado com o valor exato. Você configura no serviço, nos limites de produtos do formulário.",{"id":1696,"title":1697,"titles":1698,"content":1699,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fservicios-y-tareas#e-se-duas-pessoas-tocam-em-pegar-ao-mesmo-tempo","E se duas pessoas tocam em «Pegar» ao mesmo tempo?",[210],"Fica com a primeira e a segunda recebe um aviso. Uma tarefa nunca é atribuída duas vezes. Você a vê atribuída em Trabalho e em Hoje de quem a pegou.",{"id":1701,"title":1702,"titles":1703,"content":1704,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fservicios-y-tareas#e-se-quem-pegou-a-tarefa-não-pode-fazê-la","E se quem pegou a tarefa não pode fazê-la?",[210],"Pode soltá-la, desde que não tenha começado: ela volta a Sem responsável para que outra pessoa a pegue.",{"id":1706,"title":1707,"titles":1708,"content":1709,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fservicios-y-tareas#e-se-o-cliente-não-estava-ou-não-quer-o-pedido","E se o cliente não estava ou não quer o pedido?",[210],"A tarefa é encerrada com o resultado ausente («não estava») ou recusada («não quer»), com um motivo opcional. Fica registrado na tarefa.",{"id":1711,"title":1712,"titles":1713,"content":1714,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fservicios-y-tareas#e-se-uma-ação-falha-no-meio-do-caminho","E se uma ação falha no meio do caminho?",[210],"Nada fica pela metade: tudo o que uma ação faz acontece junto ou não acontece.",{"id":1716,"title":1717,"titles":1718,"content":1719,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fservicios-y-tareas#e-se-uma-pessoa-da-equipe-tenta-atribuir-tarefas","E se uma pessoa da equipe tenta atribuir tarefas?",[210],"Não consegue, mesmo que o botão existisse: uma ação nunca dá permissões extras. Só o proprietário e o gerente atribuem. Veja Papéis e permissões.",{"id":1721,"title":1722,"titles":1723,"content":1724,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fservicios-y-tareas#que-dados-do-cliente-a-equipe-vê","Que dados do cliente a equipe vê?",[210],"Uma pessoa da equipe vê as tarefas atribuídas a ela e as que seu grupo pode pegar, mas sem o telefone nem o e-mail do cliente até pegá-la. Em entregas, antes de pegar só se vê a zona aproximada.",{"id":1726,"title":1727,"titles":1728,"content":1729,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fservicios-y-tareas#o-que-acontece-com-as-fotos-e-localizações-que-a-equipe-envia","O que acontece com as fotos e localizações que a equipe envia?",[210],"São privadas: só quem tem acesso à tarefa as vê, os links de download expiram em 60 segundos e os arquivos são apagados após 30 dias por padrão. O proprietário ou o gerente podem apagar uma localização.",{"id":1731,"title":1732,"titles":1733,"content":1734,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fservicios-y-tareas#por-que-não-vejo-uma-aba-ou-um-filtro","Por que não vejo uma aba ou um filtro?",[210],"Porque «se não tem nada, não aparece»: a agenda só aparece se há recursos com horário, o mapa se há tarefas com localização, e Minhas se você tem agenda própria. Veja Trabalho e ações.",{"id":1736,"title":1737,"titles":1738,"content":1739,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fservicios-y-tareas#e-se-pauso-ou-duplico-um-serviço","E se pauso ou duplico um serviço?",[210],"Você sempre pode pausar: deixa de ser oferecido para novos pedidos e as tarefas existentes continuam, incluindo reagendamento, janela, troca de responsável, conclusão e cancelamento com os mesmos controles. Pausar e desativar são iguais. Duplicar cria uma cópia pausada com horário independente, sem tarefas nem histórico; grupos e produtos permanecem no catálogo. As etapas atuais começam na versão um; sem permissão de edição usa as etapas base e avisa. A cópia não mantém o vínculo administrado com o modelo do negócio. Revise e reative em Serviços.",{"id":1741,"title":1742,"titles":1743,"content":1744,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fservicios-y-tareas#e-se-as-unidades-do-pacote-vencem-ou-o-consumo-falha","E se as unidades do pacote vencem ou o consumo falha?",[210],"O vencido se perde, inclusive unidades reservadas: a tarefa volta ao valor anterior e a equipe é avisada. Antes de concluir, o vencimento é validado mesmo se o processo automático atrasar. Se consumir falha, não conclui nem cobra; mantém estado e reserva para tentar novamente. Dono ou gerente pode Estender validade manualmente com motivo na ficha do cliente.",{"id":1746,"title":1747,"titles":1748,"content":1749,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fservicios-y-tareas#posso-editar-ou-reabrir-uma-tarefa-coberta-por-plano","Posso editar ou reabrir uma tarefa coberta por plano?",[210],"Não muda cliente, serviço nem valor e não aceita ajustes de cobrança; notas internas podem ser editadas. Primeiro Tirar plano na ficha do cliente. Reabrir uma cancelada mantém o preço normal. Reabrir uma concluída devolve a unidade e sua atribuição de pagamento; se vigente, fica reservada e concluir novamente usa uma única unidade.",{"id":1751,"title":1752,"titles":1753,"content":1754,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fservicios-y-tareas#como-se-cobra-ou-cancela-um-pacote-ou-clube","Como se cobra ou cancela um pacote ou clube?",[210],"A cobrança é manual, sem cartão recorrente nem Pix Automático por enquanto. Na ficha do cliente registra venda, renovação ou cancelamento. Cancelar libera reservas e interrompe renovações; devolver é opcional e só devolve o não usado do período vigente cobrado manualmente. O vencido não é devolvido. Se o caixa daquele dinheiro já foi fechado, a devolução é bloqueada.",{"id":1756,"title":1757,"titles":1758,"content":1759,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fservicios-y-tareas#e-se-os-estilos-do-painel-não-baixam","E se os estilos do painel não baixam?",[210],"A tela de carregamento permanece com as cores do seu tema; o painel não aparece sem estilos. Após oito segundos oferece Recarregar. Se o download terminar depois, continua; com movimento reduzido mantém a mesma proteção.",{"id":1761,"title":1762,"titles":1763,"content":1764,"level":223},"\u002Fdocs\u002Fque-pasa-si\u002Fservicios-y-tareas#por-que-as-novidades-diferem-entre-painel-e-site","Por que as novidades diferem entre painel e site?",[210],"O painel agrupa mudanças por entrega e explica onde estão, como usar e quem tem permissão. O site explica o benefício para o negócio. Ambos vêm da mesma atualização.",{"id":1766,"title":89,"badge":1767,"body":1768,"description":1934,"extension":1935,"meta":1936,"navigation":1937,"path":90,"rawbody":1938,"seo":1939,"stem":91,"updated":1940,"__hash__":1941},"docs_pt\u002Fdocs\u002F05.channels\u002F07.instagram.md",null,{"type":1769,"value":1770,"toc":1927},"minimark",[1771,1784,1793,1797,1830,1845,1848,1869,1872,1879,1902,1905,1915,1918,1921],[1772,1773,1774,1775,1779,1780,1783],"p",{},"Com o Instagram, seus clientes escrevem por ",[1776,1777,1778],"strong",{},"mensagem direta (DM)"," para a conta profissional do negócio e são atendidos pelo mesmo assistente do WhatsApp: mesmos serviços, mesmos horários, mesma caixa de entrada. É um canal ",[1776,1781,1782],{},"só para clientes",": a equipe não recebe avisos pelo Instagram.",[1785,1786,1787],"blockquote",{},[1772,1788,1789,1790,1792],{},"O Instagram é habilitado quando o app da Fiuit é aprovado pela Meta. Se em ",[1776,1791,60],{}," você não vê o cartão do Instagram (ou ele aparece como «Em breve»), ainda não está disponível para o seu projeto.",[1794,1795,727],"h2",{"id":1796},"conectar-sua-conta",[1798,1799,1800,1808,1819,1822],"ol",{},[1801,1802,1803,1804,1807],"li",{},"Sua conta do Instagram precisa ser ",[1776,1805,1806],{},"profissional"," (Empresa ou Criador). Não é preciso uma Página do Facebook.",[1801,1809,1810,1811,1814,1815,1818],{},"No painel, vá em ",[1776,1812,1813],{},"Canais → Instagram"," e toque em ",[1776,1816,1817],{},"Conectar Instagram",". Só o proprietário pode fazer isso.",[1801,1820,1821],{},"Entre no Instagram com a conta do negócio e aceite as permissões (perfil básico e mensagens).",[1801,1823,1824,1825,1829],{},"Você volta ao painel com a conta conectada (",[1826,1827,1828],"code",{},"@sua_conta","). Teste enviando uma DM de outra conta.",[1772,1831,1832,1833,1836,1837,1840,1841,1844],{},"A Fiuit guarda o acesso criptografado e o renova sozinha antes de vencer. Se o Instagram o revogar (por exemplo, você trocou a senha ou removeu a permissão), o cartão passa para ",[1776,1834,1835],{},"Desconectado"," e é preciso ",[1776,1838,1839],{},"conectar de novo",". Uma mesma conta não pode estar conectada a dois projetos. ",[1776,1842,1843],{},"Desconectar"," apaga o acesso guardado e mantém o histórico.",[1794,1846,617],{"id":1847},"o-que-faz",[1849,1850,1851,1859,1866],"ul",{},[1801,1852,1853,1854,1858],{},"Atende com o mesmo bot: busca horários, pré-reserva, confirma, responde com o seu ",[1855,1856,1857],"a",{"href":103},"conhecimento"," e encaminha para uma pessoa.",[1801,1860,1861,1862,1865],{},"Aceita ",[1776,1863,1864],{},"texto",". Se o cliente mandar foto, áudio ou outro anexo, o bot pede que escreva. Comentários, menções em stories e Messenger não entram.",[1801,1867,1868],{},"As opções aparecem como lista numerada (sem botões).",[1794,1870,736],{"id":1871},"a-regra-das-24-horas",[1772,1873,1874,1875,1878],{},"A Meta só permite responder dentro de ",[1776,1876,1877],{},"24 horas"," da última mensagem do cliente. Por isso:",[1849,1880,1881,1884,1899],{},[1801,1882,1883],{},"As respostas do bot e da equipe saem enquanto a janela estiver aberta. Se venceu, a mensagem não é enviada e a conversa passa para uma pessoa.",[1801,1885,1886,1887,1890,1891,1894,1895,1898],{},"Os ",[1776,1888,1889],{},"avisos automáticos"," (lembretes, confirmações, «a caminho», horário definido) não saem pelo Instagram fora da janela. Se o cliente também escreveu pelo WhatsApp ou Telegram, o aviso vai por esse canal, sempre dentro das regras dele (por exemplo, a janela de 24 h do WhatsApp oficial). Se ele não tiver nenhum canal utilizável, o aviso não é reenviado: a tarefa recebe a etiqueta ",[1776,1892,1893],{},"no-se-pudo-avisar"," e aparece em ",[1776,1896,1897],{},"Precisa da sua atenção"," em Hoje («Não foi possível avisar»). Avise por conta própria e remova a etiqueta.",[1801,1900,1901],{},"Não é possível iniciar uma conversa nova pelo Instagram a partir da ficha do cliente: quem abre é o cliente ao escrever.",[1794,1903,631],{"id":1904},"estado-e-pausas",[1772,1906,1907,1908,1910,1911,1914],{},"Em ",[1776,1909,1813],{}," você vê a conta conectada, o estado do acesso e quando vence. Você pode ",[1855,1912,1913],{"href":78},"pausar"," o bot ou o canal como nos outros canais.",[1772,1916,1917],{},"Conclua a autorização no mesmo navegador e projeto em que começou. Não compartilhe o link de conexão.",[1772,1919,1920],{},"Ao desconectar, a conta fica livre para conectar a outro projeto. A revogação é detectada ao enviar, consultar o estado ou renovar; os callbacks de desautorização e exclusão ainda estão pendentes. Desconectar mantém o histórico e não exclui os dados.",[1772,1922,1923,1924,1926],{},"Se a janela expirar durante o envio, outro canal utilizável do mesmo cliente será tentado. A marca ",[1776,1925,1893],{}," tem um espaço reservado além das vinte etiquetas de negócio, sem substituí-las. Reconfirmações e pedidos de avaliação permanecem na conversa original e não mudam de canal.",{"title":1928,"searchDepth":223,"depth":369,"links":1929},"",[1930,1931,1932,1933],{"id":1796,"depth":223,"text":727},{"id":1847,"depth":223,"text":617},{"id":1871,"depth":223,"text":736},{"id":1904,"depth":223,"text":631},"Conecte a conta profissional do Instagram do seu negócio para atender por mensagem direta com o mesmo bot e a mesma caixa.","md",{},true,"---\ntitle: Instagram\ndescription: Conecte a conta profissional do Instagram do seu negócio para atender por mensagem direta com o mesmo bot e a mesma caixa.\nupdated: \"2026-10-08\"\n---\n\nCom o Instagram, seus clientes escrevem por **mensagem direta (DM)** para a conta profissional do negócio e são atendidos pelo mesmo assistente do WhatsApp: mesmos serviços, mesmos horários, mesma caixa de entrada. É um canal **só para clientes**: a equipe não recebe avisos pelo Instagram.\n\n> O Instagram é habilitado quando o app da Fiuit é aprovado pela Meta. Se em **Canais** você não vê o cartão do Instagram (ou ele aparece como «Em breve»), ainda não está disponível para o seu projeto.\n\n## Conectar sua conta\n\n1. Sua conta do Instagram precisa ser **profissional** (Empresa ou Criador). Não é preciso uma Página do Facebook.\n2. No painel, vá em **Canais → Instagram** e toque em **Conectar Instagram**. Só o proprietário pode fazer isso.\n3. Entre no Instagram com a conta do negócio e aceite as permissões (perfil básico e mensagens).\n4. Você volta ao painel com a conta conectada (`@sua_conta`). Teste enviando uma DM de outra conta.\n\nA Fiuit guarda o acesso criptografado e o renova sozinha antes de vencer. Se o Instagram o revogar (por exemplo, você trocou a senha ou removeu a permissão), o cartão passa para **Desconectado** e é preciso **conectar de novo**. Uma mesma conta não pode estar conectada a dois projetos. **Desconectar** apaga o acesso guardado e mantém o histórico.\n\n## O que faz\n\n- Atende com o mesmo bot: busca horários, pré-reserva, confirma, responde com o seu [conhecimento](\u002Fdocs\u002Fbot\u002Fknowledge) e encaminha para uma pessoa.\n- Aceita **texto**. Se o cliente mandar foto, áudio ou outro anexo, o bot pede que escreva. Comentários, menções em stories e Messenger não entram.\n- As opções aparecem como lista numerada (sem botões).\n\n## A regra das 24 horas\n\nA Meta só permite responder dentro de **24 horas** da última mensagem do cliente. Por isso:\n\n- As respostas do bot e da equipe saem enquanto a janela estiver aberta. Se venceu, a mensagem não é enviada e a conversa passa para uma pessoa.\n- Os **avisos automáticos** (lembretes, confirmações, «a caminho», horário definido) não saem pelo Instagram fora da janela. Se o cliente também escreveu pelo WhatsApp ou Telegram, o aviso vai por esse canal, sempre dentro das regras dele (por exemplo, a janela de 24 h do WhatsApp oficial). Se ele não tiver nenhum canal utilizável, o aviso não é reenviado: a tarefa recebe a etiqueta **no-se-pudo-avisar** e aparece em **Precisa da sua atenção** em Hoje («Não foi possível avisar»). Avise por conta própria e remova a etiqueta.\n- Não é possível iniciar uma conversa nova pelo Instagram a partir da ficha do cliente: quem abre é o cliente ao escrever.\n\n## Estado e pausas\n\nEm **Canais → Instagram** você vê a conta conectada, o estado do acesso e quando vence. Você pode [pausar](\u002Fdocs\u002Fchannels\u002Fpauses-and-status) o bot ou o canal como nos outros canais.\n\n\nConclua a autorização no mesmo navegador e projeto em que começou. Não compartilhe o link de conexão.\n\nAo desconectar, a conta fica livre para conectar a outro projeto. A revogação é detectada ao enviar, consultar o estado ou renovar; os callbacks de desautorização e exclusão ainda estão pendentes. Desconectar mantém o histórico e não exclui os dados.\n\nSe a janela expirar durante o envio, outro canal utilizável do mesmo cliente será tentado. A marca **no-se-pudo-avisar** tem um espaço reservado além das vinte etiquetas de negócio, sem substituí-las. Reconfirmações e pedidos de avaliação permanecem na conversa original e não mudam de canal.\n",{"title":89,"description":1934},"2026-10-08","K2NAg6Y5ZgUgJv6T5eIGK85HIESZyz7MB_y4dhJiEN0",[1943,1945],{"title":85,"path":86,"stem":87,"description":1944,"children":-1},"Um formulário do seu site (ou do Typeform, Tally…) que entra no Inbox como um canal, com URL protegida por token, antispam e resposta por email ou WhatsApp.",{"title":98,"path":99,"stem":100,"description":1946,"children":-1},"O que o bot do seu negócio faz, o que ele não pode fazer, como configurá-lo, testá-lo no simulador e quando a conversa passa para uma pessoa.",1791496692623]