Me API
GET /me אומר לקורא מי הוא: באיזה ארגון ובאיזו סביבת עבודה האישור פועל, איזה אזור משרת אותו ומהי כתובת הבסיס של ה-API שיש לקרוא אליה, איזה סוג אישור זה, ואילו הרשאות הוא נושא כרגע. הוא עובד עם כל סוג אישור - מפתח API, סשן של לוח הבקרה או אסימון גישה של OAuth - ואינו דורש הרשאה מסוימת, ולכן הוא הקריאה הטבעית לבדיקת חיבור.
כל נקודות הקצה בעמוד זה יחסיות לכתובת הבסיס: https://api-eu1.joryio.com/api - ראו סקירת ה-API.
קבלת פרטי הקורא
GET /me
curl https://api-eu1.joryio.com/api/me \
-H "Authorization: Bearer jry_live_your_api_key"
תגובה 200:
{
"organization": { "id": "8f0c2c1e-3b0a-4d2e-9a51-0f6f4d1c2b11", "name": "Acme" },
"workspace": { "id": "1d2e3f40-5a6b-4c7d-8e9f-a0b1c2d3e4f5", "name": "Production" },
"region": "eu1",
"api_base_url": "https://api-eu1.joryio.com/api",
"principal": {
"type": "oauth",
"client_kind": "integration",
"client": "zapier",
"name": "Dana Levi"
},
"scopes": ["events:track", "users:read", "users:write"]
}
| שדה | סוג | הערות |
|---|---|---|
organization | object | id ו-name של הארגון. |
workspace | object או null | סביבת העבודה שבה האישור פועל. מפתח API ואסימון OAuth קשורים לסביבת עבודה אחת; סשן של לוח הבקרה משתמש בכותרת X-Workspace-Id ומקבל null בלעדיה. |
region | string | האזור שמחזיק את הנתונים, למשל eu1. |
api_base_url | string | כתובת הבסיס של ה-REST API באזור הזה. קראו אליה, לא לכתובת קבועה בקוד. |
principal | object | מהו האישור - ראו למטה. |
scopes | string[] | ההרשאות שהאישור יכול להשתמש בהן כרגע, ממוינות. |
סוגי Principal
principal.type | אישור | שדות נוספים |
|---|---|---|
api_key | מפתח API | api_key_id, name (שם המפתח). scopes הן ההרשאות של המפתח, כולל אלה שהן כוללות (למשל canvas:activate כוללת את canvas:enter). |
oauth | אסימון גישה של OAuth | client_kind (integration - למשל Zapier - או mcp, סוכן AI), client (zapier עבור Zapier, אחרת שם הלקוח), וה-email וה-name של האדם שחיבר אותו. scopes הן מה שאושר וגם מה שהאדם עדיין מחזיק. |
user | סשן של לוח הבקרה | email, name; scopes הן ההרשאות של האדם בסביבת העבודה. |
OAuth לאינטגרציות
אינטגרציות כמו Zapier מתחברות עם "Sign in with Joryio" (OAuth 2.0 authorization code) במקום מפתח API מודבק. האדם בוחר את סביבת העבודה ואת ההרשאות בעמוד אישור של Joryio; מאותו רגע האינטגרציה פועלת בשמו, בסביבת העבודה הזו, בהיקף מה שאישר ומה שהוא עדיין מחזיק. לקוחות אינטגרציה נרשמים על ידי Joryio - אין רישום עצמי של לקוחות.
נקודות הקצה של OAuth נמצאות בכתובת הנייטרלית לאזור connect.joryio.com, שמעבירה כל בקשה לאזור שהנפיק את הקוד או את האסימון:
| שלב | נקודת קצה |
|---|---|
| הרשאה (דפדפן) | GET https://connect.joryio.com/oauth/authorize?response_type=code&client_id=...&redirect_uri=...&scope=...&state=... |
| אסימון | POST https://connect.joryio.com/oauth/token |
| ביטול | POST https://connect.joryio.com/oauth/revoke |
- אימות הלקוח:
client_secret_basic(HTTP Basic) אוclient_secret_post(client_idו-client_secretבגוף הטופס). PKCE (S256) אופציונלי ונאכף כשהוא נשלח. - Redirect URI: חייב להתאים בדיוק לאחת הכתובות הרשומות של הלקוח.
- תגובת האסימון:
access_token,refresh_token,token_type,expires_in,scope, ובנוסףapi_base_url(קראו ל-API שם) ו-region. - אסימוני גישה תקפים לשעה. אסימון שפג תוקפו מקבל
401; רעננו ונסו שוב. - אסימוני רענון מתחלפים בכל שימוש ונשארים תקפים כל עוד החיבור בשימוש - הם פגים אחרי 180 ימים בלי שום שימוש. שני רענונים עם אותו אסימון בתוך 60 שניות (שלבים מקבילים) מקבלים שניהם את אותו זוג חדש; אסימון שהוחלף ומוצג מאוחר יותר מסיים את החיבור.
- הרשאות שאינטגרציה יכולה לבקש:
users:read,pii:view(אופציונלי, ראו בהמשך),users:write,events:read,events:track,lists:read,subscriptions:read,segments:read,subscriptions:write,canvas:enter,hooks:manage. - הרשאות נגזרות: טוקן OAuth אף פעם לא מקבל
users:export,users:mergeאוusers:aliasדרך הרשאה אחרת (segments:readו-users:writeכוללות אותן בתפקידים ובמפתחות API, לא ב-OAuth). ייצוא אנשי קשר בכמות, מיזוג ושינוי כינויים נשארים לתפקידים ולמפתחות API. - מידע אישי (
pii:view, אופציונלי): בלעדיו אינטגרציה מקבלת רק מזהי אנשי קשר -GET /usersושאר קריאות אנשי הקשר מחזיריםemail,phoneו-externalIdכ-nullוממסכים מאפיינים המסומנים כמידע אישי (וגם שמות), ומשלוחי webhook כוללים רקcontact.id. איתו, הם כוללים את האימייל, הטלפון והמזהה החיצוני של איש הקשר. הוא פועל רק כל עוד גם מי שחיבר מחזיק ב-pii:viewבסביבת העבודה, ונבדק בכל בקשה ובכל משלוח: איבוד ההרשאה ממסך את הבא בתור. דף ההסכמה מציג אותו כ"צפייה בכתובת האימייל ובמספר הטלפון של אנשי הקשר", לא מסומן כברירת מחדל, ורק למי שמחזיק ב-pii:view; מי שאין לו את ההרשאה מקבל הסבר שהאפליקציה תקבל רק מזהי אנשי קשר, ועדיין יכול להתחבר. אף הרשאה אחרת - כוללusers:read- לא מעניקה אותו. סוכני AI (MCP) לא יכולים לבקש אותו. - ניתוק: האדם מסיר את החיבור תחת הגדרות > כללי > אפליקציות מחוברות; כל האסימונים של החיבור מפסיקים לעבוד מיד.