# Before you start

> **TL;DR** — To stream Wandura films your team needs three things ready before coding: an organisation on partner.wandura.ai with licences for your films, a **Player SDK licence** for each app, which your organisation pays for (list price about **US$2,860 per app per year** for iOS + Android), and your final app IDs. Then you build two pieces: a **backend** that syncs the catalog and requests playback tickets, and an **app** that plays episodes through the Player SDK. The full path is in the [integration guide](https://docs.wandura.ai/developers/integration-guide).

> **Note:** Showing only videos with no rights to protect (for example fitness clips)? The [open video](https://docs.wandura.ai/developers/open-video) path (coming soon) needs no Player SDK licence.

## 1. Prepare (no code yet)
| Ready? | Item | Why you need it | Details |
|---|---|---|---|
| ☐ | Organisation on partner.wandura.ai + the email of its **Admin** | Every key and licence belongs to it | [Integration guide · Phase 0](https://docs.wandura.ai/developers/integration-guide#phase-0) |
| ☐ | Emails of your backend developers | They get the **Developer** role to manage keys | [Roles](https://docs.wandura.ai/partners/roles) |
| ☐ | The list of films and licence dates in your agreement | The catalog shows only films your licence covers | [Catalog](https://docs.wandura.ai/developers/concepts/catalog) |
| ☐ | **Final** iOS bundle ID and Android package name | The Player SDK licence is tied to them and cannot be moved to other IDs later | [Player SDK licence](https://docs.wandura.ai/developers/before-you-start#player-sdk-licence) |
| ☐ | Your environments (for example staging and production) | Each one needs its own playback key, which your developers create themselves | [Authentication](https://docs.wandura.ai/developers/authentication) |
| ☐ | Budget for the Player SDK licence: your organisation pays for it | Agree the tier and start date with Wandura | [Player SDK licence](https://docs.wandura.ai/developers/before-you-start#player-sdk-licence) |
| ☐ | Access to your team's Wandura Discord channel | Onboarding, licences and go-live all happen there | [Get onboarded](https://docs.wandura.ai/developers/before-you-start#get-onboarded) |

## 2. Get onboarded
Each partner team works with Wandura in **its own Discord channel**: your team's Wandura Discord channel. Onboarding runs in the six steps below, in this order. Each step starts once Wandura has what it needs from you.

| Step | What happens | What you send |
|---|---|---|
| 1. Ask | You post in your team's Wandura Discord channel that you are ready to integrate. | Your organisation name and the email of the person who will be its **Admin**. |
| 2. Organisation and members | Wandura creates your organisation on [partner.wandura.ai](https://partner.wandura.ai) and invites your Admin and your developers. Developers get the **Developer** role. | The emails of your backend developers. |
| 3. Test organisation and film licences | Wandura decides whether you test in a separate test organisation, and licenses the films you test with to the organisation you test in. | The films you want to test with, from your agreement. |
| 4. Player SDK trial | Wandura registers your app IDs and issues a trial Player SDK licence. You get access to the Player SDK guide: it is available after onboarding, on the portal, under partner.wandura.ai → **Developers** → **Player SDK** (sign-in required, **Developer** or **Admin** role). | Your final iOS bundle ID and Android package name. |
| 5. Staging keys | Your developers create their staging keys themselves on the **Developers** page, the playback key included (**Stream films in an app**). If a playback key leaks, anyone can stream your licensed films, so revoke it immediately. | Nothing: no request to Wandura is needed. |
| 6. Production key and paid licence | At go-live, your developers create the production playback key the same way, and the paid Player SDK licence replaces the trial. | The result of your [test plan](https://docs.wandura.ai/developers/integration-guide#phase-5) and your planned go-live date. |

## 3. Player SDK licence and price
Episodes are encrypted, so your app must play them with the Player SDK. A standard HLS player cannot decrypt them. Wandura registers your app IDs and issues the Player SDK licence; your organisation pays for it.

| Licence | Covers | List price | Notes |
|---|---|---|---|
| **Standard** — mobile | iOS **and** Android of **one** app (one bundle ID + one package name) | about **US$2,860 per app per year** | Enough to play Wandura's encrypted films. |
| Premium — mobile | Same, with extra vendor features | about US$32,790 per app per year | Not needed for Wandura films. |
| Web player | Web | no licence fee at list price | Check with Wandura before planning a web app. |
| Trial | One app, for testing | free, about 30 days | Upgrading a trial to a paid licence does **not** require a new app release. |

- **One licence per app.** Two different apps need two licences, even if they come from the same company.
- **IDs are final.** Changing the bundle ID or package name after the licence is issued is not supported: the app loses the right to use the SDK.
- **Prices change.** The figures above are list prices. Your agreement with Wandura sets the real price.

## 4. What your backend builds
| Build | What it does | Details |
|---|---|---|
| ☐ Key storage | Keeps Wandura API keys on your servers only, never in the app | [Authentication](https://docs.wandura.ai/developers/authentication) |
| ☐ Catalog sync job | Polls the catalog every 15–60 minutes and stores films and episodes in your database | [Phase 2](https://docs.wandura.ai/developers/integration-guide#phase-2) |
| ☐ Films + episodes tables | Your own copy of titles, posters, order, free episodes and availability | [What to store](https://docs.wandura.ai/developers/integration-guide#what-to-store) |
| ☐ Ticket endpoint in your API | Checks your viewer and your paywall, then asks Wandura for a ticket for one episode | [Phase 3](https://docs.wandura.ai/developers/integration-guide#phase-3) |
| ☐ Prefetch + retry | Requests tickets for the next two episodes; replaces expired tickets | [Prefetch](https://docs.wandura.ai/developers/integration-guide#prefetch) |
| ☐ Error mapping + monitoring | Turns API errors into viewer messages; watches error rates | [Errors](https://docs.wandura.ai/developers/concepts/errors) |

## 5. What your app builds
| Build | What it does | Details |
|---|---|---|
| ☐ Player SDK integration (per platform) | Plays encrypted episodes; the Player SDK guide on the portal names the calls | [Playback](https://docs.wandura.ai/developers/concepts/playback) |
| ☐ Device values | Reads two values from the SDK and sends them with each ticket request | [Device values](https://docs.wandura.ai/developers/concepts/playback#send-the-device-values) |
| ☐ Paywall screens | Free episodes, unlock, subscription — your rules | [Paywall first](https://docs.wandura.ai/developers/integration-guide#paywall-first) |
| ☐ Subtitles | Loads the WebVTT files listed in each ticket | [Subtitles](https://docs.wandura.ai/developers/integration-guide#subtitles) |
| ☐ Viewer messages | What the viewer sees for each error | [Viewer messages](https://docs.wandura.ai/developers/integration-guide#viewer-messages) |

## 6. Before go-live
- ☐ Staging passes the [test plan](https://docs.wandura.ai/developers/integration-guide#phase-5).
- ☐ Production key and paid Player SDK licence are in place.
- ☐ The [go-live checklist](https://docs.wandura.ai/developers/integration-guide#go-live-checklist) is done with Wandura.
