תיעוד ה־API למשתמש של Loomio
/api/user0 הוא ה־API המיועד למשתמשים לצורך אינטגרציות עם Loomio. הוא משתמש במפתח ה־API של חשבון משתמש, וכל פעולה מתבצעת בשם אותו חשבון.
פעולות בקבוצות משתמשות בחברויות ובהרשאות הקבוצה של החשבון שמפתח ה־API שייך לו. הרשאת ניהול של מופע Loomio אינה מרחיבה את הגישה של מפתח API לקבוצות או לתוכן; לניהול ברמת המופע יש להשתמש ב־API לשרת.
יש להשתמש במפתח ה־API של חשבון המשתמש ב־Loomio שיבצע את הפעולות. חשבון בוט ייעודי שימושי כאשר אין צורך להזמין את האינטגרציה לסקרים או לשלוח לה התראות.
לאחר כניסה לחשבון, ניתן למצוא את מפתח ה־API ואת מזהי הקבוצות בעמוד הגישה ל־API.
יש לשלוח את מפתח ה־API בכותרת Authorization: Bearer. מפתחות API במחרוזות שאילתה נדחים, מכיוון שכתובות URL עשויות להירשם בשרתי פרוקסי וביומני גישה.
Authorization: Bearer YOUR_API_KEY
הדוגמאות משתמשות ב־YOUR_API_KEY, במזהה הקבוצה 123 ובכתובת https://www.loomio.com/. יש להחליף אותם במפתח ה־API, במזהה הקבוצה ובכתובת ההתקנה של Loomio המתאימים.
שליחת גופי בקשות
יש לשלוח JSON עם Content-Type: application/json. דוגמאות ה־cURL משתמשות ב־--json, שמגדיר כותרת זו באופן אוטומטי. נקודות הקצה ליצירה ולעריכה של דיונים, תגובות וסקרים מקבלות אובייקט שטוח או אובייקט המקונן תחת שם המשאב, כגון {"poll": {...}}.
יש לשלוח מערכים כמערכי JSON, כגון "options": ["foo", "bar"]. אם משתמשים בקידוד טופס במקום זאת, יש להשתמש בשמות שדות עם סוגריים מרובעים עבור מערכים, כגון options[]=foo&options[]=bar; חזרה על השדה בצורה options=foo&options=bar שומרת רק את הערך האחרון.
יש לבדוק את קוד מצב ה־HTTP ואת גוף התשובה לאחר כל בקשה. כשל באימות הנתונים מחזיר 422 עם אובייקט errors; יצירה מוצלחת של סקר מחזירה את הסקר ב־polls ואת האפשרויות שלו ב־poll_options.
סיכום נקודות הקצה
| שיטה | נקודת קצה | מטרה |
|---|---|---|
POST |
/api/user0/comments |
יצירת תגובה או תשובה |
PATCH |
/api/user0/comments/:id |
עריכת תגובה |
DELETE |
/api/user0/comments/:id |
מחיקה רכה של תגובה |
POST |
/api/user0/discussions |
יצירת דיון |
GET |
/api/user0/discussions/:id |
קבלת דיון |
GET |
/api/user0/discussions |
הצגת רשימת דיונים בקבוצה |
PATCH |
/api/user0/discussions/:id |
עריכת דיון |
DELETE |
/api/user0/discussions/:id |
מחיקה רכה של דיון |
GET |
/api/user0/groups |
הצגת רשימת הקבוצות של החשבון שמפתח ה־API שייך לו |
GET |
/api/user0/groups/:id_or_key_or_handle |
קבלת קבוצה שניתן לצפות בה |
GET |
/api/user0/memberships |
הצגת רשימת החברויות בקבוצה |
POST |
/api/user0/memberships |
הוספת חברים, ובמידת הצורך הסרת חברים שאינם ברשימה |
GET |
/api/user0/reports |
הפקת דוח השתתפות |
POST |
/api/user0/polls |
יצירת סקר |
GET |
/api/user0/polls/:id |
קבלת סקר |
GET |
/api/user0/polls |
הצגת רשימת סקרים בקבוצה |
PATCH |
/api/user0/polls/:id |
עריכת סקר |
DELETE |
/api/user0/polls/:id |
מחיקה רכה של סקר |
GET |
/api/user0/search |
חיפוש בדיונים, בתגובות, בסקרים, בהצבעות ובמסקנות שניתן לצפות בהם |
GET |
/api/user0/threads |
הצגת רשימת שרשורי דיון ושרשורי סקר עצמאיים שניתן לצפות בהם |
GET |
/api/user0/threads/:topic_id |
קבלת שרשור |
GET |
/api/user0/threads/:topic_id/items |
קבלת הפריטים בשרשור לפי סדרם |
GET |
/api/user0/threads/:topic_id/markdown |
קבלת שרשור שלם בפורמט Markdown |
GET |
/api/user0/chatbots |
הצגת רשימת אינטגרציות הצ'אט וה־webhooks של קבוצה |
POST |
/api/user0/chatbots |
יצירת אינטגרציית צ'אט או webhook |
PATCH |
/api/user0/chatbots/:id |
עדכון אינטגרציית צ'אט או webhook |
DELETE |
/api/user0/chatbots/:id |
מחיקת אינטגרציית צ'אט או webhook |
POST |
/api/user0/chatbots/check |
שליחת בדיקת חיבור ל־webhook |
חלוקה לעמודים
דיונים, קבוצות, חברויות, סקרים, שרשורים, פריטי שרשור ו־webhooks מקבלים את הפרמטרים limit (ברירת המחדל היא 50) ו־offset (ברירת המחדל היא 0). בקבוצות, בפריטי שרשור וב־webhooks הערך המרבי של limit הוא 500.
כדי לקבל את העמוד הבא, יש להגדיל את offset במספר הרשומות הראשיות שהוחזרו. meta.total הוא המספר הכולל של הרשומות התואמות; רשומות קשורות אינן נספרות בגודל העמוד.
דוחות השתתפות מחזירים את מלוא הנתונים המבוקשים, וחיפוש מחזיר עד 20 תוצאות. שניהם אינם תומכים בחלוקה לעמודים.
דיונים, סקרים וחברויות מקבלים גם את הכינויים הישנים per עבור limit ו־from עבור offset. באינטגרציות חדשות יש להשתמש ב־limit וב־offset.
רשומות קשורות
תשובות ה־API למשתמש משתמשות במבנה מורכב: לצד הרשומות הראשיות נכללות רשומות קשורות, כגון נושאים, קבוצות, משתמשים, סקרים ותגובות אימוג׳י. כך יישום לקוח יכול למלא מאגר רשומות מקומי באמצעות בקשה אחת, אך התשובה עשויה לכלול יותר נתונים מהנדרש לאינטגרציה פשוטה.
יש להעביר compact=1 כדי להשמיט רשומות קשורות עתירות נתונים של נושאים, קבוצות, קבוצות אם, חברויות, תגובות אימוג׳י, תגיות ותרגומים. הרשומות הראשיות והרשומות הקשורות הנחוצות להבנת תוכנן נשארות בתשובה.
curl 'https://www.loomio.com/api/user0/threads/123/items?compact=1' \
-H 'Authorization: Bearer YOUR_API_KEY'
לשליטה ישירה, יש להעביר exclude_types עם סוגי רשומות בלשון יחיד, המופרדים ברווחים. לדוגמה, exclude_types=group reaction משמיט קבוצות ותגובות אימוג׳י קשורות. ערכים נפוצים הם topic, group, parent, membership, reaction, tag, translation, user, discussion, poll, poll_option, stance, stance_choice, outcome ו־topic_item. ההשמטות חלות על רשומות קשורות, ולא על המשאב הראשי המבוקש בנקודת הקצה.
תשובות של אוספים כוללות meta.total כאשר מוגדר גודל מדויק לאוסף. המספר הכולל מחושב לפני החלת limit ו־offset. נקודות קצה כגון חיפוש, שמחזירות במכוון מספר מוגבל של תוצאות, משמיטות את meta.total במקום להחזיר null.
תגובות
יצירת תגובה
יצירת תגובה בדיון בשם החשבון שמפתח ה־API שייך אליו.
POST /api/user0/comments
פרמטרים
| שם | תיאור |
|---|---|
discussion_id |
מספר שלם, חובה. מזהה הדיון שבו תפורסם התגובה |
body |
גוף התגובה, חובה אלא אם מצורף קובץ |
body_format |
md או html, רשות, ברירת המחדל היא md |
דוגמה
curl https://www.loomio.com/api/user0/comments \
-H 'Authorization: Bearer YOUR_API_KEY' \
--json '{
"discussion_id": 123,
"body": "example comment",
"body_format": "md"
}'
עריכת תגובה
עריכת תגובה בשם החשבון שמפתח ה־API שייך אליו. חלות אותן הרשאות כמו ב־Loomio: נדרשת לחשבון הרשאה לערוך את התגובה.
PATCH /api/user0/comments/:id
פרמטרים
| שם | תיאור |
|---|---|
body |
גוף התגובה המעודכן |
body_format |
md או html, רשות, ברירת המחדל היא md |
דוגמה
curl https://www.loomio.com/api/user0/comments/123 \
-X PATCH \
-H 'Authorization: Bearer YOUR_API_KEY' \
--json '{
"body": "updated comment",
"body_format": "md"
}'
מחיקה רכה של תגובה
מחיקה רכה של תגובה בשם החשבון שמפתח ה־API שייך אליו. הפעולה מסירה את התגובה, מסתירה את גוף התגובה ומשאירה את רשומת התגובה במקומה.
DELETE /api/user0/comments/:id
דוגמה
curl https://www.loomio.com/api/user0/comments/123 \
-X DELETE \
-H 'Authorization: Bearer YOUR_API_KEY'
דיונים
יצירת דיון
יצירת דיון בשם החשבון שמפתח ה־API שייך אליו.
POST /api/user0/discussions
פרמטרים
| שם | תיאור |
|---|---|
group_id |
הקבוצה שבה יתקיים השרשור |
title |
כותרת השרשור, שדה חובה |
description |
הקשר לשרשור, שדה רשות |
description_format |
md או html, שדה רשות, ברירת המחדל היא md |
recipient_audience |
group או null. אם הערך הוא group, כל הקבוצה תקבל התראה על השרשור החדש |
recipient_user_ids |
מערך מזהי משתמשים לשליחת התראה או הזמנה לשרשור |
recipient_emails |
מערך כתובות דוא״ל של אנשים להזמנה לשרשור |
recipient_message |
הודעה שתיכלל בהזמנה בדוא״ל |
דוגמה
curl https://www.loomio.com/api/user0/discussions \
-H 'Authorization: Bearer YOUR_API_KEY' \
--json '{
"group_id": 123,
"title": "example thread",
"recipient_emails": [
"person@example.com"
]
}'
הצגת דיון
שליפת דיון באמצעות מזהה הדיון, שהוא מספר שלם, או מפתח, שהוא מחרוזת.
GET /api/user0/discussions/:id
דוגמה
curl https://www.loomio.com/api/user0/discussions/abc123 \
-H 'Authorization: Bearer YOUR_API_KEY'
רשימת דיונים
הצגת רשימת הדיונים בקבוצה הנגישים לחשבון שמפתח ה־API שייך אליו. בקבוצה הגלויה לציבור, ניתן לקבל את רשימת הדיונים הציבוריים גם ללא חברות בקבוצה; הגישה לדיונים פרטיים נשארת מוגבלת לחשבונות שיש להם הרשאה לקרוא אותם ב־Loomio.
GET /api/user0/discussions
פרמטרים
| שם | תיאור |
|---|---|
group_id |
מספר שלם, חובה. מזהה הקבוצה שממנה יש להציג את רשימת הדיונים |
status |
מחרוזת, רשות, ברירת המחדל היא open. ערכים: open, closed, all |
limit |
מספר שלם, רשות, ברירת המחדל היא 50. גודל העמוד |
offset |
מספר שלם, רשות, ברירת המחדל היא 0. היסט לצורך חלוקה לעמודים |
תאימות לאחור: per ו־from מתקבלים כשמות חלופיים ל־limit ול־offset וימשיכו לפעול.
דוגמה
curl 'https://www.loomio.com/api/user0/discussions?group_id=123' \
-H 'Authorization: Bearer YOUR_API_KEY'
עריכת דיון
עריכת דיון בשם החשבון שמפתח ה־API שייך אליו. חלות אותן הרשאות כמו ב־Loomio: לחשבון חייבת להיות הרשאה לערוך את הדיון הזה.
PATCH /api/user0/discussions/:id
פרמטרים
| שם | תיאור |
|---|---|
title |
כותרת מעודכנת |
description |
הקשר מעודכן |
description_format |
md או html, רשות, ברירת המחדל היא md |
recipient_audience |
group או null. אם הערך הוא group, תישלח הודעה לכל הקבוצה על העריכה |
recipient_user_ids |
מערך של מזהי משתמשים שיש לשלוח להם הודעה או להזמין לשרשור |
recipient_emails |
מערך של כתובות דוא״ל של אנשים שיש להזמין לשרשור |
recipient_message |
הודעה שיש לכלול בהזמנה בדוא״ל |
דוגמה
curl https://www.loomio.com/api/user0/discussions/123 \
-X PATCH \
-H 'Authorization: Bearer YOUR_API_KEY' \
--json '{
"title": "updated thread title",
"description": "updated context",
"description_format": "md"
}'
מחיקה רכה של דיון
מחיקה רכה של דיון בשם החשבון שמפתח ה־API שייך אליו. הפעולה מסירה את הדיון אך משאירה את רשומת הדיון במקומה.
DELETE /api/user0/discussions/:id
דוגמה
curl https://www.loomio.com/api/user0/discussions/123 \
-X DELETE \
-H 'Authorization: Bearer YOUR_API_KEY'
קבוצות
הצגת רשימת קבוצות
החזרת הקבוצות שבהן לחשבון שמפתח ה־API שייך לו יש חברות פעילה.
GET /api/user0/groups
| שם | תיאור |
|---|---|
limit |
מספר שלם, רשות, ברירת מחדל 50, לכל היותר 500. גודל העמוד |
offset |
מספר שלם, רשות, ברירת מחדל 0. היסט לחלוקה לעמודים |
curl 'https://www.loomio.com/api/user0/groups?limit=50&offset=0' \
-H 'Authorization: Bearer YOUR_API_KEY'
התשובה מכילה עמוד של groups המסודר לפי מזהה הקבוצה בסדר עולה, עם המספר הכולל של הקבוצות המתאימות ב־meta.total. היא כוללת קבוצות אם ותת־קבוצות, לרבות קבוצות שהמינוי שלהן אינו פעיל כרגע. יש לבדוק את השדה enabled כאשר האינטגרציה אמורה לפעול רק בקבוצות מופעלות.
שדות מרכזיים של קבוצה כוללים:
| שדה | תיאור |
|---|---|
id |
מזהה קבוצה מספרי המשמש נקודות קצה אחרות של ה־API למשתמש |
key |
מפתח קצר וקבוע המשמש בכתובות URL של Loomio |
handle |
כינוי קריא של הקבוצה |
name |
שם הקבוצה |
full_name |
שם הקבוצה הכולל את ההקשר של קבוצת האם שלה |
parent_id |
מזהה מספרי של קבוצת האם עבור תת־קבוצה, ואחרת null |
enabled |
האם הקבוצה והמינוי שלה פעילים |
memberships_count |
מספר החברויות הפעילות והממתינות |
accepted_memberships_count |
מספר החברויות שאושרו |
pending_memberships_count |
מספר ההזמנות הממתינות |
admin_memberships_count |
מספר מנהלי הקבוצה |
discussions_count |
מספר הדיונים הנמצאים ישירות בקבוצה |
polls_count |
מספר הסקרים הנמצאים ישירות בקבוצה |
subgroups_count |
מספר תת־הקבוצות |
התשובה עשויה לכלול הגדרות נוספות של הקבוצה, רשומות קשורות של קבוצת האם ואת החברויות של החשבון המשתמש ב־API. על יישומי לקוח להתעלם משדות שאינם משתמשים בהם.
קבלת קבוצה
החזרת קבוצה אחת שהחשבון שמפתח ה־API שייך לו יכול לצפות בה.
GET /api/user0/groups/:id_or_key_or_handle
המזהה יכול להיות המזהה המספרי, המפתח או הכינוי של הקבוצה.
curl https://www.loomio.com/api/user0/groups/123 \
-H 'Authorization: Bearer YOUR_API_KEY'
curl https://www.loomio.com/api/user0/groups/example-group \
-H 'Authorization: Bearer YOUR_API_KEY'
התשובה מכילה את הקבוצה במערך groups ומשתמשת באותם שדות כמו נקודת הקצה להצגת הרשימה. בקשה לקבוצה שהחשבון שמפתח ה־API שייך לו אינו יכול לגשת אליה מחזירה שגיאת הרשאה.
חברויות
רשימת חברויות
הצגת החברויות הגלויות לחשבון המשויך למפתח ה־API. חברי הקבוצה יכולים לקרוא את שמות החברים, המזהים, התארים והתפקידים שלהם. כתובות דוא״ל נכללות רק עבור החשבון המשויך למפתח ה־API עצמו, או כאשר לחשבון זה יש הרשאת ניהול בקבוצה.
GET /api/user0/memberships
פרמטרים
| שם | תיאור |
|---|---|
group_id |
מספר שלם, חובה. מזהה הקבוצה שהחברויות בה יוצגו ברשימה |
limit |
מספר שלם, רשות, ברירת מחדל 50. גודל העמוד |
offset |
מספר שלם, רשות, ברירת מחדל 0. היסט לחלוקה לעמודים |
תאימות לאחור: per ו־from מתקבלים כשמות חלופיים ל־limit ול־offset וימשיכו לפעול.
התשובה מכילה עמוד של memberships ורשומות users קשורות. meta.total הוא המספר הכולל של החברויות הגלויות בקבוצה לפני החלוקה לעמודים.
דוגמה
curl 'https://www.loomio.com/api/user0/memberships?group_id=123&limit=50&offset=0' \
-H 'Authorization: Bearer YOUR_API_KEY'
ניהול חברויות
יש לשלוח רשימה של כתובות דוא״ל. לכל הכתובות החדשות תישלח הזמנה לקבוצה. בניגוד להצגת רשימת חברויות, פעולה זו דורשת הרשאת ניהול בקבוצה.
POST /api/user0/memberships
פרמטרים
| שם | תיאור |
|---|---|
group_id |
מספר שלם, חובה. מזהה הקבוצה שהחברויות בה ינוהלו |
emails |
מערך של מחרוזות, חובה. כתובות דוא״ל של אנשים שיש להזמין לקבוצה |
remove_absent |
ערך בוליאני. אם הערך הוא true, כל מי שכתובת הדוא״ל שלהם אינה מופיעה ברשימה יוסרו מהקבוצה |
דוגמה
curl https://www.loomio.com/api/user0/memberships \
-H 'Authorization: Bearer YOUR_API_KEY' \
--json '{
"group_id": 123,
"emails": [
"person@example.com"
]
}'
אם מועבר remove_absent=1, כל חברי הקבוצה שלא נכללו ברשימה יוסרו מהקבוצה. יש להיזהר: פעולה זו עלולה להסיר את כל חברי הקבוצה.
curl https://www.loomio.com/api/user0/memberships \
-H 'Authorization: Bearer YOUR_API_KEY' \
--json '{
"group_id": 123,
"emails": [
"person@example.com"
],
"remove_absent": 1
}'
הפעולה מחזירה אובייקט עם {added_emails: ["person@added.com"], removed_emails: ["person@removed.com"]}.
דוח השתתפות
החזרת אותם נתוני השתתפות מצטברים המשמשים בדוח ההשתתפות של Loomio.
GET /api/user0/reports
פרמטרים
| שם | תיאור |
|---|---|
section |
חלק בדוח: base, users או countries. יש להשתמש ב־users עבור פעילות לפי אדם |
group_scope |
custom או my. הערך הישן all מטופל כמו my, משום שמפתחות API למשתמש לעולם אינם מקבלים גישה לכלל המופע |
group_ids |
מזהי קבוצות המופרדים בפסיקים כאשר group_scope=custom. המערכת מתעלמת ממזהי קבוצות שהחשבון המשתמש ב־API אינו חבר בהן |
start_month |
החודש הראשון שיש לכלול, בפורמט YYYY-MM; ברירת המחדל היא לפני 12 חודשים |
end_month |
החודש האחרון שיש לכלול, בפורמט YYYY-MM; ברירת המחדל היא החודש הנוכחי |
interval |
מרווח הזמן בחלק base: day, week, month או year |
member_type |
יש להגדיר delegate יחד עם section=users כדי להחזיר רק נציגים מכהנים |
מעמד נציג נקבע לפי חברות פעילה בתפקיד נציג באחת מהקבוצות שנבחרו. הספירות לכל אדם מצטברות מכל הקבוצות שנבחרו. שורות הנציגים מוחזרות גם כאשר כל ספירות הפעילות הן אפס. הספירות כוללות שרשורים, תגובות, סקרים, הצבעות, מסקנות ותגובות אימוג׳י; הן אינן שיעורי השתתפות בהצבעה. שורות המשתמשים כוללות גם מספרי פתקי הצבעה מזוהים שהונפקו, שמולאו ושלא מולאו. סקרים אנונימיים אינם נכללים באף אחת מספירות ההצבעה לפי אדם. הערך של all_votes_cast הוא true רק כאשר הונפק לפחות פתק הצבעה אחד וכל פתקי ההצבעה שהונפקו מולאו.
ה־API מחיל את אותם כללי נראות הקבוצות כמו הדוח בממשק המוצר. מפתח API למשתמש אינו יכול לחשוף נתוני דוח מקבוצות שאין לחשבון גישה אליהן.
דוגמה
curl 'https://www.loomio.com/api/user0/reports?section=users&group_scope=custom&group_ids=123&member_type=delegate&start_month=2026-01&end_month=2026-09' \
-H 'Authorization: Bearer YOUR_API_KEY'
המערך users מכיל שורות פעילות מלאות:
{
"users": [
{
"id": 456,
"name": "Ada Lovelace",
"country": "NZ",
"delegate": true,
"threads": 2,
"comments": 8,
"polls": 1,
"votes": 5,
"votes_cast": 5,
"votes_issued": 6,
"votes_missed": 1,
"all_votes_cast": false,
"outcomes": 1,
"reactions": 4
}
]
}
סקרים
יצירת סקר
יצירת סקר בשם החשבון שמפתח ה־API שייך לו.
POST /api/user0/polls
פרמטרים
| שם | תיאור |
|---|---|
group_id |
מספר שלם, לא חובה, ברירת המחדל היא null. מזהה הקבוצה של הסקר. אם מועבר discussion_id, המערכת מתעלמת מ־group_id |
discussion_id |
מספר שלם, לא חובה, ברירת המחדל היא null. מזהה שרשור הדיון שאליו יש להוסיף את הסקר |
title |
מחרוזת, חובה. כותרת הסקר |
poll_type |
מחרוזת, חובה. ערכים: proposal, poll, count, score, ranked_choice, meeting, dot_vote |
details |
מחרוזת, לא חובה. טקסט גוף הסקר |
details_format |
מחרוזת, לא חובה, ברירת המחדל היא md. ערכים: md או html |
options |
שמות אפשרויות פשוטים כמערך מחרוזות. עבור proposal, יש להשתמש ב־agree, ב־disagree, ב־abstain או ב־block כדי לקבל את התוויות, הסמלים, המשמעויות וההנחיות המקובלים. עבור meeting, יש לספק מחרוזות תאריך או תאריך ושעה בפורמט ISO 8601. עבור סוגי סקרים אחרים, יש לספק שמות אפשרויות. לאפשרויות מפורטות, יש להשתמש במקום זאת ב־poll_options_attributes |
poll_options_attributes |
חלופה ל־options: מערך של אובייקטי אפשרויות עם שמות, משמעויות, הנחיות, סמלים וסדר הצגה. ניתן לעיין ב־יצירת סקר עם אפשרויות מפורטות |
reason_prompt |
מחרוזת, לא חובה. הנחיה משותפת לנימוק ההצבעה, המשמשת סוגי סקרים ללא הנחיות לכל אפשרות, כגון poll, score ו־ranked_choice |
stance_reason_required |
מחרוזת, ברירת המחדל היא optional. ערכים: disabled, optional, required, required_for_disagree_or_block, required_for_block. שני הערכים האחרונים חלים על הסמלים disagree ו־block. בסקרים אנונימיים נימוקי ההצבעה מושבתים |
closing_at |
מחרוזת בפורמט ISO 8601 או null, ברירת המחדל היא null. דוגמה: 2026-09-01T12:00:00Z. אם הערך הוא null, ההצבעה מושבתת והסקר נחשב לסקר בהכנה |
specified_voters_only |
ערך בוליאני, לא חובה, ברירת המחדל היא false. אם הערך הוא true, רק אנשים שצוינו יכולים להצביע. אם הערך הוא false, כל חברי הקבוצה יקבלו הזמנה להצביע |
hide_results |
מחרוזת, לא חובה, ברירת המחדל היא off. ערכים: off, until_vote, until_closed |
shuffle_options |
ערך בוליאני, ברירת המחדל היא false. הצגת האפשרויות למצביעים בסדר אקראי |
anonymous |
ערך בוליאני, לא חובה, ברירת המחדל היא false. הסתרת זהויות המצביעים |
recipient_audience |
group או null, לא חובה, ברירת המחדל היא null. אם הערך הוא group, כל הקבוצה תקבל התראה |
notify_on_closing_soon |
מחרוזת, לא חובה, ברירת המחדל היא nobody. ערכים: nobody, author, voters_uncast, voters |
recipient_user_ids |
מערך מזהי משתמשים לשליחת התראה או הזמנה |
recipient_emails |
מערך כתובות דוא״ל של אנשים שיקבלו הזמנה להצביע |
recipient_message |
הודעה שתיכלל בהזמנה בדוא״ל |
notify_recipients |
ערך בוליאני, ברירת המחדל היא false. אם הערך הוא false, אנשים מתווספים ללא שליחת התראות. אם הערך הוא true, כל מי שקיבלו הזמנה בבקשה זו יקבלו התראה בדוא״ל |
דוגמה
curl https://www.loomio.com/api/user0/polls \
-H 'Authorization: Bearer YOUR_API_KEY' \
--json '{
"group_id": 123,
"title": "example poll",
"poll_type": "proposal",
"options": [
"agree",
"disagree"
],
"closing_at": "2026-09-01T12:00:00Z",
"recipient_emails": [
"person@example.com"
]
}'
יצירת טיוטת סקר עם אפשרויות רבות
יש לשלוח את כל שמות האפשרויות במערך options. השמטת closing_at יוצרת סקר בהכנה שההצבעה בו מושבתת; היא אינה מסתירה את הסקר מאנשים שיכולים לקרוא את השרשור שלו. כדי לפתוח את ההצבעה, יש להוסיף ערך עתידי של closing_at.
יש להוסיף את כל שמות האפשרויות למערך:
curl https://www.loomio.com/api/user0/polls \
-H 'Authorization: Bearer YOUR_API_KEY' \
--json '{
"group_id": 123,
"title": "Meeting venue",
"poll_type": "poll",
"options": [
"Town hall",
"Library",
"Community centre"
]
}'
יצירת סקר עם אפשרויות מפורטות
יש להשתמש ב־options לרשימת שמות, או ב־poll_options_attributes כאשר לכל אפשרות נדרשים משמעות, הנחיה לנימוק או סמל. יש להשתמש בתבנית אחת בכל בקשה. שתי התבניות פועלות בגוף JSON שטוח או בתוך אובייקט poll.
כל אובייקט ב־poll_options_attributes מקבל את השדות הבאים:
| שדה | תיאור |
|---|---|
name |
מחרוזת, חובה לאפשרות חדשה. התווית המוצגת למצביעים |
meaning |
מחרוזת, לא חובה. הסבר על משמעות הבחירה באפשרות זו |
prompt |
מחרוזת, לא חובה. הנחיה לנימוק המוצגת כאשר אפשרות זו נבחרת ב־proposal, ב־count או ב־check. בסוגי סקרים אחרים, יש להגדיר reason_prompt בסקר |
icon |
מחרוזת, לא חובה. עבור proposal, count ו־check, יש להשתמש ב־agree, ב־disagree, ב־abstain או ב־block |
priority |
מספר שלם. סדר האפשרויות, החל מ־0. יש לספק עדיפות שונה לכל אפשרות; אפשרויות של מפגש מסודרות לפי תאריך במקום זאת |
test_operator |
מחרוזת או null, לא חובה. דרישה לשיעור הצבעה: gte פירושו לפחות, ו־lte פירושו לכל היותר. יש להגדיר null כדי להשבית את הדרישה |
test_percent |
מספר שלם, לא חובה. האחוז הנדרש בדרישה לשיעור ההצבעה, מ־0 עד 100 |
test_against |
מחרוזת, לא חובה. score_percent משווה את חלקה של האפשרות בסך הניקוד או הנקודות שהוקצו; voter_percent משווה את מספר המצביעים באפשרות לכלל בעלי זכות ההצבעה |
id |
מספר שלם. יש לכלול בעת עריכת אפשרות קיימת; יש להשמיט עבור אפשרות חדשה |
_destroy |
ערך בוליאני, לא חובה. יש להגדיר true יחד עם ה־id של אפשרות קיימת כדי להסיר אותה |
ליצירת הצעה עם תוויות והנחיות מותאמות אישית לאפשרויות:
curl https://www.loomio.com/api/user0/polls \
-H 'Authorization: Bearer YOUR_API_KEY' \
--json '{
"group_id": 123,
"title": "Should we adopt this proposal?",
"poll_type": "proposal",
"stance_reason_required": "optional",
"poll_options_attributes": [
{
"name": "Support",
"meaning": "I support adopting this proposal",
"prompt": "What do you support about it?",
"icon": "agree",
"priority": 0
},
{
"name": "Oppose",
"meaning": "I would prefer another approach",
"prompt": "What would you change?",
"icon": "disagree",
"priority": 1
}
]
}'
בסקר רגיל, יש להשתמש באותה תבנית של אפשרויות מפורטות עם reason_prompt משותף המוגדר בסקר:
curl https://www.loomio.com/api/user0/polls \
-H 'Authorization: Bearer YOUR_API_KEY' \
--json '{
"group_id": 123,
"title": "Choose a venue",
"poll_type": "poll",
"reason_prompt": "Why do you prefer this venue?",
"stance_reason_required": "optional",
"poll_options_attributes": [
{
"name": "Town hall",
"meaning": "Central, accessible venue",
"priority": 0
},
{
"name": "Library",
"meaning": "Smaller room with no hire fee",
"priority": 1
}
]
}'
בדוגמאות אלה closing_at מושמט, ולכן ההצבעה נשארת מושבתת עד להגדרת תאריך סגירה עתידי.
הצגת סקר
אחזור סקר באמצעות מזהה הסקר, שהוא מספר שלם, או מפתח, שהוא מחרוזת.
GET /api/user0/polls/:id
דוגמה
curl https://www.loomio.com/api/user0/polls/abc123 \
-H 'Authorization: Bearer YOUR_API_KEY'
רשימת סקרים
הצגת רשימת הסקרים בקבוצה הגלויים לחשבון שמפתח ה־API שייך לו, כולל סקרים עצמאיים וסקרים בתוך דיונים. בקבוצה הגלויה לציבור, ניתן לקבל את רשימת הסקרים הציבוריים גם ללא חברות בקבוצה; הגישה לסקרים פרטיים נשארת מוגבלת למשתמשים שיש להם הרשאה לקרוא אותם ב־Loomio. התשובה כוללת את המסקנה הנוכחית של כל סקר גלוי, כך שניתן להשתמש ב־status=closed לקבלת רשימת סקרים סגורים ולקריאת המסקנות שלהם, אם הוגדרו.
כדי להציג את מצב ההחלטה לצד דיונים, יש לאחזר דיונים וסקרים מאותה קבוצה, להשתמש ב־status=all עבור הסקרים ולהתאים ביניהם לפי ערכי topic_id. יש לאחזר את כל העמודים באמצעות limit ו־offset. דיון יכול לכלול כמה סקרים, ולכן יש לבחור איזה סקר יקבע את המצב המוצג, למשל הסקר שנוצר לאחרונה. ערך closed_at שאינו null מציין סקר סגור; ערך null בשדה closing_at מציין טיוטה. כאשר לסקר יש מסקנה, השדה current_outcome_id שלו מזהה רשומה במערך outcomes שבתשובה; יש להתאים את השדה poll_id של אותה רשומה לשדה id של הסקר.
עבור דיון יחיד, ניתן גם לקרוא את פריטי השרשור שלו באמצעות GET /api/user0/threads/:topic_id/items. פעולה זו מחזירה את הסקרים והמסקנות של השרשור לצד שאר הפריטים שלו. יש לאחזר את כל העמודים כדי לכלול את השרשור המלא.
GET /api/user0/polls
פרמטרים
| שם | תיאור |
|---|---|
group_id |
מספר שלם, חובה. מזהה הקבוצה שממנה יש להציג את רשימת הסקרים |
status |
מחרוזת, לא חובה, ברירת המחדל היא active. ערכים: active, closed, all |
limit |
מספר שלם, לא חובה, ברירת המחדל היא 50. גודל העמוד |
offset |
מספר שלם, לא חובה, ברירת המחדל היא 0. היסט לחלוקה לעמודים |
תאימות לאחור: per ו־from מתקבלים כשמות חלופיים ל־limit ול־offset וימשיכו לפעול.
דוגמה
curl 'https://www.loomio.com/api/user0/polls?group_id=123' \
-H 'Authorization: Bearer YOUR_API_KEY'
עריכת סקר
עריכת סקר בשם החשבון שמפתח ה־API שייך לו. חלות אותן הרשאות כמו ב־Loomio: לחשבון חייבת להיות הרשאה לערוך את הסקר.
PATCH /api/user0/polls/:id
פרמטרים
| שם | תיאור |
|---|---|
title |
כותרת מעודכנת |
details |
פרטי הסקר המעודכנים |
details_format |
md או html, לא חובה, ברירת המחדל היא md |
options |
שמות האפשרויות המעודכנים. שינוי האפשרויות עשוי להשפיע על הצבעות קיימות, בהתאם למצב הסקר |
poll_options_attributes |
חלופה ל־options. ניתן לעדכן אובייקטי אפשרויות מפורטות לפי id, להוסיף אובייקטים ללא id, או להסיר אפשרות באמצעות id ו־_destroy: true. אפשרויות שהושמטו נשארות ללא שינוי |
reason_prompt |
הנחיה משותפת מעודכנת לנימוק עבור סוגי סקרים ללא הנחיות לכל אפשרות |
stance_reason_required |
דרישה מעודכנת לנימוק; חלים אותם ערכים כמו ביצירת סקר |
closing_at |
מחרוזת בפורמט ISO 8601 או null |
recipient_audience |
group או null. אם הערך הוא group, כל הקבוצה תקבל התראה |
recipient_user_ids |
מערך מזהי משתמשים לשליחת התראה או הזמנה |
recipient_emails |
מערך כתובות דוא״ל של אנשים שיקבלו הזמנה להצביע |
recipient_message |
הודעה שתיכלל בהזמנה בדוא״ל |
דוגמה
curl https://www.loomio.com/api/user0/polls/123 \
-X PATCH \
-H 'Authorization: Bearer YOUR_API_KEY' \
--json '{
"title": "updated poll title",
"details": "updated details",
"details_format": "md"
}'
עריכת אפשרויות מפורטות
ניתן לקבל את מזהי האפשרויות מהמערך poll_options בתשובה לבקשת יצירה או אחזור. יש לשלוח רק את השדות שיש לשנות, יחד עם ה־id של כל אפשרות קיימת:
curl https://www.loomio.com/api/user0/polls/123 \
-X PATCH \
-H 'Authorization: Bearer YOUR_API_KEY' \
--json '{
"poll_options_attributes": [
{
"id": 456,
"meaning": "Updated explanation",
"prompt": "What would improve this proposal?"
},
{
"name": "Abstain",
"meaning": "I leave the decision to others",
"icon": "abstain",
"priority": 2
}
]
}'
מזהי האפשרויות חייבים להשתייך לסקר שנערך. העריכה דורשת הרשאה לעריכת הסקר, ולא ניתן לערוך סקרים סגורים. בסקרים אנונימיים גם הגדרות האפשרויות ננעלות לאחר הגשת ההצבעה הראשונה.
מחיקה רכה של סקר
מחיקה רכה של סקר בשם החשבון שמפתח ה־API שייך לו. פעולה זו מסמנת את הסקר כמחוק ומשאירה את רשומת הסקר במקומה.
DELETE /api/user0/polls/:id
דוגמה
curl https://www.loomio.com/api/user0/polls/123 \
-X DELETE \
-H 'Authorization: Bearer YOUR_API_KEY'
חיפוש
חיפוש דיונים, תגובות, סקרים, הצבעות ומסקנות הגלויים לחשבון שמפתח ה־API שייך אליו. התוצאות כוללות תוכן ציבורי גם ללא חברות בקבוצה שלו; תוכן פרטי עדיין כפוף לכללי הנראות הרגילים של השרשור.
GET /api/user0/search
פרמטרים
| שם | תיאור |
|---|---|
query |
טקסט לחיפוש. נתמכות התאמות מדויקות ומקורבות |
group_id |
הגבלת התוצאות לקבוצה גלויה אחת |
org_id |
הגבלת התוצאות לקבוצת אם גלויה ולתת־הקבוצות הגלויות שלה. יש להשתמש ב־0 עבור דיונים ישירים |
type |
הגבלת התוצאות לסוג אחד: Discussion, Comment, Poll, Stance או Outcome |
types |
רשימת סוגי תוצאות המופרדים בפסיקים |
tag |
הגבלת התוצאות לשרשורים עם תגית זו |
author_id |
הגבלת התוצאות לתוכן שנכתב בחשבון אחד. ללא query, מוחזרת הפעילות הגלויה האחרונה של אותו חשבון |
order |
יש להגדיר authored_at_desc כדי למיין את התוכן התואם לפי מועד הכתיבה |
curl 'https://www.loomio.com/api/user0/search?query=quarterly+planning&type=Discussion' \
-H 'Authorization: Bearer YOUR_API_KEY'
התשובה מכילה מערך search_results. כל תוצאה מזהה את הרשומה התואמת ואת ההקשר הגלוי שלה באמצעות שדות הכוללים את searchable_type, searchable_id, highlight, group_id, group_name, discussion_key, poll_key, author_id, author_name, authored_at ו־tags. שדות שאינם רלוונטיים לתוצאה מקבלים את הערך null.
שרשורים
רשימת שרשורים
הצגת רשימת שרשורי הדיון והסקר הנגישים לחשבון שמפתח ה־API שייך אליו, לפי סדר הפעילות האחרונה. מזהה השרשור הוא ה־topic_id שלו.
GET /api/user0/threads
פרמטרים
| שם | תיאור |
|---|---|
limit |
מספר שלם, רשות, ברירת המחדל היא 50. גודל העמוד |
offset |
מספר שלם, רשות, ברירת המחדל היא 0. היסט לצורך חלוקה לעמודים |
דוגמה
curl 'https://www.loomio.com/api/user0/threads?limit=50&offset=0' \
-H 'Authorization: Bearer YOUR_API_KEY'
קריאת שרשור
קריאת שרשור, רצף האירועים המסודר שלו, או מסמך ה־Markdown המלא של התוכן הנגיש בו.
GET /api/user0/threads/:topic_id
GET /api/user0/threads/:topic_id/items
GET /api/user0/threads/:topic_id/markdown
נקודת הקצה items מקבלת את הפרמטרים הבאים לחלוקה לעמודים:
| שם | תיאור |
|---|---|
limit |
מספר שלם, רשות, ברירת המחדל היא 50, הערך המרבי הוא 500. גודל העמוד |
offset |
מספר שלם, רשות, ברירת המחדל היא 0. היסט לצורך חלוקה לעמודים |
דוגמה
GET https://www.loomio.com/api/user0/threads/<topic_id>
GET https://www.loomio.com/api/user0/threads/<topic_id>/items?limit=50&offset=0
GET https://www.loomio.com/api/user0/threads/<topic_id>/markdown
נקודת הקצה items מחזירה עמוד מתוך רצף האירועים בסדר עולה, כולל תגובות, סקרים, הצבעות ומסקנות הנגישים לחשבון. meta.total הוא המספר הכולל של הפריטים בשרשור. כדי לקרוא את הרצף כולו, יש לאחזר את העמודים הבאים. נקודת הקצה markdown מחזירה את כל התוכן הנגיש בשרשור כמסמך Markdown אחד. נימוקי ההצבעות נכללים רק כאשר הם נגישים לחשבון שמפתח ה־API שייך אליו.
כל נקודות הקצה של השרשורים אוכפות את אותן הרשאות כמו ממשק Loomio. מפתח ה־API אינו מעניק גישה לשרשור שאין לחשבון הרשאה לפתוח בדרך הרגילה.
Webhooks
ה־API למשתמש מבוסס על בקשות: אינטגרציה פונה ל־Loomio כשנדרש לקרוא או לשנות נתונים. webhook של קבוצה מאפשר שליחת נתונים בכיוון ההפוך. Loomio שולחת אירועים נבחרים של הקבוצה לנקודת הקצה שהוגדרה בזמן התרחשותם, כך שאין צורך שהאינטגרציה תבדוק שוב ושוב את ה־REST API כדי לזהות שינויים.
Webhooks מוגדרים לכל קבוצה בנפרד ודורשים הרשאת ניהול של הקבוצה. ניתן לנהל אותם דרך הממשק של Loomio:
- יש לפתוח את הקבוצה.
- יש לפתוח את תפריט הקבוצה ולבחור אינטגרציות צ'אט.
- יש להוסיף את האינטגרציה המתאימה לפורמט הנתונים שנקודת הקצה מקבלת. לנקודת קצה לשימוש כללי, יש להשתמש בפורמט Mattermost/Markdown.
- יש להזין שם ואת כתובת ה־URL של היעד.
- יש לבחור את האירועים ש־Loomio תשלח אוטומטית.
- יש לשמור את האינטגרציה ולהשתמש ב־בדיקת חיבור כדי לשלוח הודעת בדיקה.
יש להשתמש ביעד HTTPS עם כתובת URL שלא ניתן לנחש. Loomio דורשת שכתובת היעד תיפתר לכתובת ציבורית, וחוסמת בקשות לכתובות מקומיות או לכתובות ברשתות פרטיות.
סוכנים ואינטגרציות אחרות יכולים לנהל webhooks גם דרך נקודות הקצה של chatbots המתוארות בהמשך, באמצעות אימות Bearer. המשאב נקרא chatbots לצורך תאימות לאינטגרציות הצ'אט של Loomio, אך הוא מייצג גם webhooks יוצאים לשימוש כללי.
הצגת רשימת webhooks
החזרת אינטגרציות הצ'אט המוגדרות לקבוצה. לחשבון שמפתח ה־API שייך לו חייבת להיות הרשאת ניהול של הקבוצה. התשובה כוללת כתובות URL של יעדים, ולכן אין לחשוף אותה לחברי קבוצה רגילים.
GET /api/user0/chatbots?group_id=123
| שם | תיאור |
|---|---|
group_id |
מספר שלם, חובה. מזהה הקבוצה שאת ה־webhooks שלה יש להציג ברשימה |
limit |
מספר שלם, רשות, ברירת המחדל היא 50, הערך המרבי הוא 500. גודל העמוד |
offset |
מספר שלם, רשות, ברירת המחדל היא 0. היסט לצורך חלוקה לעמודים |
curl 'https://www.loomio.com/api/user0/chatbots?group_id=123&limit=50&offset=0' \
-H 'Authorization: Bearer YOUR_API_KEY'
התשובה מכילה עמוד של chatbots המסודר לפי מזהה האינטגרציה בסדר עולה, וב־meta.total מופיע המספר הכולל של האינטגרציות בקבוצה. לכל אינטגרציה יש השדות הבאים:
| שדה | תיאור |
|---|---|
id |
מזהה האינטגרציה המשמש לעדכון ולמחיקה |
group_id |
הקבוצה המקבלת את האירועים |
name |
שם האינטגרציה לצורכי ניהול |
kind |
webhook עבור webhook יוצא או matrix עבור אינטגרציית Matrix |
webhook_kind |
פורמט הנתונים: markdown, slack, discord, microsoft או webex |
server |
כתובת ה־URL של היעד |
event_kinds |
אירועים הנשלחים אוטומטית |
notification_only |
האם ההודעות מכילות רק את כותרת ההתראה |
יצירת webhook
POST /api/user0/chatbots
curl https://www.loomio.com/api/user0/chatbots \
-H 'Authorization: Bearer YOUR_API_KEY' \
--json '{
"group_id": 123,
"name": "Planning system",
"kind": "webhook",
"webhook_kind": "markdown",
"server": "https://hooks.example.org/loomio/unguessable-token",
"event_kinds": [
"new_discussion",
"new_comment",
"poll_created",
"outcome_created"
],
"notification_only": false
}'
לחשבון שמפתח ה־API שייך לו חייבת להיות הרשאת ניהול של הקבוצה המזוהה באמצעות group_id. לפני השמירה נבדק שכתובת היעד היא כתובת URL ציבורית.
עדכון webhook
PATCH /api/user0/chatbots/:id
יש לשלוח את השדות שיש לשנות. לא ניתן להעביר את ה־webhook לקבוצה אחרת באמצעות שינוי group_id.
curl https://www.loomio.com/api/user0/chatbots/456 \
-X PATCH \
-H 'Authorization: Bearer YOUR_API_KEY' \
--json '{
"name": "Planning events",
"event_kinds": [
"new_discussion",
"outcome_created"
]
}'
בדיקת יעד של webhook
ניתן לשלוח הודעת בדיקה התואמת ל־Markdown ליעד, לפני שמירת ההגדרות שלו או אחריה.
POST /api/user0/chatbots/check
curl https://www.loomio.com/api/user0/chatbots/check \
-H 'Authorization: Bearer YOUR_API_KEY' \
--json '{
"group_id": 123,
"server": "https://hooks.example.org/loomio/unguessable-token"
}'
מחיקת webhook
DELETE /api/user0/chatbots/:id
curl https://www.loomio.com/api/user0/chatbots/456 \
-X DELETE \
-H 'Authorization: Bearer YOUR_API_KEY'
מחיקת ההגדרות מפסיקה שליחות עתידיות. היא אינה מוחקת תוכן כלשהו מקבוצת Loomio.
סוגי אירועים
ניתן להגדיר webhook לקבלת סוגי האירועים הבאים:
| אירוע | מתי הוא נשלח |
|---|---|
new_discussion |
נפתח דיון |
discussion_edited |
דיון נערך |
new_comment |
נוצרת תגובה |
poll_created |
נפתח סקר |
poll_edited |
סקר נערך |
poll_closing_soon |
סקר מתקרב למועד הסגירה שלו |
poll_expired |
סקר מגיע למועד הסגירה שלו |
poll_closed_by_user |
סקר נסגר ידנית |
poll_reopened |
סקר נפתח מחדש |
outcome_created |
מתפרסמת מסקנה |
outcome_updated |
מסקנה מתעדכנת |
outcome_review_due |
מגיע המועד לבחינה מחדש של מסקנה |
stance_created |
מתבצעת הצבעה |
stance_updated |
הצבעה משתנה |
ה־webhook שייך לקבוצה אחת ומקבל ממנה את האירועים שנבחרו. ניתן גם לבחור במפורש באינטגרציה בעת שיתוף או שליחת התראות מסוימות, גם אם האירוע האוטומטי המתאים לא נבחר.
שליחה באמצעות HTTP
Loomio שולח בקשת HTTP POST באופן אסינכרוני לכתובת שהוגדרה, עם הכותרת הבאה:
Content-Type: application/json; charset=utf-8
זמן ההמתנה המרבי לבקשה הוא חמש שניות. תשובת 2xx, לרבות 204 No Content, נחשבת להצלחה. שירותים המקבלים הודעות webhook צריכים להשיב במהירות, לבצע עיבוד ממושך באופן אסינכרוני, ולתמוך בקבלת הודעות כפולות או הודעות המגיעות שלא לפי הסדר.
Loomio אינו מוסיף כרגע חתימת webhook, כותרת עם סוד משותף, מזהה אירוע או מזהה שליחה. יש להתייחס לכתובת היעד המלאה כאל פרט אימות, להימנע מחשיפתה לציבור ולכלול בכתובת אסימון שלא ניתן לנחש כאשר השירות המקבל תומך בכך. אם נדרשת סכמת אירועים יציבה הניתנת לקריאה ממוחשבת או שליחה חתומה, יש להשתמש ב־webhook כהתראה על שינוי ולאחזר את הרשומות העדכניות דרך ה־API למשתמש עם אימות.
פורמטים של מטעני נתונים
מטעני הנתונים של Webhook הם הודעות המיועדות להצגה בשירותי צ'אט. הם אינם רשומות Loomio מלאות שעברו סריאליזציה. הקישורים בהודעה מזהים את התוכן הרלוונטי ב-Loomio; כאשר נדרש מידע מובנה על המצב הנוכחי, ניתן לשלוף אותו באמצעות ה-API למשתמש.
| פורמט האינטגרציה | שדות JSON עיקריים |
|---|---|
| Mattermost/Markdown | text, icon_url, username |
| Slack | text |
| Discord | content, מוגבל לכ-1,900 תווים |
| Microsoft Teams | @type, @context, themeColor, text, sections |
| Webex | markdown |
לדוגמה, פורמט Markdown הכללי שולח גוף הודעה במבנה הבא:
{
"text": "Ada started a discussion: [Quarterly planning](https://example.loomio.org/d/example)",
"icon_url": "https://example.loomio.org/path/to/group-logo.png",
"username": "Loomio"
}
הנוסח המדויק של ההודעה תלוי באירוע, בהגדרות השפה והאזור של הקבוצה, בהגדרה לשליחת כותרת ההתראה בלבד ובגרסת Loomio. בעת עיבוד ההודעות יש להסתמך על השדות המתועדים ברמה העליונה של הפורמט שנבחר, במקום לנתח את ניסוח המשפטים.