Skip to content

Syncs Page

Purpose

The Syncs page shows every sync event processed by NOMA Sync: Givebutter, Square, and Mailchimp. You can filter by source, status, and date, open a row for full details, resolve errors, and resync where supported.

What You See

  • Table (or list): Rows for each sync with columns such as: time, source (Givebutter / Square / Mailchimp), status (success, failed, skipped, etc.), external_id, and optionally a summary.
  • Filters: Source, status, date range (or date_from / date_to), search (e.g. by external_id or query).
  • Pagination: Limit and page (e.g. 50 per page).
  • Detail modal: Click a row to see full payload, error message, external_ids (e.g. Order, Customer, LGL constituent/gift IDs).

Statuses

StatusMeaning
successSync completed; constituent/gift created or updated in LGL.
failedSync failed (e.g. LGL error, validation). Error message in detail.
skippedSkipped (e.g. idempotent – already synced, or duplicate external_id in LGL).
retryWill be or was retried.
recoveredMissed by webhook but picked up by polling.

Actions (Admin+)

  • Resolve – Mark a failed or problematic row as “resolved” (e.g. after fixing in LGL or deciding to ignore). PATCH /api/syncs/:id/resolve.
  • Resync – For some sources (e.g. Square, Givebutter), trigger a manual resync from the detail view or row action. This re-runs the sync logic (e.g. Square resync: POST /api/square/orders/:orderId/resync).

API

  • GET /api/syncs – List syncs with query params: status, source, date_from, date_to, page, limit, sort, order, q (search).
  • GET /api/syncs/:id – Single sync by UUID (for detail modal).
  • PATCH /api/syncs/:id/resolve – Mark as resolved (admin/super_admin).

Tips

  • Use source filter to see only Givebutter, Square, or Mailchimp.
  • Use status: failed to find errors that need attention.
  • Use external_id or search to find a specific transaction or order.