Я пытаюсь написать приложение ruby on rails, которое отправляет элемент на eBay. У Cody Fauser / Garry Tan есть драгоценный камень под названием ebayApi, который построен поверх драгоценного камня ebay. Когда я пытаюсь опубликовать элемент, я получаю сообщение об ошибке от ebay, в котором говорится, что для этой категории требуется идентификатор условия. Я нашел категорию, которая не требует условия, и я могу опубликовать в этой категории. Просматривая документацию по API eBay, я обнаружил тег conditionID в классе "item". Однако в документации по ebayAPI такого тега нет. Оглядываясь назад на документацию по ebay API, можно найти более старый способ задания условия с использованием lookup_attributes. Я заметил, что возвращаемый xml поступает в API версии 745, а обновленный интерфейс ruby Гарри Гана работает под управлением версии 609. Я попытался использовать поиск и, похоже, получил ту же ошибку (условие требуется). Я использую следующий код для указания элемента:
@ebay = Ebay::Api.new :auth_token => @seller.ebay_token
item = Ebay::Types::Item.new( :primary_category => Ebay::Types::Category.new(:category_id => @ebayTemplate.categoryID),
:title => @ebayTemplate.name,
:description => @ebayTemplate.description,
:location => @ebayTemplate.location,
:start_price => Money.new((@ebayTemplate.startPrice*100).to_d, @ebayTemplate.currency),
:quantity => 1,
:listing_duration => @ebayTemplate.listingDuration,
:country => @ebayTemplate.country,
:currency => @ebayTemplate.currency,
:payment_methods => ['VisaMC', 'PayPal'],
:paypal_email_address => '********@gmail.com',
:dispatch_time_max => 3,
:lookup_attributes => [Ebay::Types::LookupAttribute.new( :name => "Condition", :value => "New")],
# :attribute_sets => [
# Ebay::Types::AttributeSet.new(
# :attribute_set_id => 2919,
# :attributes => [
# Ebay::Types::Attribute.new(
# :attribute_id => 10244,
# :values => [ Ebay::Types::Val.new(:value_id => 10425) ]
# )
# ]
# )
# ],
:shipping_details => Ebay::Types::ShippingDetails.new(
:shipping_service_options => [
# ShippingServiceOptions.new(
# :shipping_service_priority => 2, # Display priority in the listing
# :shipping_service => 'UPSNextDay',
# :shipping_service_cost => Money.new(1000, 'USD'),
# :shipping_surcharge => Money.new(299, 'USD')
# ),
Ebay::Types::ShippingServiceOptions.new(
:shipping_service_priority => 1, # Display priority in the listing
:shipping_service => @ebayTemplate.shipSvc,
:shipping_service_cost => Money.new((@ebayTemplate.shipSvcCost*100).to_d, @ebayTemplate.currency),
:shipping_surcharge => Money.new((@ebayTemplate.shipSurcharge*100).to_d, @ebayTemplate.currency)
)
],
:international_shipping_service_options => [
Ebay::Types::InternationalShippingServiceOptions.new(
:shipping_service => 'USPSPriorityMailInternational',
:shipping_service_cost => Money.new((@ebayTemplate.shipSvcCost*100).to_d, @ebayTemplate.currency),
:shipping_service_priority => 2,
:ship_to_location => @ebayTemplate.shipToLocation
)
]
),
:return_policy => Ebay::Types::ReturnPolicy.new (
:description => 'this product for suckers only!',
:returns_accepted_option => 'ReturnsAccepted'
)
#:condition_id => 1000
)
@response = @ebay.add_item(:item => item)
Как видите, это всего лишь мутация примера, приведенного Коди Фаузером. Условный идентификатор внизу вызовет ошибку, поскольку такого атрибута нет. Мне кажется, что в драгоценном камне нет возможности для этого, так как требование появилось после того, как драгоценный камень был создан. Я не смог найти никаких других драгоценных камней для связи с Ebay. Я также заметил, что на это очень мало жалоб, хотя люди все еще скачивают драгоценный камень (10 человек скачали его сегодня). Я думаю, что есть много людей, пишущих на Ebay. Есть ли ключевое слово, которое мне не хватает, чтобы указать условие? Работа вокруг, которую люди использовали? Еще один драгоценный камень, который я пропустил?