Resumo
A API de empresas é utilizada para a gestão das empresas que fazem uso dos serviços da goTokens.
Uma vez que o cliente tem seu usuário criado ele poderá criar sua empresa para ter acesso aos outros serviços da API.
Como funciona
O cliente dever passar como parâmetro suas credenciais de usuário e caso ela esteja ativo na base a empresa será criada. A partir disso, é possível associar comunidades à uma empresa.
Objeto Company
Exemplo de Objeto de Empresa
Copy {
"id" : "sd21fs5" ,
"name" : "ABC Company" ,
"documents" : [
{
"documentName" : "cnpj" ,
"documentContent" : "12.345.657/0001-90"
}
] ,
"email" : "company_support@email.com" ,
"country" : "BR" ,
"tags" : [ "ambiental" , "arte" , "empreeendedorismo" ] ,
"status" : "active" ,
"hashedApiKey" : "$oiudwtyh798dft13hd8" ,
"users" : {
"company_admin" : [ "pudt992" ] ,
"company_moderator" : [ "321ggd" , "456jse" ]
}
}
Endpoints
Empresa
GET /v1/companies/:companyId
GET /v1/companies/:companyId/communities
Gestão de dados da Empresa
POST /v1/companies/manage
GET /v1/companies/:companyId/manage
PATCH /v1/companies/:companyId/manage
GET /v1/companies/:companyId/communities/manage
Gestão de permissões da Empresa
GET /v1/companies/:companyId/users-roles/manage
POST /v1/companies/:companyId/users-roles/manage
DELETE /v1/companies/:companyId/users-roles/manage
GET /v1/companies/:companyId/users-roles/:userId/manage
PATCH /v1/companies/:companyId/users-roles/:userId/manage
Empresas
Lista de empresas públicas da plataforma
GET
https://goblockchain.io/gotokens-api/v1/companies/:companyId
Nível de permissionamento necessário: qualquer
Query Parameters
200: OK
Exemplo de Resposta Campos da Resposta
Copy {
"companies" : [
{
"id" : "87wda9" ,
"name" : "Company A" ,
"email" : "company_a@email.com" ,
"country" : "BR" ,
"tags" : [ "ambiental" , "arte" , "empreeendedorismo" ]
} ,
{
"id" : "123egroo" ,
"name" : "Company B" ,
"email" : "company_b@email.com" ,
"country" : "BR" ,
"tags" : [ "empreeendedorismo" ]
} ,
]
}
companies
- Array of Objects
Armazena as informações de cada empresa com a qual o usuário logado tem vínculo.
id
- String
Identificador próprio da empresa.
name
- String
Nome da empresa.
email
- String
E-mail cadastrado relativo à empresa.
country
- String
País cadastrado relativo à empresa.
tags
- Array
Armazena uma lista de palavras-chave para classificação interna do recurso.
Lista as informações públicas de uma empresa
GET
https://goblockchain.io/gotokens-api/v1/companies/:companyId
Nível de permissionamento necessário: qualquer
Path Parameters
200: OK
Exemplo de Resposta Campos da Resposta
Copy {
"id" : "21grd8" ,
"name" : "ABC Company" ,
"email" : "company@email.com" ,
"country" : "BR" ,
"tags" : [ "ambiental" , "arte" , "empreeendedorismo" ]
}
id
- String
Identificador próprio da empresa.
name
- String
Nome da empresa.
email
- String
E-mail para contato com a empresa.
country
- String
País onde a empresa possui documento.
tags
- Array
Armazena uma lista de palavras-chave para classificação interna do recurso.
Lista comunidades públicas associadas à uma empresa
GET
https://goblockchain.io/gotokens-api/v1/companies/:companyId/communities
Nível de permissionamento necessário: company_admin
, company_moderator
Path Parameters
Query Parameters
200: OK
Exemplo de Resposta Campos da Resposta
Copy {
"companyId" : "htf849" ,
"companyName" : "ABC Company" ,
"communities" : [
{
"id" : "kliu78" ,
"name" : "Community A" ,
"email" : "community_a@email.com" ,
"description" : "Community A description" ,
"tags" : [ "ambiental" , "arte" , "empreeendedorismo" ]
} ,
{
"id" : "vxrg35" ,
"name" : "Community B" ,
"email" : "community_b@email.com" ,
"description" : "Community B description" ,
"tags" : [ "empreeendedorismo" ]
}
]
}
companyId
- String
Identificador da empresa no banco de dados.
companyName
- String
Nome da empresa.
communities
- Object
Armazena listas de comunidades associados à empresa.
id
- String
Identificador único da comunidade.
name
- String
Nome da comunidade.
email
- String
E-mail associado à comunidade.
description
- String
Descrição da comunidade.
tags
- Array
Armazena uma lista de palavras-chave para classificação interna do recurso.
Gestão de Empresas
(JWT) Lista as empresas que o usuário logado tem acesso
GET
https://goblockchain.io/gotokens-api/v1/companies/manage
Nível de permissionamento necessário: company_admin
, company_moderator
Query Parameters
200: OK 403: Forbidden 401: Unauthorized
Exemplo de Resposta Campos da Resposta
Copy {
"companies" : [
{
"id" : "87wda9" ,
"name" : "Company A" ,
"email" : "company_a@email.com" ,
"country" : "BR" ,
"tags" : [ "ambiental" , "arte" , "empreeendedorismo" ]
"role" : "company_admin"
} ,
{
"id" : "123egroo" ,
"name" : "Company B" ,
"email" : "company_b@email.com" ,
"country" : "BR" ,
"tags" : [ "empreeendedorismo" ]
"role" : "company_moderator"
} ,
]
}
companies
- Array of Objects
Armazena as informações de cada empresa com a qual o usuário logado tem vínculo.
id
- String
Identificador próprio da empresa.
name
- String
Nome da empresa.
email
- String
E-mail cadastrado relativo à empresa.
country
- String
País cadastrado relativo à empresa.
role
- String
Nome do nível de permissionamento do usuário.
tags
- Array
Armazena uma lista de palavras-chave para classificação interna do recurso.
Possíveis Erros HTTP - 403
Possíveis Erros HTTP - 401
(JWT) Cria uma empresa com as informações dadas
POST
https://goblockchain.io/gotokens-api/v1/companies/manage
Nível de permissionamento necessário: company_admin
Request Body
201: Created 400: Bad Request 401: Unauthorized 403: Forbidden
Exemplo de Resposta Campos da Resposta
Copy {
"id" : "htr979" ,
"name" : "ABC Company" ,
"documents" : [
{
"documentName" : "cnpj" ,
"documentContent" : "12.345.657/0001-90"
}
] ,
"email" : "company@email.com" ,
"hashedApiKey" : "API-KEY-0058-4897" ,
"tags" : [ "ambiental" , "arte" , "empreeendedorismo" ]
"country" : "BR" ,
"status" : "active"
}
id
- String
Identificador próprio da empresa.
name
- String
Nome da empresa.
documents
- Object
Lista de documentos identificadores da empresa.
documentName
- String
Tipo de documento enviado (contrato social, alvará, CNPJ).
documentContent
- String
Conteúdo do documento. Pode ser o número do CNPJ, URL do contrato, etc.
tags
- Array
Armazena uma lista de palavras-chave para classificação interna do recurso.
email
- String
E-mail para contato com a empresa.
hashedApiKey
- String
Campo que exibe uma única vez a chave de API de uma empresa, gerada automaticamente no momento de sua criação.
country
- String
País onde a empresa possui documento.
Possíveis Erros HTTP - 400
Possíveis Erros HTTP - 401
Possíveis Erros HTTP - 403
(JWT) Lista as informações de uma empresa
GET
https://goblockchain.io/gotokens-api/v1/companies/:companyId/manage
Nível de permissionamento necessário: company_admin
, company_moderator
Path Parameters
200: OK 403: Forbidden 401: Unauthorized
Exemplo de Resposta Campos da Resposta
Copy {
"id" : "21grd8" ,
"name" : "ABC Company" ,
"documents" : [
{
"documentName" : "cnpj" ,
"documentContent" : "12.345.657/0001-90"
}
] ,
"email" : "company@email.com" ,
"country" : "BR" ,
"tags" : [ "ambiental" , "arte" , "empreeendedorismo" ]
"status" : "active"
}
id
- String
Identificador próprio da empresa.
name
- String
Nome da empresa.
documents
- Object
Lista de documentos identificadores da empresa.
documentName
- String
Tipo de documento enviado (contrato social, alvará, CNPJ).
documentContent
- String
Conteúdo do documento. Pode ser o número do CNPJ, URL do contrato, etc.
email
- String
E-mail para contato com a empresa.
country
- String
País onde a empresa possui documento.
tags
- Array
Armazena uma lista de palavras-chave para classificação interna do recurso.
Possíveis Erros HTTP - 403
Possíveis Erros HTTP - 401
(JWT) Atualiza uma empresa com as informações passadas
PATCH
https://goblockchain.io/gotokens-api/v1/companies/:companyId/manage
Nível de permissionamento necessário: company_admin
, company_moderator
Path Parameters
Request Body
200: OK 400: Bad Request 403: Forbidden 401: Unauthorized
Exemplo de Resposta Campos da Resposta
Copy {
"id" : "21grd8" ,
"name" : "ABC Company" ,
"documents" : [
{
"documentName" : "cnpj" ,
"documentContent" : "12.345.657/0001-90"
}
] ,
"email" : "company@email.com" ,
"country" : "BR" ,
"tags" : [ "ambiental" , "arte" , "empreeendedorismo" ]
"status" : "active"
}
id
- String
Identificador próprio da empresa.
name
- String
Nome da empresa.
documents
- Object
Lista de documentos identificadores da empresa.
documentName
- String
Tipo de documento enviado (contrato social, alvará, CNPJ).
documentContent
- String
Conteúdo do documento. Pode ser o número do CNPJ, URL do contrato, etc.
tags
- Array
Armazena uma lista de palavras-chave para classificação interna do recurso.
email
- String
E-mail para contato com a empresa.
country
- String
País onde a empresa possui documento.
Possíveis Erros HTTP - 400
Possíveis Erros HTTP - 403
Possíveis Erros HTTP - 401
(JWT) Lista comunidades associadas à uma empresa
GET
https://goblockchain.io/gotokens-api/v1/companies/:companyId/communities/manage
Nível de permissionamento necessário: company_admin
, company_moderator
Path Parameters
Query Parameters
200: OK 401: Unauthorized 403: Forbidden
Exemplo de Resposta Campos da Resposta
Copy {
"companyId" : "htf849" ,
"companyName" : "ABC Company" ,
"communities" : [
{
"id" : "kliu78" ,
"name" : "Community A" ,
"email" : "community_a@email.com" ,
"description" : "Community A description" ,
"tags" : [ "ambiental" , "arte" , "empreeendedorismo" ]
} ,
{
"id" : "vxrg35" ,
"name" : "Community B" ,
"email" : "community_b@email.com" ,
"description" : "Community B description" ,
"tags" : [ "empreeendedorismo" ]
}
]
}
companyId
- String
Identificador da empresa no banco de dados.
companyName
- String
Nome da empresa.
communities
- Object
Armazena listas de comunidades associados à empresa.
id
- String
Identificador único da comunidade.
name
- String
Nome da comunidade.
email
- String
E-mail associado à comunidade.
description
- String
Descrição da comunidade.
tags
- Array
Armazena uma lista de palavras-chave para classificação interna do recurso.
Possíveis Erros HTTP - 401
Possíveis Erros HTTP - 403
Gestão de permissões da Empresa
(JWT) Lista usuários associados à uma empresa
GET
https://goblockchain.io/gotokens-api/v1/companies/:companyId/users-roles/manage
Nível de permissionamento necessário: company_admin
, company_moderator
Path Parameters
Query Parameters
200: OK 401: Unauthorized 403: Forbidden
Exemplo de Resposta Campos da Resposta
Copy {
"companyId" : "htf849" ,
"companyName" : "ABC Company" ,
"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"
}
]
}
}
companyId
- String
Identificador da empresa no banco de dados.
companyName
- String
Nome da empresa.
users
- Object
Armazena listas de usuários associados à empresa de acordo com o nível de permissionamento.
company_admin
- Array of Objects
Lista usuários administradores de uma empresa.
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 de uma empresa.
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.
Possíveis Erros HTTP - 401
Possíveis Erros HTTP - 403
(JWT) Associa usuários à um nível de permissionamento em uma empresa
POST
https://goblockchain.io/gotokens-api/v1/companies/:companyId/users-roles/manage
Nível de permissionamento necessário: company_admin
Path Parameters
Request Body
200: OK 400: Bad Request 401: Unauthorized 403: Forbidden
Exemplo de Resposta Campos da Resposta
Copy {
"company" : {
"id" : "htf849"
"name" : "Company B" ,
"email" : "company_b@email.com"
} ,
"user" : {
"id" : "486daw" ,
"name" : "User B" ,
"email" : "user_b@email.com"
} ,
"role" : "company_moderator"
}
company
- Object
Armazena dados da empresa associada.
id
- String
Identificador próprio da empresa.
name
- String
Nome da empresa.
email
- String
E-mail da empresa.
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 à empresa.
Possíveis Erros HTTP - 400
Possíveis Erros HTTP - 401
Possíveis Erros HTTP - 403
(JWT) Remove a associação de um usuário à uma empresa
DELETE
https://goblockchain.io/gotokens-api/v1/companies/:companyId/users-roles/:userId/manage
Nível de permissionamento necessário: company_admin
Path Parameters
204: No Content 400: Bad Request 401: Unauthorized 403: Forbidden
Possíveis Erros HTTP - 400
Possíveis Erros HTTP - 401
Possíveis Erros HTTP - 403
(JWT) Lista dados e permissões que um usuário tem em uma empresa
GET
https://goblockchain.io/gotokens-api/v1/companies/:companyId/users-roles/:userId/manage
Nível de permissionamento necessário: company_admin
, company_moderator
Path Parameters
200: OK 401: Unauthorized 403: Forbidden
Exemplo de Resposta Campos da Resposta
Copy {
"company" : {
"id" : "htf849"
"name" : "Company B" ,
"email" : "company_b@email.com"
} ,
"user" : {
"id" : "486daw" ,
"name" : "User B" ,
"email" : "user_b@email.com"
} ,
"role" : "company_moderator"
}
company
- Object
Armazena dados da empresa associada.
id
- String
Identificador próprio da empresa.
name
- String
Nome da empresa.
email
- String
E-mail da empresa.
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 à empresa.
Possíveis Erros HTTP - 401
Possíveis Erros HTTP - 403
(JWT) Atualiza permissões que um usuário tem em uma empresa
PATCH
https://goblockchain.io/gotokens-api/v1/companies/:companyId/users-roles/:userId/manage
Nível de permissionamento necessário: company_admin
Path Parameters
Request Body
200: OK 400: Bad Request 401: Unauthorized 403: Forbidden
Exemplo de Resposta Campos da Resposta
Copy {
"company" : {
"id" : "htf849"
"name" : "Company B" ,
"email" : "company_b@email.com"
} ,
"user" : {
"id" : "486daw" ,
"name" : "User B" ,
"email" : "user_b@email.com"
} ,
"role" : "company_admin"
}
company
- Object
Armazena dados da empresa associada.
id
- String
Identificador próprio da empresa.
name
- String
Nome da empresa.
email
- String
E-mail da empresa.
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 à empresa.
Possíveis Erros HTTP - 400
Possíveis Erros HTTP - 401
Possíveis Erros HTTP - 403