मुख्य सामग्री पर जाएं

एंडपॉइंट संदर्भ

यह खंड ChurchApps API द्वारा प्रदान किए गए सभी REST एंडपॉइंट का दस्तावेज़ीकरण करता है। प्रत्येक मॉड्यूल पृष्ठ हर रूट को उसके HTTP मेथड, पथ, प्रमाणीकरण आवश्यकताओं और आवश्यक अनुमतियों के साथ सूचीबद्ध करता है।

बेस URL

एनवायरनमेंटURL
स्थानीय विकासhttp://localhost:8084
प्रोडक्शनhttps://api.churchapps.org

अनुरोध परंपराएँ

  • Content-Type: सभी अनुरोध और प्रतिक्रिया बॉडी application/json का उपयोग करती हैं
  • मल्टी-टेनेंट: प्रत्येक प्रमाणित अनुरोध JWT टोकन से निकाले गए churchId तक स्कोप किया जाता है -- आप URL में churchId पास नहीं करते
  • बैच सेव: अधिकांश POST एंडपॉइंट ऑब्जेक्ट का एरे स्वीकार करते हैं। API एक ही कॉल में नए रिकॉर्ड (कोई id फ़ील्ड नहीं) इन्सर्ट और मौजूदा रिकॉर्ड (id फ़ील्ड के साथ) अपडेट करेगा
  • IDs: सभी एंटिटी ID UUID हैं

उदाहरण: बैच सेव

POST /membership/people
Authorization: Bearer <token>

[
{ "firstName": "Jane", "lastName": "Doe" },
{ "id": "abc-123", "firstName": "John", "lastName": "Smith" }
]

पहला ऑब्जेक्ट बनाया जाता है (नया); दूसरा अपडेट किया जाता है (id है)।

प्रतिक्रिया प्रारूप

सफल प्रतिक्रियाएँ JSON लौटाती हैं -- या तो एक एकल ऑब्जेक्ट या एक एरे। त्रुटि प्रतिक्रियाएँ मानक HTTP स्टेटस कोड का उपयोग करती हैं:

कोडअर्थ
200सफल
400खराब अनुरोध (मान्यता त्रुटियाँ)
401अनधिकृत (गुम/अमान्य टोकन या अपर्याप्त अनुमतियाँ)
404नहीं मिला
500सर्वर त्रुटि

मान्यता त्रुटियाँ लौटाती हैं:

{
"errors": [
{ "msg": "enter a valid email address", "param": "email", "location": "body" }
]
}

एंडपॉइंट तालिकाएँ कैसे पढ़ें

प्रत्येक मॉड्यूल पृष्ठ एंडपॉइंट को कंट्रोलर के अनुसार व्यवस्थित करता है। तालिकाएँ इन कॉलम का उपयोग करती हैं:

कॉलमविवरण
MethodHTTP मेथड (GET, POST, DELETE)
Pathकंट्रोलर के बेस पथ के सापेक्ष रूट पथ
AuthJWT = Bearer टोकन आवश्यक, Public = कोई प्रमाणीकरण आवश्यक नहीं
Permissionआवश्यक अनुमति (जैसे People.Edit)। का अर्थ है कोई भी प्रमाणित उपयोगकर्ता
Descriptionएंडपॉइंट क्या करता है

मानक CRUD बेस क्लास को विस्तारित करने वाले कंट्रोलर स्वचालित रूप से चार एंडपॉइंट प्रदान करते हैं: GET / (सभी सूचीबद्ध करें), GET /:id (ID द्वारा प्राप्त करें), POST / (बनाएँ/अपडेट करें), और DELETE /:id (हटाएँ)।

रिपोर्टिंग मॉड्यूल

रिपोर्टिंग मॉड्यूल अन्य मॉड्यूल से अलग तरीके से काम करता है। डेटाबेस-बैक्ड CRUD के बजाय, यह डिस्क पर JSON फ़ाइलों से रिपोर्ट परिभाषाएँ लोड करता है और पैरामीटराइज़्ड SQL क्वेरी निष्पादित करता है।

MethodPathAuthविवरण
GET/reporting/reports/:keyNameJWTकुंजी नाम द्वारा रिपोर्ट परिभाषा लोड करें
GET/reporting/reports/:keyName/runJWTरिपोर्ट निष्पादित करें और परिणाम लौटाएँ

रिपोर्ट पैरामीटर क्वेरी स्ट्रिंग मानों के रूप में पास किए जाते हैं (जैसे ?startDate=2024-01-01&endDate=2024-12-31)। churchId पैरामीटर JWT टोकन से स्वचालित रूप से इंजेक्ट किया जाता है। प्रत्येक रिपोर्ट परिभाषा अपनी अनुमति आवश्यकताएँ निर्दिष्ट कर सकती है।

मॉड्यूल अनुक्रमणिका

मॉड्यूलबेस पथविवरण
Authentication/membership/users, /membership/oauthलॉगिन, पंजीकरण, JWT टोकन, OAuth, अनुमतियाँ
Membership/membership/*लोग, चर्च, समूह, परिवार, भूमिकाएँ, फ़ॉर्म, सेटिंग्स
Attendance/attendance/*कैम्पस, सेवाएँ, सत्र, विज़िट, चेक-इन रिकॉर्ड
Content/content/*पृष्ठ, उपदेश, इवेंट, फ़ाइलें, गैलरी, बाइबल, स्ट्रीमिंग
Giving/giving/*दान, फंड, भुगतान गेटवे, सदस्यताएँ
Messaging/messaging/*वार्तालाप, सूचनाएँ, डिवाइस, SMS
Doing/doing/*योजनाएँ, कार्य, असाइनमेंट, ऑटोमेशन, शेड्यूलिंग