# Cargos

O cargo a ser selecionado na criação de vaga do candidato. Os campos de código, CBO (*Classificação Brasileira de Ocupações*) e escolaridade mínima são opcionais.

Escolaridade mínima é uma configuração que impede a seleção de uma escolaridade inferior por parte do candidato, assim bloqueando a admissão em caso de ser um pré-requisito para o cargo.&#x20;

A Classificação Brasileira de Ocupações (CBO) são códigos pré-determinados, padronizados pelo Ministério do Trabalho na tentativa de retratar a realidade das profissões do mercado de trabalho brasileiro. O código a ser inserido deve ser válido. [mais info](http://www.mtecbo.gov.br/cbosite/pages/home.jsf)

Código é um campo aberto para uso de outros sistemas em caso de integração, sendo assim não existe validações neste campo.

## Create role

<mark style="color:green;">`POST`</mark> `https://api.acessorh.com.br/v1/role/json/:acc`

Cria um cargo na empresa selecionada.

#### Path Parameters

| Name | Type   | Description                             |
| ---- | ------ | --------------------------------------- |
| acc  | string | UID da empresa onde o cargo será criado |

#### Headers

| Name          | Type   | Description                                                   |
| ------------- | ------ | ------------------------------------------------------------- |
| Authorization | string | Token de acesso adquirido pela plataforma Identity (*bearer*) |

{% tabs %}
{% tab title="201 " %}

```javascript
{
    "code": 201,
    "messages": null,
    "result": {
        "uid": "3a46ca19-506f-4e80-a217-891d48a2a0ac"
    },
    "status": "ok"
}
```

{% endtab %}
{% endtabs %}

* [Descrição do body JSON da requisição](#descricao-do-body-json-da-requisicao)
* [Exemplo de requisição](#exemplo-de-requisicao)

### Descrição do body JSON da requisição

| Chave                                                                          | Tipo   | Descrição                        |
| ------------------------------------------------------------------------------ | ------ | -------------------------------- |
| <p><strong>code</strong></p><p><em>required</em></p>                           | string | Código do cargo                  |
| <p><strong>name</strong></p><p><em>required</em></p>                           | string | Nome do cargo                    |
| <p><a href="#context"><strong>context</strong></a></p><p><em>optional</em></p> | object | Informações específicas por país |

#### Context

| Chave                                                                        | Tipo   | Descrição                             |
| ---------------------------------------------------------------------------- | ------ | ------------------------------------- |
| <p><a href="#brazil"><strong>brazil</strong></a></p><p><em>optional</em></p> | object | Informações específicas para o Brasil |

#### Brazil

| Chave                                                              | Tipo                                              | Descrição                                  |
| ------------------------------------------------------------------ | ------------------------------------------------- | ------------------------------------------ |
| <p><strong>cbo</strong></p><p><em>optional</em></p>                | string                                            | Número do CBO                              |
| <p><strong>escolaridadeMinima</strong></p><p><em>optional</em></p> | string([options](#opcoes-de-escolaridade-minima)) | Escolaridade mínima permitida para o cargo |

#### Opções de escolaridade mínima

```
"analfabeto", "5_ano_fundamental_incompleto", "5_ano_fundamental_completo", "6_9_fundamental_incompleto", "fundamental_completo", "medio_incompleto", "medio_completo", "superior_incompleto", "superior_completo", "pos_graduacao", "especializacao", "mestrado", "doutorado", "phd"
```

### Exemplo de requisição

```javascript
{
	"code":"an-prog-jr",
    "name": "Analista Programador Jr",
    "context": {
        "brazil": {
            "cbo": "789",
            "escolaridadeMinima": "superior_completo"
        }
    }
}
```

## List roles

<mark style="color:blue;">`GET`</mark> `https://api.acessorh.com.br/v1/role/:acc`

Lista os cargos da empresa selecionada.

#### Path Parameters

| Name | Type   | Description                                     |
| ---- | ------ | ----------------------------------------------- |
| acc  | string | UID da empresa de onde os cargos serão listados |

#### Query Parameters

| Name  | Type   | Description                                                 |
| ----- | ------ | ----------------------------------------------------------- |
| limit | string | Limite de cargos que serão listados (paginação)             |
| skip  | string | Indica a quantidade de cargos que serão pulados (paginação) |
| code  | string | Código do cargo que deverá ser filtrado                     |

#### Headers

| Name          | Type   | Description                                                   |
| ------------- | ------ | ------------------------------------------------------------- |
| Authorization | string | Token de acesso adquirido pela plataforma Identity *(bearer*) |

{% tabs %}
{% tab title="200 " %}

```javascript
[
    {
        "acc": "bf63e2bd-da94-4bc3-862d-49daf9fadb87",
        "code": "an-prog-jr",
        "context": {
            "brazil": {
                "cbo": "789",
                "escolaridadeMinima": "superior_completo"
            }
        },
        "id": "3a46ca19-506f-4e80-a217-891d48a2a0ac",
        "name": "Analista Programador Jr"
    }
]
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
Caso não seja inserido os parâmetros `limit` e `skip` , os valores padrões serão, respectivamente, 1000 e 0.

O parâmetro `limit` tem o seu valor máximo como 1000.
{% endhint %}

## Delete role

<mark style="color:red;">`DELETE`</mark> `https://api.acessorh.com.br/v1/role`

Deleta um cargo da empresa selecionada.

#### Query Parameters

| Name | Type   | Description                                   |
| ---- | ------ | --------------------------------------------- |
| uid  | string | UID do cargo a ser deletado.                  |
| acc  | string | UID da empresa de onde o cargo será deletado. |

#### Headers

| Name          | Type   | Description                                                    |
| ------------- | ------ | -------------------------------------------------------------- |
| Authorization | string | Token de acesso adquirido pela plataforma Identity *(bearer)*. |

{% tabs %}
{% tab title="200 " %}

```
```

{% endtab %}
{% endtabs %}
