research/transjakarta-live-data/sources.md
hermes 3a518be39f Add transjakarta-live-data research topic
Verified TransJakarta realtime stack: anonymous MQTT bus feed (wss://mqtt.tj.co.id:8084/mqtt), guest REST API (tijeapi.transjakarta.co.id), official GTFS. Cross-capture verification vs third-party tracker, connection recipes, snapshot tool.
2026-10-12 09:34:23 +00:00

30 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Sources
★ = directly verified during this investigation (Oct 11–12, 2026). Unmarked items are community-documented leads, not yet re-verified.
## TransJakarta services
- ★ `https://tijeapi.transjakarta.co.id` — official app ("TJ:Transjakarta" / Tije) REST backend. Guest login works: `POST /v1/auth/login/guest`. (~105 endpoints total per open-tj; only the bus endpoints verified here.)
- ★ `wss://mqtt.tj.co.id:8084/mqtt` — live bus feed; MQTT 3.1.1 over WebSocket Secure, anonymous access.
- ★ `https://gtfs.transjakarta.co.id/files/file_gtfs.zip` — official GTFS zip (~2.4 MB). Portal UI is login-gated; the file URL itself is open. Version observed: 27 Jul 2026.
- ★ `https://bustrack.transjakarta.co.id` — TJ's own tracker web app, built on Traccar (stock UI + API surface). `/api/session` returned 404; access looks restricted. Separate system from the Tije feed.
- `https://chatbot.transjakarta.co.id/ws/` — "Tara" AI chatbot WebSocket (JWT) — documented by open-tj.
- `https://tije-dashboard.transjakarta.co.id` — login page for the app's admin dashboard.
## Third-party projects (how the stack became known)
- `https://github.com/mugnimaestra/tj-live` — SvelteKit tracker. Source documents broker URL, guest JWT flow, `POST /v1/bus` topics, Bus schema.
- `https://github.com/BroNils/open-tj` — Go SDK/CLI. Documents "MQTT anonymous", "~105 REST endpoints", Tara chatbot, Kong gateway.
## Investigation target (origin of this research)
- `https://transit.oyenza.com` — "Bus Jakarta Live", independent third-party tracker ("Tidak berafiliasi" — not affiliated). Serves TransJakarta's feed through its own backend:
- browser stream `wss://transit.oyenza.com/api/live` (custom protocol)
- REST: `/api/bus/<fleet-no>`, `/api/halte/<stop-id>`, `/api/stats`, `/api/meta`, `/api/places`
- `static.json` cites the official GTFS URL as its static source
- Related domains: `transit.vantis.sh` (alias), `vantis.sh`, `oyenza.com` — same developer.
## Context
- App launch coverage: "Transjakarta launches new app with accurate bus tracking", The Jakarta Post, 2024-09-24 (headline as seen in search results).
- Official app listings: Play Store `com.transjakmobile`, App Store "TJ:Transjakarta".