WebApp API Reference
Endpoints
Endpoint |
Method |
תיאור |
דורש אימות |
Request Body |
Response |
|---|---|---|---|---|---|
|
GET |
דף הבית |
❌ |
HTML |
|
|
GET |
דף התחברות (Telegram Widget) |
❌ |
HTML |
|
|
POST |
אימות Telegram (hash verify) |
❌ |
|
|
|
GET |
התנתקות |
✅ |
Redirect |
|
|
GET |
דשבורד |
✅ |
HTML |
|
|
GET |
Code Tools (Playground: עיצוב/בדיקות/הרצת קוד) |
✅ |
HTML |
|
|
GET |
רשימת קבצים (סינון, חיפוש ודפדוף) |
✅ |
Query: |
HTML |
|
GET |
צפייה בקובץ |
✅ |
HTML |
|
|
GET |
הורדת קובץ |
✅ |
File Download |
|
|
GET |
תצוגת HTML בטוחה |
✅ |
HTML (iframe) |
|
|
GET |
תצוגת Markdown |
✅ |
HTML (rendered) |
|
|
GET |
סיכום מינימלי לבועה הקבועה (האם יש פתקים ממתינים + מונה) |
✅ |
|
|
|
GET |
רשימת פתקים ממתינים עם תצוגה מקדימה (6 מילים) וקישור לעוגן |
✅ |
Query: |
|
|
GET |
ההכרזה הפעילה היחידה להצגה בבאנר (או |
✅ |
|
|
|
POST |
סימון תזכורת כ־acknowledged (המשתמש פתח) |
✅ |
|
|
|
POST |
קביעת תזכורת לפתק (קיצורי זמן/תאריך שעה) |
✅ |
|
|
|
POST |
דחיית תזכורת ב‑X דקות |
✅ |
|
|
|
POST |
סימון הדגל |
✅ |
|
|
|
POST |
שמירת שיתוף פנימי כקובץ Markdown תחת חשבון המשתמש |
✅ |
|
|
|
GET |
מגבלות וזמינות להרצת קוד (Premium/Admin בלבד) |
✅ |
|
|
|
POST |
הרצת קוד Python (Premium/Admin בלבד) |
✅ |
|
|
|
GET |
סטטיסטיקות |
✅ |
JSON |
Authentication Flow
sequenceDiagram
participant U as User
participant W as WebApp
participant T as Telegram
U->>W: GET /login
W-->>U: Login page with Telegram Widget
U->>T: Click "Login"
T->>W: POST /auth/telegram (user data + hash)
W->>W: Verify hash with BOT_TOKEN
W-->>U: Set session cookie
U->>W: GET /dashboard
W-->>U: Dashboard (authenticated)
Response Schema Example
{
"total_files": 156,
"languages": {
"python": 45,
"javascript": 32,
"java": 20
},
"recent_files": [
{
"id": "507f1f77bcf86cd799439011",
"file_name": "example.py",
"language": "python",
"created_at": "2025-10-10T10:30:00Z"
}
]
}
Errors
{"error": "Authentication required", "redirect": "/login"}
{"error": "File not found", "file_id": "507f1f77bcf86cd799439011"}
קישורים
מסנן ושדות קלט ל-/files
טבלת פרמטרים
פרמטר |
סוג |
ברירת מחדל |
תיאור |
|---|---|---|---|
|
string |
מחרוזת חיפוש (טקסט חופשי) |
|
|
string |
סינון לפי שפת תכנות ( |
|
|
string |
קטגוריית קובץ/תיוג לוגי |
|
|
string |
|
סדר מיון ( |
|
string |
קורסור לדפדוף מבוסס זמן+``_id`` (ראו Cursor-based Pagination (created_at / _id)) |
|
|
string |
סינון לפי ריפו/מקור אם רלוונטי |
דוגמאות בקשה
# חיפוש בסיסי
curl -isS "https://<host>/files?q=pagination&lang=python"
# דף שני עם קורסור
curl -isS "https://<host>/files?cursor=<TOKEN>"
דוגמאות תגובה
<!-- HTML מקוצר לצורך דוגמה -->
<div class="files-list">
<div class="file">
<a href="/file/507f1f77bcf86cd799439011">example.py</a>
<span class="lang">python</span>
<time datetime="2025-10-10T10:30:00Z">2025-10-10</time>
</div>
</div>