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
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 {
"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
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 {
"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
Name Type Description Limite de resultados na busca
Quantidade de resultados para avançar da busca
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
Código Descrição Acesso restrito ao recurso.
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
Possíveis Erros HTTP - 401
Código Descrição Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
(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
Name Type Description Documentos enviados pela empresa
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
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.
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.
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 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
Código Descrição Acesso restrito ao recurso.
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
Possíveis Erros HTTP - 401
Código Descrição Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
(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
Name Type Description Documentos enviados pela empresa
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
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.
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.
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.
Possíveis Erros HTTP - 401
Código Descrição 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
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 {
"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
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.
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
Name Type Description Nível de acesso do Usuário àquela Empresa
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 {
"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
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 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
Name Type Description Nível de acesso do Usuário àquela Empresa
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
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 .
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 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
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.
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
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
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 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
Name Type Description Nível de acesso do Usuário àquela Empresa
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
Código Descrição Parâmetro "role " 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.
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.