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?