Pāriet uz dokumentāciju
SDK

Dalībnieki

`members.list`, `get`, `add`, `update`, `remove`, `grantAddress` un `revokeAddress`.

Katra metode

members.ts
const people = await openemail.members.list()const member = await openemail.members.get(people[0]!.userId) const sam = await openemail.members.add({  email: '[email protected]',  roleId: support.id,  addressIds: ['2b81de07-…'],  access: 'member',}) await openemail.members.update(sam.userId, { roleId: viewerRoleId }) await openemail.members.grantAddress(sam.userId, {  addressId: 'c40a95f2-…',  access: 'viewer',})await openemail.members.revokeAddress(sam.userId, 'c40a95f2-…') await openemail.members.remove(sam.userId)

Divas piešķiršanas vienai personai, un tās nedrīkst sajaukt kopā. role ir tas, ko viņi drīkst darīt; addresses ir tas, ar ko viņi to drīkst darīt. Abām jāsakrīt: loma ar emails:send un access: "viewer" uz invoices@ ir kāds, kurš drīkst sūtīt pastu un nedrīkst to sūtīt no šīs adreses.

Katra metode pieņem userId, nevis e-pasta adresi. add ir vienīgais izņēmums, un tas arī ir izņēmuma iemesls: tā izsaucējam ir e-pasta adrese un vēl nav lietotāja id, kas arī ir visa šī izsaukuma pirmā puse.

implied: true nozīmē, ka lomu neviens nav izvēlējies. Viņiem ir adreses un nav lomas ieraksta, tāpēc tā tika izsecināta no plašākā piešķīruma, kāds viņiem ir. Uztver to kā “vēl nav izlemts”, un update ir tas, kas secinājumu pārvērš par lēmumu. Līdz tam viņu adrešu piekļuves paplašināšana klusi paplašina arī to, ko viņi drīkst darīt.

Darbvietas īpašnieks ir pirmais ieraksts, atzīmēts ar isOwner: true, kamēr add, update un remove viņu joprojām noraida ar member_is_owner. Nekoplietota darbvieta uzrāda vienu dalībnieku, nevis nevienu, tāpēc, skaitot vietas, izslēdz isOwner.

remove paņem abas asis — lomu UN katru adreses piešķīrumu šajā darbvietā — un ziņo addressesRevoked. revokeAddress ir šaurākais variants, domāts tam, kurš mainījis komandu, nevis tam, kurš aizgājis.

Parametri

emailstringobligāts
Kuru uzaicināt; adrese tiek apgriezta un pārveidota mazajos burtos. Kontam vēl nav jābūt: uzaicināts tiek ikviens, un loma un piešķīrumi nostrādā, kad viņš uzaicinājumu pieņem. Kāds, kurš darbvietā jau ir, ir `member_is_owner` (422).
roleIdstringobligāts
Loma, kas viņam būs, no 1 līdz 128 rakstzīmēm, un tai jābūt lomai šajā darbvietā: nezināms id ir `role_not_found` (404). Īpašnieka lomu izdalīt nevar, un tā atnāk kā `role_immutable` (409), jo padarīt kādu par īpašnieku nozīmē nodot darbvietu, un tādam izsaukumam šeit nav vietas.
addressIdsstring[]
Adreses, ko nodot tajā pašā izsaukumā — ne vairāk kā 64 id, katrs no 1 līdz 128 rakstzīmēm; id, kas nav adrese šajā darbvietā, tiek noraidīts. Vispirms tiek ierakstīta loma, un piešķīrumi seko pa vienam, tāpēc slikts id atstāj dalībnieku izveidotu ar mazāk adresēm, nekā prasīji. Risinājums ir nosūtīt to pašu ķermeni vēlreiz, jo abas rakstīšanas ir upsert.
access'member' | 'viewer'
Ko viņi drīkst darīt ar katru id no `addressIds`: `member` adresi lasa un sūta kā tā, `viewer` to tikai lasa. Noklusējums ir `member` — līmenis, ko konsole un vecākais koplietošanas ceļš vienmēr lietojuši —, tāpēc viens un tas pats izsaukums nozīmē vienu un to pašu gan no skripta, gan no ekrāna; lai piešķirtu jauktu līmeni, pēc tam izsauc `grantAddress` tiem, kas atšķiras.

Atbilde

