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
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
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"],
},
]
}
communities- Array of ObjectsArmazena as informações de cada comunidade com a qual o usuário logado tem vínculo.
id- StringIdentificador próprio da comunidade .
name- StringNome da comunidade.
description- StringDescrição da comunidade.
tags- ArrayConjunto de tags da comunidade.
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
communityId*
String
ID da Comunidade
{
"id": "89sef7w",
"name": "Community C",
"description": "Community C description",
"email": "[email protected]",
"tags": ["ambiental", "arte", "empreeendedorismo"]
}id- StringIdentificador próprio da comunidade .
name- StringNome da comunidade.
description- StringDescrição da comunidade.
email- StringE-mail de suporte da comunidade.
tags- ArrayConjunto de tags da comunidade.
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
communityId*
String
ID da Comunidade
Query Parameters
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"]
}
]
}communityId- StringIdentificador da comunidade no banco de dados.
communityName- StringNome da comunidade.
collections- ObjectArmazena listas de coleções associados à comunidade.
id- StringIdentificador próprio da coleção.
name- StringNome da coleção.
description- StringDescrição da coleção.
contractAddress- StringEndereço de contrato da coleção.
network- StringRede do contrato da coleção.
collectionType- StringTipo de contrato da coleção. Pode ser
sale,auction,reverse_auction,airdrop.mainCurrency- StringMoeda principal da coleção.
tags- ArrayConjunto de tags da coleção.
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
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
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"
},
]
}
communities- Array of ObjectsArmazena as informações de cada comunidade com a qual o usuário logado tem vínculo.
id- StringIdentificador próprio da comunidade .
name- StringNome da comunidade.
description- StringDescrição da comunidade.
role- StringNome do nível de permissionamento do usuário.
tags- ArrayConjunto de tags da comunidade.
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
(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
authorization*
Bearer
JWT
Request Body
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"
}id- StringIdentificador próprio da comunidade.
name- StringNome da comunidade.
description- StringDescrição da comunidade.
email- StringE-mail de suporte da comunidade.
tags- ArrayConjunto de tags da comunidade.
1001
Parâmetro "name" inválido. O campo é obrigatório, deve ser do tipo String e possuir mínimo de 3 caracteres.
1002
Campo "description" inválido. O campo é obrigatório, deve ser do tipo String e possuir mínimo de 3 caracteres.
1003
Campo "email" inválido. O campo é obrigatório, deve ser do tipo String e seguir um formato de e-mail válido.
1
Acesso restrito ao recurso.
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
(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
communityId*
String
ID da Comunidade
Headers
authorization*
Bearer
JWT
{
"id": "89sef7w",
"name": "Community C",
"description": "Community C description",
"email": "[email protected]",
"tags": ["ambiental", "arte", "empreeendedorismo"]
"role": "member"
}id- StringIdentificador próprio da comunidade .
name- StringNome da comunidade.
description- StringDescrição da comunidade.
email- StringE-mail de suporte da comunidade.
role- StringNome do nível de permissionamento do usuário.
tags- ArrayConjunto de tags da comunidade.
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
(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
communityId
String
ID da Comunidade
Headers
authorization*
Bearer
JWT
Request Body
name
String
Nome da Comunidade
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"
}id- StringIdentificador próprio da comunidade.
name- StringNome da comunidade.
description- StringDescrição da comunidade.
email- StringE-mail de suporte da comunidade.
tags- ArrayConjunto de tags da comunidade.
1001
Parâmetro "name" inválido. O campo é obrigatório, deve ser do tipo String e possuir mínimo de 3 caracteres.
1002
Campo "description" inválido. O campo é obrigatório, deve ser do tipo String e possuir mínimo de 3 caracteres.
1003
Campo "email" inválido. O campo é obrigatório, deve ser do tipo String e seguir um formato de e-mail válido.
1
Acesso restrito ao recurso.
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
(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
communityId*
String
ID da Comunidade
Query Parameters
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
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"]
}
]
}communityId- StringIdentificador da comunidade no banco de dados.
communityName- StringNome da comunidade.
collections- ObjectArmazena listas de coleções associados à comunidade.
id- StringIdentificador próprio da coleção.
name- StringNome da coleção.
description- StringDescrição da coleção.
contractAddress- StringEndereço de contrato da coleção.
network- StringRede do contrato da coleção.
collectionType- StringTipo de contrato da coleção. Pode ser
sale,auction,reverse_auction,airdrop.mainCurrency- StringMoeda principal da coleção.
tags- ArrayConjunto de tags da coleção.
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
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
communityId*
String
ID da Comunidade
Query Parameters
name
String
Nome do Usuário
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
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]"
}
]
}
}communityId- StringIdentificador da empresa no banco de dados.
communityName- StringNome da empresa.
users- ObjectArmazena listas de usuários associados à comunidade de acordo com o nível de permissionamento.
company_admin- Array of ObjectsLista usuários administradores da empresa da comunidade.
id- StringIdentificador próprio do usuário.
name- StringNome do usuário associado à empresa.
email- StringE-mail do usuário associado à empresa.
company_moderator- Array of ObjectsLista usuários moderadores da empresa da comunidade.
id- StringIdentificador próprio do usuário.
name- StringNome do usuário associado à empresa da comunidade.
email- StringE-mail do usuário associado à empresa da comunidade.
community_admin- Array of ObjectsLista usuários administradores de uma comunidade.
id- StringIdentificador próprio do usuário.
name- StringNome do usuário associado à comunidade.
email- StringE-mail do usuário associado à comunidade.
community_moderator- Array of ObjectsLista usuários moderadores de uma comunidade.
id- StringIdentificador próprio do usuário.
name- StringNome do usuário associado à comunidade.
email- StringE-mail do usuário associado à comunidade.
member- Array of ObjectsLista usuários membros de uma comunidade.
id- StringIdentificador próprio do usuário.
name- StringNome do usuário associado à comunidade.
email- StringE-mail do usuário associado à comunidade.
1
Acesso restrito ao recurso.
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
(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
communityId*
String
ID da Comunidade
Headers
authorization*
Bearer
JWT
Request Body
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"
}community- ObjectArmazena dados da comunidade associada.
id- StringIdentificador próprio da comunidade.
name- StringNome da comunidade.
email- StringE-mail de suporte da comunidade.
user- ObjectArmazena dados do usuário.
id- StringIdentificador próprio do usuário.
name- StringNome do usuário.
email- StringE-mail do usuário.
role- StringNível de permissionamento do usuário à comunidade.
1001
Parâmetro "id" inválido. O campo é obrigatório e deve ser do tipo String.
1002
Parâmetro "role" inválido. O campo é obrigatório e deve ser do tipo String.
1002-A
Parâmetro "role" inválido. O campo deve respeitar os níveis de permissionamento de comunidades.
1
Acesso restrito ao recurso.
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
(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
communityId*
String
ID da Comunidade
userId*
String
ID do Usuário
Headers
authorization*
Bearer
JWT
1001
Parâmetro "id" inválido. O campo é obrigatório e deve ser do tipo String.
1
Acesso restrito ao recurso.
2
Ação não autorizada. A ação deve respeitar os níveis de permissionamento de comunidades.
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
(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
userId*
String
ID do Usuário
communityId*
String
ID da Comunidade
Headers
authorization*
Bearer
JWT
{
"community": {
"id": "htf849"
"name": "Community B",
"email": "[email protected]"
},
"user": {
"id" : "486daw",
"name": "User B",
"email": "[email protected]"
},
"role": "community_moderator"
}community- ObjectArmazena dados da comunidade associada.
id- StringIdentificador próprio da comunidade.
name- StringNome da comunidade .
email- StringE-mail de suporte da comunidade.
user- ObjectArmazena dados do usuário.
id- StringIdentificador próprio do usuário.
name- StringNome do usuário.
email- StringE-mail do usuário.
role- StringNível de permissionamento do usuário à comunidade.
1
Acesso restrito ao recurso.
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
(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
userId*
String
ID do Usuário
communityId*
String
ID da Comunidade
Headers
authorization*
Bearer
JWT
Request Body
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"
}community- ObjectArmazena dados da comunidade associada.
id- StringIdentificador próprio da comunidade.
name- StringNome da comunidade.
email- StringE-mail da comunidade.
user- ObjectArmazena dados do usuário atualizado.
id- StringIdentificador próprio do usuário atualizado.
name- StringNome do usuário atualizado.
email- StringE-mail do usuário atualizado.
role- StringNível atualizado de permissionamento do usuário à comunidade.
1001
Parâmetro "role" inválido. O campo é obrigatório e deve ser do tipo String.
1001-A
Parâmetro "role" inválido. O campo deve respeitar os níveis de permissionamento de comunidades.
1
Acesso restrito ao recurso.
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
Last updated
Was this helpful?