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
- Fork it ( https://github.com/[my-github-username]/omniva-api/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request