laximo 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +18 -0
- data/Gemfile +4 -0
- data/LICENSE.BSD +24 -0
- data/README.md +87 -0
- data/laximo.gemspec +26 -0
- data/lib/laximo.rb +38 -0
- data/lib/laximo/am.rb +113 -0
- data/lib/laximo/defaults.rb +10 -0
- data/lib/laximo/oem.rb +398 -0
- data/lib/laximo/options.rb +92 -0
- data/lib/laximo/query.rb +201 -0
- data/lib/laximo/request.rb +78 -0
- data/lib/laximo/respond.rb +106 -0
- data/lib/laximo/respond/find_detail.rb +42 -0
- data/lib/laximo/respond/find_oem.rb +42 -0
- data/lib/laximo/respond/find_oem_correction.rb +42 -0
- data/lib/laximo/respond/find_replacements.rb +20 -0
- data/lib/laximo/respond/find_vehicle_by_frame.rb +16 -0
- data/lib/laximo/respond/find_vehicle_by_vin.rb +16 -0
- data/lib/laximo/respond/find_vehicle_by_wizard.rb +16 -0
- data/lib/laximo/respond/find_vehicle_by_wizard2.rb +16 -0
- data/lib/laximo/respond/get_catalog_info.rb +16 -0
- data/lib/laximo/respond/get_filter_by_detail.rb +16 -0
- data/lib/laximo/respond/get_filter_by_unit.rb +16 -0
- data/lib/laximo/respond/get_unit_info.rb +16 -0
- data/lib/laximo/respond/get_vehicle_info.rb +16 -0
- data/lib/laximo/respond/get_wizard.rb +16 -0
- data/lib/laximo/respond/get_wizard2.rb +16 -0
- data/lib/laximo/respond/get_wizard_next_step2.rb +16 -0
- data/lib/laximo/respond/list_catalogs.rb +16 -0
- data/lib/laximo/respond/list_categories.rb +16 -0
- data/lib/laximo/respond/list_detail_by_unit.rb +16 -0
- data/lib/laximo/respond/list_image_map_by_unit.rb +16 -0
- data/lib/laximo/respond/list_manufacturer.rb +20 -0
- data/lib/laximo/respond/list_quick_detail.rb +16 -0
- data/lib/laximo/respond/list_quick_group.rb +16 -0
- data/lib/laximo/respond/list_units.rb +16 -0
- data/lib/laximo/respond/manufacturer_info.rb +20 -0
- data/lib/laximo/version.rb +6 -0
- metadata +97 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 6f646b40fd35bb776330887477ef0106f6ff43d7
|
|
4
|
+
data.tar.gz: cb75acf984cf0e1a6e212e26d7ce695284889815
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 52397e2a63d689580f9823dbaa9c2911f1f5c8ed9de2a83e8874f51d40a556050ac5bd757b321b6c93d5d25baa26fbcbbe30e7617e998925ec7f20f592ee398a
|
|
7
|
+
data.tar.gz: b34f1a5df10d787927f3f7c8faed59dae6ac8641e44e453bd974ab488d2974e9ff85da494204ad894b02ffeb272c1cda3155dc911c8a1c1fd9f255d9917dcdcc
|
data/.gitignore
ADDED
data/Gemfile
ADDED
data/LICENSE.BSD
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
Copyright (c) 2015 DansingBytes.ru
|
|
2
|
+
All rights reserved.
|
|
3
|
+
|
|
4
|
+
Author: Tyralion (piliaiev@gmail.com)
|
|
5
|
+
|
|
6
|
+
Redistribution and use in source and binary forms, with or without
|
|
7
|
+
modification, are permitted provided that the following conditions are met:
|
|
8
|
+
|
|
9
|
+
* Redistributions of source code must retain the above copyright
|
|
10
|
+
notice, this list of conditions and the following disclaimer.
|
|
11
|
+
* Redistributions in binary form must reproduce the above copyright
|
|
12
|
+
notice, this list of conditions and the following disclaimer in the
|
|
13
|
+
documentation and/or other materials provided with the distribution.
|
|
14
|
+
|
|
15
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
16
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
17
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
18
|
+
ARE DISCLAIMED. IN NO EVENT SHALL DansingBytes.ru BE LIABLE FOR ANY
|
|
19
|
+
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
20
|
+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
21
|
+
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
22
|
+
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
23
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
24
|
+
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
data/README.md
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# laximo — ruby-библиотека для web-сервисов [Laximo](http://laximo.net)
|
|
2
|
+
|
|
3
|
+
### Поддержка web-сервисов:
|
|
4
|
+
* [Laximo.Aftermarket](http://laximo.net/index.php/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%9C%D0%BE%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA/:Laximo_Web-services:AM:Laximo.Aftermarket)
|
|
5
|
+
* [Laximo.OЕМ](http://laximo.net/index.php/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%9C%D0%BE%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA/:Laximo_Web-services:OEM:Laximo.OEM) (в разработке)
|
|
6
|
+
|
|
7
|
+
### Поддерживаемые версии Ruby
|
|
8
|
+
Ruby 1.9.3+
|
|
9
|
+
|
|
10
|
+
### Установка (Rails)
|
|
11
|
+
1. Добавляем в Gemfile строку:`gem 'laxima'`
|
|
12
|
+
2. В консоле `bundle install`
|
|
13
|
+
3. Задаем параметры конфигурации в файле `config/initializers/laximo.rb`:
|
|
14
|
+
```ruby
|
|
15
|
+
Laximo.options.use_ssl true
|
|
16
|
+
Laximo.options.ssl_key ::File.join(Rails.root, 'db', 'ssl', 'client.key')
|
|
17
|
+
Laximo.options.ssl_cert ::File.join(Rails.root, 'db', 'ssl', 'client.pem')
|
|
18
|
+
Laximo.options.ssl_verify false
|
|
19
|
+
|
|
20
|
+
Laximo.options.timeout 10
|
|
21
|
+
Laximo.options.debug false
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Конфигурация
|
|
25
|
+
* `Laximo.options.ssl_key "путь_к_файлу"` — путь к открытому ключу ssl-сертификата
|
|
26
|
+
* `Laximo.options.ssl_cert "путь_к_файлу"` — путь к закрытому ключу ssl-сертификата
|
|
27
|
+
* `Laximo.options.ssl_cert true/false` — проверять или нет валидность сертификата. **В случае самоподписанного сертификата, проверку на валидность необходимо отключить**
|
|
28
|
+
* `Laximo.options.use_ssl true/false` - использовать ssl-соединение или нет
|
|
29
|
+
* `Laximo.options.timeout 30` - таймаут соединения в секундах (по-умочланию, 10)
|
|
30
|
+
* `Laximo.options.user_agent "Ваш_юзер_агент"` - задание произвольного юзер-агента (по-умолчанию, "LaximoRuby [версия_библиотеки]")
|
|
31
|
+
* `Laximo.options.debug true/false` - включение/отключение режима отладки (по-умолчанию, выключено)
|
|
32
|
+
* `Laximo.options.am_soap_action 'url'` - soap action для web-сервиса [Laximo.Aftermarket](http://laximo.net/index.php/Laximo_Web-services:AM:Laximo.Aftermarket) (по-умолчанию, `http://Aftermarket.Kito.ec`)
|
|
33
|
+
* `Laximo.options.am_soap_endpoint 'url'` - soap endpoint для web-сервиса [Laximo.Aftermarket](http://laximo.net/index.php/Laximo_Web-services:AM:Laximo.Aftermarket) (по-умолчанию, `https://aws.laximo.net/ec.Kito.Aftermarket/services/Catalog.CatalogHttpSoap12Endpoint/`
|
|
34
|
+
* `Laximo.options.oem_soap_action 'url'` - soap action для web-сервиса [Laximo.OEM](http://laximo.net/index.php/Laximo_Web-services:OEM:Laximo.OEM) (по-умолчанию, `http://WebCatalog.Kito.ec`)
|
|
35
|
+
* `Laximo.options.oem_soap_endpoint 'url'` - soap endpoint для web-сервиса [Laximo.OEM](http://laximo.net/index.php/Laximo_Web-services:OEM:Laximo.OEM) (по-умолчанию, `https://ws.laximo.net/ec.Kito.WebCatalog/services/Catalog.CatalogHttpSoap12Endpoint/`)
|
|
36
|
+
|
|
37
|
+
### Методы web-сервиса [Laximo.Aftermarket](http://laximo.net/index.php/Laximo_Web-services:AM:Laximo.Aftermarket)
|
|
38
|
+
* [Laximo.am.find_oem(oem, brand: nil, options: [], locale: 'ru_RU')](http://laximo.net/index.php/Laximo_Web-services:AM:FindOEM)
|
|
39
|
+
* [Laximo.am.find_replacements(detail_id, locale: 'ru_RU')](http://laximo.net/index.php/Laximo_Web-services:AM:FindReplacements)
|
|
40
|
+
* [Laximo.am.find_detail(detail_id, options: [], locale: 'ru_RU')](http://laximo.net/index.php/Laximo_Web-services:AM:FindDetail)
|
|
41
|
+
* [Laximo.am.find_oem_correction(oem, brand: nil, locale: 'ru_RU')](http://laximo.net/index.php/Laximo_Web-services:AM:FindOEMCorrection)
|
|
42
|
+
* [Laximo.am.manufacturer_info(manufacturer_id, locale: 'ru_RU')](http://laximo.net/index.php/Laximo_Web-services:AM:ManufacturerInfo)
|
|
43
|
+
* [Laximo.am.list_manufacturer(locale: 'ru_RU')](http://laximo.net/index.php/Laximo_Web-services:AM/ListManufacturer)
|
|
44
|
+
|
|
45
|
+
Данные методы возвращают объект, у которого заданы методы:
|
|
46
|
+
|
|
47
|
+
* `success?` - успешна ли операция
|
|
48
|
+
* `error?` - есть ли ошибка
|
|
49
|
+
* `error` - возвращает ошибку или `nil`, если ошибки не было
|
|
50
|
+
* `result` - возвращает массив хешей или пустой массив, если ничего не найдено, или если в процессе выполения произошла ошибка.
|
|
51
|
+
|
|
52
|
+
### Методы web-сервиса [Laximo.OEM](http://laximo.net/index.php/Laximo_Web-services:OEM:Laximo.OEM)
|
|
53
|
+
* [Laximo.oem.list_catalogs(ssd = nil, locale: 'ru_RU')](http://laximo.net/index.php/Laximo_Web-services:OEM:ListCatalogs)
|
|
54
|
+
* [Laximo.oem.get_catalog_info(catalog, ssd: nil, locale: 'ru_RU')](http://laximo.net/index.php/Laximo_Web-services:OEM:GetCatalogInfo)
|
|
55
|
+
* [Laximo.oem.find_vehicle_by_vin(vin, catalog: nil, ssd: nil, localized: false, locale: 'ru_RU')](http://laximo.net/index.php/Laximo_Web-services:OEM:FindVehicleByVIN)
|
|
56
|
+
* [Laximo.oem.find_vehicle_by_frame(catalog, frame, frame_no, ssd: nil, localized: false, locale: 'ru_RU')](http://laximo.net/index.php/Laximo_Web-services:OEM:FindVehicleByFrame)
|
|
57
|
+
* [Laximo.oem.get_wizard(catalog, wizard_id: nil, value_id: nil, locale: 'ru_RU')](http://laximo.net/index.php/Laximo_Web-services:OEM:GetWizard)
|
|
58
|
+
* [Laximo.oem.get_wizard2(catalog, ssd, locale: 'ru_RU')](http://laximo.net/index.php/Laximo_Web-services:OEM:GetWizard2)
|
|
59
|
+
* [Laximo.oem.get_wizard_next_step2(catalog, ssd, locale: 'ru_RU')](http://laximo.net/index.php/Laximo_Web-services:OEM:GetWizardNextStep2)
|
|
60
|
+
* [Laximo.oem.find_vehicle_by_wizard(catalog, wizard_id, ssd: nil, localized: false, locale: 'ru_RU')](http://laximo.net/index.php/Laximo_Web-services:OEM:FindVehicleByWizard)
|
|
61
|
+
* [Laximo.oem.find_vehicle_by_wizard2(catalog, ssd, locale: 'ru_RU')](http://laximo.net/index.php/Laximo_Web-services:OEM:FindVehicleByWizard2)
|
|
62
|
+
* [Laximo.oem.get_vehicle_info(catalog, vehicle_id, ssd, localized: false, locale: 'ru_RU')](http://laximo.net/index.php/Laximo_Web-services:OEM:GetVehicleInfo)
|
|
63
|
+
* [Laximo.oem.list_units(catalog, vehicle_id, ssd, category_id: nil, localized: false, locale: 'ru_RU')](http://laximo.net/index.php/Laximo_Web-services:OEM:ListUnits)
|
|
64
|
+
* [Laximo.oem.list_categories(catalog, vehicle_id, ssd, category_id: nil, locale: 'ru_RU')](http://laximo.net/index.php/Laximo_Web-services:OEM:ListCategories)
|
|
65
|
+
* [Laximo.oem.get_filter_by_unit(catalog, unit_id, vehicle_id, filter, ssd, locale: 'ru_RU')](http://laximo.net/index.php/Laximo_Web-services:OEM:GetFilterByUnit)
|
|
66
|
+
* [Laximo.oem.get_unit_info(catalog, ssd, unit_id: nil, localized: false, locale: 'ru_RU')](http://laximo.net/index.php/Laximo_Web-services:OEM:GetUnitInfo)
|
|
67
|
+
* [Laximo.oem.list_detail_by_unit(catalog, ssd, unit_id: nil, localized: false, locale: 'ru_RU')](http://laximo.net/index.php/Laximo_Web-services:OEM:ListDetailByUnit)
|
|
68
|
+
* [Laximo.oem.list_image_map_by_unit(catalog, ssd, unit_id: nil)](http://laximo.net/index.php/Laximo_Web-services:OEM:ListImageMapByUnit)
|
|
69
|
+
* [Laximo.oem.get_filter_by_detail(catalog, unit_id, detail_id, filter, ssd, locale: 'ru_RU')](http://laximo.net/index.php/Laximo_Web-services:OEM:GetFilterByDetail)
|
|
70
|
+
* [Laximo.oem.list_quick_group(catalog, vehicle_id, ssd: nil, locale: 'ru_RU')](http://laximo.net/index.php/Laximo_Web-services:OEM:ListQuickGroup)
|
|
71
|
+
* [Laximo.oem.list_quick_detail(catalog, vehicle_id, quick_group_id, all, ssd: nil, localized: false, locale: 'ru_RU')](http://laximo.net/index.php/Laximo_Web-services:OEM:ListQuickDetail)
|
|
72
|
+
|
|
73
|
+
Данные методы возвращают объект, у которого заданы методы:
|
|
74
|
+
|
|
75
|
+
* `success?` - успешна ли операция
|
|
76
|
+
* `error?` - есть ли ошибка
|
|
77
|
+
* `error` - возвращает ошибку или `nil`, если ошибки не было
|
|
78
|
+
* `result` - возвращает массив хешей или пустой массив, если ничего не найдено, или если в процессе выполения произошла ошибка.
|
|
79
|
+
|
|
80
|
+
### Примеры использования
|
|
81
|
+
```ruby
|
|
82
|
+
res = Laximo.am.find_oem('078100105NX', options: [:crosses, :images])
|
|
83
|
+
res.success? # true
|
|
84
|
+
res.error? # false
|
|
85
|
+
res.error # nil
|
|
86
|
+
res.result # [{:detailid=>"31454425", :formattedoem=>"078100105NX", :manufacturer=>"SEAT", ...]
|
|
87
|
+
```
|
data/laximo.gemspec
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
|
+
require 'laximo/version'
|
|
5
|
+
|
|
6
|
+
Gem::Specification.new do |spec|
|
|
7
|
+
|
|
8
|
+
spec.name = "laximo"
|
|
9
|
+
spec.version = Laximo::VERSION
|
|
10
|
+
spec.authors = ["Ivan Piliaiev"]
|
|
11
|
+
spec.email = ["piliaiev@gmail.com"]
|
|
12
|
+
spec.description = %q{Api for Laximo services}
|
|
13
|
+
spec.summary = %q{Api for Laximo services}
|
|
14
|
+
spec.homepage = "https://github.com/dancingbytes/laximo"
|
|
15
|
+
spec.license = "BSD"
|
|
16
|
+
|
|
17
|
+
spec.files = `git ls-files`.split($/)
|
|
18
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
|
19
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
|
20
|
+
spec.require_paths = ["lib"]
|
|
21
|
+
|
|
22
|
+
spec.required_ruby_version = '>= 1.9.3'
|
|
23
|
+
|
|
24
|
+
spec.add_dependency "nokogiri", '~> 1.6'
|
|
25
|
+
|
|
26
|
+
end
|
data/lib/laximo.rb
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
require 'nokogiri'
|
|
3
|
+
|
|
4
|
+
require 'uri'
|
|
5
|
+
require 'net/http'
|
|
6
|
+
|
|
7
|
+
require 'laximo/version'
|
|
8
|
+
require 'laximo/options'
|
|
9
|
+
require 'laximo/request'
|
|
10
|
+
require 'laximo/respond'
|
|
11
|
+
|
|
12
|
+
Dir[File.join(File.dirname(__FILE__), '/laximo/respond/**/*.rb')].each do |libs|
|
|
13
|
+
require libs
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
require 'laximo/query'
|
|
17
|
+
require 'laximo/am'
|
|
18
|
+
require 'laximo/oem'
|
|
19
|
+
|
|
20
|
+
module Laximo
|
|
21
|
+
|
|
22
|
+
extend self
|
|
23
|
+
|
|
24
|
+
def options
|
|
25
|
+
::Laximo::Options
|
|
26
|
+
end # options
|
|
27
|
+
|
|
28
|
+
def am
|
|
29
|
+
::Laximo::Am.new
|
|
30
|
+
end # am
|
|
31
|
+
|
|
32
|
+
def oem
|
|
33
|
+
::Laximo::Oem.new
|
|
34
|
+
end # oem
|
|
35
|
+
|
|
36
|
+
end # Laximo
|
|
37
|
+
|
|
38
|
+
require 'laximo/defaults'
|
data/lib/laximo/am.rb
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module Laximo
|
|
3
|
+
|
|
4
|
+
class Am
|
|
5
|
+
|
|
6
|
+
def initialize
|
|
7
|
+
|
|
8
|
+
@request = ::Laximo::Request.new(
|
|
9
|
+
::Laximo.options.am_soap_endpoint,
|
|
10
|
+
::Laximo.options.am_soap_action
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
end # initialize
|
|
14
|
+
|
|
15
|
+
def find_oem(
|
|
16
|
+
oem,
|
|
17
|
+
brand: nil,
|
|
18
|
+
options: [],
|
|
19
|
+
locale: 'ru_RU'
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
resp = ::Laximo::Query.
|
|
23
|
+
new('FindOEM').
|
|
24
|
+
locale(locale).
|
|
25
|
+
brand(brand).
|
|
26
|
+
oem(oem).
|
|
27
|
+
options(options).
|
|
28
|
+
call(@request)
|
|
29
|
+
|
|
30
|
+
::Laximo::Respond::FindOem.new(resp)
|
|
31
|
+
|
|
32
|
+
end # find_oem
|
|
33
|
+
|
|
34
|
+
def find_replacements(
|
|
35
|
+
detail_id,
|
|
36
|
+
locale: 'ru_RU'
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
resp = ::Laximo::Query.
|
|
40
|
+
new('FindReplacements').
|
|
41
|
+
locale(locale).
|
|
42
|
+
detail_id(detail_id).
|
|
43
|
+
call(@request)
|
|
44
|
+
|
|
45
|
+
::Laximo::Respond::FindReplacements.new(resp)
|
|
46
|
+
|
|
47
|
+
end # find_replacements
|
|
48
|
+
|
|
49
|
+
def find_detail(
|
|
50
|
+
detail_id,
|
|
51
|
+
options: [],
|
|
52
|
+
locale: 'ru_RU'
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
resp = ::Laximo::Query.
|
|
56
|
+
new('FindDetail').
|
|
57
|
+
locale(locale).
|
|
58
|
+
detail_id(detail_id).
|
|
59
|
+
options(options).
|
|
60
|
+
call(@request)
|
|
61
|
+
|
|
62
|
+
::Laximo::Respond::FindDetail.new(resp)
|
|
63
|
+
|
|
64
|
+
end # find_detail
|
|
65
|
+
|
|
66
|
+
def find_oem_correction(
|
|
67
|
+
oem,
|
|
68
|
+
brand: nil,
|
|
69
|
+
locale: 'ru_RU'
|
|
70
|
+
)
|
|
71
|
+
|
|
72
|
+
resp = ::Laximo::Query.
|
|
73
|
+
new('FindOEMCorrection').
|
|
74
|
+
locale(locale).
|
|
75
|
+
brand(brand).
|
|
76
|
+
oem(oem).
|
|
77
|
+
call(@request)
|
|
78
|
+
|
|
79
|
+
::Laximo::Respond::FindOemCorrection.new(resp)
|
|
80
|
+
|
|
81
|
+
end # find_oem_correction
|
|
82
|
+
|
|
83
|
+
def manufacturer_info(
|
|
84
|
+
manufacturer_id,
|
|
85
|
+
locale: 'ru_RU'
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
resp = ::Laximo::Query.
|
|
89
|
+
new('ManufacturerInfo').
|
|
90
|
+
locale(locale).
|
|
91
|
+
manufacturer_id(manufacturer_id).
|
|
92
|
+
call(@request)
|
|
93
|
+
|
|
94
|
+
::Laximo::Respond::Manufacturer_Info.new(resp)
|
|
95
|
+
|
|
96
|
+
end # manufacturer_info
|
|
97
|
+
|
|
98
|
+
def list_manufacturer(
|
|
99
|
+
locale: 'ru_RU'
|
|
100
|
+
)
|
|
101
|
+
|
|
102
|
+
resp = ::Laximo::Query.
|
|
103
|
+
new('ListManufacturer').
|
|
104
|
+
locale(locale).
|
|
105
|
+
call(@request)
|
|
106
|
+
|
|
107
|
+
::Laximo::Respond::ListManufacturer.new(resp)
|
|
108
|
+
|
|
109
|
+
end # list_manufacturer
|
|
110
|
+
|
|
111
|
+
end # Am
|
|
112
|
+
|
|
113
|
+
end # Laximo
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
# default values
|
|
3
|
+
Laximo.options.user_agent "LaximoRuby [#{Laximo::VERSION}]"
|
|
4
|
+
Laximo.options.timeout 10
|
|
5
|
+
|
|
6
|
+
Laximo.options.am_soap_action 'http://Aftermarket.Kito.ec'
|
|
7
|
+
Laximo.options.am_soap_endpoint 'https://aws.laximo.net/ec.Kito.Aftermarket/services/Catalog.CatalogHttpSoap12Endpoint/'
|
|
8
|
+
|
|
9
|
+
Laximo.options.oem_soap_action 'http://WebCatalog.Kito.ec'
|
|
10
|
+
Laximo.options.oem_soap_endpoint 'https://ws.laximo.net/ec.Kito.WebCatalog/services/Catalog.CatalogHttpSoap12Endpoint/'
|
data/lib/laximo/oem.rb
ADDED
|
@@ -0,0 +1,398 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module Laximo
|
|
3
|
+
|
|
4
|
+
class Oem
|
|
5
|
+
|
|
6
|
+
def initialize
|
|
7
|
+
|
|
8
|
+
@request = ::Laximo::Request.new(
|
|
9
|
+
::Laximo.options.oem_soap_endpoint,
|
|
10
|
+
::Laximo.options.oem_soap_action
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
end # initialize
|
|
14
|
+
|
|
15
|
+
def list_catalogs(
|
|
16
|
+
ssd = nil,
|
|
17
|
+
locale: 'ru_RU'
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
resp = ::Laximo::Query.
|
|
21
|
+
new('ListCatalogs').
|
|
22
|
+
locale(locale).
|
|
23
|
+
ssd(ssd).
|
|
24
|
+
call(@request)
|
|
25
|
+
|
|
26
|
+
::Laximo::Respond::ListCatalogs.new(resp)
|
|
27
|
+
|
|
28
|
+
end # list_catalogs
|
|
29
|
+
|
|
30
|
+
def get_catalog_info(
|
|
31
|
+
catalog,
|
|
32
|
+
ssd: nil,
|
|
33
|
+
locale: 'ru_RU'
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
resp = ::Laximo::Query.
|
|
37
|
+
new('GetCatalogInfo').
|
|
38
|
+
locale(locale).
|
|
39
|
+
ssd(ssd).
|
|
40
|
+
catalog(catalog).
|
|
41
|
+
call(@request)
|
|
42
|
+
|
|
43
|
+
::Laximo::Respond::GetCatalogInfo.new(resp)
|
|
44
|
+
|
|
45
|
+
end # get_catalog_info
|
|
46
|
+
|
|
47
|
+
def find_vehicle_by_vin(
|
|
48
|
+
vin,
|
|
49
|
+
catalog: nil,
|
|
50
|
+
ssd: nil,
|
|
51
|
+
localized: false,
|
|
52
|
+
locale: 'ru_RU'
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
resp = ::Laximo::Query.
|
|
56
|
+
new('FindVehicleByVIN').
|
|
57
|
+
locale(locale).
|
|
58
|
+
ssd(ssd).
|
|
59
|
+
catalog(catalog).
|
|
60
|
+
vin(vin).
|
|
61
|
+
localized(localized).
|
|
62
|
+
call(@request)
|
|
63
|
+
|
|
64
|
+
::Laximo::Respond::FindVehicleByVin.new(resp)
|
|
65
|
+
|
|
66
|
+
end # find_vehicle_by_vin
|
|
67
|
+
|
|
68
|
+
def find_vehicle_by_frame(
|
|
69
|
+
catalog,
|
|
70
|
+
frame,
|
|
71
|
+
frame_no,
|
|
72
|
+
ssd: nil,
|
|
73
|
+
localized: false,
|
|
74
|
+
locale: 'ru_RU'
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
resp = ::Laximo::Query.
|
|
78
|
+
new('FindVehicleByFrame').
|
|
79
|
+
locale(locale).
|
|
80
|
+
catalog(catalog).
|
|
81
|
+
frame(frame).
|
|
82
|
+
frame_no(frame_no).
|
|
83
|
+
ssd(ssd).
|
|
84
|
+
localized(localized).
|
|
85
|
+
call(@request)
|
|
86
|
+
|
|
87
|
+
::Laximo::Respond::FindVehicleByFrame.new(resp)
|
|
88
|
+
|
|
89
|
+
end # find_vehicle_by_frame
|
|
90
|
+
|
|
91
|
+
def get_wizard(
|
|
92
|
+
catalog,
|
|
93
|
+
wizard_id: nil,
|
|
94
|
+
value_id: nil,
|
|
95
|
+
locale: 'ru_RU'
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
resp = ::Laximo::Query.
|
|
99
|
+
new('GetWizard').
|
|
100
|
+
locale(locale).
|
|
101
|
+
catalog(catalog).
|
|
102
|
+
wizard_id(wizard_id).
|
|
103
|
+
value_id(value_id).
|
|
104
|
+
call(@request)
|
|
105
|
+
|
|
106
|
+
::Laximo::Respond::GetWizard.new(resp)
|
|
107
|
+
|
|
108
|
+
end # get_wizard
|
|
109
|
+
|
|
110
|
+
def get_wizard2(
|
|
111
|
+
catalog,
|
|
112
|
+
ssd,
|
|
113
|
+
locale: 'ru_RU'
|
|
114
|
+
)
|
|
115
|
+
|
|
116
|
+
resp = ::Laximo::Query.
|
|
117
|
+
new('GetWizard2').
|
|
118
|
+
locale(locale).
|
|
119
|
+
catalog(catalog).
|
|
120
|
+
ssd(ssd).
|
|
121
|
+
call(@request)
|
|
122
|
+
|
|
123
|
+
::Laximo::Respond::GetWizard2.new(resp)
|
|
124
|
+
|
|
125
|
+
end # get_wizard2
|
|
126
|
+
|
|
127
|
+
def get_wizard_next_step2(
|
|
128
|
+
catalog,
|
|
129
|
+
ssd,
|
|
130
|
+
locale: 'ru_RU'
|
|
131
|
+
)
|
|
132
|
+
|
|
133
|
+
resp = ::Laximo::Query.
|
|
134
|
+
new('GetWizardNextStep2').
|
|
135
|
+
locale(locale).
|
|
136
|
+
catalog(catalog).
|
|
137
|
+
ssd(ssd).
|
|
138
|
+
call(@request)
|
|
139
|
+
|
|
140
|
+
::Laximo::Respond::GetWizardNextStep2.new(resp)
|
|
141
|
+
|
|
142
|
+
end # get_wizard_next_step2
|
|
143
|
+
|
|
144
|
+
def find_vehicle_by_wizard(
|
|
145
|
+
catalog,
|
|
146
|
+
wizard_id,
|
|
147
|
+
ssd: nil,
|
|
148
|
+
localized: false,
|
|
149
|
+
locale: 'ru_RU'
|
|
150
|
+
)
|
|
151
|
+
|
|
152
|
+
resp = ::Laximo::Query.
|
|
153
|
+
new('FindVehicleByWizard').
|
|
154
|
+
locale(locale).
|
|
155
|
+
wizard_id(wizard_id).
|
|
156
|
+
catalog(catalog).
|
|
157
|
+
ssd(ssd).
|
|
158
|
+
localized(localized).
|
|
159
|
+
call(@request)
|
|
160
|
+
|
|
161
|
+
::Laximo::Respond::FindVehicleByWizard.new(resp)
|
|
162
|
+
|
|
163
|
+
end # find_vehicle_by_wizard
|
|
164
|
+
|
|
165
|
+
def find_vehicle_by_wizard2(
|
|
166
|
+
catalog,
|
|
167
|
+
ssd,
|
|
168
|
+
locale: 'ru_RU'
|
|
169
|
+
)
|
|
170
|
+
|
|
171
|
+
resp = ::Laximo::Query.
|
|
172
|
+
new('FindVehicleByWizard2').
|
|
173
|
+
locale(locale).
|
|
174
|
+
catalog(catalog).
|
|
175
|
+
ssd(ssd).
|
|
176
|
+
call(@request)
|
|
177
|
+
|
|
178
|
+
::Laximo::Respond::FindVehicleByWizard2.new(resp)
|
|
179
|
+
|
|
180
|
+
end # find_vehicle_by_wizard2
|
|
181
|
+
|
|
182
|
+
def get_vehicle_info(
|
|
183
|
+
catalog,
|
|
184
|
+
vehicle_id,
|
|
185
|
+
ssd,
|
|
186
|
+
localized: false,
|
|
187
|
+
locale: 'ru_RU'
|
|
188
|
+
)
|
|
189
|
+
|
|
190
|
+
resp = ::Laximo::Query.
|
|
191
|
+
new('GetVehicleInfo').
|
|
192
|
+
locale(locale).
|
|
193
|
+
catalog(catalog).
|
|
194
|
+
vehicle_id(vehicle_id).
|
|
195
|
+
ssd(ssd).
|
|
196
|
+
localized(localized).
|
|
197
|
+
call(@request)
|
|
198
|
+
|
|
199
|
+
::Laximo::Respond::GetVehicleInfo.new(resp)
|
|
200
|
+
|
|
201
|
+
end # get_vehicle_info
|
|
202
|
+
|
|
203
|
+
def list_units(
|
|
204
|
+
catalog,
|
|
205
|
+
vehicle_id,
|
|
206
|
+
ssd,
|
|
207
|
+
category_id: nil,
|
|
208
|
+
localized: false,
|
|
209
|
+
locale: 'ru_RU'
|
|
210
|
+
)
|
|
211
|
+
|
|
212
|
+
resp = ::Laximo::Query.
|
|
213
|
+
new('ListUnits').
|
|
214
|
+
locale(locale).
|
|
215
|
+
catalog(catalog).
|
|
216
|
+
vehicle_id(vehicle_id).
|
|
217
|
+
category_id(category_id).
|
|
218
|
+
ssd(ssd).
|
|
219
|
+
localized(localized).
|
|
220
|
+
call(@request)
|
|
221
|
+
|
|
222
|
+
::Laximo::Respond::ListUnits.new(resp)
|
|
223
|
+
|
|
224
|
+
end # list_units
|
|
225
|
+
|
|
226
|
+
def list_categories(
|
|
227
|
+
catalog,
|
|
228
|
+
vehicle_id,
|
|
229
|
+
ssd,
|
|
230
|
+
category_id: nil,
|
|
231
|
+
locale: 'ru_RU'
|
|
232
|
+
)
|
|
233
|
+
|
|
234
|
+
resp = ::Laximo::Query.
|
|
235
|
+
new('ListCategories').
|
|
236
|
+
locale(locale).
|
|
237
|
+
catalog(catalog).
|
|
238
|
+
vehicle_id(vehicle_id).
|
|
239
|
+
category_id(category_id).
|
|
240
|
+
ssd(ssd).
|
|
241
|
+
call(@request)
|
|
242
|
+
|
|
243
|
+
::Laximo::Respond::ListCategories.new(resp)
|
|
244
|
+
|
|
245
|
+
end # list_categories
|
|
246
|
+
|
|
247
|
+
def get_filter_by_unit(
|
|
248
|
+
catalog,
|
|
249
|
+
unit_id,
|
|
250
|
+
vehicle_id,
|
|
251
|
+
filter,
|
|
252
|
+
ssd,
|
|
253
|
+
locale: 'ru_RU'
|
|
254
|
+
)
|
|
255
|
+
|
|
256
|
+
resp = ::Laximo::Query.
|
|
257
|
+
new('GetFilterByUnit').
|
|
258
|
+
locale(locale).
|
|
259
|
+
catalog(catalog).
|
|
260
|
+
unit_id(unit_id).
|
|
261
|
+
vehicle_id(vehicle_id).
|
|
262
|
+
filter(filter).
|
|
263
|
+
ssd(ssd).
|
|
264
|
+
call(@request)
|
|
265
|
+
|
|
266
|
+
::Laximo::Respond::GetFilterByUnit.new(resp)
|
|
267
|
+
|
|
268
|
+
end # get_filter_by_unit
|
|
269
|
+
|
|
270
|
+
def get_unit_info(
|
|
271
|
+
catalog,
|
|
272
|
+
ssd,
|
|
273
|
+
unit_id: nil,
|
|
274
|
+
localized: false,
|
|
275
|
+
locale: 'ru_RU'
|
|
276
|
+
)
|
|
277
|
+
|
|
278
|
+
resp = ::Laximo::Query.
|
|
279
|
+
new('GetUnitInfo').
|
|
280
|
+
locale(locale).
|
|
281
|
+
catalog(catalog).
|
|
282
|
+
ssd(ssd).
|
|
283
|
+
unit_id(unit_id).
|
|
284
|
+
localized(localized).
|
|
285
|
+
call(@request)
|
|
286
|
+
|
|
287
|
+
::Laximo::Respond::GetUnitInfo.new(resp)
|
|
288
|
+
|
|
289
|
+
end # get_unit_info
|
|
290
|
+
|
|
291
|
+
def list_detail_by_unit(
|
|
292
|
+
catalog,
|
|
293
|
+
ssd,
|
|
294
|
+
unit_id: nil,
|
|
295
|
+
localized: false,
|
|
296
|
+
locale: 'ru_RU'
|
|
297
|
+
)
|
|
298
|
+
|
|
299
|
+
resp = ::Laximo::Query.
|
|
300
|
+
new('ListDetailByUnit').
|
|
301
|
+
locale(locale).
|
|
302
|
+
catalog(catalog).
|
|
303
|
+
ssd(ssd).
|
|
304
|
+
unit_id(unit_id).
|
|
305
|
+
localized(localized).
|
|
306
|
+
call(@request)
|
|
307
|
+
|
|
308
|
+
::Laximo::Respond::ListDetailByUnit.new(resp)
|
|
309
|
+
|
|
310
|
+
end # list_detail_by_unit
|
|
311
|
+
|
|
312
|
+
def list_image_map_by_unit(
|
|
313
|
+
catalog,
|
|
314
|
+
ssd,
|
|
315
|
+
unit_id: nil
|
|
316
|
+
)
|
|
317
|
+
|
|
318
|
+
resp = ::Laximo::Query.
|
|
319
|
+
new('ListImageMapByUnit').
|
|
320
|
+
catalog(catalog).
|
|
321
|
+
ssd(ssd).
|
|
322
|
+
unit_id(unit_id).
|
|
323
|
+
call(@request)
|
|
324
|
+
|
|
325
|
+
::Laximo::Respond::ListImageMapByUnit.new(resp)
|
|
326
|
+
|
|
327
|
+
end # list_image_map_by_unit
|
|
328
|
+
|
|
329
|
+
def get_filter_by_detail(
|
|
330
|
+
catalog,
|
|
331
|
+
unit_id,
|
|
332
|
+
detail_id,
|
|
333
|
+
filter,
|
|
334
|
+
ssd,
|
|
335
|
+
locale: 'ru_RU'
|
|
336
|
+
)
|
|
337
|
+
|
|
338
|
+
resp = ::Laximo::Query.
|
|
339
|
+
new('GetFilterByDetail').
|
|
340
|
+
locale(locale).
|
|
341
|
+
catalog(catalog).
|
|
342
|
+
unit_id(unit_id).
|
|
343
|
+
detail_id(detail_id).
|
|
344
|
+
filter(filter).
|
|
345
|
+
ssd(ssd).
|
|
346
|
+
call(@request)
|
|
347
|
+
|
|
348
|
+
::Laximo::Respond::GetFilterByDetail.new(resp)
|
|
349
|
+
|
|
350
|
+
end # get_filter_by_detail
|
|
351
|
+
|
|
352
|
+
def list_quick_group(
|
|
353
|
+
catalog,
|
|
354
|
+
vehicle_id,
|
|
355
|
+
ssd: nil,
|
|
356
|
+
locale: 'ru_RU'
|
|
357
|
+
)
|
|
358
|
+
|
|
359
|
+
resp = ::Laximo::Query.
|
|
360
|
+
new('ListQuickGroup').
|
|
361
|
+
locale(locale).
|
|
362
|
+
catalog(catalog).
|
|
363
|
+
vehicle_id(vehicle_id).
|
|
364
|
+
ssd(ssd).
|
|
365
|
+
call(@request)
|
|
366
|
+
|
|
367
|
+
::Laximo::Respond::ListQuickGroup.new(resp)
|
|
368
|
+
|
|
369
|
+
end # list_quick_group
|
|
370
|
+
|
|
371
|
+
def list_quick_detail(
|
|
372
|
+
catalog,
|
|
373
|
+
vehicle_id,
|
|
374
|
+
quick_group_id,
|
|
375
|
+
all,
|
|
376
|
+
ssd: nil,
|
|
377
|
+
localized: false,
|
|
378
|
+
locale: 'ru_RU'
|
|
379
|
+
)
|
|
380
|
+
|
|
381
|
+
resp = ::Laximo::Query.
|
|
382
|
+
new('ListQuickDetail').
|
|
383
|
+
locale(locale).
|
|
384
|
+
catalog(catalog).
|
|
385
|
+
vehicle_id(vehicle_id).
|
|
386
|
+
quick_group_id(quick_group_id),
|
|
387
|
+
all(all).
|
|
388
|
+
ssd(ssd).
|
|
389
|
+
localized(localized).
|
|
390
|
+
call(@request)
|
|
391
|
+
|
|
392
|
+
::Laximo::Respond::ListQuickDetail.new(resp)
|
|
393
|
+
|
|
394
|
+
end # list_quick_detail
|
|
395
|
+
|
|
396
|
+
end # Oem
|
|
397
|
+
|
|
398
|
+
end # Laximo
|