We use Heroku for some external auto-scaling. Zapnito also has auto-scaling in place. For example: if you go over 500 requests per minute, we will go from 2 dynos to 3 dynos. We always have 2 web servidors running as internal policy, which is not needed with Heroku as they will provision you new dynos if one fails.
The reason for this is so that we are not fully dependent on Heroku's monitoring system which helps us to avoid down time were a dyno to fail. This is why we keep 2 servidors running at a minimum - in order to prevent any impact from 1 reaching full capacity.
Zapnito customers have the ability to integrate their websites with payment tools for memberships and/or subscriptions, as well as for courses and sponsorship. This also allows for different categories of members (i.e. basic, paid, expert, etc). There is no need for manually sending out links to attendees: once payment has been processed, attendees will receive an e-mail from the invitation API. Discounts may be able to be applied case by case.
There are limitations on traffic/bandwidth, which can be found in our excess usage clauses in our video-related agreement. These state that: If you are publishing more than 10000 minutes of videos per month, there will be an additional charge of 10 pounds per minute (excess usage fees). We do not currently have an 'all-you-can-eat' option (this is to protect against excessive usage). Additional features/costs would include: custom development, implementation, courses, panels, integrations, GoSquared and Single Sign-On. Most of our agreements are for a duration of 3 years.
API is Single Sign-On - there is an area where we can send notifications to your 3rd party app. For example, if you have a newly registered user, we can use that as a trigger to send data to your salesforce. The other type of APIs are just search-based.
A lot of the front-end involves using a single page application framework (Ember .js), which uses a lot of APIs, however those are private APIs to the app. The APIs shown in the API documentation are different than the APIs user by Zapier as they are different sets, both of which are designed for public use. The main difference between the two is how you are authenticating.
We are currently working on introducing Graphql as an API technolgy, as well as introducing it to the admin pages. Once it is mature enough, it will become more of a client-facing API for Graphql.