Empresa
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
Endpoints
Empresa
GET /v1/companies
GET /v1/companies/:companyId
GET /v1/companies/:companyId/communities
Gestão de dados da Empresa
GET /v1/companies/manage
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
String
Nome da empresa
String
E-mail da empresa
country
String
País da empresa
limit
String
Limite de resultados na busca
offset
String
Quantidade de resultados para avançar da busca
tags
Array
Tags da Empresa
{
"companies": [
{
"id": "87wda9",
"name": "Company A",
"email": "[email protected]",
"country": "BR",
"tags": ["ambiental", "arte", "empreeendedorismo"]
},
{
"id": "123egroo",
"name": "Company B",
"email": "[email protected]",
"country": "BR",
"tags": ["empreeendedorismo"]
},
]
}
companies- Array of ObjectsArmazena as informações de cada empresa com a qual o usuário logado tem vínculo.
id- StringIdentificador próprio da empresa.
name- StringNome da empresa.
email- StringE-mail cadastrado relativo à empresa.
country- StringPaís cadastrado relativo à empresa.
tags- ArrayArmazena 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
companyId*
String
ID da Empresa
{
"id": "21grd8",
"name": "ABC Company",
"email": "[email protected]",
"country": "BR",
"tags": ["ambiental", "arte", "empreeendedorismo"]
}id- StringIdentificador próprio da empresa.
name- StringNome da empresa.
email- StringE-mail para contato com a empresa.
country- StringPaís onde a empresa possui documento.
tags- ArrayArmazena 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
companyId*
String
ID da Empresa
Query Parameters
name
String
Nome da Comunidade
String
E-mail da Comunidade
id
String
ID da Comunidade
limit
String
Limite de resultados na busca
offset
String
Quantidade de resultados para avançar da busca
tags
Array
Tags da Comunidade
{
"companyId": "htf849",
"companyName": "ABC Company",
"communities": [
{
"id": "kliu78",
"name": "Community A",
"email": "[email protected]",
"description": "Community A description",
"tags": ["ambiental", "arte", "empreeendedorismo"]
},
{
"id": "vxrg35",
"name": "Community B",
"email": "[email protected]",
"description": "Community B description",
"tags": ["empreeendedorismo"]
}
]
}companyId- StringIdentificador da empresa no banco de dados.
companyName- StringNome da empresa.
communities- ObjectArmazena listas de comunidades associados à empresa.
id- StringIdentificador único da comunidade.
name- StringNome da comunidade.
email- StringE-mail associado à comunidade.
description- StringDescrição da comunidade.
tags- ArrayArmazena 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
String
Nome da empresa
String
E-mail da empresa
country
String
País da empresa
limit
String
Limite de resultados na busca
offset
String
Quantidade de resultados para avançar da busca
tags
Array
Tags da empresa
Headers
authorization*
Bearer
JWT
{
"companies": [
{
"id": "87wda9",
"name": "Company A",
"email": "[email protected]",
"country": "BR",
"tags": ["ambiental", "arte", "empreeendedorismo"]
"role": "company_admin"
},
{
"id": "123egroo",
"name": "Company B",
"email": "[email protected]",
"country": "BR",
"tags": ["empreeendedorismo"]
"role": "company_moderator"
},
]
}
companies- Array of ObjectsArmazena as informações de cada empresa com a qual o usuário logado tem vínculo.
id- StringIdentificador próprio da empresa.
name- StringNome da empresa.
email- StringE-mail cadastrado relativo à empresa.
country- StringPaís cadastrado relativo à empresa.
role- StringNome do nível de permissionamento do usuário.
tags- ArrayArmazena uma lista de palavras-chave para classificação interna do recurso.
1
Acesso restrito ao recurso.
10
Credenciais de acesso expiradas. Por favor, execute novamente 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
Headers
authorization*
Bearer
JWT
Request Body
name*
String
Nome da Empresa
email*
String
E-mail da empresa
documents*
[Objects]
Documentos enviados pela empresa
country*
String
País da empresa
tags
Array
Tags da empresa
{
"id": "htr979",
"name": "ABC Company",
"documents": [
{
"documentName": "cnpj",
"documentContent": "12.345.657/0001-90"
}
],
"email": "[email protected]",
"hashedApiKey": "API-KEY-0058-4897",
"tags": ["ambiental", "arte", "empreeendedorismo"]
"country": "BR",
"status": "active"
}id- StringIdentificador próprio da empresa.
name- StringNome da empresa.
documents- ObjectLista de documentos identificadores da empresa.
documentName- StringTipo de documento enviado (contrato social, alvará, CNPJ).
documentContent- StringConteúdo do documento. Pode ser o número do CNPJ, URL do contrato, etc.
tags- ArrayArmazena uma lista de palavras-chave para classificação interna do recurso.
email- StringE-mail para contato com a empresa.
hashedApiKey- StringCampo que exibe uma única vez a chave de API de uma empresa, gerada automaticamente no momento de sua criação.
country- StringPaís onde a empresa possui documento.
1001
Parâmetro "name" inválido. O campo é obrigatório, deve ser do tipo String e possuir mínimo de 3 caracteres.
1002
Parâmetro "documents" inválido. O campo é obrigatório e deve ser do tipo Array of Objects.
1002-A
Campo "documentName" inválido. O campo é obrigatório e deve ser do tipo String.
1002-B
Campo "documentContent" inválido. O campo é obrigatório e deve ser do tipo String.
1003
Campo "email" inválido. O campo é obrigatório, deve ser do tipo String e seguir um formato de e-mail válido.
1004
Campo "country" inválido. O campo é obrigatório, deve ser do tipo String e seguir a ISO 3166-1 Alpha-2.
1
Acesso restrito ao recurso.
10
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
companyId*
String
ID da Empresa
{
"id": "21grd8",
"name": "ABC Company",
"documents": [
{
"documentName": "cnpj",
"documentContent": "12.345.657/0001-90"
}
],
"email": "[email protected]",
"country": "BR",
"tags": ["ambiental", "arte", "empreeendedorismo"]
"status": "active"
}id- StringIdentificador próprio da empresa.
name- StringNome da empresa.
documents- ObjectLista de documentos identificadores da empresa.
documentName- StringTipo de documento enviado (contrato social, alvará, CNPJ).
documentContent- StringConteúdo do documento. Pode ser o número do CNPJ, URL do contrato, etc.
email- StringE-mail para contato com a empresa.
country- StringPaís onde a empresa possui documento.
tags- ArrayArmazena uma lista de palavras-chave para classificação interna do recurso.
1
Acesso restrito ao recurso.
10
Credenciais de acesso expiradas. Por favor, execute novamente 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
companyId*
String
ID da Empresa
Request Body
name
String
Nome da Empresa
String
E-mail da empresa
documents
[Objects]
Documentos enviados pela empresa
country
String
País da empresa
tags
Array
Tags da empresa
{
"id": "21grd8",
"name": "ABC Company",
"documents": [
{
"documentName": "cnpj",
"documentContent": "12.345.657/0001-90"
}
],
"email": "[email protected]",
"country": "BR",
"tags": ["ambiental", "arte", "empreeendedorismo"]
"status": "active"
}id- StringIdentificador próprio da empresa.
name- StringNome da empresa.
documents- ObjectLista de documentos identificadores da empresa.
documentName- StringTipo de documento enviado (contrato social, alvará, CNPJ).
documentContent- StringConteúdo do documento. Pode ser o número do CNPJ, URL do contrato, etc.
tags- ArrayArmazena uma lista de palavras-chave para classificação interna do recurso.
email- StringE-mail para contato com a empresa.
country- StringPaís onde a empresa possui documento.
1001
Parâmetro "name" inválido. O campo é obrigatório, deve ser do tipo String e possuir mínimo de 3 caracteres.
1002
Parâmetro "documents" inválido. O campo é obrigatório e deve ser do tipo Array of Objects.
1002-A
Campo "documentName" inválido. O campo é obrigatório e deve ser do tipo String.
1002-B
Campo "documentContent" inválido. O campo é obrigatório e deve ser do tipo String.
1003
Campo "email" inválido. O campo é obrigatório, deve ser do tipo String e seguir um formato de e-mail válido.
1004
Campo "country" inválido. O campo é obrigatório, deve ser do tipo String e seguir a ISO 3166-1 Alpha-2.
1
Acesso restrito ao recurso.
10
Credenciais de acesso expiradas. Por favor, execute novamente 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
companyId*
String
ID da Empresa
Query Parameters
name
String
Nome da Comunidade
String
E-mail da Comunidade
id
String
ID da Comunidade
limit
String
Limite de resultados na busca
offset
String
Quantidade de resultados para avançar da busca
tags
Array
Tags da Comunidade
Headers
authorization*
Bearer
JWT
{
"companyId": "htf849",
"companyName": "ABC Company",
"communities": [
{
"id": "kliu78",
"name": "Community A",
"email": "[email protected]",
"description": "Community A description",
"tags": ["ambiental", "arte", "empreeendedorismo"]
},
{
"id": "vxrg35",
"name": "Community B",
"email": "[email protected]",
"description": "Community B description",
"tags": ["empreeendedorismo"]
}
]
}companyId- StringIdentificador da empresa no banco de dados.
companyName- StringNome da empresa.
communities- ObjectArmazena listas de comunidades associados à empresa.
id- StringIdentificador único da comunidade.
name- StringNome da comunidade.
email- StringE-mail associado à comunidade.
description- StringDescrição da comunidade.
tags- ArrayArmazena uma lista de palavras-chave para classificação interna do recurso.
1
Acesso restrito ao recurso.
10
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
companyId*
String
ID da Empresa
Query Parameters
name
String
Nome do Usuário
String
E-mail do Usuário
role
String
Nível de acesso do Usuário àquela Empresa
id
String
ID do Usuário
limit
String
Limite de resultados na busca
offset
String
Quantidade de resultados para avançar da busca
Headers
authorization*
Bearer
JWT
{
"companyId": "htf849",
"companyName": "ABC Company",
"users": {
"company_admin":[
{
"id": "pudt992",
"name": "User A",
"email": "[email protected]",
}
],
"company_moderator":[
{
"id": "321ggd",
"name": "User D",
"email": "[email protected]"
},
{
"id": "456jse",
"name": "User E",
"email": "[email protected]"
}
]
}
}companyId- StringIdentificador da empresa no banco de dados.
companyName- StringNome da empresa.
users- ObjectArmazena listas de usuários associados à empresa de acordo com o nível de permissionamento.
company_admin- Array of ObjectsLista usuários administradores de uma empresa.
id- StringIdentificador próprio do usuário.
name- StringNome do usuário associado à empresa.
email- StringE-mail do usuário associado à empresa.
company_moderator- Array of ObjectsLista usuários moderadores de uma empresa.
id- StringIdentificador próprio do usuário.
name- StringNome do usuário associado à empresa.
email- StringE-mail do usuário associado à empresa.
1
Acesso restrito ao recurso.
10
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
companyId*
String
ID da Empresa
Headers
authorization*
Bearer
JWT
Request Body
id*
String
ID do Usuário
role*
String
Nível de acesso do Usuário àquela Empresa
{
"company": {
"id": "htf849"
"name": "Company B",
"email": "[email protected]"
},
"user": {
"id" : "486daw",
"name": "User B",
"email": "[email protected]"
},
"role": "company_moderator"
}company- ObjectArmazena dados da empresa associada.
id- StringIdentificador próprio da empresa.
name- StringNome da empresa.
email- StringE-mail da empresa.
user- ObjectArmazena dados do usuário.
id- StringIdentificador próprio do usuário.
name- StringNome do usuário.
email- StringE-mail do usuário.
role- StringNível de permissionamento do usuário à empresa.
1001
Parâmetro "id" inválido. O campo é obrigatório e deve ser do tipo String.
1002
Parâmetro "role" inválido. O campo é obrigatório e deve ser do tipo String.
1
Acesso restrito ao recurso.
10
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
companyId*
String
ID da Empresa
userId*
String
ID do Usuário
Headers
authorization*
Bearer
JWT
1001
Parâmetro "id" inválido. O campo é obrigatório e deve ser do tipo String.
1
Acesso restrito ao recurso.
10
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
userId*
String
ID do Usuário
companyId*
String
ID da Empresa
Headers
authorization*
Bearer
JWT
{
"company": {
"id": "htf849"
"name": "Company B",
"email": "[email protected]"
},
"user": {
"id" : "486daw",
"name": "User B",
"email": "[email protected]"
},
"role": "company_moderator"
}company- ObjectArmazena dados da empresa associada.
id- StringIdentificador próprio da empresa.
name- StringNome da empresa.
email- StringE-mail da empresa.
user- ObjectArmazena dados do usuário.
id- StringIdentificador próprio do usuário.
name- StringNome do usuário.
email- StringE-mail do usuário.
role- StringNível de permissionamento do usuário à empresa.
1
Acesso restrito ao recurso.
10
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
userId*
String
ID do Usuário
companyId*
String
ID da Empresa
Headers
authorization*
Bearer
JWT
Request Body
role*
String
Nível de acesso do Usuário àquela Empresa
{
"company": {
"id": "htf849"
"name": "Company B",
"email": "[email protected]"
},
"user": {
"id" : "486daw",
"name": "User B",
"email": "[email protected]"
},
"role": "company_admin"
}company- ObjectArmazena dados da empresa associada.
id- StringIdentificador próprio da empresa.
name- StringNome da empresa.
email- StringE-mail da empresa.
user- ObjectArmazena dados do usuário atualizado.
id- StringIdentificador próprio do usuário atualizado.
name- StringNome do usuário atualizado.
email- StringE-mail do usuário atualizado.
role- StringNível atualizado de permissionamento do usuário à empresa.
1001
Parâmetro "role" inválido. O campo é obrigatório e deve ser do tipo String.
1
Acesso restrito ao recurso.
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
Last updated
Was this helpful?