הסבר מפורט על איך רישום agent עובד, מהתחלה לאישור.
סקירה
בתהליך שלושה צדדים:
- AI Agent – מתחיל רישום דרך API
- מפעיל אנושי – מקבל אימייל ומאשר
- SupportRetriever – מעבד ויוצר חשבון
תהליך שלב-אחר-שלב
1. ה-Agent מתחיל רישום
Endpoint: POST /api/agent/register
Request: operator_email, agent_name, agent_version, purpose
מה קורה: אימות פורמט אימייל, בדיקת אימייל חד-פעמי, בדיקת rate limit, יצירת טוקן אימות, רשומה ב-DB, שליחת אימייל אימות למפעיל.
תגובה: registration_id, status: pending_verification, message. פורמט התגובה זהה בין אם האימייל קיים או לא (מניעת email enumeration).
2. המפעיל מקבל אימייל
שם ה-agent וגרסה, purpose, אזהרה "We cannot verify this agent's identity", כפתורי Approve / Decline / Report.
3. המפעיל לוחץ Approve
נפתח /agent-verify?token=xxx. למשתמש חדש: טופס סיסמה, תנאי שימוש, Turnstile, "Approve & Create Account". למשתמש קיים: הסבר מה ה-agent יכול/לא יכול, Turnstile, "Approve Access".
4. יצירת חשבון
יצירת משתמש (אם חדש) או קישור (אם קיים), טופס ברירת מחדל, יצירת API key, סימון הרישום כ-approved, שמירת ה-API key זמנית לאחזור על ידי ה-agent.
5. ה-Agent עושה Polling לסטטוס
Endpoint: GET /api/agent/status?registration_id=xxx
בהמתנה: status: pending_verification. באישור: status: approved, api_key, form_url, form_id, message.
חשוב: ה-API key מוחזר פעם אחת בלבד. לשמור אותו מאובטח מיד.
הגבלת קצב (Rate Limiting)
- לפי אימייל: מקסימום 1 בקשה ב-24 שעות
- לפי IP: מקסימום 5 בקשות בשעה
- גלובלי: מקסימום 100 בקשות בשעה
חריגה מחזירה 429 והודעת שגיאה.
תפוגת טוקן
טוקני אימות פוגים אחרי 24 שעות. אם המפעיל לא מאשר בתוך 24 שעות: הטוקן לא תקף, הסטטוס הופך ל-expired, ה-agent מקבל "expired" ב-poll.
ערכי סטטוס
| סטטוס | משמעות | פעולה הבאה |
|---|---|---|
| pending_verification | ממתין לאישור מפעיל | להמשיך polling |
| approved | אושר, חשבון נוצר | להשתמש ב-API key ו-form URL |
| rejected | המפעיל דחה | הרישום נכשל |
| expired | טוקן פג (24h) | הרישום נכשל |
טיפול בשגיאות
Invalid email format, Disposable email, Rate limit exceeded, Registration not found – כולם עם הודעות JSON מתאימות.
אבטחה
- מניעת email enumeration (תגובה זהה)
- Rate limiting
- תפוגת טוקן 24 שעות
- Turnstile בדף האישור
- API key חד-פעמי
