Select API Documentation
Select API Documentation
Use o menu a esquerda para navegar entre as diferentes rotas disponíveis, e a barra lateral a direita para visualizar os exemplos de
como realizar as requisições nas linguagens disponíveis
Autenticação
Métodos para autenticação e uso da API
Token de Acesso
Para realizar outras chamada na API, é necessário requisitar um token de acesso com esta chamada Este token então deverá ser usado
como um header. Estes dados serão enviados assim que o acesso for disponibilizado pela equipe selecty
Example request:
import requests
import json
url = '[Link]
payload = {
"api_id": "12345678-9abc-def0-1234-56789abcdef0",
"secret": "\"<senha-super-secreta>\""
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"access_token": "<bearer-token>",
"token_type": "bearer",
"expires_in": 3600
}
REQUEST
POST v2/auth
BODY PARAMETERS
api_id uuid
ID de conexão
secret string
Senha ou password da conexão
Impersonate
requires authentication
Esta chamada retorna um link único e expirável, que é responsaǘel por autentuicar e redirecionar o usuário a alguma url do pórtral do
serviços. Útil para integrações de portais externos, onde a autenticação é realizada do lado do cliente.
Example request:
import requests
import json
url = '[Link]
payload = {
"url": "vacancy\/lists\/index",
"email": "ab"
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"url": "<url-de-retorno>"
"expires": "<data-de-expiração>"
}
{
"error": "Unauthorized"
}
REQUEST
POST v2/impersonate
BODY PARAMETERS
email string
Email do usuário externo. Deve estar ativo.
Candidatos
Funções relacionadas a candidatos
Inserir candidato
requires authentication
Example request:
import requests
import json
url = '[Link]
payload = {
"name": "Jos\u00e9 da Silva",
"cpf": "12345678901",
"email": "jose@[Link]",
"phone": "41999999999",
"gender": "M",
"birth_date": "1980-05-13",
"assumed_name": "Z\u00e9",
"postal_code": "83508555",
"state": "PR",
"city": "Curitiba",
"district": "Centro",
"street": "Rua Volunt\u00e1rios da P\u00e1tria",
"street_number": "100",
"complement": "apto 10",
"obs": "Coment\u00e1rio",
"welcome": true
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = [Link]('POST', url, headers=headers, json=payload)
[Link]()
{
"error": false,
"message": "Candidato enviado ao Processo Seletivo 1463 com sucesso!",
"data": {
"candidate_id": "203582",
"selective_process_id": "1463",
"step_id_selection": 1
}
}
{
"error": true,
"message": "Não encontrado."
}
{
"error": true,
"message": "Campos inválidos",
"fields": {
"name": [
"O campo name é obrigatório."
]
}
}
REQUEST
POST v2/candidate
BODY PARAMETERS
name string
Nome.
cpf string
CPF (apenas números).
email string
E-mail.
phone string
Celular.
Example request:
import requests
import json
url = '[Link]
payload = {
"selective_process_id": 123,
"person_id": 123456,
"stage": "1"
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"error": false,
"message": "Candidato enviado ao Processo Seletivo 1463 com sucesso!",
"data": {
"candidate_id": "203582",
"selective_process_id": "1463",
"step_id_selection": 1
}
}
{
"error": true,
"message": "Não encontrado."
}
{
"error": true,
"message": "Campos inválidos",
"fields": {
"selective_process_id": [
"O campo selective_process_id é obrigatório."
]
}
}
REQUEST
POST v2/candidate/send_to_ps
BODY PARAMETERS
selective_process_id integer
Id do Processo Seletivo.
person_id integer
Id do candidato.
Cargos da Empresa
Funções relacionadas aos cargos da empresa
STATUS:
a: Ativo
c: Cancelado
Example request:
import requests
import json
url = '[Link]
params = {
'sort': '-name',
'code': 'ENG001',
'page': '1',
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"current_page": 1,
"data": [
{
"occupation_corporation_id": 16880,
"name": "NOME DO CARGO 1",
"description": "DESCRIÇÃO DO CARGO 1",
"code": "0001",
"activities": "ATIVIDADES DO CARGO 1.",
"status": "a"
},
{
"occupation_corporation_id": 16881,
"name": "NOME DO CARGO 2",
"description": "DESCRIÇÃO DO CARGO 2",
"code": "0002",
"activities": "ATIVIDADES DO CARGO 2.",
"status": "a"
}
],
"first_page_url": "base_url\/v2\/occupation_corporation?page=1",
"from": 1,
"last_page": 2,
"last_page_url": "base_url\/v2\/occupation_corporation?page=2",
"next_page_url": "base_url\/v2\/occupation_corporation?page=2",
"path": "base_url\/v2\/occupation_corporation",
"per_page": 2,
"prev_page_url": "base_url\/v2\/occupation_corporation?page=80",
"to": 2,
"total": 3
}
{
"error": true,
"message": "Não encontrado."
}
REQUEST
GET v2/occupation_corporation
QUERY PARAMETERS
STATUS:
a: Ativo
c: Cancelado
Se foram cadastrados os códigos internos dos cargos (code) essa busca será feita por ele, caso contrario será feita pelo id do cargo
(occupation_corporation_id)
Example request:
import requests
import json
url = '[Link]
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"occupation_corporation_id": 16880,
"name": "NOME DO CARGO 1",
"description": "DESCRIÇÃO DO CARGO 1",
"code": "0001",
"activities": "ATIVIDADES DO CARGO 1.",
"corporation": {
"corporation_id": 1,
"name": "EMPRESA 1",
"code": 1
}
}
{
"error": true,
"message": "Não encontrado."
}
REQUEST
GET v2/occupation_corporation/{occupation_corporation_id}
URL PARAMETERS
id string
Código do cargo ou id
Se o code passado na requisição já existir em algum registro, esse registro será atualizado e não criado um novo.
OBS: Como o code não é um campo obrigatório, você pode cadastrar sem informa-lo ou deixando-o nulo (null), nesse caso a regra
acima é ignorada.
Example request:
import requests
import json
url = '[Link]
payload = {
"name": "PROGRAMADOR",
"description": "DESCRI\u00c7\u00c3O",
"code": "0001",
"activities": "ATIVIDADES",
"corporation_code": 1,
"corporation_id": 1
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"error": false,
"message": "Cargo da empresa criado com sucesso.",
"resource_id": 16905
}
{
"error": true,
"message": "Não encontrado."
}
{
"error": true,
"message": "Campos inválidos",
"fields": {
"name": [
"O campo name é obrigatório."
]
}
}
REQUEST
POST v2/occupation_corporation
BODY PARAMETERS
name string
Nome do novo cargo da empresa.
optional
code string
Código do cargo da empresa.
STATUS:
a: Ativo
c: Cancelado
Example request:
import requests
import json
url = '[Link]
payload = {
"name": "PROGRAMADOR",
"description": "DESCRI\u00c7\u00c3O",
"code": "0001",
"activities": "ATIVIDADES",
"corporation_code": 1,
"corporation_id": 1,
"status": "c"
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = [Link]('PUT', url, headers=headers, json=payload)
[Link]()
{
"error": false,
"message": "Cargo da empresa atualizado com sucesso.",
"data": {
"occupation_corporation_id": 16904,
"name": "NOVO CARGO 3",
"description": "DESCRIÇÃO 3",
"code": "9878",
"activities": "ATIVIDADES 3",
"status": "a"
}
}
{
"error": true,
"message": "Não encontrado."
}
{
"error": true,
"message": "Já existe um cargo da empresa com esse \"code\"",
"data": {
"occupation_corporation_id": 16903,
"name": "NOVO CARGO 2",
"description": "DESCRIÇÃO",
"code": "9877",
"activities": "ATIVIDADES"
}
}
{
"error": true,
"message": "Campos inválidos",
"fields": {
"name": [
"O campo name é obrigatório."
],
"occupation_corporation_id": [
"O campo occupation corporation id (XXXX) deve ser um número inteiro."
]
}
}
REQUEST
PUT v2/occupation_corporation/{occupation_corporation_id}
URL PARAMETERS
occupation_corporation_id string
ID do cargo
BODY PARAMETERS
status stringoptional
Status do cargo (a = Ativo, c = Cancelado).
Carimbos
Lista de Carimbos
requires authentication
Example request:
import requests
import json
url = '[Link]
params = {
'sort': '-label',
'page': '1',
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = [Link]('GET', url, headers=headers, params=params)
[Link]()
{
"current_page": 1,
"data": [
{
"stamp_id": 1,
"label": "Recomendado",
"description": "Carimbo para marcar candidatos recomendados para certas vagas",
"color": 255,
"icon": "https:\/\/[Link]\/selecty-drive\/shared\/stamps\/[Link]"
},
{
"stamp_id": 2,
"label": "Não recomendado",
"description": "Carimbo para marcar candidatos NÃO recomendados para certas vagas",
"color": 16711680,
"icon": "https:\/\/[Link]\/selecty-drive\/shared\/stamps\/[Link]"
},
{
"stamp_id": 3,
"label": "Importação",
"description": "Carimbo para Importação",
"color": 0,
"icon": "https:\/\/[Link]\/selecty-drive\/shared\/stamps\/[Link]"
}
],
"first_page_url": "base_url\/v2\/stamps?page=1",
"from": 1,
"last_page": 1,
"last_page_url": "base_url\/v2\/stamps?page=1",
"next_page_url": null,
"path": "base_url\/v2\/stamps",
"per_page": 10,
"prev_page_url": null,
"to": 3,
"total": 3
}
{
"error": true,
"message": "Não encontrado."
}
REQUEST
GET v2/stamps
QUERY PARAMETERS
Busca de Carimbos
requires authentication
Example request:
import requests
import json
url = '[Link]
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"stamp_id": 1,
"label": "Recomendado",
"description": "Carimbo para marcar candidatos recomendados para certas vagas",
"color": 255,
"icon": "https:\/\/[Link]\/selecty-drive\/shared\/stamps\/[Link]"
}
{
"error": true,
"message": "Campos inválidos",
"fields": {
"stamp_id": [
"O campo stamp id (XXX) deve ser um número inteiro."
]
}
}
REQUEST
GET v2/stamps/{stamp_id}
URL PARAMETERS
stamp_id string
ID do carimbo
Criação de Carimbo
requires authentication
Example request:
import requests
import json
url = '[Link]
payload = {
"label": "RECOMENDADO",
"description": "DESCRI\u00c7\u00c3O",
"color": 255,
"icon": "https:\/\/[Link]\/selecty-drive\/shared\/stamps\/[Link]"
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"error": false,
"message": "Carimbo salvo com sucesso",
"data": {
"label": "label 2",
"description": "description 2",
"color": 255,
"icon": "icon",
"stamp_id": 6
}
}
{
"error": true,
"message": "Não encontrado."
}
{
"error": true,
"message": "Já existe um carimbo com essa \"label\"",
"data": {
"stamp_id": 5,
"label": "label",
"description": "description",
"color": 123,
"icon": "icon"
}
}
{
"error": true,
"message": "Campos inválidos",
"fields": {
"color": [
"O campo color (blue) deve ser um número inteiro."
]
}
}
REQUEST
POST v2/stamps
BODY PARAMETERS
Alteração de Carimbo
requires authentication
Altera um carimbo
Example request:
import requests
import json
url = '[Link]
payload = {
"label": "RECOMENDADO",
"description": "DESCRI\u00c7\u00c3O",
"color": 255,
"icon": "https:\/\/[Link]\/selecty-drive\/shared\/stamps\/[Link]"
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"error": false,
"message": "Carimbo atualizado com sucesso.",
"data": {
"stamp_id": 6,
"label": "label 2",
"description": "description 2",
"color": 255,
"icon": "icon"
}
}
{
"error": true,
"message": "Não encontrado."
}
{
"error": true,
"message": "Já existe um carimbo com essa \"label\"",
"data": {
"stamp_id": 5,
"label": "label",
"description": "description",
"color": 123,
"icon": "icon"
}
}
{
"error": true,
"message": "Campos inválidos",
"fields": {
"color": [
"O campo color (blue) deve ser um número inteiro."
],
"stamp_id": [
"O campo stamp id (XXXX) deve ser um número inteiro."
]
}
}
REQUEST
PUT v2/stamps/{stamp_id}
URL PARAMETERS
stamp_id string
ID do carimbo
BODY PARAMETERS
Example request:
import requests
import json
url = '[Link]
params = {
'sort': '-label',
'page': '1',
'stamped_person_id': '1',
'stamp_id': '1',
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"current_page": 1,
"data": [
{
"stamp_id": 3,
"stamp_label": "Importação",
"stamped_person_id": 58792,
"stamped_person_name": "NOME DA PESSOA CARIMBADA",
"values": null,
"description": null,
"who_stamped_id": 2,
"who_stamped_name": "Matriz",
"date_stamped": "2020-04-01"
},
{
"stamp_id": 1,
"stamp_label": "Recomendado",
"stamped_person_id": 58792,
"stamped_person_name": "NOME DA PESSOA CARIMBADA",
"values": null,
"description": null,
"who_stamped_id": null,
"who_stamped_name": null,
"date_stamped": "2021-01-26"
}
],
"first_page_url": "base_url\/v2\/stamped?stamped_person_id=58792&page=1",
"from": 1,
"last_page": 1,
"last_page_url": "base_url\/v2\/stamped?stamped_person_id=58792&page=1",
"next_page_url": null,
"path": "base_url\/v2\/stamped",
"per_page": 10,
"prev_page_url": null,
"to": 2,
"total": 2
}
REQUEST
GET v2/stamped
QUERY PARAMETERS
Carimbar pessoa
requires authentication
Carimba uma pessoa
Example request:
import requests
import json
url = '[Link]
payload = {
"stamp_id": 1,
"person_id": 123456,
"values": "Valor",
"description": "Descri\u00e7\u00e3o"
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"error": false,
"message": "Pessoa carimbada com sucesso.",
"data": {
"stamp_id": 2,
"values": "Valor",
"description": "Descrição",
"who_stamped_id": null,
"date_stamped": "2021-01-26",
"stamp_label": "Não recomendado",
"stamped_person_id": 58792,
"stamped_person_name": "NOME DA PESSOA CARIMBADA",
"who_stamped_name": null
}
}
{
"error": true,
"message": "Não encontrado."
}
{
"error": true,
"message": "Pessoa já carimbada com esse carimbo",
"data": {
"stamp_id": 1,
"values": null,
"description": null,
"who_stamped_id": null,
"date_stamped": "2021-01-26",
"stamp_label": "Recomendado",
"stamped_person_id": 58792,
"stamped_person_name": "NOME DA PESSOA CARIMBADA",
"who_stamped_name": null
}
}
REQUEST
POST v2/stamped
BODY PARAMETERS
stamp_id integer
ID do carimbo.
person_id integer
ID da pessoa que será carimbada.
Listar Clientes
requires authentication
Example request:
import requests
import json
url = '[Link]
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"status": "success",
"message": "Clientes listados com sucesso.",
"data": [
{
"person_id": 1,
"name": "Cliente 1",
"status": "r",
"customer_type": "PJ",
"cnpj": "12.345.678\/0001-90",
"cpf": null
},
{
"person_id": 2,
"name": "Cliente 2",
"status": "c",
"customer_type": "PF",
"cnpj": null,
"cpf": "123.456.789-00"
}
]
}
{
"error": true,
"message": "Não encontrado."
}
REQUEST
GET v2/commercial/customers
Buscar Cliente
requires authentication
Example request:
import requests
import json
url = '[Link]
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"status": "success",
"message": "Cliente encontrado com sucesso.",
"data": {
"customer": {
"person_id": "1",
"name": "Cliente 1",
"assumed_name": "Cliente 1",
"birth_date": "2009-01-17",
"creation_date": "2019-01-17 00:00:00-02",
"cnpj": "01234567890123",
"acting_area": "Tecnologia e Informática",
"status": "r",
"internal_code": null,
"customer_type": "r"
}
}
}
{
"error": true,
"message": "Não encontrado."
}
REQUEST
GET v2/commercial/customers/{id}
URL PARAMETERS
id string optional
integer required ID do cliente
Inserir Cliente
requires authentication
Status:
STATUS_REGULAR = 'r'
STATUS_CANCELED = 'c'
STATUS_INACTIVE = 'i'
STATUS_PROSPECT = 'p'
STATUS_POTENTIAL = 't'
STATUS_RESTRICTED = 'e'
STATUS_HUNTING = 'h'
Example request:
import requests
import json
url = '[Link]
payload = {
"name": "Nome da Empresa LTDA",
"assumed_name": "Nome da Empresa",
"birth_date": "2000-10-10",
"cnpj": "eaque",
"cpf": "iste",
"acting_area": "sapiente",
"status": "r",
"internal_code": "doloremque",
"customer_type": "in"
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"status": "success",
"message": "Cliente salvo com sucesso.",
"data": {
"customer_id": 3
}
}
REQUEST
POST v2/commercial/customers
BODY PARAMETERS
name string
Nome do cliente.
status string
Status do cliente.
customer_type string
c = Pessoa juridica, i = Pessoa fisica.
Editar Cliente
requires authentication
STATUS_REGULAR = 'r'
STATUS_CANCELED = 'c'
STATUS_INACTIVE = 'i'
STATUS_PROSPECT = 'p'
STATUS_POTENTIAL = 't'
STATUS_RESTRICTED = 'e'
STATUS_HUNTING = 'h'
Example request:
import requests
import json
url = '[Link]
payload = {
"name": "Nome da Empresa LTDA",
"assumed_name": "Nome da Empresa",
"birth_date": "2000-10-10",
"cnpj": "maiores",
"cpf": "sit",
"acting_area": "voluptatem",
"status": "r",
"internal_code": "qui",
"customer_type": "assumenda"
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"status": "success",
"message": "Cliente atualizado com sucesso."
}
REQUEST
PUT v2/commercial/customers/{id}
URL PARAMETERS
id string optional
integer required ID do cliente a ser editado
BODY PARAMETERS
name string
Nome do cliente.
birth_date dateoptional
Data de nascimento.
status string
Status do cliente.
customer_type string
c = Pessoa juridica, i = Pessoa fisica.
Contratações
Lista de Contratações
requires authentication
pending | null - Lista as contrações pendentes, em processo de contratação, ainda não concluídas pela plataforma. É o status
padrão, quando nenhum enviado.
pre-exported - Lista os registros exportados previamente.
exported - Lista os registros prontos para integração.
processing - Lista os registros que atualmente estão em processamento pela integração
accepted - Lista todas as contratações concluídas pelo processo de integração
rejected - Lista as contratações rejeitadas pelo processo de integração
Example request:
import requests
import json
url = '[Link]
params = {
'sort': '-work_id',
'page': '1',
'status': 'exported',
'cpf': '123.456.789-01',
'vacancy_id': '123',
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = [Link]('GET', url, headers=headers, params=params)
[Link]()
{
"current_page": 1,
"data": [
{
"work_id": 1245,
"vacancy_id": 123,
"person": {
"name": "José da Silva",
"birth_date": "1967-03-06",
"cpf": "61260478009",
},
"integration": {
"status": "rejected",
"message": "CPF já contratado"
}
},
{
"work_id": 1246,
"vacancy_id": 123,
"person": {
"name": "Maria Pereira",
"birth_date": "1980-01-12",
"cpf": "13789400084",
},
"integration": {
"status": "rejected",
"message": "Dados inconsistentes"
}
}
],
"first_page_url": "base_url/v2/work/payroll?page=1",
"from": 1,
"last_page": 3951,
"last_page_url": "[Link]
"next_page_url": "base_url/v2/work/payroll?page=2",
"path": "base_url/v2/work/payroll",
"per_page": 10,
"prev_page_url": null,
"to": 10,
"total": 39506
}
{
"error": true,
"message": "Não encontrado."
}
{
"error": true,
"message": "Campos inválidos"
}
REQUEST
GET v2/work/payroll
QUERY PARAMETERS
optional
sort string
Campo usado para ordenação, Prefixe com o sinal de menos (-) para ordem decrescente o sinal.
Busca de Contratação
requires authentication
Example request:
import requests
import json
url = '[Link]
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"work_id": 160904,
"vacancy_id": 123,
"tax": "15",
"work_type": 5,
"comments": "Funcionário com excelente desempenho",
"occupation_id": 2143,
"start": "2020-07-07",
"finish": null,
"activities": "Recepcionar o público em geral, Venda de produtos veterinários, Atendimento ao cliente",
"employer_id": 1,
"work_address_id": 21403,
"salary": "2500.00",
"person": {
"person_id": 104246,
"name": "Maria Santos Silva",
"birth_date": "1985-03-15",
"creation_date": "2020-04-23 10:13:01-03",
"assumed_name": "Maria Santos",
"last_update": "2024-12-15 14:30:25.123456-03",
"gender": "F",
"cpf": "12345678901",
"rg": "123456789",
"organ_rg": "SSP",
"state_rg": "SP",
"city_rg": "São Paulo",
"date_of_issue_rg": "2003-05-20",
"nationality": "Brasileira",
"born_state": "SP",
"born_city": "São Paulo",
"mother_name": "Ana Maria Santos",
"mother_not_declared_in_the_document": false,
"mother_cpf": "98765432100",
"father_name": "João Santos Silva",
"father_not_declared_in_the_document": false,
"father_cpf": "11122233344",
"civil_status": "Casado",
"number_of_children": 2,
"children_info": "Dois filhos menores de idade",
"email": "[Link]@[Link]",
"home_phone": "(11) 3456-7890",
"site": "https:\/\/[Link]\/in\/mariasantos-exemplo-api",
"cellphone": "(11) 98765-4321",
"national_health_service_number": "123456789012345",
"professional_number": "CRC-SP 123456"
},
"status": 20,
"unit_id": 12378,
"workload": "220",
"salary_type": "m",
"occupation_corporation_id": 12345,
"cost_center_corporation_id": 54321,
"position_id": 154,
"owner_id": 5,
"benefits": "Vale alimentação R$ 350,00, Plano de saúde familiar, Vale transporte",
"creation_date": "2020-07-07 18:11:59-03",
"employee_registration_code": "EMP-2024-001",
"month_workload": "Segunda a sexta-feira das 08:00 às 17:00 com 1h de almoço",
"parent_work_id": null,
"integration": {
"status": "accepted",
"message": "Integração realizada com sucesso"
},
"hire_type": 1,
"exporter_id": 12,
"hire_type_label": "hire_type_internal_employee",
"status_label": "is_working",
"allocation": {
"internal_code": "DEPT-RH-001"
},
"dismissal_date": null,
"address": {
"country": "Brasil",
"zip_code": "01234-567",
"street_type": "Rua",
"street": "das Flores",
"number": "123",
"complement": "Apartamento 45B",
"district": "Centro",
"state": "SP",
"city": "São Paulo"
},
"education": {
"schooling_level": "Superior Completo"
},
"ctps": {
"has_ctps": true,
"is_first_job": false,
"ctps_type": "Digital",
"ctps_number": "1234567890",
"ctps_serial": "001",
"ctps_state": "SP",
"ctps_city": "São Paulo",
"ctps_date": "2010-01-15"
},
"pis": {
"has_pis": true,
"pis_pasep_number": "12345678901",
"pis_pasep_date": "2010-02-20"
},
"voter": {
"has_voter_registration": true,
"voter_registration_number": "123456789012",
"voter_registration_zone": "001",
"voter_registration_section": "0123",
"voter_registration_state": "SP",
"voter_registration_city": "São Paulo",
"voter_registration_date": "2003-10-15"
},
"armed_forces": {
"has_certificate_armed_forces": false,
"certificate_of_armed_forces_service_status": null,
"certificate_of_armed_forces_service": null,
"certificate_of_armed_forces_service_serie": null,
"certificate_of_armed_forces_service_organ": null,
"certificate_of_armed_forces_service_uf": null,
"certificate_of_armed_forces_service_type": null,
"certificate_of_armed_forces_service_category": null,
"certificate_of_armed_forces_service_date": null
},
"cnh": {
"has_cnh": true,
"cnh_number": "12345678901",
"cnh_local": "São Paulo",
"cnh_organ": "DETRAN-SP",
"cnh_state": "SP",
"cnh_type": "B",
"cnh_date_emission": "2020-03-10",
"cnh_date_validity": "2030-03-10",
"cnh_date_first_emission": "2005-08-20"
},
"bank": {
"bank_name": "Banco do Brasil",
"bank_type": "Conta Corrente",
"bank_holder_name": "Maria Santos Silva",
"bank_holder_type": "Física",
"bank_agency": "1234-5",
"bank_account": "12345-6",
"bank_operation": "001",
"bank_pix_type": "E-mail",
"bank_pix_value": "[Link]@[Link]"
},
"epi": {
"tshirt": "M",
"trousers": "40",
"shoe": "37",
"jacket": "M",
"shirt": "M"
},
"cnpj": {
"name": null,
"number": null,
"name_legal_representative": null,
"phone_legal_representative": null,
"email_legal_representative": null
},
"diversity": {
"racial": "Parda",
"assumed_name": false,
"gender_identity": "Cisgênero",
"gender_orientation": "Heterossexual"
},
"dependents": [
{
"name": "Pedro Santos Silva",
"birth_date": "2015-06-12",
"gender": "Masculino",
"civil_status": "Solteiro",
"kinship": "Filho",
"rg": "987654321",
"cpf": null,
"vaccine_number": "VAC123456",
"sus_card": "123456789012345",
"mother_name": "Maria Santos Silva",
"income_tax": true,
"life_insurance": true,
"health_care": true
},
{
"name": "Ana Santos Silva",
"birth_date": "2018-11-08",
"gender": "Feminino",
"civil_status": "Solteiro",
"kinship": "Filho",
"rg": null,
"cpf": null,
"vaccine_number": "VAC789012",
"sus_card": "987654321098765",
"mother_name": "Maria Santos Silva",
"income_tax": true,
"life_insurance": true,
"health_care": true
}
],
"transports": [
{
"way_transport": "Ida",
"type_transport": "Ônibus",
"path_transport": "Centro - Jardins",
"value_transport": "4.50"
},
{
"way_transport": "Volta",
"type_transport": "Ônibus",
"path_transport": "Jardins - Centro",
"value_transport": "4.50"
}
],
"additional_contacts": [
{
"name": "João Santos Silva",
"phone": "(11) 91234-5678"
},
{
"name": "Ana Maria Santos",
"email": "[Link]@[Link]"
},
{
"name": "Maria Santos Silva",
"website": "https:\/\/[Link]\/in\/mariasantos-exemplo-api"
}
]
}
{
"error": true,
"message": "Não encontrado."
}
REQUEST
GET v2/work/payroll/{work_id}
URL PARAMETERS
work_id string
ID da contratação
Atualização de status
requires authentication
Example request:
import requests
import json
url = '[Link]
payload = {
"status": "rejected",
"message": "Registro rejeitado por motivos de...."
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"error": false,
"message": "Atualizado com sucesso"
}
{
"error": true,
"message": "Não encontrado."
}
{
"error": true,
"message": "Não é pertimido alterar o status de \"exported\" para \"exported\""
}
REQUEST
PUT v2/work/payroll/status/{work_id}
URL PARAMETERS
work_id string
ID da contratação.
BODY PARAMETERS
status string
Novo status da contratação a ser atualizado.
optional
message string
Mensagem de status, erro ou informação relativa à atualização. Texto livre.
Example request:
import requests
import json
url = '[Link]
payload = [
{
"work_id": 67236,
"status": "rejected",
"message": "Registro rejeitado por motivos de...."
}
]
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"error": false,
"message": "Atualizado com sucesso"
}
REQUEST
PUT v2/work/payroll/status/in/batch
BODY PARAMETERS
*.work_id integer
ID da contratação.
*.status string
Novo status da contratação a ser atualizado.
Essas etapas são apenas usadas para mostrar status no fluxo admissional, geralmente usada para mostrar informações de integração.
Os status a serem enviados precisam ser previamente cadastrados na base, e para isso, é necessário contato com a Selecty.
Example request:
import requests
import json
url = '[Link]
payload = {
"status": "rejected",
"stage_name": "Status de integra\u00e7\u00e3o"
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"error": true,
"message": "Não encontrado."
}
{
"error": true,
"message": "Etapa não encontrada, ou status não encontrado!"
}
REQUEST
PUT v2/work/stages/status/{work_id}
URL PARAMETERS
work_id string
ID da contratação.
BODY PARAMETERS
status string
O status que deseja salvar na etapa.
stage_name string
Nome da etapa do fluxo admissional que deja alterar o status.
Admitir
requires authentication
Obs: O parametro search_by não é obrigatório, quando não informado usa o CPF como padrão
Example request:
import requests
import json
url = '[Link]
payload = {
"start_date": "2020-10-10",
"registration": "123456"
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"error": false,
"message": "Successfully updated."
}
{
"error": true,
"message": "Não encontrado."
}
{
"error": true,
"message": "Encontrado mais de um registro."
}
Example response (422):
{
"error": true,
"message": "Campos inválidos"
}
REQUEST
PUT v2/work/admit/{identifier}/{search_by?}
URL PARAMETERS
identifier string
Identificador da pessoa com status "Em admissão" que esta sendo contratada
BODY PARAMETERS
optional
registration string
Número do registro/matricula do funcionario.
Demitir
requires authentication
1 - Justa causa
2 - Sem justa causa
3 - Término de contrato
4 - Culpa recíproca/força maior
5 - A pedido do empregado
6 - Aposentadoria
7 - Falecimento
8 - Transferência
9 - Expirado
10 - Encerrado (Solicitação da empresa - Efetivação)
11 - Encerrado (Solicitação da empresa - desligamento)
12 - Encerrado (Solicitação do estagiário)
13 - Encerrado (Solicitação da Faculdade)
Obs: O parametro search_by não é obrigatório, quando não informado usa o REGISTRATION (matricula) como padrão
Example request:
import requests
import json
url = '[Link]
payload = {
"dismissal_date": "2020-10-10",
"reason_of_dismissal": 1,
"dismissal_comments": "Abandono de Emprego",
"cpf": "12345678901"
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"error": false,
"message": "Successfully updated."
}
{
"error": true,
"message": "Não encontrado."
}
{
"error": true,
"message": "Campos inválidos"
}
REQUEST
PUT v2/work/demit/{identifier}/{search_by?}
URL PARAMETERS
identifier string
Identificador da pessoa com status "Trabalhando" que esta sendo demitida
optional
search_by string
Campo pelo qual será feita a busca do contratado.
BODY PARAMETERS
dismissal_date string
Data de demissão no formato Y-m-d.
Demitir em lote
requires authentication
1 - Justa causa
2 - Sem justa causa
3 - Término de contrato
4 - Culpa recíproca/força maior
5 - A pedido do empregado
6 - Aposentadoria
7 - Falecimento
8 - Transferência
9 - Expirado
10 - Encerrado (Solicitação da empresa - Efetivação)
11 - Encerrado (Solicitação da empresa - desligamento)
12 - Encerrado (Solicitação do estagiário)
13 - Encerrado (Solicitação da Faculdade)
Para identificar o contratado é preciso informar o WORK_ID (Código da contratação), REGISTRATION (matricula) ou CPF
obrigatóriamente
Caso mais de uma opção seja informada, será utilizado apenas um para identificação, seguindo a seguinte ordem, WORK_ID,
REGISTRATION e por ultimo CPF
Aconselhamos utilizar o WORK_ID para integração para evitar possíveis duplicidades, no caso do CPF e REGISTRATION podem haver
duplicidades e não será feita a demissão.
É possível uma pessoa ter duas contratações com status trabalhando e dessa forma não saberiamos qual contratação demitir, por isso é
importante informar o WORK_ID.
Example request:
import requests
import json
url = '[Link]
payload = {
"cpf": "12345678901",
"work_id": 12345678901,
"registration": "123456",
"dismissal_date": "2020-10-10",
"reason_of_dismissal": 1,
"dismissal_comments": "Abandono de Emprego"
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = [Link]('PUT', url, headers=headers, json=payload)
[Link]()
{
"error": false,
"message": "Successfully updated."
}
{
"error": true,
"message": "Não encontrado."
}
{
"error": true,
"message": "Campos inválidos"
}
REQUEST
PUT v2/work/demit-in-batch
BODY PARAMETERS
cpf stringoptional
CPF do funcionario.
registration stringoptional
Matricula do contratado.
dismissal_date string
Data de demissão no formato Y-m-d.
Movimentar
requires authentication
Altera o cargo e/ou estrutura organizacional de uma contratação com status "Trabalhando"
Example request:
import requests
import json
url = '[Link]
payload = {
"cpf": "12345678901",
"occupation_code": "10",
"short_code": "10",
"last_level": 4,
"last_level_code": "10",
"move_fired": false
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"error": false,
"message": "Successfully updated."
}
{
"error": true,
"message": "Não encontrado."
}
{
"error": true,
"message": "Campos inválidos"
}
REQUEST
PUT v2/work/move/{registration}
URL PARAMETERS
registration string
Código de registro do funcionário (Matrícula)
BODY PARAMETERS
move_fired booleanoptional
Se true vai movimentar um funcionario mesmo que esteja demitido.
Documentos
Documentos disponíveis
requires authentication
Example request:
import requests
import json
url = '[Link]
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
[
"rg_frente",
"rg_verso",
"comprovante_endereco",
"certidao_nascimento",
"ctps_frente",
"ctps_verso",
"pis",
"titulo_eleitor",
"reservista_frente",
"comprovante_escolaridade"
]
Example response (404):
{
"error": true,
"message": "Não encontrado."
}
REQUEST
GET v2/person/docs/available/{search_by}/{identifier}
URL PARAMETERS
search_by string
Campo pelo qual será buscado os documentos.
identifier string
Identificador com base no search_by escolhido, número do cpf, person_id ou work_id.
Todos em zip
requires authentication
Example request:
import requests
import json
url = '[Link]
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"error": true,
"message": "Não encontrado."
}
REQUEST
GET v2/person/docs/download/{search_by}/{identifier}
URL PARAMETERS
search_by string
Campo pelo qual será buscado os documentos.
identifier string
Identificador com base no search_by escolhido, número do cpf, person_id ou work_id.
Um documento específico
requires authentication
esocial
rg_frente
rg_verso
cpf
comprovante_endereco
certidao_nascimento
ctps_frente
ctps_verso
pis
titulo_eleitor
reservista_frente
reservista_verso
cnh
comprovante_escolaridade
comprovante_bancario_frente
comprovante_bancario_verso
vale_transporte
formulario_imposto_de_renda
formulario_salario_familia
fretado
formulario_sindical
formulario_vale_transporte
sus
Example request:
import requests
import json
url = '[Link]
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = [Link]('GET', url, headers=headers)
[Link]()
{
"error": true,
"message": "Não encontrado."
}
REQUEST
GET v2/person/docs/download/{search_by}/{identifier}/{type}
URL PARAMETERS
search_by string
Campo pelo qual será buscado os documentos.
identifier string
Identificador com base no search_by escolhido, número do cpf, person_id ou work_id.
type string
Identifica qual documento deseja buscar.
Estrutura Organizacional
Enviar um arquivo no formato de CSV, separador ; (ponto e virgula) como no modelo ao lado:
A coluna ativo informa o status do ultimo item da linha, nela deve ser passada a string TRUE ou FALSE. Qualquer outro valor será
entendido como FALSE.
Por exemplo a linha 1 do modelo (ignorando cabeçalho), a coluna ativo esta marcada como TRUE, quer dizer que o ultimo item da linha
"Centro de Custo 11111" esta ativo.
Já na linha 2 do modelo, a coluna ativo esta marcada como FALSE, quer dizer que o "Centro de Custo 2 11112" esta inativo, porém o
"Centro de Custo 11111" permanece ativo.
A coluna permite_contratacoes serve para bloquear abertura de vagas em uma determinada camada da estrutura organizacional, essa
coluna não é obrigatória, caso não informada será considerada TRUE em todas as linhas.
Modelo:
cnpj_empresa;codigo_empresa;nome_empresa;codigo_unidade;nome_unidade;codigo_departamento;nome_departamento;codigo_centro_custo;nome_ce
00000000000001;1001;Empresa 1001;1011;Unidade 1011;1111;Departamento 1111;11111;Centro de Custo 11111;;;;;TRUE;FALSE
00000000000001;1001;Empresa 1001;1011;Unidade 1011;1111;Departamento 1111;11111;Centro de Custo 11111;11112;Centro de Custo 2 11112;;;
00000000000001;1001;Empresa 1001;1011;Unidade 1011;1111;Departamento 1111;11111;Centro de Custo 11111;11112;Centro de Custo 2 11112;11
00000000000002;2001;Empresa 2001;2011;Unidade 2011;2111;Departamento 2111;21111;Centro de Custo 21111;;;;;TRUE;FALSE
00000000000002;2001;Empresa 2001;2011;Unidade 2011;2111;Departamento 2111;21111;Centro de Custo 21111;21112;Centro de Custo 2 21112;;;
00000000000002;2001;Empresa 2001;2011;Unidade 2011;2111;Departamento 2111;21111;Centro de Custo 21111;21112;Centro de Custo 2 21112;21
00000000000002;2001;Empresa 2001;2012;Unidade 2012;2112;Departamento 2112;21112;Centro de Custo 21121;21122;Centro de Custo 2 21122;21
Example request:
import requests
import json
url = '[Link]
files = {
'csv': open('/tmp/phpLbsefJ', 'rb')
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'multipart/form-data',
'Accept': 'application/json'
}
REQUEST
POST v2/organizational_structure/batch
BODY PARAMETERS
csv file
CSV com os dados da estrutura organizacional, modelo ao lado.
Jobfeed
Example request:
import requests
import json
url = '[Link]
params = {
'portal': 'selecty',
'page': '1',
'per_page': '10',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'X-Api-Key': '<token fornecido pela Selecty>'
}
[
{
"current_page": "1",
"data": [
{
"id": 1652,
"title": "Vaga para Agente Comercial em Curitiba - PR",
"occupation": "Agente Comercial",
"location": "Curitiba - PR",
"description": "Profissional irá realizar vendas ativas e receptivas via telefone, irá participar de reuniões, e ajudar a desenvolver a equipe comer
"publicationDate": "2023-03-16T12:22:56-0300",
"positions": "3",
"contractType": "\"CLT (Efetivo)\"",
"portals": [
"youse"
],
"url": "https:\/\/[Link]\/vaga\/1652\/vaga-para-agente-comercial-em-curitiba-pr",
"subscriptionUrl": "https:\/\/[Link]\/vaga\/1652\/vaga-para-agente-comercial-em-curitiba-pr?inscribe=1",
"actingArea": "Administração Comercial\/Vendas",
"salary": "",
"benefits": "Vale Alimentação\nAlimentação no local\nVale Transporte\nAuxilio Educação\nPlano Odontologico\nPlano de Saude",
"education": "",
"qualification": "",
"requirements": "Escolaridade mínima:\r\nGraduação - Concluído - Obrigatório\r\n\r\nInformática:\r\n - Pacote Office - Avançado - Obrigatório\r\n\r\
"employerDescription": "",
"workload": "44",
"workSchedule": "De segunda a Sexta"
},
{
"id": 1735,
"title": "Vaga para Auxiliar de Entrega",
"occupation": "Auxiliar de Entrega",
"location": "",
"description": "",
"publicationDate": "2022-09-20T10:42:10-0300",
"positions": 1,
"contractType": "\"CLT (Efetivo)\"",
"portals": [
"youse"
],
"url": "https:\/\/[Link]\/vaga\/1735\/vaga-para-auxiliar-de-entrega",
"subscriptionUrl": "https:\/\/[Link]\/vaga\/1735\/vaga-para-auxiliar-de-entrega?inscribe=1",
"actingArea": "",
"salary": "",
"benefits": "",
"education": "",
"qualification": "",
"requirements": "",
"employerDescription": "",
"workload": "44",
"workSchedule": "De segunda a Sexta"
}
],
"first_page_url": "https:\/\/[Link]\/v2\/jobfeed\/index?page=1",
"from": 1,
"last_page": 21,
"last_page_url": "https:\/\/[Link]\/v2\/jobfeed\/index?page=21",
"next_page_url": "https:\/\/[Link]\/v2\/jobfeed\/index?page=2",
"path": "https:\/\/[Link]\/v2\/jobfeed",
"per_page": "2",
"prev_page_url": "https:\/\/[Link]\/v2\/jobfeed\/index?page=1",
"to": 2,
"total": 41
}
]
{
"error": true,
"message": "Não encontrado."
}
REQUEST
GET v2/jobfeed/index
QUERY PARAMETERS
optional
portal string
Campo usado para definir qual o portal a ser buscado.
optional
per_page string
Número de registros por página (caso não seja informado o valor default será 10).
Pessoas
Busca de pessoas
requires authentication
Busca de pessoas.
Example request:
import requests
import json
url = '[Link]
params = {
'person_id': '1277778',
'name': 'roberto',
'cpf': '99999999',
'contact': '12',
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"error": false,
"data": [
{
"person_id": 1,
"name": "Maria da Silva Brasil",
"individuals": {
"person_id": 1,
"cpf": "52497500010"
},
"contacts": [
{
"person_id": 1,
"value": ""
},
{
"person_id": 1,
"value": "mariasilvabrasil@[Link]"
},
{
"person_id": 1,
"value": ""
},
{
"person_id": 1,
"value": ""
},
{
"person_id": 1,
"value": ""
},
{
"person_id": 1,
"value": "41999999999"
},
{
"person_id": 1,
"value": ""
}
],
"external_user": null,
"works": [
{
"work_id": 10,
"status": "in_hiring",
"position_id": 1,
"position_code": "position_teste1",
"workstation_id": 2,
"workstation_code": "2103teste2",
"dismissal_date": "YYYY-mm-dd",
"registration": "00000001"
},
{
"work_id": 11,
"status": "is_working",
"position_id": 2,
"position_code": "position_teste2",
"workstation_id": 1,
"workstation_code": "2103teste1",
"dismissal_date": "YYYY-mm-dd",
"registration": "00000002"
}
]
}
]
}
{
"error": true,
"message": "Não encontrado."
}
{
"error": true,
"message": "Campos inválidos"
}
REQUEST
GET v2/person/search
QUERY PARAMETERS
person_id string optional
integer O ID da pessoa.
Tabela de dominio
Listar
requires authentication
import requests
import json
url = '[Link]
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"status": "success",
"message": "Domínios listados com sucesso.",
"current_page": 1,
"data": [
{
"id": 1,
"domain_index": "bank_type",
"name": "Bank Type",
"description": "Tipo de banco",
"permission": null,
"created_at": null,
"updated_at": null
}
],
"first_page_url": "base_url\/v2\/resource\/domain?page=1",
"from": 1,
"next_page_url": null,
"path": "base_url\/v2\/resource\/domain",
"per_page": 50,
"prev_page_url": null,
"to": 1
}
{
"status": "error",
"message": "Nenhum domínio encontrado."
}
REQUEST
GET v2/resource/domain
Inserir
requires authentication
Example request:
import requests
import json
url = '[Link]
payload = {
"name": "Bank type",
"description": "Tipos de banco"
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"status": "success",
"message": "Domínio salvo com sucesso.",
"data": {
"name": "Bank Type",
"description": "Tipo de banco",
"permission": null,
"domain_index": "bank_type",
"updated_at": null,
"created_at": null,
"id": 1
}
}
REQUEST
POST v2/resource/domain
BODY PARAMETERS
name string optional
Nome da tabela de dominio.
Atualizar
requires authentication
Example request:
import requests
import json
url = '[Link]
payload = {
"name": "Bank type edited",
"description": "Tipos de banco editado"
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = [Link]('PUT', url, headers=headers, json=payload)
[Link]()
{
"status": "success",
"message": "Domínio atualizado com sucesso.",
"data": {
"id": 2,
"domain_index": "bank_type",
"name": "Bank Type edited",
"description": "Tipo de banco editado",
"permission": null,
"created_at": null,
"updated_at": null
}
}
REQUEST
PUT v2/resource/domain/{id}
URL PARAMETERS
id string
Identificador unico da tabela de dominio.
BODY PARAMETERS
Remover registro
requires authentication
Example request:
import requests
import json
url = '[Link]
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"status": "success",
"message": "Registro de domínio removido com sucesso."
}
REQUEST
DELETE v2/resource/domain/{id}
URL PARAMETERS
id string
Identifica o registro.
Listar registros
requires authentication
Example request:
import requests
import json
url = '[Link]
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"status": "success",
"message": "Domínios listados com sucesso.",
"current_page": 1,
"data": [
{
"id": 1,
"domain_index": "bank_type",
"name": "Bank Type",
"description": "Tipo de banco",
"permission": null,
"created_at": null,
"updated_at": null
}
],
"first_page_url": "base_url\/v2\/resource\/domain?page=1",
"from": 1,
"next_page_url": null,
"path": "base_url\/v2\/resource\/domain",
"per_page": 50,
"prev_page_url": null,
"to": 1
}
{
"status": "error",
"message": "Nenhum domínio encontrado."
}
REQUEST
GET v2/resource/domain/{domain_index}
URL PARAMETERS
domain_index string
Identifica a tabela de dominio.
Inserir registro
requires authentication
Quando informado o composite_key, irá usar os dados dele junto com a coluna key para identificar um registro, se encontra-lo
irá atualizar.
Quando não informado o composite_key e informado o custom, irá usar a key e todos os dados do custom para identificar um
registro, não atualiza registro.
Quando não informado o composite_key e nem o custom, irá usar apenas a key para identificar o registro, não atualiza registro.
Example request:
import requests
import json
url = '[Link]
payload = [
{
"key": "3",
"value": "Conta corrente",
"custom": {
"custom_key": "sit"
},
"composite_key": [
"custom_key"
]
}
]
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"status": "success",
"message": "Registro de domínio salvo com sucesso.",
"data": {
"records_saved": [
{
"domain_index": "bank_type",
"key": "1",
"value": "Conta Corrente",
"source": "{\"key\":\"1\",\"value\":\"Conta Corrente\",\"custom\":null}",
"id": 1
},
{
"domain_index": "bank_type",
"key": "2",
"value": "Conta Poupança",
"source": "{\"key\":\"2\",\"value\":\"Conta Poupanca\",\"custom\":null}",
"id": 2
},
{
"domain_index": "bank_type",
"key": "3",
"value": "Conta Salário",
"source": "{\"key\":\"3\",\"value\":\"Conta Salario\",\"custom\":{\"key_1\":\"value_1\",\"key_2\":\"value_2\",\"key_3\":\"value_3\"}}",
"id": 3
}
],
"records_already_exist": []
}
}
REQUEST
POST v2/resource/domain/{domain_index}
URL PARAMETERS
domain_index string
Identifica a tabela de dominio.
BODY PARAMETERS
Atualizar registro
requires authentication
Example request:
import requests
import json
url = '[Link]
payload = {
"key": "3",
"value": "Conta corrente editada",
"custom": {
"custom_key": "voluptatem"
}
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"status": "success",
"message": "Registro de domínio atualizado com sucesso.",
"data": {
"id": 3,
"domain_index": "bank_type",
"key": "3",
"value": "Conta Salario editada",
"source": "{\"key\":\"3\",\"value\":\"Conta Salario editada\",\"custom\":{\"custom_1\":\"value 1\",\"custom_2\":\"value 2\",\"custom_3\":\"value 3\"}}",
"created_at": null,
"updated_at": null
}
}
REQUEST
PUT v2/resource/domain/{domain_index}/{id}
URL PARAMETERS
domain_index string
Identifica a tabela de dominio.
id string
Identifica o registro.
BODY PARAMETERS
custom objectoptional
Objeto json customizado.
Tags
Example request:
import requests
import json
url = '[Link]
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"error": false,
"tags": {
"tag": "value"
}
}
Example response (404):
{
"error": true,
"message": "Não encontrado."
}
{
"error": true,
"message": "Campos inválidos",
"fields": {
"[Link]": [
"O campo [Link] (1) deve ser uma string."
]
}
}
REQUEST
PUT v2/tags/{entity}/{identifier}
URL PARAMETERS
entity string
Tipo de entidade a ser taggeada
identifier string
Identificador da entidade
Remoção de tags
requires authentication
Example request:
import requests
import json
url = '[Link]
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"error": false,
"tags": {
"tag": "value"
}
}
Example response (404):
{
"error": true,
"message": "Não encontrado."
}
{
"error": true,
"message": "Campos inválidos",
"fields": {
"[Link]": [
"O campo [Link] (1) deve ser uma string."
]
}
}
REQUEST
DELETE v2/tags/{entity}/{identifier}
URL PARAMETERS
entity string
Tipo de entidade a ser taggeada
identifier string
Identificador da entidade
Usuários
Example request:
import requests
import json
url = '[Link]
payload = {
"email": "nome@[Link]",
"customer_cnpj": [
"00669395000177",
"62000000000"
],
"user_profile": "requester"
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"error": false,
"message": "Usuário criado com sucesso!",
"id": 47
}
{
"error": true,
"message": "Não encontrado."
}
REQUEST
POST v2/account/users/external/create
BODY PARAMETERS
email string
Email do usuario que será usado para login.
customer_cnpj array
Lista de CNPJ's dos cliente ao qual o usuário terá acesso.
Vagas
Example request:
import requests
import json
url = '[Link]
params = {
'sort': '-creation_date',
'page': '1',
'tag[name]': 'tag-value',
'between[creation_date]': '2022-01-01 00:00:00 AND 2022-02-01 23:59:59',
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"current_page": 3,
"data": [
{
"vacancy_id": 10549,
"title": "TITULO DA VAGA #1",
"priority": "n",
"creation_date": "2020-10-10 11:31:16-03",
"finish_date": "2020-10-10 11:31:16-03",
"total_vacancies": 1,
"tags": {
"tag1": "value"
},
"total_open_positions": "1"
},
{
"vacancy_id": 10548,
"title": "TITULO DA VAGA #2",
"priority": "n",
"creation_date": "2020-10-09 15:09:21-03",
"finish_date": "2020-10-10 11:31:16-03",
"total_vacancies": 1,
"tags": [],
"total_open_positions": "1"
}
],
"first_page_url": "base_url\/v2\/vacancy?page=1",
"from": 21,
"next_page_url": "base_url\/v2\/vacancy?page=4",
"path": "base_url\/v2\/vacancy",
"per_page": 10,
"prev_page_url": "base_url\/v2\/vacancy?page=2",
"to": 22
}
{
"error": true,
"message": "Não encontrado."
}
REQUEST
GET v2/vacancy
QUERY PARAMETERS
optional
tag[name] string
Nome e valor da tag, caso queria filtrar. Pode ser passado multiplas vezes
Busca de Vagas
requires authentication
import requests
import json
url = '[Link]
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"hr_request_id": 12315,
"request_type": "Expansão",
"title": "AUX DE ESCRITORIO I",
"corporation": "Corporação",
"corporation_code": 1,
"corporation_cnpj": "Corporação",
"unit": "Unidade",
"unit_code": 3,
"unit_cnpj": "Corporação",
"department_id": "Corporação",
"department_name": "Departamento",
"department_code": "1",
"cost_center_id": "1",
"cost_center_name": "Centro de Custo 1",
"cost_center_code": "2",
"cost_center_two_id": "2",
"cost_center_two_name": "Centro de Custo 2",
"cost_center_two_code": "Corporação",
"cost_center_three_id": "3",
"cost_center_three_name": "Centro de Custo 3",
"cost_center_three_code": "1",
"creation_date": "2020-01-01 14:15:00-03",
"is_confidential": false,
"hr_request_type": "s",
"internal_code": null,
"justification": "Aumento de demanda",
"priority": "n",
"validate_inscription": true,
"occupation": "AUX DE ESCRITORIO I",
"occupation_code": "6233",
"total_vacancies": 1,
"contract_type": [
"CLT (Efetivo)"
],
"start_period": "2020-03-20",
"contract_period": "u",
"time_contract": 1,
"finish_period": "2020-06-20",
"salary": "2500",
"salary_max": null,
"salary_type": "m",
"additional_salary": null,
"benefits": "VALE ALIMENTAÇÃO\nVALE TRANSPORTES\nPLANO DE SAÚDE",
"work_schedule": "SEGUNDA À SEXTA - 08:30 ÀS 12:00 E 14:00 ÀS 18:00",
"workload_type": "s",
"workload": "180",
"activities": "*",
"comments": "",
"workplace": {
"address_id": 12345,
"zip_code": "81280330",
"street": "Rua Prof. Pedro Viriato Parigot de Souza",
"number": "3901",
"complement": "Salas 38 e 39",
"district": "Jardim Alvorada",
"city": "Curitiba",
"state": "PR",
"country": "Brasil",
"references": null,
"street_type": null,
"latitude": "-25.440885",
"longitude": "-49.345692",
"geocoord_precision": 1
},
"customer": null,
"customer_id": null,
"customer_cpf": null,
"customer_cnpj": null,
"requester": "João Requisitante",
"responsible": null,
"tags": {
"tag1": "value"
},
"custom": {
"organizational_structor_short_code": "166"
},
"status_ps": "VAGA EM PROCESSO SELETIVO"
}
{
"error": true,
"message": "Não encontrado."
}
{
"error": true,
"message": "Campos inválidos",
"fields": {
"vacancy_id": [
"O campo vacancy id (XXXX) deve ser um número inteiro."
]
}
}
REQUEST
GET v2/vacancy/{vacancy_id}
URL PARAMETERS
vacancy_id string
ID da contratação
Example request:
import requests
import json
url = '[Link]
payload = {
"requester_id": 1,
"num_positions": 2,
"workstation_code": "POS_123.",
"request_type": "e",
"position_id": 10,
"title": "\"Programador Pleno\"",
"workplace_type": "p",
"zip_code": "iusto",
"street": "quibusdam",
"number": "eligendi",
"complement": "consequatur",
"district": "exercitationem",
"city": "id",
"state": "eius"
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
REQUEST
POST v2/vacancy/create/with/workstation
BODY PARAMETERS
requester_id integer
Código (person_id) do requisitante.
num_positions integer
Quantidade de posições.
workstation_code string
Código do Posto de Trabalho.
request_type string
Tipo de requisição [e = Expansão, s = Substituição].
Workstations
Example request:
import requests
import json
url = '[Link]
payload = {
"corporation_id": "voluptatem",
"unit_corporation_id": "eos",
"department_corporation_id": "eum",
"cost_center_corporation_id": "et",
"occupation_corporation_id": "rerum",
"total_positions": 17,
"salary": "facere",
"benefits": "fugiat",
"parent_workstation_id": 2,
"workstation_code": "cum",
"workstation_name": "architecto"
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
REQUEST
POST v2/workstations/create
BODY PARAMETERS
corporation_id string
unit_corporation_id string
department_corporation_id string
cost_center_corporation_id string
occupation_corporation_id string
import requests
import json
url = '[Link]
payload = {
"key": "qui",
"value": "maiores"
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
REQUEST
POST v2/workstations/search
BODY PARAMETERS
key string
Chave da Busca, podendo ser: workstation_code, position_code, person_id
value string
Valor da Busca: Ex: workstation_code, position_code: POS_RP12345_1_abc123, person_id: 12345
Inativação de Posto de Trabalho
requires authentication
Inativa um Posto de trabalho que não possua nenhuma Posição ligada a uma Contratação ou Processo Seletivo.
Example request:
import requests
import json
url = '[Link]
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
REQUEST
PUT v2/workstations/{workstation_code}/inactivate
URL PARAMETERS
workstation_code string
Código do Workstation. Ex: WSgy9d7iaQx5Rn
Adição / Redução de Posições
requires authentication
Example request:
import requests
import json
url = '[Link]
params = {
'quantity': 'qui',
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"error": false,
"message": "Foi reduzido com sucesso!"
}
Example response (404):
{
"error": true,
"message": "Não encontrado."
}
{
"error": true,
"message": "Campos inválidos"
}
REQUEST
PUT v2/workstations/{workstation_code}/{action}/position
URL PARAMETERS
workstation_code string
Código do Workstation. Ex: POS_RP12345_1_abc123
action string
Ação, podendo ser increase ou decrease
QUERY PARAMETERS
quantity string
Número da posições a ser reduzida.
Pre desligamento
requires authentication
Example request:
import requests
import json
url = '[Link]
payload = {
"workstation_code": "1",
"cpf": 0,
"registration_number": 1050,
"start_date": "Y-m-d",
"finish_date": "Y-m-d",
"type_dismissal": 1
}
headers = {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
{
"error": false,
"message": "Pré Demissão efetuada com sucesso!"
}
{
"error": true,
"message": "Não encontrado."
}
{
"error": true,
"message": "Campos inválidos"
}
REQUEST
PUT v2/workstations/pre-fired
BODY PARAMETERS
workstation_code string
Código do Posto de Trabalho.
cpf integer
CPF do colaborador a ser desligado.
start_date date
Data de Inicio do aviso prévio.
finish_date date
Data do fim do aviso prévio.
type_dismissal integer
Tipo de desligamento.