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.
Exemplo de Objeto de Comunidade
Copy {
"id" : "8798wdefs" ,
"companyId" : "a4wed86fwd" ,
"name" : "ABC Community" ,
"description" : "ABC Community description" ,
"email" : "community_support@email.com" ,
"status" : "active" ,
"users" : {
"community_admin" : [ "8974efs" ] ,
"community_moderator" : [ "fg74wea" , "khuf132" ] ,
"members" : [ "ioyu132" , "khj789" , "0w3rq13" ]
} ,
"tags" : [ "ambiental" , "arte" , "empreeendedorismo" ]
}
Endpoints
Comunidade
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 Limite de resultados na busca
Quantidade de resultados para avançar da busca
200: OK
Exemplo de Resposta Campos da Resposta
Copy {
"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 Objects
Armazena as informações de cada comunidade com a qual o usuário logado tem vínculo.
id
- String
Identificador próprio da comunidade .
name
- String
Nome da comunidade.
description
- String
Descrição da comunidade.
tags
- Array
Conjunto 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
200: OK
Exemplo de Resposta Campos da Resposta
Copy {
"id" : "89sef7w" ,
"name" : "Community C" ,
"description" : "Community C description" ,
"email" : "community_support@email.com" ,
"tags" : [ "ambiental" , "arte" , "empreeendedorismo" ]
}
id
- String
Identificador próprio da comunidade .
name
- String
Nome da comunidade.
description
- String
Descrição da comunidade.
email
- String
E-mail de suporte da comunidade.
tags
- Array
Conjunto 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
Query Parameters
Name Type Description Limite de resultados na busca
Quantidade de resultados para avançar da busca
Endereço de contrato da Coleção
Tipo de contrato da Coleção
Rede do contrato da Coleção
Moeda principal da Coleção
200: OK
Exemplo de Resposta Campos da Resposta
Copy {
"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
- String
Identificador da comunidade no banco de dados.
communityName
- String
Nome da comunidade.
collections
- Object
Armazena listas de coleções associados à comunidade.
id
- String
Identificador próprio da coleção.
name
- String
Nome da coleção.
description
- String
Descrição da coleção.
contractAddress
- String
Endereço de contrato da coleção.
network
- String
Rede do contrato da coleção.
collectionType
- String
Tipo de contrato da coleção. Pode ser sale
, auction
, reverse_auction
, airdrop
.
mainCurrency
- String
Moeda principal da coleção.
tags
- Array
Conjunto 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 Type Description Limite de resultados na busca
Quantidade de resultados para avançar da busca
200: OK 401: Unauthorized 403: Forbidden
Exemplo de Resposta Campos da Resposta
Copy {
"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 Objects
Armazena as informações de cada comunidade com a qual o usuário logado tem vínculo.
id
- String
Identificador próprio da comunidade .
name
- String
Nome da comunidade.
description
- String
Descrição da comunidade.
role
- String
Nome do nível de permissionamento do usuário.
tags
- Array
Conjunto de tags da comunidade.
Possíveis Erros HTTP - 401
Código Descrição Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
Possíveis Erros HTTP - 403
Código Descrição 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
Request Body
201: Created 400: Bad Request 401: Unauthorized 403: Forbidden
Exemplo de Resposta Campos da Resposta
Copy {
"id" : "htr979" ,
"name" : "Community E" ,
"description" : "Community E description" ,
"email" : "community_support@email.com" ,
"tags" : [ "ambiental" , "arte" , "empreeendedorismo" ]
"status" : "active"
}
id
- String
Identificador próprio da comunidade.
name
- String
Nome da comunidade.
description
- String
Descrição da comunidade.
email
- String
E-mail de suporte da comunidade.
tags
- Array
Conjunto de tags da comunidade.
Possíveis Erros HTTP - 400
Código Descrição Parâmetro "name " inválido. O campo é obrigatório, deve ser do tipo String e possuir mínimo de 3 caracteres.
Campo "description " inválido. O campo é obrigatório, deve ser do tipo String e possuir mínimo de 3 caracteres.
Campo "email " inválido. O campo é obrigatório, deve ser do tipo String e seguir um formato de e-mail válido.
Possíveis Erros HTTP - 401
Código Descrição Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
Possíveis Erros HTTP - 403
Código Descrição Acesso restrito ao recurso.
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
200: OK 401: Unauthorized 403: Forbidden
Exemplo de Resposta Campos da Resposta
Copy {
"id" : "89sef7w" ,
"name" : "Community C" ,
"description" : "Community C description" ,
"email" : "community_support@email.com" ,
"tags" : [ "ambiental" , "arte" , "empreeendedorismo" ]
"role" : "member"
}
id
- String
Identificador próprio da comunidade .
name
- String
Nome da comunidade.
description
- String
Descrição da comunidade.
email
- String
E-mail de suporte da comunidade.
role
- String
Nome do nível de permissionamento do usuário.
tags
- Array
Conjunto de tags da comunidade.
Possíveis Erros HTTP - 401
Código Descrição Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
Possíveis Erros HTTP - 403
Código Descrição 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
Request Body
200: OK 400: Bad Request 401: Unauthorized 403: Forbidden
Exemplo de Resposta Campos da Resposta
Copy {
"id" : "htr979" ,
"name" : "Community E" ,
"description" : "Community E description" ,
"email" : "community_support@email.com" ,
"status" : "active"
}
id
- String
Identificador próprio da comunidade.
name
- String
Nome da comunidade.
description
- String
Descrição da comunidade.
email
- String
E-mail de suporte da comunidade.
tags
- Array
Conjunto de tags da comunidade.
Possíveis Erros HTTP - 400
Código Descrição Parâmetro "name " inválido. O campo é obrigatório, deve ser do tipo String e possuir mínimo de 3 caracteres.
Campo "description " inválido. O campo é obrigatório, deve ser do tipo String e possuir mínimo de 3 caracteres.
Campo "email " inválido. O campo é obrigatório, deve ser do tipo String e seguir um formato de e-mail válido.
Possíveis Erros HTTP - 401
Código Descrição Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
Possíveis Erros HTTP - 403
Código Descrição Acesso restrito ao recurso.
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
Query Parameters
Name Type Description Limite de resultados na busca
Quantidade de resultados para avançar da busca
Endereço de contrato da Coleção
Tipo de contrato da Coleção
Rede do contrato da Coleção
Moeda principal da Coleção
200: OK 401: Unauthorized 403: Forbidden
Exemplo de Resposta Campos da Resposta
Copy {
"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
- String
Identificador da comunidade no banco de dados.
communityName
- String
Nome da comunidade.
collections
- Object
Armazena listas de coleções associados à comunidade.
id
- String
Identificador próprio da coleção.
name
- String
Nome da coleção.
description
- String
Descrição da coleção.
contractAddress
- String
Endereço de contrato da coleção.
network
- String
Rede do contrato da coleção.
collectionType
- String
Tipo de contrato da coleção. Pode ser sale
, auction
, reverse_auction
, airdrop
.
mainCurrency
- String
Moeda principal da coleção.
tags
- Array
Conjunto de tags da coleção.
Possíveis Erros HTTP - 401
Código Descrição Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
Possíveis Erros HTTP - 403
Código Descrição 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
Query Parameters
Name Type Description Nível de acesso do Usuário àquela Comunidade
Limite de resultados na busca
Quantidade de resultados para avançar da busca
200: OK 401: Unauthorized 403: Forbidden
Exemplo de Resposta Campos da Resposta
Copy {
"communityId" : "htf849" ,
"communityName" : "ABC Community" ,
"users" : {
"company_admin" : [
{
"id" : "pudt992" ,
"name" : "User A" ,
"email" : "user_a@email.com" ,
}
] ,
"company_moderator" : [
{
"id" : "321ggd" ,
"name" : "User D" ,
"email" : "user_d@email.com"
} ,
{
"id" : "456jse" ,
"name" : "User E" ,
"email" : "user_e@email.com"
}
] ,
"community_admin" : [
{
"id" : "8974efs" ,
"name" : "User F" ,
"email" : "user_f@email.com"
}
] ,
"community_moderator" : [
{
"id" : "fg74wea" ,
"name" : "User G" ,
"email" : "user_g@email.com"
} ,
{
"id" : "khuf132" ,
"name" : "User H" ,
"email" : "user_h@email.com"
}
] ,
"members" : [
{
"id" : "ioyu132" ,
"name" : "User I" ,
"email" : "user_i@email.com"
}
, {
"id" : "khj789" ,
"name" : "User J" ,
"email" : "user_j@email.com"
} ,
{
"id" : "0w3rq13" ,
"name" : "User K" ,
"email" : "user_k@email.com"
}
]
}
}
communityId
- String
Identificador da empresa no banco de dados.
communityName
- String
Nome da empresa.
users
- Object
Armazena listas de usuários associados à comunidade de acordo com o nível de permissionamento.
company_admin
- Array of Objects
Lista usuários administradores da empresa da comunidade.
id
- String
Identificador próprio do usuário.
name
- String
Nome do usuário associado à empresa.
email
- String
E-mail do usuário associado à empresa.
company_moderator
- Array of Objects
Lista usuários moderadores da empresa da comunidade.
id
- String
Identificador próprio do usuário.
name
- String
Nome do usuário associado à empresa da comunidade.
email
- String
E-mail do usuário associado à empresa da comunidade.
community_admin
- Array of Objects
Lista usuários administradores de uma comunidade.
id
- String
Identificador próprio do usuário.
name
- String
Nome do usuário associado à comunidade.
email
- String
E-mail do usuário associado à comunidade.
community_moderator
- Array of Objects
Lista usuários moderadores de uma comunidade.
id
- String
Identificador próprio do usuário.
name
- String
Nome do usuário associado à comunidade.
email
- String
E-mail do usuário associado à comunidade.
member
- Array of Objects
Lista usuários membros de uma comunidade.
id
- String
Identificador próprio do usuário.
name
- String
Nome do usuário associado à comunidade.
email
- String
E-mail do usuário associado à comunidade.
Possíveis Erros HTTP - 401
Código Descrição Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
Possíveis Erros HTTP - 403
Código Descrição Acesso restrito ao recurso.
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
Request Body
Name Type Description Nível de acesso do Usuário àquela Comunidade
200: OK 400: Bad Request 401: Unauthorized 403: Forbidden
Exemplo de Resposta Campos da Resposta
Copy {
"community" : {
"id" : "htf849"
"name" : "Community B" ,
"email" : "community_b@email.com"
} ,
"user" : {
"id" : "486daw" ,
"name" : "User B" ,
"email" : "user_b@email.com"
} ,
"role" : "community_moderator"
}
community
- Object
Armazena dados da comunidade associada.
id
- String
Identificador próprio da comunidade.
name
- String
Nome da comunidade.
email
- String
E-mail de suporte da comunidade.
user
- Object
Armazena dados do usuário.
id
- String
Identificador próprio do usuário.
name
- String
Nome do usuário.
email
- String
E-mail do usuário.
role
- String
Nível de permissionamento do usuário à comunidade.
Possíveis Erros HTTP - 400
Código Descrição Parâmetro "id" inválido. O campo é obrigatório e deve ser do tipo String .
Parâmetro "role " inválido. O campo é obrigatório e deve ser do tipo String .
Parâmetro "role " inválido. O campo deve respeitar os níveis de permissionamento de comunidades.
Possíveis Erros HTTP - 401
Código Descrição Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
Possíveis Erros HTTP - 403
Código Descrição Acesso restrito ao recurso.
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
204: No Content 400: Bad Request 401: Unauthorized 403: Forbidden
Possíveis Erros HTTP - 400
Código Descrição Parâmetro "id" inválido. O campo é obrigatório e deve ser do tipo String .
Possíveis Erros HTTP - 401
Código Descrição Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
Possíveis Erros HTTP - 403
Código Descrição Acesso restrito ao recurso.
Ação não autorizada. A ação deve respeitar os níveis de permissionamento de comunidades.
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
200: OK 401: Unauthorized 403: Forbidden
Exemplo de Resposta Campos da Resposta
Copy {
"community" : {
"id" : "htf849"
"name" : "Community B" ,
"email" : "community_b@email.com"
} ,
"user" : {
"id" : "486daw" ,
"name" : "User B" ,
"email" : "user_b@email.com"
} ,
"role" : "community_moderator"
}
community
- Object
Armazena dados da comunidade associada.
id
- String
Identificador próprio da comunidade.
name
- String
Nome da comunidade .
email
- String
E-mail de suporte da comunidade.
user
- Object
Armazena dados do usuário.
id
- String
Identificador próprio do usuário.
name
- String
Nome do usuário.
email
- String
E-mail do usuário.
role
- String
Nível de permissionamento do usuário à comunidade.
Possíveis Erros HTTP - 401
Código Descrição Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
Possíveis Erros HTTP - 403
Código Descrição Acesso restrito ao recurso.
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
Request Body
Name Type Description Nível de acesso do Usuário àquela Comunidade
200: OK 400: Bad Request 401: Unauthorized 403: Forbidden
Exemplo de Resposta Campos da Resposta
Copy {
"community" : {
"id" : "htf849"
"name" : "Community B" ,
"email" : "community_b@email.com"
} ,
"user" : {
"id" : "486daw" ,
"name" : "User B" ,
"email" : "user_b@email.com"
} ,
"role" : "community_admin"
}
community
- Object
Armazena dados da comunidade associada.
id
- String
Identificador próprio da comunidade.
name
- String
Nome da comunidade.
email
- String
E-mail da comunidade.
user
- Object
Armazena dados do usuário atualizado.
id
- String
Identificador próprio do usuário atualizado.
name
- String
Nome do usuário atualizado.
email
- String
E-mail do usuário atualizado.
role
- String
Nível atualizado de permissionamento do usuário à comunidade.
Possíveis Erros HTTP - 400
Código Descrição Parâmetro "role " inválido. O campo é obrigatório e deve ser do tipo String .
Parâmetro "role " inválido. O campo deve respeitar os níveis de permissionamento de comunidades.
Possíveis Erros HTTP - 401
Código Descrição Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
Possíveis Erros HTTP - 403
Código Descrição Acesso restrito ao recurso.
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.