Skip to main content

Zoom Integration Specs

Zoom Integration Background And Specs

Background: See this video

**FOR TESTERS: \

  • **To understand what each app is supposed to do, see the listings:

Forms, Popup, Donation Buttons

THEN, to test each App

Staging - “Staging” version of production App

https://zoom.us/oauth/authorize?response_type=code&client_id=densbsORsOQpXbufQK_Dw&redirect_uri=https://www.powr-staging.io/zoom/redirect

Production

Xc

DONATION BUTTON \ Local https://zoom.us/oauth/authorize?response_type=code&client_id=thTFaQnMRzypBp9rGmSSHQ&redirect_uri=https://localhost:3000/zoom/redirect?app_type=zoomDonationButton

Staging - “Staging” version of production App

https://zoom.us/oauth/authorize?response_type=code&client_id=v1nahdQxRdm_YBu6aaaH5w&redirect_uri=https://www.powr-staging.io/zoom/redirect?app_type=zoomDonationButton

Production

https://zoom.us/oauth/authorize?response_type=code&client_id=egPslTN3TDuBoOFFCc8ccA&redirect_uri=https://www.powr.io/zoom/redirect?app_type%3DzoomDonationButton

POP UP \ Local https://zoom.us/oauth/authorize?response_type=code&client_id=c8P05DNfT5mAujsTAWyzLg&redirect_uri=https://localhost:3000/zoom/redirect?app_type=zoomPopUp

Staging - “Staging” version of production App

https://zoom.us/oauth/authorize?response_type=code&client_id=xBjca4jrTLuTvIcPN2c0w&redirect_uri=https://www.powr-staging.io/zoom/redirect?app_type=zoomPopUp

Production

https://zoom.us/oauth/authorize?response_type=code&client_id=YcAxgIoIRbqGF3jacRWD4A&redirect_uri=https://www.powr.io/zoom/redirect?app_type%3DzoomPopUp

Testing sheet: https://docs.google.com/spreadsheets/d/1dDqFONEHFr2Y9xqAEzJMMvkOHjCBN0AXPtvh4p0Aqks/edit?usp=sharing

SPECS

When installing zoom app:

  • After authenticating, I should be taken to users/me
  • Users/me should show a helpful banner to tell me registration forms have been auto created and provide FAQ for common questions
  • One app should be generated for each upcoming zoom meeting i have in my zoom account
  • One app should be generated for each upcoming zoom webinar i have in my zoom account
  • When reloading users/me or returning from zoom marketplace, no duplicate apps should be created
  • When creating a new zoom meeting or webinar and then reloading users/me, a new app should be created for that meeting
  • If over an hour has passed since first authorizing soom, above case should still work (This verifies the auth refresh token works correctly)
  • As an end user submitting a zoom registration form, donation button, or popup, i should receive a nice email with a clickable button to join the meeting

FOR DEVS

What you need to make this work on local or production server

  • Set ZOOM_CLIENT and ZOOM_SECRET in encrypted yml

FUTURE NICE TO HAVE NOTES

  • Existing users currently can’t log in because of security measure...we should have some flow to resolve this
  • Hande deauthorization webhooks
  • Zoom bugs found by Marco when you install, uninstall, and then reinstall an app: https://docs.google.com/document/d/1VJIm9u-dd9n66_naEUZMvc7wpNl1eKlOVlGNo0-S1ws/edit?ts=5ec6fab2
  • nice links to add to popular calendar services
  • dealing with more than 100 meetings (edge case)
  • when end user submits, create a “registrant” on zoom
  • approve/disapprove registrants using form response dashboard
  • the length of the agenda field gets truncated to 250 characters. Could we at least handle this more gracefully?
  • put all zoom api calls in a single module