Skip to content

Application setup

Introduction

Application setup takes 2 steps: - setting up general parameters: name, description, visibility... - setting up pricings capabilities: base license, usage-based (API endpoints, counters...)

All can be done within 5 minutes!

General settings

Name (internal)

For internal use only and immutable. A good choice would be app.yourdomain.com

Label

Application public name. It can be changed afterward (for a rebranding for instance)

Online

Put your app live. By default an app is offline. Once you have verified all configuration you can set it online. Should you want to stop new user on-boarding for your app, you just have to switch it offline here.

Private

When an app is online, it is shown on apifew's boutique: it is a public app. But you can choose to make it private: app description and pricings will only be available with an URL.

Info

Private concept is also available for pricing plans.
You can choose to have public pricings and private ones, for specific clients.

Apifew API secret key

It is the key you need to include in header 'Apifew-Key' when your back-end needs to request apifew's API.

Test mode

Test mode allows all interactions with your app with triggering live transaction (ie payment).
If an app is in test, it is automatically switched to private.

Delete

All configuration regarding an app will be delete.
Only possible for apps without active end-user (ie. active license).

Support

This minimal information will be provided to your users in emails.

API routes & endpoints

If your application offers an API, its endpoints (route + method) need to be defined here.
Later, when defining a pricing plan, each endpoint will be linked to a given endpoint subpricing.

Info

You only need to define parent paths.

Description

Information defined in this page is optional, but it should be used if you want to: - insert apifew's cardboxes describing your pricing plans on your website
- create automatically a comparaison table between different pricing plans (visible features)
- use assigned licenses as a way to grant authorizations to end-users
- describe the application in apifew's boutique
- give minimal due-diligence informations to potential subscribers

Description

Tagline

Short (only few words) sentence to wake your audience up!

Description

Information that will be shown on fastonboarding or on boutique.

Keywords / Tags
Sector

Features

Features are more structured description parameters.
They have two functions: create a common ground at app level for pricing comparaison, and define authorization scopes.

Descriptive features

Best is to imagine a comparative table for an app with 3 pricings.
We would declare 4 features, set them as visible, and for each choose an internal name, a label and a value type as show in the following table.
Then, later when defining each pricing, we would will the respective values shown here in Pricing1, Pricing2 and Pricing3 columns.

internal name* Value type* Label Pricing1 Pricing2 Pricing3
10_usage text Usage Personal Commercial Commercial
20_max_users number Users included 1 10 1000
30_auto_backup boolean Automatic backup
40_support text Support 5x8 7x24

*fields are not shown to end-users
note that features are alphabetically ordered on internal name, so it's a good practice to prefix with number.

Authorization features

Features are also a way to define authorization scopes for each pricings.
By default features are visible, that means that they are included on pages where pricing plans are described.
But it is also possible switch off this parameter (uncheck visible) and make features information only available thru back-end API calls.
Additionnaly, it is possible to adjust features available for a given license (more details).

Subpricings

Subpricings are specific pricings applied to end-user usage: API requests, custom counters...

Endpoints subpricing

An endpoints subpricing allows to define buckets (for each currency) that will be applied to specific endpoints. It allows to define overruns, soft limits, hard limits depending on 3 variables: qty min, qty max and cost. see examples

Counters subpricing

Counters allow to gain in flexibility for usage-based invoicing. see examples

Pricing plans

A pricing plan can be viewed as a license schema: it defined a license charateristics and its related pricing.

private

If private, this pricing plan will not be available on fastonboarding nor boutique pages. But it is available via the direct url or via apifew's API.

online

If offline, no new purchase is available for this pricing plan. Licenses already sold will still remain active until expiry (if applicable).

frequency

A license can be perpetual (no time limit) or periodic (monthly or yearly). On the latter case, rolls are automatic.

migration

Each time a pricing plan is modified, its version number is increased by 1. It allows to change a pricing but leave current license owner with their current conditions (aka grand-father clause). If automigration is set, there is no such clause: at license expiry the new pricing will be applied (your users will automatically receive an email to inform them about such migration).

pricing

If an application is non-free, pricing buckets can be defined to setup volume discount. flat fee is mostly applicable for perpetual licenses subscription is applicable for periodic licenses, but a flat fee can also be set for the first period

Warning

Each bucket quantities must be contigous: qty min = previous bucket qty max + 1

trial & discount

A trial period can be set, in days. It is a good and widespread marketing practice to boost adoption. Switch from trial to normal license is automatic. Few days before the end of the trial, users will receive and email inform them the trial will soon be over, and invite them to setup a payment method.

A discount setup will soon be available.

endpoints

If an API is available, for each endpoints defined in General settings you can assign a specific subpricing.

counters

Custom counters can be defined and a corresponding subpricing assigned to it.
It allows to implement usage-based payment schemes.

Email templates

This area sets the template for emails received by end-users following various events (user creation, new license...) Default templates are defined but you can fine-tuned your communication by modifing such templates.

It is possible to provide variable names (between []) to be automatically replaced by given value when message is sent:

[:APP_LABEL:]
Application label (application public name as defined in General settings)
[:APP_CUSTOMERS_EMAIL:]
Customers support email
[:APP_URL_DOCS:]
Webpage URL for documentation
[:LICENSE_END_DT:]
License expiry date
[:LICENSE_ENROLL_DT:]
License start date (equivalent to trial start date if applicable)
[:LICENSE_LABEL:]
License label
[:LICENSE_OWNER_EMAIL:]
License owner's email
[:LICENSE_USER_EMAIL:]
License user's email
[:LICENSE_KEY:]
License user's key
[:OWNER_MAIL_KEY:]
Token needed to validate email (when user will setup/change his password)
[:LICENSE_TRIAL_END_DT:]
Trial period end date
[:USER_NAME_FIRST:]
User's first name (defaults to email if first name not available)
[:USER_NAME_LAST:]
User's last name (defaults to empty string if last name not available)

Multi-language

All application information can be setup in different languages. If a language is setup and matches end-user prefered language, it will be selected, otherwise English is default language.

Warning

Beware that app description and pricing plan information need to be specified in every language set.

Alert & reports

SSL cerficates

Just add domain or subdomain to have information and alerts related to certificate expiry.

Uptime hooks

Define API routes to check your application uptime. An expected response can be defined to fine-tune the check. Currently request use only POST method.

Results are available in Monitoring section.