All Projects → duduribeiro → correios_sigep

duduribeiro / correios_sigep

Licence: MIT license
Correios SigepWeb Integration

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to correios sigep

correios-cep-elixir
Find Brazilian addresses by postal code, directly from Correios API. No HTML parsers.
Stars: ✭ 38 (+153.33%)
Mutual labels:  correios
Cep Promise
Busca por CEP integrado diretamente aos serviços dos Correios, ViaCEP e outros (Node.js e Browser)
Stars: ✭ 2,483 (+16453.33%)
Mutual labels:  correios
correios-java-sdk
Correios Java SDK
Stars: ✭ 28 (+86.67%)
Mutual labels:  correios
onde-ta
🇧🇷 Rastreie suas encomendas - Correios tracking CLI
Stars: ✭ 46 (+206.67%)
Mutual labels:  correios
pysigep
API Python para uso dos serviços fornecidos pelo SIGEPWeb dos Correios
Stars: ✭ 23 (+53.33%)
Mutual labels:  correios
bagisto-correios
Método de entrega Correios para o Laravel eCommerce
Stars: ✭ 26 (+73.33%)
Mutual labels:  correios
correios-consulta
Buscar informações de serviços dos correios diretamente nos sites deles, sem utilizar api de terceiros.
Stars: ✭ 155 (+933.33%)
Mutual labels:  correios
correios
Biblioteca Java para acessar os serviços dos Correios
Stars: ✭ 14 (-6.67%)
Mutual labels:  correios
track-correios
📦 Terminal track Correios
Stars: ✭ 244 (+1526.67%)
Mutual labels:  correios
ViaCEP
The ViaCEP API/webservice .NET client
Stars: ✭ 21 (+40%)
Mutual labels:  correios
rastreio
Rastreio dos correios
Stars: ✭ 36 (+140%)
Mutual labels:  correios

CorreiosSigep

Build Status Coverage Status

  • Integrador responsável pela comunicação com o SigepWeb - http://goo.gl/z8VJjJ.

  • Excelente documentação do SigepWeb providenciada pelos Correios: Manual Logistica Reversa.pdf :trollface:

  • Métodos suportados -- Solicitação de postagem de reversa (documentação, pág 36) -- Busca de SRO - ticket (documentação, pág 39)

Instalação

Adicione ao seu Gemfile:

gem 'correios_sigep'

E execute:

$ bundle

Ou instale manualmente com:

$ gem install correios_sigep

Utilizando

Configurando

Para utilizar a gem, é necessário configurar os campos necessários com base nos dados contrato com os Correios. (O exemplo a seguir são os dados do ambiente de homologação)

CorreiosSigep.configure do |config|
  config.user                   = 'empresacws'
  config.password               = '123456'
  config.administrative_code    = '17000190'
  config.card                   = '0067599079'
  config.service_code           = '41076'
end

Para utilizar o ambiente de homologação dos correios, adicione essa configuração:

  config.development = true

Se for necessário, é possível adicionar também um proxy.

  config.proxy = 'http://px.myproxy.com'

Logistica Reversa

Solicitar Postagem Reversa

(pg. 36 da documentação)

  recipient = CorreiosSigep::Models::Recipient.new({
    address: 'Endereco',
    area_code: 'DDD',
    city: 'Cidade',
    complement: 'Complemento',
    email: 'Email',
    name: 'Nome',
    neighborhood: 'Bairro',
    number: 'Numero',
    phone: 'Telefone',
    postal_code: 'CEP',
    reference: 'Referencia',
    state: 'Estado'
  })
  sender    = CorreiosSigep::Models::Sender.new({
    address: 'Endereco',
    area_code: 'DDD',
    city: 'Cidade',
    complement: 'Complemento',
    email: 'Email',
    name: 'Nome',
    neighborhood: 'Bairro',
    number: 'Numero',
    phone: 'Telefone',
    postal_code: 'CEP',
    reference: 'Referencia',
    state: 'Estado'
  })
  objects   = [
    CorreiosSigep::Models::Object.new({
      item: 'Item',
      id: '1',
      description: 'Descricao',
      num: '',
    }),
    CorreiosSigep::Models::Object.new({
      item: 'Item',
      id: '2',
      description: 'Descricao',
      num: '',
    })
  ]

  # Produto: pag 67 da documentação oficial dos correios
  product   = CorreiosSigep::Models::Product.new({
    code: '116600403',
    type: '0',
    quantity: 1
  })
  collect   = CorreiosSigep::Models::Collect.new({
    aditional_service: '10.00',
    ag: '5',
    ar: '1',
    card: '',
    checklist: '2',
    client_id: '102030',
    declared_value: '1000.00',
    description: 'Descricao',
    number: '',
    type: 'A'
  }.merge(sender: sender, objects: objects, product: product))

  logistic_reverse = CorreiosSigep::Models::LogisticReverse.new(recipient: recipient, collect: collect)
  collect_number = CorreiosSigep::LogisticReverse::RequestCollectNumber.new(logistic_reverse).process

Possíveis erros mapeados

TICKET_ALREADY_USED                   = 195 # NÚMERO DE E-TICKET JÁ UTILIZA
UNAVAILABLE_SERVICE                   = 210 # SERVIÇO INDISPONÍVEL NO MOMENTO
INEXISTENT_ZIPCODE                    = 113 # CEP DO DESTINATÁRIO INEXISTENTE
UNAVAILABLE_HOUSE_COLLECT             = 111 # COLETA DOMICILIAR NÃO DISPONÍVEL PARA O SERVIÇO SEDEX 10
COLLECT_NOT_ANSWERED_FOR_THE_ZIPCODE  = 117 # CEP DO REMETENTE INEXISTENTE
NOT_CONFIGURED_CLIENT                 = 105 # CLIENTE NÃO CONFIGURADO PARA USAR O SISTEMA

Contributing

  1. Fork it ( https://github.com/duduribeiro/correios_sigep/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].