| summary | Tracking Worker internals (routes, schema, keys) | ||
|---|---|---|---|
| read_when |
|
Location:
- Worker source:
internal/tracking/worker/src/ - Schema:
internal/tracking/worker/schema.sql
Expected bindings:
- D1 database binding:
DB - Secrets:
TRACKING_KEY,TRACKING_KEY_V<N>,TRACKING_CURRENT_KEY_VERSION,ADMIN_KEY
wrangler.toml is the local template; deployments set the real D1 database id.
TRACKING_KEY remains as the current-key fallback for legacy deployments and legacy unversioned tracking ids. New rotated deployments also set TRACKING_KEY_V1, TRACKING_KEY_V2, etc. The Worker reads the one-byte version prefix from new tracking ids, uses the matching TRACKING_KEY_V<N> when present, and falls back through active keys for older unversioned ids.
-
Pixel:
GET /p/<tracking_id>.gif- Validates/decrypts
tracking_id, stores an open row, returns a transparent GIF.
-
Query:
GET /q/<tracking_id>- Returns opens for that tracking id (no auth).
-
Admin:
GET /opens?recipient=<email>&since=<...>- Auth:
Authorization: Bearer <ADMIN_KEY>.
tracking_idis stored for lookup by tracking id.opened_atstored as an ISO string for consistent ordering/comparison.
cd internal/tracking/worker
pnpm install
pnpm devcd internal/tracking/worker
pnpm lint
pnpm build
pnpm test