# Pangkalahatang-ideya ng API

Nagbibigay ang DailyPlay ng API na nagbibigay-daan sa **third-party applications** na programmatically gumawa
ng one-time game sessions para sa kanilang users. Perpekto ito para sa CRMs, marketing platforms, e-commerce
systems, at anumang application na gustong mag-alok ng DailyPlay games sa mga end users nito sa controlled
na paraan.

:::note[Business Tier Required]
Available lang ang API feature para sa mga organisasyon sa
**Business tier** o mas mataas.
:::

:::caution[I-enable ang "Require API Session Token"]
Para magkabisa ang session tokens, kailangan mong i-enable
ang setting na **"Require API Session Token"** sa bawat game o stream sa **Configuration** tab.
Kung hindi naka-enable ang setting na ito, magiging playable ang mga laro nang walang token restrictions.
:::

## Paano Ito Gumagana

Sumusunod ang integration flow sa simpleng pattern:

1. **Ang iyong server** ay gumagawa ng one-time session token gamit ang iyong API key
2. **Ang iyong app** ay nire-redirect ang end user sa game URL na may token
3. **Bineberipika at kinokonsumo ng DailyPlay** ang token — isang beses lang maglalaro ang user
4. Single-use ang token at hindi maaaring i-replay

```
Your App                          DailyPlay
────────                          ─────────
   │
   │  1. Create session (x-api-key)
   ├─────────────────────────────────►  POST /api/org-api-keys/sessions
   │                                        │
   │  2. Receive one-time token             │
   ◄────────────────────────────────────────┘
   │
   │  3. Redirect user with token
   ├─────────────────────────────────►  Player opens game URL
   │                                    with ?session_token=<token>
   │
   │                                   4. Token validated & consumed
   │                                   5. User plays the game
   │                                   6. Token cannot be reused
```

## Mga Pangunahing Konsepto

### API Keys

Nag-a-authenticate ang API keys ng iyong server kapag tumatawag sa DailyPlay API. Ang bawat key:

- Pag-aari ng isang organisasyon
- Maaaring i-scope sa partikular na games o streams
- May configurable rate limits
- Maaaring i-revoke agad

Tingnan ang [API Keys](/fil/api/api-keys/) para sa setup at management details.

### Session Tokens

Ang session tokens ay one-time-use tokens na nagbibigay ng isang play. Sila ay:

- Ginagawa sa pamamagitan ng iyong API key
- Nag-e-expire pagkatapos ng configurable duration (default: 24 oras)
- Maaari lang konsumin nang isang beses
- May dalang opsyonal na metadata para sa tracking

Tingnan ang [Session Tokens](/fil/api/session-tokens/) para sa buong lifecycle at API reference.

### Stream Status (public)

Maaaring tawagan ng site at app owners ang **public** availability endpoint (walang API key) para magdesisyon kung
ipapakita ang stream overlay o Play button ngayon. Tingnan ang [Stream Status API](/fil/api/stream-status/).

## Mga Use Case

- **E-commerce**: Gantimpalaan ang customers ng game play pagkatapos ng purchase
- **CRM campaigns**: Magpadala ng personalized game links sa segmented audiences
- **Loyalty programs**: Magbigay ng daily game play sa loyalty members
- **Event marketing**: Magpamahagi ng one-time game access sa events o sa pamamagitan ng QR codes
- **Conditional overlays**: Magpakita ng stream widget lang habang active ang campaign stream

## Mabilisang Halimbawa

```bash
# 1. Create a session token from your server
curl -X POST https://app.dailyplay.ai/api/org-api-keys?action=create-session \
  -H "Content-Type: application/json" \
  -H "x-api-key: dpk_YOUR_API_KEY" \
  -d '{
    "game_id": 42,
    "external_ref": "user-12345",
    "expires_in_minutes": 60
  }'

# Response:
# {
#   "success": true,
#   "data": {
#     "token": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
#     "game_id": 42,
#     "expires_at": "2026-02-17T12:00:00.000Z"
#   }
# }

# 2. Redirect the user to:
# Game Page in DailyPlay
# https://app.dailyplay.ai/game/42?session_token=a1b2c3d4-e5f6-7890-abcd-ef1234567890
#
# Iframe friendly game page with no DailyPlay UI
# https://app.dailyplay.ai/embed/42?session_token=a1b2c3d4-e5f6-7890-abcd-ef1234567890
#
# Stream Page
# https://app.dailyplay.ai/stream/<org-slug>/<stream_id>?session_token=a1b2c3d4-e5f6-7890-abcd-ef1234567890
```

## MCP para sa AI Agents

Ang parehong API keys ay maaaring magpatakbo ng remote **MCP server** para makagawa ang agents sa Cursor, Claude, at iba pang clients
ng mga laro, pamahalaan ang streams, gumawa ng assets, pamahalaan ang gallery media at vouchers, magbasa ng reports,
at mag-mint ng sessions. I-enable ang MCP scopes sa key, pagkatapos ituro ang iyong client sa
`https://app.dailyplay.ai/api/mcp`.

Tingnan ang [MCP Server](/fil/api/mcp/) at ang [MCP Tools Reference](/fil/api/mcp-tools/).

Para sa parehong capabilities sa loob ng dashboard (walang kinakailangang API key), tingnan ang
[in-app Assistant](/fil/assistant/overview/).

## Mga Susunod na Hakbang

- [Gumawa ng API Key](/fil/api/api-keys/) mula sa DailyPlay dashboard
- [Alamin ang session token lifecycle](/fil/api/session-tokens/)
- [Suriin ang stream availability](/fil/api/stream-status/) bago magpakita ng embeds
- [Ikonekta ang AI agent sa pamamagitan ng MCP](/fil/api/mcp/)
- [Gamitin ang in-app Assistant](/fil/assistant/overview/)
- [I-browse ang API reference](/fil/api/reference/)