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

Exemplo de Objeto de Empresa
{
  "id": "sd21fs5",
  "name": "ABC Company",
  "documents": [
    {
      "documentName": "cnpj",
      "documentContent": "12.345.657/0001-90"
    }
  ],
  "email": "[email protected]",
  "country": "BR",
  "tags": ["ambiental", "arte", "empreeendedorismo"],
  "status": "active",
  "hashedApiKey": "$oiudwtyh798dft13hd8",
  "users": {
    "company_admin":["pudt992"],
    "company_moderator":["321ggd","456jse"]
  }
}

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
Type
Description

name

String

Nome da empresa

email

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"]
    },
  ]
}
    

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

Name
Type
Description

companyId*

String

ID da Empresa

{
  "id": "21grd8",
  "name": "ABC Company",
  "email": "[email protected]",
  "country": "BR",
  "tags": ["ambiental", "arte", "empreeendedorismo"]
}

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

Name
Type
Description

companyId*

String

ID da Empresa

Query Parameters

Name
Type
Description

name

String

Nome da Comunidade

email

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"]
    }
  ]
}

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

name

String

Nome da empresa

email

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

Name
Type
Description

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"
    },
  ]
}
    

(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

Name
Type
Description

authorization*

Bearer

JWT

Request Body

Name
Type
Description

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"
}

(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

Name
Type
Description

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"
}

(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

Name
Type
Description

companyId*

String

ID da Empresa

Request Body

Name
Type
Description

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": "21grd8",
  "name": "ABC Company",
  "documents": [
    {
      "documentName": "cnpj",
      "documentContent": "12.345.657/0001-90"
    }
  ],
  "email": "[email protected]",
  "country": "BR",
  "tags": ["ambiental", "arte", "empreeendedorismo"]
  "status": "active"
}

(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

Name
Type
Description

companyId*

String

ID da Empresa

Query Parameters

Name
Type
Description

name

String

Nome da Comunidade

email

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

Name
Type
Description

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"]
    }
  ]
}

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

Name
Type
Description

companyId*

String

ID da Empresa

Query Parameters

Name
Type
Description

name

String

Nome do Usuário

email

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

Name
Type
Description

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]"
      }
    ]
  }
}

(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

Name
Type
Description

companyId*

String

ID da Empresa

Headers

Name
Type
Description

authorization*

Bearer

JWT

Request Body

Name
Type
Description

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"
}

(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

Name
Type
Description

companyId*

String

ID da Empresa

userId*

String

ID do Usuário

Headers

Name
Type
Description

authorization*

Bearer

JWT

(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

Name
Type
Description

userId*

String

ID do Usuário

companyId*

String

ID da Empresa

Headers

Name
Type
Description

authorization*

Bearer

JWT

{
    "company": {
        "id": "htf849"
        "name": "Company B",
        "email": "[email protected]"
    },
    "user": {
        "id" : "486daw",
        "name": "User B",
        "email": "[email protected]"
    },
    "role": "company_moderator"
}

(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

Name
Type
Description

userId*

String

ID do Usuário

companyId*

String

ID da Empresa

Headers

Name
Type
Description

authorization*

Bearer

JWT

Request Body

Name
Type
Description

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"
}

Last updated

Was this helpful?