Skip to content

gnumarcelo/sacsp_gateway

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SacspGateway

Gem EXPERIMENTAL para criação de chamados no SAC da Prefeitura de São Paulo. Criei esta gem somente para fins de estudos e ela não deve ser utilizada para aplicações em produção.

Instalação

Adicione a linha abaixo ao seu Gemfile:

gem 'sacsp_gateway'

e execute:

$ bundle

Ou instale diretamente com o comando abaixo:

$ gem install sacsp_gateway

Utilização

Para criar um chamado no SAC da prefeitura de São Paulo utilizando esta gem, siga os passos abaixo nas mesma ordem (eu preferi manter os nomes como step_x uma vez que fica mais fácil de lembrar a ordem que devem ser chamados:

#0 - Buscar a lista de assuntos que podem ser utilizados na criação de um ticket (ex.: Lixo/Limpeza, Buracos, etc.)
subjects = SacspGateway.get_subjects #Você pode manter o resultado deste método em cache

##IMPORTANTE: Os métodos abaixo devem ser chamados em ordem.

Iniciando o processo de criação do chamado:

#1 - Envie o assunto do chamado, que foi selecionado com base no método que busca os assuntos.
subject_key = subjects.last[:key] #ex.: "001Buraco"
specifications = SacspGateway.step_1(subject_key)

#2 - Envie a especificação do assunto com base na lista retornada pelo pelo step_1.
specification_key = specifications.last[:key] #ex.: "200101STapa-buraco"
response = SacspGateway.step_2(specification_key)

#3 - Envia os dados do chamado, descrição rua, etc.
#    O campo Logradouro, deve que ser especificado conforme no site.
#    Ex:NÃO escreva Av. Brig. Faria Lima, escreva APENAS, Faria Lima, OU entre com o CEP sem hífen. Ex: 01452000.
ticket_data = {
  txtLogradouro: 'pouso alegre',
  txtNumero: 01,
  txtReferencia: 'na esquina c av nazare',
  txtDescricao: 'A via possui um buraco bem na esquina com a av nazare.'
}
street_occurrences = SacspGateway.step_3(ticket_data)

#3.1 - Confirma dados do endereço do chamado (com base na resposta do step_3.
#      Se o nome da rua digitada existir em mais de uma localidade, o sistema exije que se selecione
#      a qual dos endereços que a rua pertence (ex.: Rua Vergueiro existe em Santo Amaro, Liberdade e Vila Mariana).
#      Eu sei que é estranho mas infelizmente o sistema da prefeitura funciona assim (pra não dizer que é uma merda).
street_selected = street_occurrences.last[:key] # Ex.: '165590R   POUSO ALEGRE - VILA MONUMENTO'
ticket_data = {
  comboLogradouro: street_selected,
  txtNumero: 01,
  txtReferencia: 'na esquina c av nazare',
  txtDescricao: 'A via possui um buraco bem na esquina com a av nazare.'
}
response = SacspGateway.step_3_1(ticket_data)


#4 - Especifica os dados (RG, UF) de quem está abrindo o chamado (você?)
id_info = {
  txtRG: 112223334,
  comboRGUF: 'SP'
}
response = SacspGateway.step_4(id_info)


#5 - Finaliza o envio do chamado, passando os dados complementares do usuário do chamado
citizen_data = {
  comboRGUF: 'SP',
  txtNome: 'Marcelo Cidadao',
  txtLogradouro: 'Rua Joao Inacio',
  txtNumero: 8424,
  txtComplemento: '123, bl4',
  txtCep: '01536001',
  txtCidade: 'Sao Paulo',
  comboUF: 'SP',
  txtTelefone: '911111111',
  txtFax: '',
  txtCPF: '',
  txtEmail: 'meuemail@gmail.com',
  comboOcupacao: '002'
}
ticket_number = SacspGateway.step_5!(citizen_data)

puts "Chamado criado com sucesso!!! --> #{ticket_number}"

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/gnumarcelo/sacsp_gateway.

License

The gem is available as open source under the terms of the MIT License.

About

Gem para criação de chamados no SAC da Prefeitura Municipal de São Paulo.

Resources

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
LICENSE.txt

Stars

Watchers

Forks

Packages

No packages published