Comunidade

Resumo

API responsÔvel por criar as comunidades onde as ações de engajamento serão realizadas, uma comunidade é composta por um grupo de pessoas que passam a ter acesso ao adquirir uma NFT.

Uma empresa pode ter mais de uma comunidade e cada comunidade poderÔ ter mais de uma coleção.

Como funciona

Uma vez que o usuÔrio foi cadastrado, ele poderÔ criar ou participar de comunidades. O que ele pode realizar na comunidade vai depender do nível de permissão.

Objeto Community

Exemplo de Objeto de Comunidade
{
  "id": "8798wdefs",
  "companyId": "a4wed86fwd",
  "name": "ABC Community",
  "description": "ABC Community description",
  "email": "[email protected]",
  "status": "active",
  "users": {
    "community_admin":["8974efs"],
    "community_moderator":["fg74wea", "khuf132"],
    "members":["ioyu132", "khj789", "0w3rq13"]
  },
  "tags": ["ambiental", "arte", "empreeendedorismo"]
}

Endpoints

Comunidade

  • GET /v1/communities

  • GET /v1/communities/:communityId

  • GET /v1/communities/:communityId/collections

Gestão de dados da Comunidade

  • GET /v1/communities/manage

  • POST /v1/communities/manage

  • GET /v1/communities/:communityId/manage

  • PATCH /v1/communities/:communityId/manage

  • GET /v1/communities/:communityId/collections/manage

Gestão de permissões da Comunidade

  • GET /v1/communities/:communityId/users-roles/manage

  • POST /v1/communities/:communityId/users-roles/manage

  • DELETE /v1/communities/:communityId/users-roles/:userId/manage

  • GET /v1/communities/:communityId/users-roles/:userId/manage

  • PATCH /v1/communities/:communityId/users-roles/:userId/manage

Comunidades

Lista as comunidades pĆŗblicas

GET https://goblockchain.io/gotokens-api/v1/communities

Nƭvel de permissionamento necessƔrio: qualquer

Query Parameters

Name
Type
Description

name

String

Nome da Comunidade

limit

String

Limite de resultados na busca

offset

String

Quantidade de resultados para avanƧar da busca

companyId

String

ID da Empresa

tags

Array

Tags da Comunidade

{
  "communities": [
    {
      "id": "87wda9",
      "name": "Community A",
      "description": "Community A description",
      "tags": ["ambiental", "arte", "empreeendedorismo"],
    },
    {
      "id": "123egroo",
      "name": "Community B",
      "description": "Community B description",
      "tags": ["ambiental", "arte", "empreeendedorismo"],
    },
    {
      "id": "89sef7w",
      "name": "Community C",
      "description": "Community C description"
      "tags": ["ambiental", "arte", "empreeendedorismo"],
    },
    {
      "id": "ase6w58f4",
      "name": "Community D",
      "description": "Community D description",
      "tags": ["ambiental", "arte", "empreeendedorismo"],
    },
  ]
}
    

Lista as informações públicas de uma determinada comunidade

GET https://goblockchain.io/gotokens-api/v1/communities/:communityId

Nƭvel de permissionamento necessƔrio: qualquer

Path Parameters

Name
Type
Description

communityId*

String

ID da Comunidade

{
  "id": "89sef7w",
  "name": "Community C",
  "description": "Community C description",
  "email": "[email protected]",
  "tags": ["ambiental", "arte", "empreeendedorismo"]
}

Lista coleções públicas associadas à uma comunidade

GET https://goblockchain.io/gotokens-api/v1/communities/:communityId/collections

Nƭvel de permissionamento necessƔrio: qualquer

Path Parameters

Name
Type
Description

communityId*

String

ID da Comunidade

Query Parameters

Name
Type
Description

name

String

Nome da Coleção

collectionId

String

ID da Coleção

limit

String

Limite de resultados na busca

offset

String

Quantidade de resultados para avanƧar da busca

contractAddress

String

