You rely on ...Pricing
DjaoDjin Open Source technology but manage everything yourself Free
DjaoDjin professional team for managed hosting of a SaaS product Pricing
Custom deployments and service level agreements Professional services

How does it work?

DjaoApp acts as a subscriber session manager between a browser client and your backend application. DjaoApp implements all registration, payment and user profile pages.

Technically DjaoApp intercepts HTTP requests from the client to your product. DjaoApp will authenticate users, process payments and run the 80% of boiler plate code required to run a business on the Internet. DjaoApp will only forward validated requests, augmented with session information, to your product.

Read the detailed technical documentation »

How do I create my Software-as-a-Service product?

How do I get my API Keys?

There are two set of API Keys for any project you host on DjaoDjin:

  • The API key to authenticate with the project's website (ex: livedemo.djaoapp.com)
  • The API key to authenticate with the DjaoDjin control panel (i.e. api.djaodjin.com)

In both cases, you can get an API key by login onto the respective websites (your project website for the project API Key and djaodjin.com for the control panel), then go to your Profile and click on Reset API Key at the bottom of the page.

You will need the project's website API key to setup a DevOps workflow to upload a custom theme, while you will need the control panel API key to setup a DevOps workflow to deploy server-side business logic.


How do I deploy my code?

To deploy an application on DjaoDjin, you will need to

  1. Insert code at the entry point of your application HTTP request pipeline to unpack the session information passed by the DjaoApp proxy.
  2. Package your application as a Docker container
  3. Click the deploy button or call the API endpoint

You can find details on each step in Deploying an Application. If you are developing a Software-as-a-Service with Python/Django, we have made it even easier to integrate a Django project with DjaoApp session tokens.


Where do I find API reference documentation?

There are two sets of API references

  1. DjaoDjin managed hosting API reference to deploy containers.
  2. DjaoApp API reference for your web front-end to interact with the accounts & billing workflows.

How do I define access rules for my application?

Logging into your site (ex: mydemo.djaoapp.com), then on the dashboard, click on the Rules link in the sidebar menu.

Configure the URL patterns and access rules.

Rules are checked in order from the top to bottom. DjaoApp will present login and pricing pages as necessary. Your application only has to deal with requests which are matched against the rules setup here. Learn more...

Example use cases:


How do I setup my own domain?

Setting up your own domain is often one of the most complex challenges for non-technical business people. It requires multiple independent third party services to be configured to work together.

  1. Update the settings at your DNS provider to send requests to the DjaoApp firewall (ex: mydemo.djaoapp.com).
  2. Upload the SSL certificate and private key for your domain

Read our detailed post on the subject of Secure whitelabel domains ».


How do I customize the default theme?

Live editing

You can easily update the layout and colors of the registration, pricing and payment pages online directly on the live website. Watch a video »

  1. Go to the Themes settings page (click on your username in top right of the menubar, then Settings in the drop-down menu, then Themes in left sidebar.),
  2. Click Enable edition toolbar,
  3. Browse to a page you want to edit and use the tools.

Uploading templates

You can as easily update your own templates and assets.

For technical details on the convention your templates must respect in order to integrate nicely into the DjaoApp reverse proxy, read the the default theme structure ».


How do I customize workflows?

DjaoApp implements accounts & billing workflows which are most common in Software-as-a-Service product (ex: Checkout workflow) in such a way that the complexity can be introduced gradually as your business evlove.

Marketing will spend a lot of time on landing pages, call-to-action (CTA) and on-boarding workflows. Implementing a product to ask for information and offer functionality one step at a time is actually not so straightforward. Here is a tutorial on how to implement frictionless onbaording using DjaoApp.


General

Why did I get a "You were added as a profile manager..." email?

The person who triggered the email to you is a profile manager of your organization’s information on the site. They wish to grant you similar access rights on the system to theirs.

As a profile manager, you have administrative access to the site, which allow you to invite other parties to be:

  • update profile information (primary contact e-mail address, logo, etc.)
  • manage profile subscriptions and billing information
  • invite other parties through various roles (profile manager, etc.)

The person who triggered the email should follow-up with you to explain why they are inviting you to be a profile manager.

Read more about profiles and roles »


How do I look up a subscriber?

Either on the phone or by e-mail, the first thing you will want to do when a subscriber requests support from you, is to pull up their profile.

Click on your username on the right in the top menubar, then click Settings. You will land on the main dashboard page (also accessible from the sidebar menu at that point).

Under Find a User, search by username, email or given name, then click on the customer profile link to browse to their subscriptions and billing history. You can easily update information and refund transactions when necessary with a simple click.

Read more about


How do I setup discounts?

Discounts are an integral part of running any business. You can set two kind of discounts on DjaoDjin.

  1. Coupon codes
  2. Advance period discounts

Coupon codes can be used to customize discounts for one client or a group of select clients. For example, create a coupon code and then give them out automatically to all customers that have purchased more than $300 in a year.

Coupon code discounts let you find the right price point for your subscription. For example, a 20% discount could generate $5000 in sales, but a 30% discount could generate $10000 in annual sales.

Coupon codes can also be used for live testing. Create a 100% coupon code and hand it out to early beta testers before the product is available for general use. You can read about this lesson and others on the DjaoDjin blog »

Another set of discounts are for payment of advance periods. The time value of cash is critical to your business so you will want to reward the monthly subscribers that pay six months, a year or two years in advance.

In order to do that, browse to the edit plan page and set an Advance discount percentage greater than zero. All customers subscribing to the plan will then see an additional page at checkout where they will be given the opportunity to buy advance periods at a discount.


How do I set up group billing?

A business that serves professionals or enterprise customers always has to deal with a distinct payer and subscriber. The person authorizing payments to your service is often not the person using your service day-in and day-out.

DjaoDjin supports this scenario by providing a GroupBuy option nicely integrated into the discount code payment flow.

A group buyer first registers normally to the site. She will update her profile to enable GroupBuy before moving on to the payment screen.

When GroupBuy is enabled, the group buyer can add all the subscribers she wants. She, however, is the one that will pay for those subscriptions. The subscribers she adds will receive a link to their subscription in their email. The subscriber will not be billed or notified of the billing. Only the Group Buyer.

A group member only has to click on the link received in the email, register (or login if they were already registered), click through the no payment required page and start using their subscription.

Watch it in video on a streetside site »