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

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

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

Query Parameters

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

Headers

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

Request Body

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

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

Request Body

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

Query Parameters

Headers

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

Query Parameters

Headers

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

Headers

Request Body

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

Headers

(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

Headers

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

Headers

Request Body

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