SyncApp API — The Core Ingress Service
Why This Matters
SyncApp API is the gateway through which all PMS data enters the Weave ecosystem. Understanding its role, its upsert mechanism, HTTP streaming implementation, and its relationship to Data Service is fundamental to understanding the integration pipeline.
What You'll Learn
- SyncApp API's role: receive all incoming (ingress) data from SyncApps and forward to Data Service
- How Data Service is a gRPC-based web service storing data in a large Postgres DB (100+ instances, sharded by location)
- The upsert mechanism: check if data exists → update if yes, insert if no
- Record types: person (v2), appointment, and others — all generated from a code generation project
- How HTTP streaming works: send headers once, then stream payload repeatedly without re-authentication
- CSV upload feature: alternative path for uploading contact data as a CSV file
- Custom contacts (request for contacts): manual contact creation without PMS integration
Watch Video
Lesson Summary
SyncApp API is the most important repository in the integration stack — it's the single ingress point for all data from all SyncApps. It receives data and forwards it to Data Service via gRPC. Data Service stores everything in a Postgres database with 100+ instances, sharded by location. SyncApp API's primary operation is upsert: it checks if a record exists and updates or inserts accordingly — callers don't need to know the current state. Code for record types is auto-generated for consistency. HTTP streaming lets SyncApp send headers once and stream multiple payloads efficiently. Additional features include CSV uploads and custom contacts (manual contact creation).