Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.mivicall.com/llms.txt

Use this file to discover all available pages before exploring further.

Estado: planeado para implementação. Schema na DB já existe (calendar_integrations.ical_feed_url). Endpoint público em construção. ETA: 1-2 semanas. Subscreve a status page para notificação.

Como funcionará

Cada profissional (ou tenant inteiro) gera um URL único:
https://api.mivicall.com/v1/ical/{secret-token}.ics
Vocês fazem GET periódico, parseiam o VCALENDAR, sincronizam com o sistema do vosso lado.

Configurar (clínica)

Dashboard → Settings → Integrações → secção iCal feed:
  1. Click “Gerar URL” para o profissional
  2. Mivicall mostra o URL único (token de 32 chars)
  3. Copiar e partilhar com o vendor / colar em Google Calendar / Apple Calendar / Outlook

Exemplo de output

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Mivicall//Booking Calendar//PT
CALSCALE:GREGORIAN
METHOD:PUBLISH
NAME:Dr. João Marcos — RIT
X-WR-CALNAME:Dr. João Marcos — RIT
X-WR-TIMEZONE:Europe/Lisbon

BEGIN:VEVENT
UID:appointment-3917fecd-bfe0-4cac@mivicall.com
DTSTAMP:20260513T140000Z
DTSTART;TZID=Europe/Lisbon:20260514T100000
DTEND;TZID=Europe/Lisbon:20260514T103000
SUMMARY:Limpeza dentária — Maria Silva
DESCRIPTION:Marcação via Mivicall Voice AI\nID: appt-3917...
STATUS:CONFIRMED
LAST-MODIFIED:20260513T141500Z
END:VEVENT

END:VCALENDAR

Parsing recomendado

LinguagemLib
Node.jsical.js ou node-ical
Pythonicalendar
Gogithub.com/arran4/golang-ical
PHPsabre/vobject
Rubyicalendar

Frequência de polling

CasoRecomendado
Calendário pessoal (Google, Apple)15-60 min (eles fazem por vocês)
Integração PMS5 min
Backfill inicialuma vez
Limite: 60 requests/hora por URL. Excesso responde 429 com Retry-After. Implementem cache local com ETag para reduzir tráfego.

Privacidade

  • Nomes de pacientes são truncados para primeiro nome + inicial: Maria S.
  • Telefones não aparecem (PII protegida)
  • Notas de paciente não aparecem
  • Cancelar URL → revogar acesso em qualquer momento via dashboard
Para acesso a dados completos (telefone, notas), usar Tier 2 (REST API).