Endereço de contrato da Coleção

collectionType

String

Tipo de contrato da Coleção

network

String

Rede do contrato da Coleção

mainCurrency

String

Moeda principal da Coleção

tags

Array

Tags da Coleção

{
  "communityId": "htf849",
  "communityName": "ABC Community",
  "collections": [
    {
      "id": "kliu78",
      "name": "Collection A",
      "description": "Collection A description",
      "contractAddress": "0x789546132",
      "network" : "polygon",
      "collectionType": "sale",
      "mainCurrency": "matic",
      "tags": ["ambiental", "arte", "empreeendedorismo"]
    },
    {
      "id": "vxrg35",
      "name": "Collection B",
      "description": "Collection B description",
      "contractAddress": "0x757496132",
      "network" : "ethereum",
      "collectionType": "auction",
      "mainCurrency": "eth",
      "tags": ["arte"]
    },
    {
      "id": "fe129a",
      "name": "Collection C",
      "description": "Collection C description",
      "contractAddress": "0x78567489",
      "network" : "ethereum",
      "collectionType": "reverse_auction",
      "mainCurrency": "usd",
      "tags": ["empreeendedorismo"]
    },
    {
      "id": "0wgeft3",
      "name": "Collection D",
      "description": "Collection D description",
      "contractAddress": "0x80787965",
      "network" : "polygon",
      "collectionType": "airdrop",
      "mainCurrency": "brl",
      "tags": ["esportes"]
    }
  ]
}

Gestão de Comunidades

(JWT) Lista as comunidades que o usuƔrio logado tem acesso

GET https://goblockchain.io/gotokens-api/v1/communities/manage

Nƭvel de permissionamento necessƔrio: company_admin, company_moderator, community_admin, community_moderator, member

Query Parameters

Name
Type
Description

name

String

Nome da Comunidade

id

String

ID da Comunidade

limit

String

Limite de resultados na busca

offset

String

Quantidade de resultados para avanƧar da busca

tags

Array

Tags da Comunidade

Headers

Name
Type
Description

authorization*

Bearer

JWT

{
  "communities": [
    {
      "id": "87wda9",
      "name": "Community A",
      "description": "Community A description",
      "tags": ["ambiental", "arte", "empreeendedorismo"]
      "role": "company_moderator"
    },
    {
      "id": "123egroo",
      "name": "Community B",
      "description": "Community B description",
      "tags": ["empreeendedorismo"]
      "role": "community_moderator"
    },
    {
      "id": "89sef7w",
      "name": "Community C",
      "description": "Community C description",
      "tags": ["arte"]
      "role": "member"
    },
    {
      "id": "ase6w58f4",
      "name": "Community D",
      "description": "Community D description",
      "tags": ["esportes"]
      "role": "member"
    },
  ]
}
    

(JWT) Cria uma comunidade com as informaƧƵes dadas

POST https://goblockchain.io/gotokens-api/v1/communities/manage

Nƭvel de permissionamento necessƔrio: company_admin, company_moderator, community_admin

Headers

Name
Type
Description

authorization*

Bearer

JWT

Request Body

Name
Type
Description

name*

String

Nome da Comunidade

email*

String

E-mail da Comunidade

description*

String

Descrição da Comunidade

companyId

String

Identificador da Empresa

tags

Array

Tags da Comunidade

{
  "id": "htr979",
  "name": "Community E",
  "description": "Community E description",
  "email": "[email protected]",
  "tags": ["ambiental", "arte", "empreeendedorismo"]
  "status": "active"
}

(JWT) Lista as informaƧƵes de uma determinada comunidade

GET https://goblockchain.io/gotokens-api/v1/communities/:communityId/manage

Nƭvel de permissionamento necessƔrio: company_admin, company_moderator, community_admin, community_moderator, member

Path Parameters

Name
Type
Description

communityId*

String

ID da Comunidade

Headers

Name
Type
Description

authorization*

Bearer

JWT

