Academy / Week 3 / SyncApp Code Flow & Creating a New Integration / Code Flow Part 5 — HTTP Client, APIs, Push Types & Full/Partial Sync

Code Flow Part 5 — HTTP Client, APIs, Push Types & Full/Partial Sync

Lesson 13.5⏱ ~10 minWeek 3

💡 Why This Matters

This final part ties together everything: how to create the HTTP client that talks to the PMS, how pagination works over API calls, how transformation feeds data to Data Service, and what push types are — a special mechanism for entities that can't be queried by time.

🎯 What You'll Learn

  • How to create a new integration: create folder → create HTTP client → create API methods → create entity transformers
  • How paginated API calls work: SyncApp loops over pages until all data is fetched
  • The transformation chain: raw PMS data → entity transformer → Data Service format
  • Push types: some entities (appointment types, recall types) can't be filtered by last-modified time — they use a push model instead
  • How full sync uses a 'never synced before' timestamp and partial sync uses the last-sync timestamp
  • What to implement for a new integration vs what the framework provides automatically

Watch Video

Open in Google Drive 💡 Open in Drive for AI-powered transcript search

📋 Lesson Summary

Creating a new integration requires: (1) new folder in the integrations directory, (2) HTTP client that authenticates with the PMS, (3) API methods per entity that handle pagination, (4) entity transformers that convert PMS data to Weave schema. The framework handles the sync loop — you implement fetch + transform. For most entities, partial sync uses last-modified time filtering. But some entities (appointment types, recall types) change infrequently and can't be queried by time — these use push types: they're fetched in full on every cycle and pushed to Data Service unconditionally. After full sync on first run, all subsequent syncs are partial for time-filterable entities.

🏷 Key Concepts

HTTP ClientPaginated API CallsEntity TransformerPush TypesNon-Time-Filterable EntitiesAppointment TypesRecall TypesNew Integration ChecklistFull Sync on First Run

Key Takeaways

01The new integration checklist: folder → HTTP client → API methods (with pagination) → entity transformers → register sync functions
02Pagination must be handled — never assume a PMS returns all records in one response
03Push types exist because some entities can't be filtered by time — always check before assuming partial sync works
04The transformer is the most important file to get right — bad transformations cause bad data in Weave
05After creating an integration, test it locally using the local SyncApp setup from Week 1 Module 4