संदेश एंडपॉइंट
Messaging मॉड्यूल रीयल-टाइम वार्तालाप, चैट संदेश, पुश सूचनाएँ, SMS/ईमेल डिलीवरी, WebSocket कनेक्शन, निजी संदेश, डिवाइस पंजीकरण और टेक्स्टिंग प्रदाताओं का प्रबंधन करता है। यह लाइव स्ट्रीमिंग चैट और असिंक्रोनस सूचनाओं दोनों के लिए सभी ChurchApps एप्लिकेशन में उपयोग की जाने वाली संचार परत प्रदान करता है।
बेस पथ: /messaging
वार्तालाप
बेस पथ: /messaging/conversations
| Method | Path | Auth | Permission | विवरण |
|---|---|---|---|---|
| GET | /timeline/ids?ids= | JWT | — | कॉमा-सेपरेटेड ID द्वारा प्रथम/अंतिम संदेशों के साथ वार्तालाप लोड करें |
| GET | /messages/:contentType/:contentId | JWT | — | पेजिनेटेड संदेशों के साथ सामग्री के लिए वार्तालाप लोड करें (?page=&limit=) |
| GET | /posts | JWT | — | वर्तमान उपयोगकर्ता के समूहों के लिए पोस्ट-प्रकार वार्तालाप प्राप्त करें |
| GET | /posts/group/:groupId | JWT | — | विशिष्ट समूह के लिए पोस्ट-प्रकार वार्तालाप प्राप्त करें |
| GET | /current/:churchId/:contentType/:contentId | Public | — | सामग्री के लिए वर्तमान वार्तालाप प्राप्त करें या बनाएँ (contentId स्वचालित-डिक्रिप्ट करता है) |
| GET | /:churchId/:contentType/:contentId | Public | — | सामग्री प्रकार और ID द्वारा वार्तालाप लोड करें |
| GET | /:churchId/:id | Public | — | ID द्वारा एकल वार्तालाप लोड करें |
| POST | / | JWT | — | वार्तालाप बनाएँ या अपडेट करें (बैच) |
| POST | /start | JWT | — | प्रारंभिक टिप्पणी संदेश के साथ नया वार्तालाप शुरू करें |
| DELETE | /:churchId/:id | JWT | — | वार्तालाप हटाएँ |
संदेश
बेस पथ: /messaging/messages
| Method | Path | Auth | Permission | विवरण |
|---|---|---|---|---|
| GET | /conversation/:conversationId | JWT | — | वार्तालाप के सभी संदेश लोड करें |
| GET | /catchup/:churchId/:conversationId | Public | — | वार्तालाप के सभी संदेश लोड करें (लाइव चैट के लिए सार्वजनिक कैचअप) |
| GET | /:churchId/:id | Public | — | ID द्वारा एकल संदेश लोड करें |
| POST | / | JWT | — | संदेश सहेजें (बैच)। रीयल-टाइम अपडेट और सूचनाएँ भेजता है |
| POST | /send | Public | — | संदेश भेजें (बैच, सार्वजनिक)। WebSocket के माध्यम से रीयल-टाइम अपडेट और सूचनाएँ भेजता है |
| POST | /setCallout | JWT | — | वार्तालाप में रीयल-टाइम में कॉलआउट संदेश प्रसारित करें |
| DELETE | /:churchId/:id | JWT | — | संदेश हटाएँ और रीयल-टाइम में विलोपन प्रसारित करें |
निजी संदेश
बेस पथ: /messaging/privatemessages
| Method | Path | Auth | Permission | विवरण |
|---|---|---|---|---|
| GET | / | JWT | — | वर्तमान उपयोगकर्ता के सभी निजी संदेश लोड करें (प्रति वार्तालाप अंतिम संदेश, सभी को पढ़ा हुआ चिह्नित करता है) |
| GET | /existing/:personId | JWT | — | किसी विशिष्ट व्यक्ति के साथ मौजूदा निजी वार्तालाप खोजें |
| GET | /:id | JWT | — | ID द्वारा निजी संदेश लोड करें (वर्तमान उपयोगकर्ता को संबोधित होने पर सूचना साफ़ करता है) |
| POST | / | JWT | — | निजी संदेश भेजें (बैच)। प्राप्तकर्ता को पुश सूचना भेजता है |
सूचनाएँ
बेस पथ: /messaging/notifications
| Method | Path | Auth | Permission | विवरण |
|---|---|---|---|---|
| GET | /unreadCount | JWT | — | वर्तमान उपयोगकर्ता की अपठित सूचना गिनती प्राप्त करें |
| GET | /my | JWT | — | वर्तमान उपयोगकर्ता की सभी सूचनाएँ लोड करें (सभी को पढ़ा हुआ चिह्नित करता है) |
| GET | /tmpEmail | Public | — | दैनिक ईमेल सूचना डाइजेस्ट ट्रिगर करें (डिबग/क्रॉन एंडपॉइंट) |
| GET | /:churchId/person/:personId | JWT | — | विशिष्ट व्यक्ति की सूचनाएँ लोड करें |
| GET | /:churchId/:id | JWT | — | ID द्वारा सूचना लोड करें |
| POST | / | JWT | — | सूचनाएँ बनाएँ या अपडेट करें (बैच) |
| POST | /create | JWT | — | कई लोगों के लिए सूचनाएँ बनाएँ। बॉडी: { peopleIds, contentType, contentId, message, link } |
| POST | /markRead/:churchId/:personId | JWT | — | व्यक्ति की सभी सूचनाओं को पढ़ा हुआ चिह्नित करें |
| POST | /sendTest | JWT | — | परीक्षण पुश सूचना भेजें। बॉडी: { personId, title } |
| POST | /ping | Public | — | बाहरी ट्रिगर से सूचना बनाएँ। बॉडी: { personId, churchId, contentType, contentId, message, triggeredByPersonId } |
| DELETE | /:churchId/:id | JWT | — | सूचना हटाएँ |
सूचना प्राथमिकताएँ
बेस पथ: /messaging/notificationpreferences
मानक CRUD विस्तारित। बेस क्लास POST / (बनाएँ या अपडेट करें, कोई अनुमति आवश्यक नहीं) प्रदान करता है।
| Method | Path | Auth | Permission | विवरण |
|---|---|---|---|---|
| POST | / | JWT | — | सूचना प्राथमिकताएँ बनाएँ या अपडेट करें (CRUD बेस क्लास से) |
| GET | /my | JWT | — | वर्तमान उपयोगकर्ता की सूचना प्राथमिकताएँ लोड करें (मौजूद न होने पर स्वचालित डिफ़ॉल्ट बनाता है) |
कनेक्शन
बेस पथ: /messaging/connections
लाइव स्ट्रीमिंग चैट के लिए WebSocket/रीयल-टाइम कनेक्शन प्रबंधित करता है।
| Method | Path | Auth | Permission | विवरण |
|---|---|---|---|---|
| GET | /:churchId/:conversationId | Public | — | वार्तालाप के सभी कनेक्शन लोड करें |
| POST | / | Public | — | कनेक्शन पंजीकृत करें (बैच)। अनाम उपयोगकर्ताओं को स्वचालित नंबर देता है और उपस्थिति/ब्लॉक किए गए IP अपडेट भेजता है |
| POST | /setName | Public | — | सॉकेट ID द्वारा कनेक्शन का प्रदर्शन नाम अपडेट करें। बॉडी: { socketId, name } |
| POST | /tmpSendAlert | Public | — | व्यक्ति के कनेक्शन को सूचना अलर्ट भेजें। बॉडी: { churchId, personId } |
डिवाइस
बेस पथ: /messaging/devices
पुश सूचनाओं और सामग्री पेयरिंग (जैसे TV डिस्प्ले पर Lessons ऐप) के लिए डिवाइस पंजीकरण प्रबंधित करता है।
| Method | Path | Auth | Permission | विवरण |
|---|---|---|---|---|
| POST | /enroll | JWT | — | डिवाइस नामांकन या अपडेट करें (मोबाइल पुश पंजीकरण)। FCM टोकन या डिवाइस ID से मिलान करता है |
| POST | /enrollAnon | Public | — | अनाम डिवाइस नामांकन करें और 4-अक्षर का पेयरिंग कोड जनरेट करें |
| POST | / | Public | — | डिवाइस सहेजें (बैच) |
| GET | /pair/:pairingCode | JWT | — | पेयरिंग कोड से डिवाइस पेयर करें। वैकल्पिक ?contentType=&contentId= सामग्री असाइन करने के लिए |
| GET | /status/:deviceId | Public | — | डिवाइस की पेयरिंग स्थिति जाँचें |
| GET | /:churchId | JWT | — | चर्च के सभी डिवाइस लोड करें |
| GET | /:churchId/person/:personId | JWT | — | व्यक्ति के सभी डिवाइस लोड करें |
| GET | /:churchId/:id | JWT | — | ID द्वारा डिवाइस लोड करें |
| DELETE | /:churchId/:id | JWT | — | डिवाइस हटाएँ |
डिवाइस सामग्री
बेस पथ: /messaging/devicecontents
पेयर किए गए डिवाइस के लिए सामग्री असाइनमेंट प्रबंधित करता है (जैसे, TV पर कौन सा पाठ प्रदर्शित है)।
| Method | Path | Auth | Permission | विवरण |
|---|---|---|---|---|
| GET | /deviceId/:deviceId | JWT | — | डिवाइस के सामग्री असाइनमेंट लोड करें |
| POST | / | JWT | — | डिवाइस सामग्री असाइनमेंट सहेजें (बैच) |
| DELETE | /:id | JWT | — | डिवाइस सामग्री असाइनमेंट हटाएँ |
टेक्स्टिंग
बेस पथ: /messaging/texting
SMS टेक्स्टिंग प्रदाता, समूह टेक्स्ट मैसेजिंग और डिलीवरी ट्रैकिंग प्रबंधित करता है।
| Method | Path | Auth | Permission | विवरण |
|---|---|---|---|---|
| GET | /providers | JWT | — | चर्च के टेक्स्टिंग प्रदाता लोड करें (क्रेडेंशियल मास्क किए गए हैं) |
| GET | /preview/:groupId | JWT | — | समूह टेक्स्ट के प्राप्तकर्ताओं का प्रीव्यू करें (पात्र, ऑप्ट-आउट, बिना फ़ोन गिनती) |
| GET | /sent | JWT | — | चर्च के सभी भेजे गए टेक्स्ट संदेश रिकॉर्ड लोड करें |
| GET | /sent/:id/details | JWT | — | प्रति-प्राप्तकर्ता डिलीवरी लॉग के साथ भेजा गया टेक्स्ट लोड करें |
| POST | /providers | JWT | — | टेक्स्टिंग प्रदाता सहेजें (बैच)। API क्रेडेंशियल एन्क्रिप्ट करता है |
| POST | /send | JWT | — | समूह के सभी पात्र सदस्यों को SMS भेजें। बॉडी: { groupId, message } |
| POST | /sendPerson | JWT | — | एकल व्यक्ति को SMS भेजें। बॉडी: { personId, phoneNumber, message } |
| DELETE | /providers/:id | JWT | — | टेक्स्टिंग प्रदाता हटाएँ |
ब्लॉक किए गए IP
बेस पथ: /messaging/blockedips
लाइव स्ट्रीमिंग चैट वार्तालाप के लिए IP ब्लॉकिंग प्रबंधित करता है।
| Method | Path | Auth | Permission | विवरण |
|---|---|---|---|---|
| POST | / | JWT | — | ब्लॉक किए गए IP सहेजें (बैच)। वार्तालाप को अपडेट की गई ब्लॉक सूची प्रसारित करता है |
| POST | /clear | JWT | — | विशिष्ट सेवाओं के सभी ब्लॉक किए गए IP साफ़ करें। बॉडी: [{ serviceId, churchId }] |
डिलीवरी लॉग
बेस पथ: /messaging/deliverylogs
भेजे गए संदेशों (SMS, पुश सूचनाएँ, ईमेल) की डिलीवरी स्थिति ट्रैक करता है।
| Method | Path | Auth | Permission | विवरण |
|---|---|---|---|---|
| GET | /content/:contentType/:contentId | JWT | — | सामग्री प्रकार और ID द्वारा डिलीवरी लॉग लोड करें |
| GET | /person/:personId | JWT | — | व्यक्ति के लिए डिलीवरी लॉग लोड करें। वैकल्पिक ?startDate=&endDate= फ़िल्टर |
| GET | /recent | JWT | — | चर्च के हालिया डिलीवरी लॉग लोड करें। वैकल्पिक ?limit= (डिफ़ॉल्ट 100) |
| GET | /:id | JWT | — | ID द्वारा डिलीवरी लॉग लोड करें |
संबंधित पृष्ठ
- Membership एंडपॉइंट -- लोग, समूह, भूमिकाएँ और मुख्य पहचान
- Attendance एंडपॉइंट -- सेवा और विज़िट ट्रैकिंग
- प्रमाणीकरण और अनुमतियाँ -- लॉगिन प्रवाह, JWT, OAuth, अनुमति मॉडल
- मॉड्यूल संरचना -- कोड संगठन पैटर्न