Cobre: calendarios, event types, reservas (listar/detalhe/mudar estado/reenviar confirmacao), actividade, disponibilidade, reports, definicoes gerais, anfitrioes, estado do plugin/licenca Pro. 15 tools via REST API real com Application Password (nao SSH/SQL como mcp-bit-social - o FluentBooking regista register_rest_route com permission_callback por capability). Testado ponta-a-ponta em producao 19-08-2026, incluindo escrita sem mutar dados reais (422 'No changes found' do proprio plugin). references/api-reference.md com os endpoints/filtros/enums confirmados e references/diagnostics.md com o playbook de uso (agenda, cancelamento, health check).
58 lines
3.0 KiB
Markdown
58 lines
3.0 KiB
Markdown
# FluentBooking — playbook de diagnóstico
|
|
|
|
## "Quem marcou uma reunião?" / ver a agenda
|
|
|
|
`fb_list_bookings({period: "upcoming"})` para o que vem aí (omitir `period` já faz isto por
|
|
omissão). Para histórico completo (incluindo já realizadas/canceladas), usar
|
|
`fb_list_bookings({period: "all"})` — **omitir `period` NUNCA mostra o histórico**, só o que
|
|
ainda não aconteceu. Filtrar por convidado com `email` ou `search` (nome).
|
|
|
|
Cada resultado já traz `location_details` (link da reunião online), `custom_form_data` (respostas
|
|
ao formulário de marcação — telefone, empresa, cargo, conforme configurado no event type) e
|
|
`source_url` (de que página do site veio a marcação).
|
|
|
|
## Cancelar ou reagendar uma reunião
|
|
|
|
Cancelar: `fb_update_booking_status({booking_id, status: "cancelled", cancel_reason: "..."})` —
|
|
dispara o email de cancelamento ao convidado automaticamente, não é preciso fazer mais nada.
|
|
`refund_payment: true` só faz sentido se a reserva tiver `payment_method` associado (evento pago).
|
|
|
|
Reagendar não é uma tool deste MCP — a reserva tem um `reschedule_url` próprio
|
|
(`https://descomplicar.pt/?fluent-booking=booking&meeting_hash=...&type=reschedule`) que o
|
|
convidado usa directamente; não há endpoint admin para reatribuir hora sem passar por aí.
|
|
|
|
## Marcar como "não compareceu" / concluída manualmente
|
|
|
|
`fb_update_booking_status({booking_id, status: "no_show"})` ou `status: "completed"`. Sem motivo
|
|
associado (`cancel_reason`/`reject_reason` só se aplicam a `cancelled`/`rejected`).
|
|
|
|
## Reenviar confirmação a um convidado
|
|
|
|
`fb_send_confirmation_email({booking_id})` — só se o convidado pedir explicitamente ou perdeu o
|
|
email original. Dispara um envio real; não usar para "confirmar que a tool funciona".
|
|
|
|
## `fb_list_bookings` devolve vazio
|
|
|
|
Quase sempre é o `period` por omissão (`upcoming`) sem reservas futuras — confirmar com
|
|
`fb_get_reports` (overview mostra o total histórico) antes de assumir que a agenda está vazia; se
|
|
o total for >0 mas `upcoming` vier vazio, repetir com `period: "all"`.
|
|
|
|
## Investigar uma reunião específica em detalhe
|
|
|
|
`fb_get_booking({booking_id})` para os dados completos, depois `fb_list_activities({booking_id})`
|
|
para a timeline (emails de lembrete enviados, mudanças de estado, quem cancelou e porquê — o
|
|
`created_by` fica `null` quando a acção foi automática/pelo sistema).
|
|
|
|
## Health check rápido
|
|
|
|
`fb_get_plugin_status` (versões + licença Pro) + `fb_get_reports` (totais) — dois tools sem
|
|
argumentos para um snapshot inicial. `fb_list_hosts` confirma que anfitriões têm calendário activo
|
|
antes de investigar "porque é que ninguém consegue marcar reunião com X".
|
|
|
|
## Fora do âmbito deste MCP (fazer via wp-admin)
|
|
|
|
- Criar uma reserva em nome de alguém (payload de slots dinâmico, risco de email indevido).
|
|
- Gerir equipa/permissões, métodos de pagamento, integrações Zoom/Google Calendar/CalDAV, SMS
|
|
(Twilio), webhooks, cupões.
|
|
- Activar/desactivar a licença Pro (`fb_get_plugin_status` é read-only).
|