Lumipat sa pangunahing nilalaman

Mga Endpoint ng Doing

Pinapamahalaan ng Doing module ang pagpaplano ng serbisyo, pag-iiskedyul ng boluntaryo, pamamahala ng gawain, at mga automation. Nagbibigay ito ng mga kasangkapan para sa paglikha ng mga plano ng serbisyo na may mga oras at posisyon, pagtatalaga ng mga boluntaryo, pamamahala ng mga blockout date, pagbuo ng mga item ng service order, pagkonekta sa mga panlabas na content provider, at pag-configure ng mga automated na daloy ng trabaho na may mga kundisyon at aksyon.

Base path: /doing

Mga Plano

Base path: /doing/plans

MethodPathAuthPermissionPaglalarawan
GET/JWTIlista ang lahat ng plano para sa simbahan
GET/:idJWTKunin ang isang plano ayon sa ID
GET/ids?ids=JWTKunin ang maraming plano ayon sa mga ID na pinaghiwalay ng kuwit
GET/types/:planTypeIdJWTKunin ang mga plano ayon sa uri ng plano
GET/presenterJWTKunin ang mga plano para sa susunod na 7 araw (presenter view)
GET/public/current/:planTypeIdPampublikoKunin ang kasalukuyang plano para sa isang uri ng plano
POST/JWTLumikha o mag-update ng mga plano (tumatanggap ng isang object o array)
POST/copy/:idJWTKopyahin ang isang plano kasama ang mga posisyon, oras, takdang-aralin, at mga item ng service order. Kasama sa body ang copyMode ("none", "positions", "all") at copyServiceOrder (boolean)
POST/autofill/:idJWTAwtomatikong punan ang mga takdang-aralin ng boluntaryo para sa isang plano. Body: { teams: [{ positionId, personIds }] }
DELETE/:idJWTBurahin ang isang plano at lahat ng kaugnay na oras, takdang-aralin, posisyon, at mga item ng plano

Halimbawa: Kopyahin ang isang Plano

POST /doing/plans/copy/abc-123
Authorization: Bearer <token>

{
"serviceDate": "2026-03-01T10:00:00.000Z",
"copyMode": "all",
"copyServiceOrder": true
}
{
"id": "def-456",
"churchId": "church-1",
"serviceDate": "2026-03-01T10:00:00.000Z"
}

Mga Uri ng Plano

Base path: /doing/planTypes

Nag-eextend ng CRUD base class (GET /, GET /:id, POST /, DELETE /:id — walang pagsusuri ng pahintulot).

MethodPathAuthPermissionPaglalarawan
GET/JWTIlista ang lahat ng uri ng plano
GET/:idJWTKunin ang isang uri ng plano ayon sa ID
GET/ids?ids=JWTKunin ang maraming uri ng plano ayon sa mga ID na pinaghiwalay ng kuwit
GET/ministryId/:ministryIdJWTKunin ang mga uri ng plano para sa isang ministeryo
POST/JWTLumikha o mag-update ng mga uri ng plano
DELETE/:idJWTBurahin ang isang uri ng plano

Mga Item ng Plano

Base path: /doing/planItems

Pinapamahalaan ang mga item ng service order (mga header, seksyon, kanta, atbp.) na inorganisa sa isang parent-child na istrukturang puno.

MethodPathAuthPermissionPaglalarawan
GET/:idJWTKunin ang isang item ng plano ayon sa ID
GET/ids?ids=JWTKunin ang maraming item ng plano ayon sa mga ID na pinaghiwalay ng kuwit
GET/plan/:planIdJWTKunin ang lahat ng item ng plano para sa isang plano (nagbabalik ng istrukturang puno)
GET/presenter/:churchId/:planIdPampublikoKunin ang mga item ng plano para sa presenter view (nagbabalik ng istrukturang puno)
POST/JWTLumikha o mag-update ng mga item ng plano
POST/sortJWTI-update ang sort order para sa isang item ng plano (muling isinasaayos ang mga kapatid)
DELETE/:idJWTBurahin ang isang item ng plano

Feed ng Plano

Base path: /doing/planFeed

Nagbibigay ng mga feed ng item ng plano para sa presenter. Kung walang mga item ng plano, awtomatikong nag-populate mula sa Lessons.church venue feed gamit ang contentId ng plano.

MethodPathAuthPermissionPaglalarawan
GET/presenter/:churchId/:planIdPampublikoKunin ang feed ng plano para sa presenter (awtomatikong nag-populate mula sa venue feed kung walang laman)

Mga Posisyon

Base path: /doing/positions

Nag-eextend ng CRUD base class (GET /:id, POST /, DELETE /:id — walang pagsusuri ng pahintulot).

MethodPathAuthPermissionPaglalarawan
GET/:idJWTKunin ang isang posisyon ayon sa ID
GET/ids?ids=JWTKunin ang maraming posisyon ayon sa mga ID na pinaghiwalay ng kuwit
GET/plan/ids?planIds=JWTKunin ang mga posisyon para sa maraming plano ayon sa mga plan ID na pinaghiwalay ng kuwit
GET/plan/:planIdJWTKunin ang lahat ng posisyon para sa isang plano
POST/JWTLumikha o mag-update ng mga posisyon
DELETE/:idJWTBurahin ang isang posisyon

Mga Oras

Base path: /doing/times

MethodPathAuthPermissionPaglalarawan
GET/allJWTIlista ang lahat ng oras para sa simbahan
GET/:idJWTKunin ang isang oras ayon sa ID
GET/plans?planIds=JWTKunin ang mga oras para sa maraming plano ayon sa mga plan ID na pinaghiwalay ng kuwit
GET/plan/:planIdJWTKunin ang lahat ng oras para sa isang plano
POST/JWTLumikha o mag-update ng mga oras
DELETE/:idJWTBurahin ang isang oras

Mga Takdang-aralin

Base path: /doing/assignments

MethodPathAuthPermissionPaglalarawan
GET/myJWTKunin ang mga takdang-aralin para sa kasalukuyang gumagamit
GET/:idJWTKunin ang isang takdang-aralin ayon sa ID
GET/plan/ids?planIds=JWTKunin ang mga takdang-aralin para sa maraming plano ayon sa mga plan ID na pinaghiwalay ng kuwit
GET/plan/:planIdJWTKunin ang lahat ng takdang-aralin para sa isang plano
POST/JWTLumikha o mag-update ng mga takdang-aralin (default na katayuan ay "Unconfirmed")
POST/accept/:idJWTTanggapin ang isang takdang-aralin (dapat ang nakatalagang tao)
POST/decline/:idJWTTanggihan ang isang takdang-aralin (dapat ang nakatalagang tao)
DELETE/:idJWTBurahin ang isang takdang-aralin

Halimbawa: Tanggapin ang isang Takdang-aralin

POST /doing/assignments/accept/assign-123
Authorization: Bearer <token>
{
"id": "assign-123",
"personId": "person-456",
"positionId": "pos-789",
"planId": "plan-abc",
"status": "Accepted"
}

Mga Blockout Date

Base path: /doing/blockoutDates

Nag-eextend ng CRUD base class (GET /:id, DELETE /:id — walang pagsusuri ng pahintulot).

MethodPathAuthPermissionPaglalarawan
GET/:idJWTKunin ang isang blockout date ayon sa ID
GET/ids?ids=JWTKunin ang maraming blockout date ayon sa mga ID na pinaghiwalay ng kuwit
GET/myJWTKunin ang mga blockout date para sa kasalukuyang gumagamit
GET/upcomingJWTKunin ang lahat ng paparating na blockout date para sa simbahan
POST/JWTLumikha o mag-update ng mga blockout date (default na personId ay kasalukuyang gumagamit kung hindi ibinigay)
DELETE/:idJWTBurahin ang isang blockout date

Mga Gawain

Base path: /doing/tasks

MethodPathAuthPermissionPaglalarawan
GET/JWTKunin ang mga bukas na gawain para sa kasalukuyang gumagamit
GET/:idJWTKunin ang isang gawain ayon sa ID
GET/closedJWTKunin ang mga saradong gawain para sa kasalukuyang gumagamit
GET/timeline?taskIds=JWTKunin ang data ng timeline para sa mga gawain ayon sa mga task ID na pinaghiwalay ng kuwit
GET/directoryUpdate/:personIdJWTKunin ang gawain ng pag-update ng direktoryo para sa isang tao
POST/JWTLumikha o mag-update ng mga gawain. Magdagdag ng ?type=directoryUpdate para pangasiwaan ang mga gawain ng pag-update ng direktoryo (awtomatikong nag-a-upload ng mga larawan)
POST/loadForGroupsJWTI-load ang mga gawain para sa mga partikular na grupo. Body: { groupIds: [], status: "Open" }

Mga Automation

Base path: /doing/automations

MethodPathAuthPermissionPaglalarawan
GET/JWTIlista ang lahat ng automation para sa simbahan
GET/:idJWTKunin ang isang automation ayon sa ID
GET/checkPampublikoMag-trigger ng pagsusuri ng lahat ng automation
POST/JWTLumikha o mag-update ng mga automation
DELETE/:idJWTBurahin ang isang automation

Mga Aksyon

Base path: /doing/actions

Tinutukoy ng mga aksyon kung ano ang mangyayari kapag na-trigger ang isang automation.

MethodPathAuthPermissionPaglalarawan
GET/:idJWTKunin ang isang aksyon ayon sa ID
GET/automation/:idJWTKunin ang lahat ng aksyon para sa isang automation
POST/JWTLumikha o mag-update ng mga aksyon
DELETE/:idJWTBurahin ang isang aksyon

Mga Kundisyon

Base path: /doing/conditions

Tinutukoy ng mga kundisyon ang mga pamantayan na nagti-trigger ng isang automation.

MethodPathAuthPermissionPaglalarawan
GET/:idJWTKunin ang isang kundisyon ayon sa ID
GET/automation/:idJWTKunin ang lahat ng kundisyon para sa isang automation
POST/JWTLumikha o mag-update ng mga kundisyon
DELETE/:idJWTBurahin ang isang kundisyon

Mga Conjunction

Base path: /doing/conjunctions

Nag-uugnay ang mga conjunction ng maraming kundisyon sa isang automation (AND/OR logic).

MethodPathAuthPermissionPaglalarawan
GET/:idJWTKunin ang isang conjunction ayon sa ID
GET/automation/:idJWTKunin ang lahat ng conjunction para sa isang automation
POST/JWTLumikha o mag-update ng mga conjunction
DELETE/:idJWTBurahin ang isang conjunction

Mga Auth ng Content Provider

Base path: /doing/contentProviderAuths

Nag-eextend ng CRUD base class (GET /, GET /:id, POST /, DELETE /:id — walang pagsusuri ng pahintulot).

Pinapamahalaan ang mga talaan ng OAuth authentication para sa mga panlabas na content provider (hal., mga integrasyon ng presentation software).

MethodPathAuthPermissionPaglalarawan
GET/JWTIlista ang lahat ng auth ng content provider
GET/:idJWTKunin ang isang auth ng content provider ayon sa ID
GET/ids?ids=JWTKunin ang maraming auth ng content provider ayon sa mga ID na pinaghiwalay ng kuwit
GET/ministry/:ministryIdJWTKunin ang lahat ng auth ng content provider para sa isang ministeryo
GET/ministry/:ministryId/:providerIdJWTKunin ang talaan ng auth para sa isang partikular na ministeryo at provider
POST/JWTLumikha o mag-update ng mga auth ng content provider
DELETE/:idJWTBurahin ang isang auth ng content provider

Provider Proxy

Base path: /doing/providerProxy

Nagpo-proxy ng mga kahilingan sa mga panlabas na content provider (hal., ProPresenter, EasyWorship). Awtomatikong hina-handle ang token refresh kapag nag-expire ang mga token.

MethodPathAuthPermissionPaglalarawan
POST/browseJWTI-browse ang mga file ng content provider. Body: { ministryId, providerId, path }
POST/getPresentationsJWTKunin ang mga presentation mula sa isang content provider. Body: { ministryId, providerId, path }
POST/getPlaylistJWTKunin ang isang playlist mula sa isang content provider. Body: { ministryId, providerId, path, resolution }
POST/getInstructionsJWTKunin ang mga tagubilin para sa isang content item. Body: { ministryId, providerId, path }
POST/getExpandedInstructionsJWTKunin ang mga pinalawak na tagubilin para sa isang content item. Body: { ministryId, providerId, path }

Mga Kaugnay na Pahina