object'member'
Vienmēr `member`. Noņemšana atbild ar to pašu vērtību, viņu `userId`, `deleted: true` un `addressesRevoked` — un nevienu no pārējiem zemāk uzskaitītajiem laukiem.
userIdstring
Viņu konta id un rokturis, ko ceļā pieņem katrs cits dalībnieku izsaukums: get, update, remove un abi adrešu izsaukumi. Kāda pievienošana ir vienīgais izsaukums, kas strādā no e-pasta adreses, jo tas, kurš pievieno kolēģi, zina viņa adresi, nevis id.
emailstring
E-pasta adrese viņu kontā, atkārtota tā, kā to glabā attiecīgā rinda. Šis resurss to nekad neraksta, un `add` veiktā pārveidošana mazajos burtos attiecas uz adresi, ko sūti meklēšanai, nevis uz to, kas atnāk atpakaļ. Pēc īpašnieka dalībnieku saraksts ir kārtots pēc tās, nevis pēc pievienošanās laika, jo sarakstu lasa, lai atrastu vienu cilvēku, nevis lai redzētu, kas mainījies.
namestring | null
Viņu redzamais vārds, ņemts no konta, kur kolonna ir NOT NULL. Null tipā ir aizsardzības pēc, nevis stāvoklis, kādu šim API būtu izdevies novērot. Tas pieder viņiem, nevis darbvietai, tāpēc nekas šajā resursā to nevar iestatīt.
imagestring | null
Viņu avatārs, ņemts no konta, un null, kad tāds nav iestatīts.
role.idstring | null
Lomas id, kas viņiem ir, vai null, kad to neviens nav izvēlējies. Skat. `implied`. Null šeit ir vienīgais gadījums, kad `role` uzrāda secinājumu, nevis kāda pieņemtu lēmumu.
role.namestring
Lomas nosaukums. Netiešam dalībniekam tas ir iebūvētās veidnes nosaukums, uz kuru izšķīrās viņa piekļuve, nevis ieraksts šajā darbvietā.
role.builtin'owner' | 'admin' | 'member' | 'viewer' | 'developer' | 'billing' | null
Kura iebūvētā loma tā ir, vai null pielāgotai. `owner` parādās tikai paša īpašnieka rindā, blakus `isOwner: true`; šīs lomas piešķiršana kādam tiek noraidīta ar `role_immutable` (409).
isOwnerboolean
Patiess tieši vienā rindā — kontā, uz kuru ir piesaistīta darbvieta. Viņam ir visas atļaujas neatkarīgi no tā, ko saka viņa lomas ieraksts, viņš tiek kārtots pirmais, un `add`, `update` un `remove` viņu noraida ar `member_is_owner`. Izslēdz viņu, kad skaiti vietas.
impliedboolean
Patiess, kad šai personai ir adrešu piešķīrumi un nav dalībnieka ieraksta, tāpēc viņa loma tika izsecināta, nevis izvēlēta: jebkurš `member` piešķīrums izšķiras uz iebūvēto Member, citādi uz Viewer. Nekad nav patiess īpašniekam. Rādi to kā “izsecināts no piekļuves”. Kamēr PATCH nav secinājumu pārvērtis par lēmumu, adrešu piekļuves paplašināšana klusi paplašina arī to, ko viņi drīkst darīt.
permissionsPermission[]
Lomas atļaujas, saplacinātas uz dalībnieka, tāpēc viens lasījums atbild uz jautājumu “vai viņš drīkst?”, neielasot lomu. Netiešam dalībniekam tās nāk no iebūvētās VEIDNES, nevis no šīs darbvietas lomas ieraksta, tāpēc iebūvētās Member lomas rediģēšana nemaina to, kas ir netiešam dalībniekam.
addressesMemberAddress[]
Adreses, kas viņam piešķirtas, sakārtotas pēc adreses, katra ar savu piekļuves līmeni. Tukšs tam, kam ir loma un nav piešķīrumu — tieši tā izskatās jauns dalībnieks, kamēr viņam nav piešķirta adrese, un tā ir pareizā kļūme, kamēr vēl lem, ko viņam vajadzētu redzēt.
addresses[].addressIdstring
Adreses id, un tas, ko pieņem `grantAddress` un `revokeAddress`. Id, kas nav adrese šajā darbvietā, tiek noraidīts abos, nevis uzrāda atsaukšanu, kas nekad nav notikusi.
addresses[].addressstring
Pilnā adrese, mazajiem burtiem, no jauna salikta no tās lokālās daļas un domēna.
addresses[].access'member' | 'viewer'
Ko viņi drīkst darīt ar šo vienu adresi: `member` to lasa un sūta kā tā, `viewer` to tikai lasa. Gan šim, gan lomai jāatļauj sūtīšana, pirms tā notiek, tāpēc loma ar `emails:send` virs `viewer` piešķīruma sūta no nekurienes; glabātā kolonna saucas `role`, un šeit tā ir pārsaukta, lai viens objekts nenestu divus `role`, kas ņemti no divām vārdnīcām.
createdAtstring | null
Kad tika ierakstīta viņu dalībnieka rinda, ISO-8601, un null, kad dalībnieka rindas vispār nav. Tas null apraksta to pašu populāciju, ko `implied: true`: cilvēkus, kuriem ir adreses no laika pirms lomām un kuriem kopš tā laika neviens nav devis lomu.