{
  "id": "89sef7w",
  "name": "Community C",
  "description": "Community C description",
  "email": "[email protected]",
  "tags": ["ambiental", "arte", "empreeendedorismo"]
  "role": "member"
}

(JWT) Edita uma comunidade com as informaƧƵes dadas

PATCH https://goblockchain.io/gotokens-api/v1/communities/:communityId/manage

Nƭvel de permissionamento necessƔrio: company_admin, company_moderator, community_admin, community_moderator

Path Parameters

Name
Type
Description

communityId

String

ID da Comunidade

Headers

Name
Type
Description

authorization*

Bearer

JWT

Request Body

Name
Type
Description

name

String

Nome da Comunidade

email

String

E-mail da Comunidade

description

String

Descrição da Comunidade

tags

Array

Tags da Comunidade

{
  "id": "htr979",
  "name": "Community E",
  "description": "Community E description",
  "email": "[email protected]",
  "status": "active"
}

(JWT) Lista coleƧƵes associadas Ơ uma comunidade

GET https://goblockchain.io/gotokens-api/v1/communities/:communityId/collections/manage

Nƭvel de permissionamento necessƔrio: company_admin, company_moderator, community_admin, community_moderator, member

Path Parameters

Name
Type
Description

communityId*

String

ID da Comunidade

Query Parameters

Name
Type
Description

name

String

Nome da Coleção

id

String

ID da Coleção

limit

String

Limite de resultados na busca

offset

String

Quantidade de resultados para avanƧar da busca

contractAddress

String

Endereço de contrato da Coleção

collectionType

String

Tipo de contrato da Coleção

network

String

Rede do contrato da Coleção

mainCurrency

String

Moeda principal da Coleção

tags

Array

Tags da Coleção

Headers

Name
Type
Description

authorization*

Bearer

JWT

{
  "communityId": "htf849",
  "communityName": "ABC Community",
  "collections": [
    {
      "id": "kliu78",
      "name": "Collection A",
      "description": "Collection A description",
      "contractAddress": "0x789546132",
      "network" : "polygon",
      "collectionType": "sale",
      "mainCurrency": "matic"
      "tags": ["ambiental", "arte", "empreeendedorismo"]
    },
    {
      "id": "vxrg35",
      "name": "Collection B",
      "description": "Collection B description",
      "contractAddress": "0x757496132",
      "network" : "ethereum",
      "collectionType": "auction",
      "mainCurrency": "eth",
      "tags": ["arte"]
    },
    {
      "id": "fe129a",
      "name": "Collection C",
      "description": "Collection C description",
      "contractAddress": "0x78567489",
      "network" : "ethereum",
      "collectionType": "reverse_auction",
      "mainCurrency": "usd",
      "tags": ["empreeendedorismo"]
    },
    {
      "id": "0wgeft3",
      "name": "Collection D",
      "description": "Collection D description",
      "contractAddress": "0x80787965",
      "network" : "polygon",
      "collectionType": "airdrop",
      "mainCurrency": "brl",
      "tags": ["esportes"]
    }
  ]
}

Gestão de permissões da Comunidade

(JWT) Lista usuƔrios e suas permissƵes associadas Ơ uma comunidade

GET https://goblockchain.io/gotokens-api/v1/communities/:communityId/users-roles/manage

Nƭvel de permissionamento necessƔrio: company_admin, company_moderator, community_admin, community_moderator

Path Parameters

Name
Type
Description

communityId*

String

ID da Comunidade

Query Parameters

Name
Type
Description

name

String

Nome do UsuƔrio

email

String

E-mail do UsuƔrio

role

String

Nƭvel de acesso do UsuƔrio Ơquela Comunidade

id

String

ID do UsuƔrio

limit

String

Limite de resultados na busca

offset

String

Quantidade de resultados para avanƧar da busca

Headers

Name
Type
Description

authorization*

Bearer

JWT

