Skip to content

dancingbytes/laximo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

laximo — ruby-библиотека для web-сервисов Laximo

Поддержка web-сервисов:

Поддерживаемые версии Ruby

Ruby 2.0+

Установка (Rails)

  1. Добавляем в Gemfile строку gem 'laximo'
  2. В консоле bundle install
  3. Задаем параметры конфигурации в файле config/initializers/laximo.rb:
Laximo.options.login              'mylogin'    # имейте в виду, что такие параметры
Laximo.options.password           'mypassword' # должны быть вынесены в переменные окружения

Laximo.options.timeout            10
Laximo.options.debug              false
Laximo.options.locale             'ru_RU'

Конфигурация

  • Laximo.options.login - логин для авторизации по подписке
  • Laximo.options.password - пароль для авторизации по подписке
  • Laximo.options.timeout 30 - таймаут соединения в секундах (по-умочланию, 10)
  • Laximo.options.user_agent "Ваш_юзер_агент" - задание произвольного юзер-агента (по-умолчанию, "LaximoRuby [версия_библиотеки]")
  • Laximo.options.locale - локаль (по-умолчанию, 'ru_RU')
  • Laximo.options.debug true/false - включение/отключение режима отладки (по-умолчанию, выключено)
  • Laximo.options.am_soap_action 'url' - soap action для web-сервиса Laximo.Aftermarket (по-умолчанию, http://Aftermarket.Kito.ec)
  • Laximo.options.am_soap_endpoint 'url' - soap endpoint для web-сервиса Laximo.Aftermarket (по-умолчанию, https://aws.laximo.net/ec.Kito.Aftermarket/services/Catalog.CatalogHttpSoap12Endpoint/
  • Laximo.options.oem_soap_action 'url' - soap action для web-сервиса Laximo.OEM (по-умолчанию, http://WebCatalog.Kito.ec)
  • Laximo.options.oem_soap_endpoint 'url' - soap endpoint для web-сервиса Laximo.OEM (по-умолчанию, https://ws.laximo.net/ec.Kito.WebCatalog/services/Catalog.CatalogHttpSoap12Endpoint/)
  • Laximo.options.raise_on_empty_response - выбрасывать ошибку (Laximo::SoapEmptyResponseError), если ответ сервиса пуст (по-умолчанию, false). К сожалению, у сервиса Лаксима не всегда полные днанные: у узла деталей в ВИН-кодах модет не быть списка деталей. В этом случае, можно отловить эту ошибку и пометить ВИН-номер как неполный для повторного запроса к сервиму Лаксимы.

Методы web-сервиса Laximo.Aftermarket

Данные методы возвращают объект, у которого заданы методы:

  • success? - успешна ли операция
  • error? - есть ли ошибка
  • error - возвращает ошибку или nil, если ошибки не было
  • result - возвращает массив хешей или пустой массив, если ничего не найдено, или если в процессе выполения произошла ошибка.

Методы web-сервиса Laximo.OEM

Комбинированные методы web-сервиса wsdemo.laximo

Данные методы возвращают объект, у которого заданы методы:

  • success? - успешна ли операция
  • error? - есть ли ошибка
  • error - возвращает ошибку или nil, если ошибки не было
  • result - возвращает массив хешей или пустой массив, если ничего не найдено, или если в процессе выполения произошла ошибка.

Примеры использования

res = Laximo.am.find_oem('078100105NX', options: [:crosses, :images])
res.success? # true
res.error?   # false
res.error    # nil
res.result   # [{:detailid=>"31454425", :formattedoem=>"078100105NX", :manufacturer=>"SEAT", ...]

Ошибки

После вызова одного из методов апи, может быть возвращены разного рода ошибки.

  • Laximo::SslCertificateError - ваш ssl-сертификат не найден или недействителен
  • Laximo::SoapInvalidParameterError - неверное значение параметра в запросе к web-сервису
  • Laximo::SoapCatalogNotExistsError - каталог не зарегистрирован в системе
  • Laximo::SoapInvalidRequestError - не верно сформирован запрос к web-сервису
  • Laximo::SoapUnknownCommandError - команда не известна
  • Laximo::SoapAccessDeniedError - доступ запрещен
  • Laximo::SoapNotSupportedError - функция не поддерживается каталогом
  • Laximo::SoapGroupIsNotSearchableError - поиск по группе запрещён, в связи с слишком большим количеством входящих в группу узлов
  • Laximo::SoapError - общая ошибка протокола SOAP
  • Laximo::SoapUnexpectedError - неизвестная ошибка сервиса
  • Laximo::SoapEmptyResponseError - пустой ответ сервера
res = Laximo.oem.get_filter_by_detail(catalog: 'AP1211', unit_id: '', detail_id: '', filter: '')
res.success? # false
res.error?   # true
res.error    # <Laximo::SoapInvalidParameterError: UnitId>
res.result   # []

Помимо перечисленного списка ошибок, в ответе могут быть возвращены стандартные ошибки библиотеки Net::HTTP и интерпретатора Ruby.

Лицензия

Автор: Tyralion

Список контрибьюторов

Copyright (c) 2015-2020 DansingBytes.ru, под лицензией BSD

About

Ruby-library for Laximo services

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages