Empresas


Listar

Endpoint que lista todos as empresas cadastradas.

Method URI Headers Authorization
GET /api/v4/companies Content-Type:application/json Authorization: Bearer {token}

Parameters

_q: empresa x (string) - "Busca as empresas pelo nome ou id."
_sort: id (string) ("id", "nome") - "Define o campo de ordenação da lista."
_order: desc (string) ("asc", "desc") - "Define a ordem da lista com base no campo definido."
_limit: 10 (integer) - "Quantidade de itens por página."
_page: 1 (integer) - "Página a ser carregada."
external_id: "123456" (array, string) - "Filtra empresas pelo ID externo."
parent_id: 1 (integer) - "Filtra empresas pelo ID da empresa pai."
account_id: 2 (integer) - "Filtra empresas de uma conta."

{info} Apenas persona Super admin consegue filtrar empresas pelo parâmetro account_id. As demais personas só terão acesso as empresas vinculadas a sua conta.

Response

{success} Response 200 (application/json)

{
  "items": [
    {
        "id": 1,
        "name": "Empresa 1",
        "unit_code": "123456",
        "cnpj": null,
        "corporate_name": "Empresa 1",
        "address": "Rua teste",
        "number": "4",
        "complement": null,
        "district": "Centro",
        "zip_code": "00000-000",
        "cnae": "123456",
        "parent":{
            "id": 2,
            "name": "Empresa Pai"
        },
        "city": {
            "id": 2,
            "name": "São Bernardo do Campo"
        },
        "state": {
            "id": 1,
            "name": "São Paulo"
        },
        "energy_demands_off_peak":[],
        "energy_demands_peak":[],
        "account":{
            "id": 2,
            "name": "Conta Cliente"
        },
        "code_ibge": 123456789
    }, 
    {
        "id": 1,
        "name": "Empresa 2",
        "unit_code": null,
        "cnpj": null,
        "corporate_name": null,
        "address": null,
        "number": null,
        "complement": null,
        "district": null,
        "zip_code": null,
        "cnae": null,
        "parent":null,
        "city": {
            "id": 2,
            "name": "São Bernardo do Campo"
        },
        "state": {
            "id": 1,
            "name": "São Paulo"
        },
        "energy_demands_off_peak":[],
        "energy_demands_peak":[],
        "account":{
            "id": 2,
            "name": "Conta Cliente"
        },
        "code_ibge": null
    }
  ],
  "total": 2,
  "per_page": 10,
  "current_page": 1
}

{primary} Response 204 (application/json)

Quando os critérios de parâmetros não contiver registros a serem retornados.

{warning} Response 422 (application/json)

{
    "parent_id": [
        "Permissões insuficientes para essa conta"
    ],
    "account_id": [
        "O campo account id selecionado é inválido."
    ]
}

{warning} Response 400 (application/json)

Quando ocorre algum erro ou usuário não tem permissão.

Pegar

Endpoint que pega os dados de uma empresa específica.

Method URI Headers Authorization
GET /api/v4/companies/{companyId} Content-Type:application/json Authorization: Bearer {token}

Parameters

companyId: 2 - (integer, required) - "Id da empresa"

Response

{success} Response 200 (application/json)

{
    "id": 1,
    "name": "Empresa 1",
    "unit_code": "123456",
    "cnpj": null,
    "corporate_name": "Empresa 1",
    "address": "Rua teste",
    "number": "4",
    "complement": null,
    "district": "Centro",
    "zip_code": "00000-000",
    "cnae": "123456",
    "parent":{
        "id": 2,
        "name": "Empresa Pai"
    },
    "city": {
        "id": 2,
        "name": "São Bernardo do Campo"
    },
    "state": {
       "id": 1,
       "name": "São Paulo"
    },
    "energy_demands_off_peak":[],
    "energy_demands_peak":[],
    "account":{
        "id": 2,
        "name": "Conta Cliente"
    },
    "code_ibge": 123456789
}

{warning} Response 400 (application/json)

Quando ocorre algum erro ou usuário não tem permissão.

Criar

Endpoint que cria uma empresa.

Method URI Headers Authorization
POST /api/v4/companies Content-Type:application/json Authorization: Bearer {token}

Attributes