{
  "communityId": "htf849",
  "communityName": "ABC Community",
  "users": {
    "company_admin":[
      {
        "id": "pudt992",
        "name": "User A",
        "email": "[email protected]",
      }
    ],
    "company_moderator":[
      {
        "id": "321ggd",
        "name": "User D",
        "email": "[email protected]"
      },
      {
        "id": "456jse",
        "name": "User E",
        "email": "[email protected]"
      }
    ],
     "community_admin":[
      {
        "id": "8974efs",
        "name": "User F",
        "email": "[email protected]"
      }
    ],
     "community_moderator":[
      {
        "id": "fg74wea",
        "name": "User G",
        "email": "[email protected]"
      },
      {
        "id": "khuf132",
        "name": "User H",
        "email": "[email protected]"
      }
    ],
     "members":[
      {
        "id": "ioyu132",
        "name": "User I",
        "email": "[email protected]"
      }
      ,{
        "id": "khj789",
        "name": "User J",
        "email": "[email protected]"
      },
      {
        "id": "0w3rq13",
        "name": "User K",
        "email": "[email protected]"
      }
    ]
  }
}

(JWT) Associa usuƔrios Ơ um nƭvel de permissionamento em uma comunidade

POST https://goblockchain.io/gotokens-api/v1/communities/:communityId/users-roles/manage

Nƭvel de permissionamento necessƔrio: company_admin, company_moderator, community_admin

Path Parameters

Name
Type
Description

communityId*

String

ID da Comunidade

Headers

Name
Type
Description

authorization*

Bearer

JWT

Request Body

Name
Type
Description

id*

String

ID do UsuƔrio

role*

String

Nƭvel de acesso do UsuƔrio Ơquela Comunidade

{
  "community": {
    "id": "htf849"
    "name": "Community B",
    "email": "[email protected]"
  },
  "user": {
    "id" : "486daw",
    "name": "User B",
    "email": "[email protected]"
  },
  "role": "community_moderator"
}

(JWT) Remove a associação de um usuÔrio à uma comunidade

DELETE https://goblockchain.io/gotokens-api/v1/communities/:communityId/users-roles/:userId/manage

Nƭvel de permissionamento necessƔrio: company_admin, company_moderator, community_admin

Path Parameters

Name
Type
Description

communityId*

String

ID da Comunidade

userId*

String

ID do UsuƔrio

Headers

Name
Type
Description

authorization*

Bearer

JWT

(JWT) Lista dados e permissƵes que um usuƔrio tem em uma comunidade

GET https://goblockchain.io/gotokens-api/v1/communities/:communityId/users-roles/:userId/manage

Nƭvel de permissionamento necessƔrio: company_admin, company_moderator, community_admin, community_moderator

Path Parameters

Name
Type
Description

userId*

String

ID do UsuƔrio

communityId*

String

ID da Comunidade

Headers

Name
Type
Description

authorization*

Bearer

JWT

{
    "community": {
        "id": "htf849"
        "name": "Community B",
        "email": "[email protected]"
    },
    "user": {
        "id" : "486daw",
        "name": "User B",
        "email": "[email protected]"
    },
    "role": "community_moderator"
}

(JWT) Atualiza permissƵes que um usuƔrio tem em uma comunidade

PATCH https://goblockchain.io/gotokens-api/v1/communities/:communityId/users-roles/:userId/manage

Nƭvel de permissionamento necessƔrio: company_admin

Path Parameters

Name
Type
Description

userId*

String

ID do UsuƔrio

communityId*

String

ID da Comunidade

Headers

Name
Type
Description

authorization*

Bearer

JWT

Request Body

Name
Type
Description

role*

String

Nƭvel de acesso do UsuƔrio Ơquela Comunidade

{
    "community": {
        "id": "htf849"
        "name": "Community B",
        "email": "[email protected]"
    },
    "user": {
        "id" : "486daw",
        "name": "User B",
        "email": "[email protected]"
    },
    "role": "community_admin"
}

Last updated

Was this helpful?