Omniva::API

A ruby gem to access Estonian postal service address API

Installation

Add this line to your application's Gemfile:

gem 'omniva-api'

And then execute:

$ bundle

Or install it yourself as:

$ gem install omniva-api

Usage

require 'omniva/api'

# Configuration
Omniva::API.configure do |config|
  config.wsdl = 'wsdl_url'
  config.key = 'secret_key'
end

# Configuration with timeout, default value is 2 seconds
Omniva::API.configure do |config|
  config.wsdl = 'wsdl_url'
  config.key = 'secret_key'
  config.timeout = 5
end

# Initial data query (counties)
Omniva::API.call
# =>
[
  {
                          :aid => "37",
                         :tase => "A1",
                       :ads_id => "370000000000000000000000000000000",
                 :maakond_ehak => "0037",
                      :maakond => "Harju maakond",
              :omavalitus_ehak => "0000",
              :omavalitus_liik => nil,
                   :omavalitus => nil,
            :asustusyksus_ehak => "0000",
            :asustusyksus_liik => nil,
                 :asustusyksus => nil,
               :vaikekoht_liik => nil,
                    :vaikekoht => nil,
             :liikluspind_liik => nil,
                  :liikluspind => nil,
                      :nimetus => nil,
               :aadressinumber => nil,
                :korterinumber => nil,
                   :sihtnumber => nil,
                      :staatus => nil,
                      :aadress => "Eesti Vabariik, Harju maakond",
                  :nimekapi_nr => nil,
    :juurdepaasupunkt_nimekiri => nil
  }, {
    ...
  }
]

# Call with parameters
Omniva::API.call(nimetus: 'Tallinn')
# =>
[
  {
                          :aid => "1905378",
                         :tase => "A3",
                       :ads_id => "377840176000000000000000000000000",
                 :maakond_ehak => "0037",
                      :maakond => "Harju maakond",
              :omavalitus_ehak => "0784",
              :omavalitus_liik => "linn",
                   :omavalitus => "Tallinn",
            :asustusyksus_ehak => "0176",
            :asustusyksus_liik => "linnaosa",
                 :asustusyksus => "Haabersti linnaosa",
               :vaikekoht_liik => nil,
                    :vaikekoht => nil,
             :liikluspind_liik => nil,
                  :liikluspind => nil,
                      :nimetus => nil,
               :aadressinumber => nil,
                :korterinumber => nil,
                   :sihtnumber => nil,
                      :staatus => nil,
                      :aadress => "Eesti Vabariik, Harju maakond, Tallinn, Haabersti linnaosa",
                  :nimekapi_nr => nil,
    :juurdepaasupunkt_nimekiri => nil
  }, {
    ...
  }
]

Omniva::API.call(aid: 37)
# =>
[
  {
                          :aid => "112",
                         :tase => "A2",
                       :ads_id => "371120000000000000000000000000000",
                 :maakond_ehak => "0037",
                      :maakond => "Harju maakond",
              :omavalitus_ehak => "0112",
              :omavalitus_liik => "vald",
                   :omavalitus => "Aegviidu vald",
            :asustusyksus_ehak => "0000",
            :asustusyksus_liik => nil,
                 :asustusyksus => nil,
               :vaikekoht_liik => nil,
                    :vaikekoht => nil,
             :liikluspind_liik => nil,
                  :liikluspind => nil,
                      :nimetus => nil,
               :aadressinumber => nil,
                :korterinumber => nil,
                   :sihtnumber => nil,
                      :staatus => nil,
                      :aadress => "Eesti Vabariik, Harju maakond, Aegviidu vald",
                  :nimekapi_nr => nil,
    :juurdepaasupunkt_nimekiri => nil
  }, {

  }
]

Contributing

  1. Fork it ( https://github.com/[my-github-username]/omniva-api/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