1. A carga inicial
Leia tudo uma vez, em ordem de atualização, e guarde oupdatedAt da última ficha.
2. A atualização
De tempos em tempos (de hora em hora, de noite), rode a mesma função com oupdatedSince guardado. Ela devolve só o que mudou.
3. Os eventos no meio do caminho
Para não esperar a próxima rodada, assinepatient.created, patient.updated, patient.archived, patient.restored e patient.merged. O evento traz só o id: busque a ficha com GET /v1/patients/{id} e atualize.
changedFields vem quando a mudança passou pelo cadastro: ajuda a decidir se vale buscar a ficha.
O que guardar
- O
idda Westhetics ao lado do seu. Ele é a chave estável da ficha. mergedIntoId: quando a gestora unifica duas fichas da mesma pessoa, a que sai ficamergede aponta para a que fica. Una no seu lado também.- O CPF não é chave. Uma pessoa pode ter documento estrangeiro, ou nenhum.
Criar sem duplicar
Antes de criar, busque por CPF, WhatsApp ou e-mail comsearch. Se mesmo assim duas criações se cruzarem, o 409 traz a ficha que já existe em error.existing.id. Use Idempotency-Key em todo POST.