Biblioteca para auxiliar a utilizar os webservices disponíveis do sistema SOC.
$ pip install socws
Clonar o repositório:
$ git clone https://github.com/qualitaocupacional/socws.git
Instalar a lib em modo desenvolvimento:
(virtualenv) user@host:~/socws$ pip install -e .
import socws
# Ver documentação do SOC para obter as credenciais de autenticação
credentials = {
'username': 'usuário',
'password': 'senha',
'user_id': 'código do usuário',
'user_incharge_id': 'código do usuário responsável'
}
company = socws.client.Company(**credentials)
# Ver na documentação do SOC os campos que podem ser passados para cada serviço
response = company.add(
{
'dadosEmpresaWsVo': {
'nomeAbreviado': 'nome da empresa',
# ... demais campos
}
}
)
# Dependendo do serviço, response vai ter uma estrutura diferente. Ver na documentação
Verifique na documentação do SOC os parâmetros aceitos para cada serviço. Entretanto, para todos os serviços, a estrutura "identificacaoWsVo" é baseada nas credenciais passadas, então a biblioteca socws já cria essa estrutura automáticamente para cada requisição, não precisando passar novamente.
Para todas as requisições o parâmetro passado é um dicionário contento os campos de acordo com o serviço. Por exemplo, a classe DataExport implementa a chamada ao serviço Exporta dados, que após configurado no perfil do usuário no SOC, pode ser invocado da seguinte maneira:
import socws
data = socws.client.DataExport(**credentials)
response = data.request(
{
'empresa': 'código da empres',
'codigo': 'código do tipo de exporta dados',
'chave': 'chave do tipo de exporta dados',
'tipoSaida': 'json',
# ... demais campos do "exporta dados"
}
)
Cada tipo de exporta dados vai requerer parâmetros adicionais e tipos de saídas diferenciados. Consultar a documentação de cada exporta dados disponível no sistema SOC para a correta parametrização.
E novamente, dependendo do exporta dados, response vai ter uma estrutura de acordo com o tipo de saída escolhida disponível.
- Empresa: socws.client.Company
Métodos: add, update
- Unidade: socws.client.Unit
Métodos: get, add, update
- Funcionário: socws.client.Employee
Métodos: import_employee
- Exporta dados: socws.client.DataExport
Métodos: request
O socws é um projeto de código aberto, desenvolvido pelo departamento de Pesquisa e Desenvolvimento e Tecnologia da Informação da Qualitá Segurança e Saúde Ocupacional e está licenciada pela Apache License 2.0.