name: "Empresa 1" (string, required) - "Nome da empresa."
account_id: 1 (integer) - "ID da conta que a empresa pertence."
external_id: "1" (string) - "ID externo da empresa."
parent_id: 1 (integer) - "ID da empresa pai."
cnpj: 9999999999 (integer) - "CNPJ da empresa."
corporate_name: "Empresa 1" (string) - "Razão social da empresa."
address: "Rua X" (string) - "Endereço."
zip_code: "00000-000" (string) - "CEP."
number: "88" (string) - "Número."
complement: "X" (string) - "Complemento."
district: "X" (string) - "Bairro."
city_id: 1 (integer, required) - "Id da cidade."
state_id: 1 (integer, required) - "Id do estado."
cnae: 1 (string) - "CNAE."
contact_name: "Nino" (string) - "Nome do contato."
contact_telephone: "99999-9999" (string) - "Telefone fixo."
contact_cellphone: "999999-9999" (string) - "Telefone celular."
contact_email: "teste@teste.com" (string) - "E-mail de contato."
unit_code: "123456" (string) - "Código da unidade consumidora."
code_ibge: 123456789 (integer) - "Código IBGE."

{info} O parâmetro account_id é obrigatório para persona Super Admin e para usuários de Contas do tipo Gestão.

Response

{success} Response 201 (application/json)

{
    "id": 1,
    "name": "Empresa 1",
    "unit_code": "123456",
    "cnpj": null,
    "corporate_name": "Empresa 1",
    "address": "Rua teste",
    "number": "4",
    "complement": null,
    "district": "Centro",
    "zip_code": "00000-000",
    "cnae": "123456",
    "parent":{
        "id": 2,
        "name": "Empresa Pai"
    },
    "city": {
        "id": 2,
        "name": "São Bernardo do Campo"
    },
    "state": {
       "id": 1,
       "name": "São Paulo"
    },
    "energy_demands_off_peak":[],
    "energy_demands_peak":[],
    "account":{
        "id": 2,
        "name": "Conta Cliente"
    },
    "code_ibge": 123456789
}

{warning} Response 422 (application/json)

{
    "name": [
        "O campo name é obrigatório."
    ],
    "parent_id": [
        "Permissões insuficientes para essa conta"
    ]
}

{warning} Response 400 (application/json)

Quando ocorre algum erro ou usuário não tem permissão.

Atualizar

Endpoint que atualiza uma empresa.

Method URI Headers Authorization
PUT /api/v4/companies/1 Content-Type:application/json Authorization: Bearer {token}

Attributes

name: "Empresa 1" (string) - "Nome da empresa."
account_id: 1 (integer) - "ID da conta que a empresa pertence."
external_id: "1" (string) - "ID externo da empresa."
parent_id: 1 (integer) - "ID da empresa pai."
cnpj: 9999999999 (integer) - "CNPJ da empresa."
corporate_name: "Empresa 1" (string) - "Razão social da empresa."
address: "Rua X" (string) - "Endereço."
zip_code: "00000-000" (string) - "CEP."
number: "88" (string) - "Número."
complement: "X" (string) - "Complemento."
district: "X" (string) - "Bairro."
city_id: 1 (integer) - "Id da cidade."
state_id: 1 (integer) - "Id do estado."
cnae: 1 (string) - "CNAE."
contact_name: "Nino" (string) - "Nome do contato."
contact_telephone: "99999-9999" (string) - "Telefone fixo."
contact_cellphone: "999999-9999" (string) - "Telefone celular."
contact_email: "teste@teste.com" (string) - "E-mail de contato."
unit_code: "123456" (string) - "Código da unidade consumidora."
code_ibge: 123456789 (integer) - "Código IBGE."


Response

{success} Response 200 (application/json)

{
    "id": 1,
    "name": "Empresa 1",
    "unit_code": "123456",
    "cnpj": null,
    "corporate_name": "Empresa 1",
    "address": "Rua teste",
    "number": "4",
    "complement": null,
    "district": "Centro",
    "zip_code": "00000-000",
    "cnae": "123456",
    "parent":{
        "id": 2,
        "name": "Empresa Pai"
    },
    "city": {
        "id": 2,
        "name": "São Bernardo do Campo"
    },
    "state": {
       "id": 1,
       "name": "São Paulo"
    },
    "energy_demands_off_peak":[],
    "energy_demands_peak":[],
    "account":{
        "id": 2,
        "name": "Conta Cliente"
    },
    "code_ibge": 123456789
}

{warning} Response 422 (application/json)

{
    "parent_id": [
        "Permissões insuficientes para essa conta"
    ]
}

{warning} Response 403 (application/json)

[
    "Não é permitido trocar a conta."
]

{warning} Response 400 (application/json)

Quando ocorre algum erro ou usuário não tem permissão.

Deletar

Endpoint que deleta uma empresa.

Method URI Headers Authorization
DELETE /api/v3/companies/1 Content-Type:application/json Authorization: Bearer {token}

Response

{primary} Response 204 (application/json)

Quando o registro for excluido com sucesso.

{warning} Response 400 (application/json)

Quando ocorre algum erro ou usuário não tem permissão.