0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

eBayAdvent Calendar 2023

Day 9

ebay出品時のコンディション設定について

Last updated at Posted at 2023-11-25

コンディションについて

コンディションとはヤフオクで言う「新品」「中古」「可」など商品の状態を指すものであり、
eBayへ出品を行う際、一部のカテゴリを除き指定が必須となっています。

じゃあ指定すればいいだけの話じゃん。となりそうですが実はeBayのコンディションは
ヤフオクのようにどの商品でも共通しているわけではなくカテゴリによって
選択できるコンディションが異なっています。

例えば下表の赤枠は食品ですが、こちらは「New」しか選択できないのに対し
青枠のカメラ等は非常に多くのコンディションが選択できます。
スクリーンショット 2023-11-26 0.02.53.png
eBayドキュメントより抜粋

いちいちこんな表確認してらんねぇよ!というそこのあなた、
安心してください。 APIで取得できます。

カテゴリに沿ったコンディションの取得

使用するAPIはTrading APIのGetCategoryFeatures
このAPIではカテゴリIDといくつかのオプションを使用することで、
そのカテゴリで設定できるコンディションを確認することができます。

以下リクエスト例

        def client_opts
          { AllFeaturesForCategory: true,
            CategoryID: category_id,
            DetailLevel: 'ReturnAll',
            ViewAllNodes: true }
        end

※コンディションの取得は上記オプションが全て必須となります

リクエスト結果は以下の通り。
赤枠部分でカテゴリIDに沿ったコンディションIDとNewなどの表示名が取得できます。
スクリーンショット 2023-11-26 0.42.05.png

あとはこのレスポンスを配列に加工し、viewに渡してセレクトボックスなどで表示すればOK

listing.rb
  # カテゴリIDに沿ったconditionのリストを取得
  def get_category_condition_list(category_id)
    condition_list = []
    client = Ebay.trading.get_category_features(auth_token: ebay_auth_token)
    res = client.call(category_id)

    res.conditions.each do |condition|
      condition_list << [condition.css('DisplayName').text, condition.css('ID').text]
    end
    condition_list
  end

  private
  def conditions
    res.css('ConditionValues/Condition').map
  end
view.slim
= f.select :item_condition_id,
  options_for_select(@condition_list, nil),
  { include_blank: true },
  class: 'form-control'

その他

基本的に出品時のコンディション指定は必須ですが、
一部のカテゴリ(Digital Gift Cards Antiques など)についてはカテゴリの指定が不要です。

コンディションの要否についても先ほどのGetCategoryFeaturesで確認ができ、
disableの場合は設定が不要となります。
スクリーンショット 2023-11-26 1.31.08.png

コンディションの設定が不要な商品でも、
出品時にコンデイションID空欄でリクエストするとエラーになるので、
IDがある場合のみリクエストするようにしましょう。

余談

トレーディングカードカテゴリについては、
上述したコンディションとは異なる設定が必要になりますので、
こちらについては後日記事を書こうと思います。
スクリーンショット 2023-11-26 1.34.39.png
eBayドキュメントAdd_itemより抜粋

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?