Bản lưu ngày / Snapshot of 2026-10-10 · Xem bản mới nhất / See the latest version
WanduraDocsBeta
BetaThese docs are in beta and change often. Something wrong, unclear or missing? Tell us.
You are reading an older version of these docs: v1 · Go to the latest (v2)
Change history

History: Wandura Delivery API

Every change to this page, newest first. Expand an entry to see what changed.

← Wandura Delivery API

  1. 2 Oct 2026 · +21 −48 lines
    Show changes
      # Wandura Delivery API
      
    - The Wandura Delivery API lets your backend stream the short-drama films your organisation has licensed from Wandura. Your server reads your licensed catalog, asks Wandura for a short-lived playback ticket each time a viewer starts an episode, and hands that ticket to the player on the viewer's device. If your organisation also builds ad creatives on Wandura, the same API gives your marketing systems a feed of approved creatives.
    + The Wandura Delivery API lets your backend stream the short-drama films your organisation has licensed from Wandura. Your server reads your licensed catalog, asks Wandura for a short-lived playback ticket each time a viewer starts an episode, and hands that ticket to the Player SDK on the viewer's device. The same API delivers a feed of your approved ad creatives, and a lighter open video path for content with nothing to protect.
      
    - ## What the API gives you
    + ## What the API gives you {#what-the-api-gives-you}
      
      | Capability | Endpoint | What you get |
      |---|---|---|
    - | Licensed catalog | `GET /api/delivery/v1/catalog` | Every film and episode you may stream right now, with display order, free-episode rules and a readiness flag per episode. Metadata only, never a video URL. |
    - | Playback tickets | `POST /api/delivery/v1/playback` | A ticket for one episode, valid for 30 minutes, plus the episode's subtitles. |
    - | Creatives feed | `GET /api/delivery/v1/creatives` and `GET /api/delivery/v1/creatives/{id}` | A data record for each approved ad creative of your organisation, for syncing into your marketing systems. |
    - 
    - ## Base URL
    - 
    - ```
    - https://www.wandura.ai
    - ```
    - 
    - Use `www.wandura.ai`, not the bare `wandura.ai`. The bare domain redirects every request to `www`, and some HTTP clients drop the body or headers of a `POST` when they follow a redirect.
    - 
    - ## How it fits together
    - 
    - The API is server-to-server. Your API key lives on your backend; the viewer's device only ever receives a playback ticket for the episode it is about to play.
    - 
    - 1. **Catalog.** Your backend calls `GET /catalog` and builds its film list from the response. Do not keep a second film list of your own: two lists drift apart, and the result is titles that appear but will not play.
    - 2. **Playback ticket.** When a viewer taps an episode, the player on the device produces two device values. Your backend sends them, with the episode, to `POST /playback`. Wandura checks your licence for that film at that moment and returns a ticket.
    - 3. **Your player.** The device passes the ticket to the Player SDK, which fetches the encrypted stream and its keys and plays.
    - 
    - This is what one play looks like:
    - 
    - ```mermaid
    - sequenceDiagram
    -     participant Device as Viewer device (Player SDK)
    -     participant Backend as Your backend
    -     participant API as Wandura Delivery API
    -     participant Stream as Wandura streaming network
    -     Device->>Device: Viewer taps an episode
    -     Device->>Backend: Episode + device ID + device public key
    -     Backend->>API: POST /api/delivery/v1/playback (Bearer API key)
    -     API->>API: Check key scope and licence for this film
    -     API-->>Backend: vid, play_auth_token, expires_at, protection, subtitles
    -     Backend-->>Device: vid, play_auth_token, subtitles
    -     Device->>Stream: Player SDK loads the encrypted stream and keys
    -     Stream-->>Device: Video plays
    - ```
    + | Licensed catalog | `GET /api/delivery/v1/catalog` | Every film and episode you may stream now: display order, free-episode rule, readiness per episode. Metadata only. |
    + | Playback tickets | `POST /api/delivery/v1/playback` | Up to 3 tickets per call (an episode and the next two), each valid 30 minutes, with the episode's subtitles. |
    + | Creatives feed | `GET /api/delivery/v1/creatives`, `GET /api/delivery/v1/creatives/{id}` | A record per approved ad creative of your organisation. |
    + | Open video | `GET /api/delivery/v1/videos`, `GET /api/delivery/v1/videos/{id}` | Signed MP4 links for content with no rights to protect. |
    + | Configuration | `GET /api/delivery/v1/config` | Your limits, versions, playback settings and deprecations, for your key. |
      
    - The key that decrypts the video is bound to the viewer's device. It never passes through your backend or appears in the API response.
    + Base URL: `https://www.wandura.ai` (with `www`). Server-to-server only. Everything you can rely on, in one place: [Canonical API behaviour](reference/behaviour.md).
      
    - ## Creatives feed
    + ## Where to start {#where-to-start}
      
    - If your organisation builds ad creatives with Wandura (for example on partner.wandura.ai), approved creatives appear in the creatives feed. Each record describes the creative: film, episodes and scenes used, format, duration, hook, formula and rights end date. The feed never contains a media URL. See [Creatives](concepts/creatives.md).
    + WDBLOCKCARDS0WD
      
    - ## Next steps
    + ## The API at a glance {#at-a-glance}
      
    - - [Quickstart](quickstart.md): make your first calls in a few minutes.
    - - [Authentication](authentication.md): API keys and scopes.
    - - [Catalog](concepts/catalog.md), [Playback](concepts/playback.md) and [Creatives](concepts/creatives.md): how each part works.
    - - [Errors](concepts/errors.md) and [Rate limits](concepts/rate-limits.md): what can go wrong and how to handle it.
    - - [API reference](reference/overview.md): every endpoint, parameter and field.
    + | Topic | Read |
    + |---|---|
    + | Keys and scopes | [Authentication](authentication.md) |
    + | Keeping it safe | [Security](concepts/security.md) |
    + | What can go wrong | [Errors](concepts/errors.md), [Rate limits](concepts/rate-limits.md) |
    + | The app side | [Player SDK](player-sdk/index.md) |
    + | Testing | [Testing](guides/testing.md) |
    + | Going live | [Go-live checklist](production/go-live.md) |
    + | Every endpoint | [API reference](reference/overview.md) |
    + | What changed | [Changelog](https://docs.wandura.ai/changelog) |
  2. 1 Oct 2026 · +1 −1 lines
    Show changes
    ⋯
      |---|---|---|
      | Licensed catalog | `GET /api/delivery/v1/catalog` | Every film and episode you may stream right now, with display order, free-episode rules and a readiness flag per episode. Metadata only, never a video URL. |
    - | Playback tickets | `POST /api/delivery/v1/playback` | A ticket for one episode, valid for a short time, plus the episode's subtitles. |
    + | Playback tickets | `POST /api/delivery/v1/playback` | A ticket for one episode, valid for 30 minutes, plus the episode's subtitles. |
      | Creatives feed | `GET /api/delivery/v1/creatives` and `GET /api/delivery/v1/creatives/{id}` | A data record for each approved ad creative of your organisation, for syncing into your marketing systems. |
      
    ⋯
  3. 29 Sept 2026 · Page created
↑↓ selectEnter openEsc close

Send feedback

Your message goes straight to the Wandura team. It includes the address of this page.

0 / 4000