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

  • 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

NameTypeDescription

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": "company_a@email.com",
      "country": "BR",
      "tags": ["ambiental", "arte", "empreeendedorismo"]
    },
    {
      "id": "123egroo",
      "name": "Company B",
      "email": "company_b@email.com",
      "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

NameTypeDescription

companyId*

String

ID da Empresa

{
  "id": "21grd8",
  "name": "ABC Company",
  "email": "company@email.com",
  "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

NameTypeDescription

companyId*

String

ID da Empresa

Query Parameters

NameTypeDescription

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

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

NameTypeDescription

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

NameTypeDescription

authorization*

Bearer

JWT

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

(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

NameTypeDescription

authorization*

Bearer

JWT

Request Body

NameTypeDescription

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": "company@email.com",
  "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

NameTypeDescription

companyId*

String

ID da Empresa

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

(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

NameTypeDescription

companyId*

String

ID da Empresa

Request Body

NameTypeDescription

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": "company@email.com",
  "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

NameTypeDescription

companyId*

String

ID da Empresa

Query Parameters

NameTypeDescription

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

NameTypeDescription

authorization*

Bearer

JWT

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

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

NameTypeDescription

companyId*

String

ID da Empresa

Query Parameters

NameTypeDescription

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

NameTypeDescription

authorization*

Bearer

JWT

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

(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

NameTypeDescription

companyId*

String

ID da Empresa

Headers

NameTypeDescription

authorization*

Bearer

JWT

Request Body

NameTypeDescription

id*

String

ID do Usuário

role*

String

Nível de acesso do Usuário àquela Empresa

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

(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

NameTypeDescription

companyId*

String

ID da Empresa

userId*

String

ID do Usuário

Headers

NameTypeDescription

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

NameTypeDescription

userId*

String

ID do Usuário

companyId*

String

ID da Empresa

Headers

NameTypeDescription

authorization*

Bearer

JWT

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

(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

NameTypeDescription

userId*

String

ID do Usuário

companyId*

String

ID da Empresa

Headers

NameTypeDescription

authorization*

Bearer

JWT

Request Body

NameTypeDescription

role*

String

Nível de acesso do Usuário àquela Empresa

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

Last updated