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
GET
https://goblockchain.io/gotokens-api/v1/companies/:companyId
Nível de permissionamento necessário: qualquer
Query Parameters
Limite de resultados na busca
Quantidade de resultados para avançar da busca
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.
GET
https://goblockchain.io/gotokens-api/v1/companies/:companyId
Nível de permissionamento necessário: qualquer
Path Parameters
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
Limite de resultados na busca
Quantidade de resultados para avançar da busca
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
Limite de resultados na busca
Quantidade de resultados para avançar da busca
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.
Acesso restrito ao recurso.
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
POST
https://goblockchain.io/gotokens-api/v1/companies/manage
Nível de permissionamento necessário: company_admin
Request Body
Documentos enviados pela empresa
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.
Parâmetro "name " inválido. O campo é obrigatório, deve ser do tipo String e possuir mínimo de 3 caracteres.
Parâmetro "documents " inválido. O campo é obrigatório e deve ser do tipo Array of Objects .
Campo "documentName " inválido. O campo é obrigatório e deve ser do tipo String .
Campo "documentContent " inválido. O campo é obrigatório e deve ser do tipo String .
Campo "email " inválido. O campo é obrigatório, deve ser do tipo String e seguir um formato de e-mail válido.
Campo "country " inválido. O campo é obrigatório, deve ser do tipo String e seguir a ISO 3166-1 Alpha-2.
Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
Acesso restrito ao recurso.
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
GET
https://goblockchain.io/gotokens-api/v1/companies/:companyId/manage
Nível de permissionamento necessário: company_admin
, company_moderator
Path Parameters
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.
Acesso restrito ao recurso.
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
PATCH
https://goblockchain.io/gotokens-api/v1/companies/:companyId/manage
Nível de permissionamento necessário: company_admin
, company_moderator
Path Parameters
Request Body
Documentos enviados pela empresa
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.
Parâmetro "name " inválido. O campo é obrigatório, deve ser do tipo String e possuir mínimo de 3 caracteres.
Parâmetro "documents " inválido. O campo é obrigatório e deve ser do tipo Array of Objects .
Campo "documentName " inválido. O campo é obrigatório e deve ser do tipo String .
Campo "documentContent " inválido. O campo é obrigatório e deve ser do tipo String .
Campo "email " inválido. O campo é obrigatório, deve ser do tipo String e seguir um formato de e-mail válido.
Campo "country " inválido. O campo é obrigatório, deve ser do tipo String e seguir a ISO 3166-1 Alpha-2.
Acesso restrito ao recurso.
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
(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
Limite de resultados na busca
Quantidade de resultados para avançar da busca
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.
Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
Acesso restrito ao recurso.
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
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
Nível de acesso do Usuário àquela Empresa
Limite de resultados na busca
Quantidade de resultados para avançar da busca
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.
Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
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 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
Nível de acesso do Usuário àquela Empresa
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.
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 .
Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
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 empresa
DELETE
https://goblockchain.io/gotokens-api/v1/companies/:companyId/users-roles/:userId/manage
Nível de permissionamento necessário: company_admin
Path Parameters
Parâmetro "id " inválido. O campo é obrigatório e deve ser do tipo String .
Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
Acesso restrito ao recurso.
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 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
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.
Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
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 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
Nível de acesso do Usuário àquela Empresa
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.
Parâmetro "role " inválido. O campo é obrigatório e deve ser do tipo String .
Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
Acesso restrito ao recurso.
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.