NetSuite → ActiveCampaign sync
- ns_auth.php — one-time NetSuite authorization
- setup.php — preflight: auth + cache custom-field tag→ID map
- fetch AC accounts (cached: 10,305 / 10,305)
- fetch AC contacts (cached: 300 / 115,972)
~1,160 calls, resumable — reload if it times out
- fetch NetSuite (customers: —, contacts: —)
- match.php — build both sync lists
- review.php — check the lists, uncheck rows
- apply.php?dry=1 — dry run, sends nothing
- live write:
apply.php?dry=0&confirm=WRITE
selftest.php — verify the matching rules