Sync modes
Scheduled full sync
Seyaha runs a nightly full sync of all approved integrations. During a full sync:GET {base_url}/productsis called on your OCTO endpoint- The payload hash is compared to
last_sync_hash - If changed: all products and options are upserted;
sync.last_sync_atis updated - If unchanged: sync is recorded as
skipped: true— no writes occur
Webhook-triggered sync
For real-time catalog updates, call Seyaha’s inbound sync trigger webhook after you make changes to your catalog:Availability-only update
For slot-level availability changes (capacity, status, vacancies), use the availability notify webhook instead of triggering a full sync. It’s faster and doesn’t re-fetch the entire catalog.Checking sync status
cURL
sync.status | Meaning |
|---|---|
idle | No sync running; last sync completed successfully |
syncing | Sync in progress |
error | Last sync failed — see error_message |
Triggering a sync from your platform
Recommended sync strategy
| Event | Action |
|---|---|
| Product added or removed | Trigger sync/trigger webhook immediately |
| Product details changed (title, pricing) | Trigger sync/trigger webhook |
| Single slot availability changed | Send availability/notify webhook |
| Nothing changed | Let nightly sync handle it |