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
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
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
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
Acesso restrito ao recurso.
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
Possíveis Erros HTTP - 401
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
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
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
Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
Possíveis Erros HTTP - 403
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
Acesso restrito ao recurso.
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
Possíveis Erros HTTP - 401
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
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
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
Acesso restrito ao recurso.
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
Possíveis Erros HTTP - 401
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
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
Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
Possíveis Erros HTTP - 403
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
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
Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
Possíveis Erros HTTP - 403
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
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
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
Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
Possíveis Erros HTTP - 403
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
Parâmetro "id " inválido. O campo é obrigatório e deve ser do tipo String .
Possíveis Erros HTTP - 401
Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
Possíveis Erros HTTP - 403
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
Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
Possíveis Erros HTTP - 403
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
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
Parâmetro "role " inválido. O campo é obrigatório e deve ser do tipo String .
Possíveis Erros HTTP - 401
Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
Possíveis Erros HTTP - 403
Acesso restrito ao recurso.
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.