Yeqa uye kokucuketse lokuyinhloko

Luhla Lwema-Endpoint

Lesigaba sichaza tonkhe tema-endpoint te-REST letikhitjwa yi-ChurchApps API. Likhasi lemodule ngalinye libala umkhondvo ngamunye nendlela yawo ye-HTTP, tidzingo tekutivakalisa, kanye netimvumo letidzingekako.

URL Yesisekelo

SimoURL
Kutfutfuka endzawenihttp://localhost:8084
Productionhttps://api.churchapps.org

Tinchubo Tesicelo

  • Content-Type: Yonkhe imitimba yesicelo nemphendvulo isebentisa i-application/json
  • Multi-tenant: Sicelo ngasinye lesitivakalisiwe sincishiswa yi-churchId lekhishwe ku-JWT token — awukayidluliseli i-churchId ku-URL
  • Kugcina nge-batch: Emaningi ema-endpoint e-POST yemukela luhla lwetitfo. I-API itawufaka imibhalo lemisha (kute insimu ye-id) futsi ibuyeketa leyekhona (nge-id) kubita kunye
  • Ema-ID: Onkhe ema-ID etitfo ngema-UUID

Sibonelo: Kugcina Nge-Batch

POST /membership/people
Authorization: Bearer <token>

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

Sitfo sekucala siyakhiwa (kusha); sesibili siyabuyeketwa (sinayo i-id).

Umumo We-Mphendvulo

Timphendvulo letiphumelele tibuyisela i-JSON — nome sitfo lesisodwa nobe luhla. Timphendvulo temaphutsa tisebentisa emakhodi lavamile e-status e-HTTP:

IkhodiIncazelo
200Kuphumelele
400Sicelo lesibi (emaphutsa ekucinisekisa)
401Akuvunyelwe (token lelisilele/lengafanele nobe timvumo letingenele)
404Akutfolakalanga
500Liphutsa le-server

Emaphutsa ekucinisekisa abuyisela:

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

Indlela Yekufundza Emathebula Ema-Endpoint

Likhasi lemodule ngalinye lihlela ema-endpoint nge-controller. Emathebula asebentisa lamakholomu:

KholomuIncazelo
InchuboIndlela ye-HTTP (GET, POST, DELETE)
UmkhondvoUmkhondvo lohambisana nemkhondvo losisekelo we-controller
KutivakalisaJWT = idzinga i-Bearer token, Ngeyeveleni = akudzingi kutivakalisa
ImvumoImvumo ledzingekako (sibonelo People.Edit). kusho umsebentisi lotivakalisiwe nome ngubani
IncazeloLoku i-endpoint lokwentako

Ema-controller lasandisa i-CRUD base class levamile aniketa ema-endpoint lamane ngekutentekela: GET / (bala konkhe), GET /:id (tfola nge-ID), POST / (akha/buyeketa), kanye ne-DELETE /:id (sula).

Module Ye-Reporting

I-module ye-Reporting isebenta ngendlela lehlukile kunaletinye ema-module. Kunekutsi isebentise i-CRUD lesekelwe ku-database, ilayisha ticazelo tembiko kusuka kumafayela e-JSON ku-disk futsi ihambise imibuto ye-SQL lene-parameter.

InchuboUmkhondvoKutivakalisaIncazelo
GET/reporting/reports/:keyNameJWTLayisha sichazo sembiko nge-ligama lakhona (key name)
GET/reporting/reports/:keyName/runJWTHambisa umbiko futsi ubuyisele imiphumela

Ema-parameter embiko adluliswa njengemanani e-query string (sibonelo ?startDate=2024-01-01&endDate=2024-12-31). I-parameter ye-churchId ifakwa ngekutentekela kusuka ku-JWT token. Sichazo sembiko ngasinye singachaza tidzingo tayo tekwehlukene temvumo.

Luhla Lwema-Module

ModuleUmkhondvo LosisekeloIncazelo
Authentication/membership/users, /membership/oauthKungena, kubhaliswa, ema-token e-JWT, i-OAuth, timvumo
Membership/membership/*Bantfu, emabandla, emacembu, emakhaya, ema-role, emafomu, tilungiselelo
Attendance/attendance/*Ema-campus, ema-service, ticgawu, kuvakasha, imibhalo yekungena
Content/content/*Emakhasi, tishumayelo, imicimbi, emafayela, ema-gallery, liBhayibheli, kusakaza
Giving/giving/*Eminikelo, tikhwama, ema-gateway etinkhokhelo, ema-subscription
Messaging/messaging/*Tinkhulumo, tatiso, emadivayisi, i-SMS
Doing/doing/*Ema-plan, imisebenti, kwabelwa, kuzenzakalela, kuhlelwa kwesikhatsi