Great question Chris,
1. If we want to write the app once and use it for multiple customer accounts, does each customer have to register for a developer account and get a unique app key and app secret or can we use the same ones generated for our app under our developer account?
ANSWER: No, you write one app which provides each customer to login with their RingCentral account and manages the various customer sessions server-side, the running instance of your app will then have an access_token for that user via your app (which contextualizes all subsequent calls to the RingCentral API for the logged in customer that use that access_token).
The RingCentral Connect Platform is built to achieve your exact use-case. To have your app be available (once it has been approved for production use) to multiple customer accounts make sure to set the Scope of your app to "Public" (available during app initialization, and post-init by editing the app's info). You can achieve all of this on the
Applications view of the Developer Portal by either:
1. Registering a New App
OR
2. Choosing an already defined app from the list