Centros de Custo


Listar

Endpoint que lista todos os centros de custos cadastrados.

Method URI Headers Authorization
GET /api/v3/cost-centers Content-Type:application/json Authorization: Bearer {token}

Parameters

costCenterIds: [1,2,3] (array) - "Filtra por Id do centro de custo."
apportionment_id: 1 (array) - "Filtra por Id do Rateio."
_q: 'texto' (string) - "Busca nos centros de custo cadastrados."
_sort: 'id' (string) ('id', 'name') - "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."

Response

{success} Response 200 (application/json)

{
    "items": [
        {
            "id": 1,
            "apportionment_id": 1
            "name": "Centro de Custo x",
            "email": "email@email.com",
            "apportionment_tariff_type": {
                "id": 3,
                "name": "Customizado"
            },
            "equipments" : [
                {
                    "id": 1,
                    "cost_center_id": 1,
                    "equipment_id": 1,
                    "usage_limit": 50
                }
            ]
        }
    ],
    "total": 1,
    "per_page": 10,
    "current_page": 1
}

{warning} Response 422 (application/json)

{
    "_sort": [
        "O campo sort selecionado é inválido."
    ],
    "_order": [
        "O campo order selecionado é inválido."
    ],
    "_limit": [
        "O campo limit deve ser um número inteiro."
    ],
    "_page": [
        "O campo page deve ser um número inteiro."
    ]
}

{primary} Response 204 (application/json).

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

Pegar

Endpoint que pega um centro de custo específico.

Method URI Headers Authorization
GET /api/v3/cost-centers/{id} Content-Type:application/json Authorization: Bearer {token}

Parameters

id: 1 (integer) - "Id do centro de custo."

Response

{success} Response 200 (application/json)

{
    "id": 1,
    "apportionment_id": 1
    "name": "Centro de Custo x",
    "email": "email@email.com",
    "apportionment_tariff_type": {
        "id": 3,
        "name": "Customizado"
    },
    "equipments" : [
        {
            "id": 1,
            "cost_center_id": 1,
            "equipment_id": 1,
            "usage_limit": 50
        }
    ]
}

{primary} Response 204 (application/json)

Quando o registro não existir ou o usuário não tiver permissão de visualização.

Criar

Endpoint que cria um centro de custo.

Method URI Headers Authorization
POST /api/v3/cost-centers Content-Type:application/json Authorization: Bearer {token}

Attributes

apportionment_id: 1 (integer, required) - "Id do rateio.",
apportionment_tariff_type_id: 1 (integer, required) - "Id do tipo de tarifa do centro de custo.",
name: 'Centro de custo x' (string, required) - "Nome do centro de custo.",
email: 'email@email.com' (string, required) - "E-mail para notificar após rateio."

Response

{success} Response 201 (application/json)

{
    "id": 1,
    "apportionment_id": 1
    "name": "Centro de Custo x",
    "email": "email@email.com",
    "apportionment_tariff_type": {
        "id": 3,
        "name": "Customizado"
    },
    "equipments": []
}

{primary} Response 204 (application/json)

Quando o registro não existir ou o usuário não tiver permissão de visualização.

Atualizar

Endpoint que atualiza um centro de custo específico.

Method URI Headers Authorization
PUT /api/v3/cost-centers/{id} Content-Type:application/json Authorization: Bearer {token}

Parameters

id: 1 (integer) - "Id do centro de custo."

Attributes

apportionment_id: 1 (integer) - "Id do rateio.",
apportionment_tariff_type_id: 1 (integer) - "Id do tipo de tarifa do centro de custo.",
name: 'Centro de custo x' (string) - "Nome do centro de custo.",
email: 'email@email.com' (string) - "E-mail para notificar após rateio.",


Response

{success} Response 200 (application/json)

{
    "id": 1,
    "apportionment_id": 1
    "name": "Centro de Custo atualizado",
    "email": "email@email.com",
    "apportionment_tariff_type": {
        "id": 3,
        "name": "Customizado"
    },
    "equipments": []
}

{primary} Response 204 (application/json)

Quando o registro não existir ou o usuário não tiver permissão de visualização.

Deletar

Endpoint que deleta um centro de custo específico.

Method URI Headers Authorization
DELETE /api/v3/cost-centers/{id} Content-Type:application/json Authorization: Bearer {token}

Parameters

id: 1 (integer) - "Id do centro de custo."

Response

{primary} Response 204 (application/json)

Quando o registro for excluído com sucesso.