Sell APP導入ガイド
eBay API の利用開始
概要
eBay API (Application Programming Interface) は、eBay のグローバルマーケットプレイス・プラットフォームへの入り口です。これを利用することで、eBay ビジネスを新たな領域へと拡大し、サードパーティプラットフォームとしての価値提案を拡張することが可能になります。20年以上にわたり、eBay Developers Program は開発者に強力な機能を提供し、開発者はそれを利用してユーザーのために素晴らしい売買体験を創出してきました。
eBay Developers Program では、プログラムのリソースを使用して、以下のツールやサービスを構築・提供できます。
- 出品 (Selling) — 出品の作成、在庫管理、注文後の処理
- 購入 (Buying) — 在庫の検索、チェックアウト、および入札タスクの管理
- 検索 (Searching) — eBay マーケットプレイスを検索するためのカスタマイズされたインターフェース
- アフィリエイト (Affiliate) — eBay の出品へトラフィックを誘導し、売上を生み出すツールを作成して手数料を獲得する(詳細は eBay Partner Network のドキュメントを参照)
- カスタマーサービス機能 — フィードバック管理、顧客とのコミュニケーション
- マーケティング (Marketing) — プロモーテッドリスティング、クーポン、割引、アイテムプロモーション
eBay Developers Program への参加は無料で、実質的にどのプログラミング言語でも eBay API と連携させることができます。RESTful (REST) および SOAP ベースの API に加え、ソフトウェア開発キット (SDK) も提供しています。C#、Java、Perl、PHP、Visual Basic、その他の言語でプログラミングを行い、包括的な技術ドキュメントと豊富なサンプルを活用してください。
まだ参加されていない場合は、eBay Developers Program について詳しく学ぶか、今すぐ登録してください。
eBay Developers Program への参加
eBay API を使用するための最初のステップは、eBay Developers Program に参加することです。
- 登録フォームに記入します。開発者アカウントの登録には、ビジネス用メールアドレスを使用してください。
- Re-enter email(メールアドレスの再入力)フィールドで、確認のためメールアドレスを再入力します。
- eBay API License Agreement(eBay API ライセンス契約)を読み、同意します。
- 「私はロボットではありません (I'm not a robot)」の認証を行います。
- Join(参加)を選択してフォームを送信します。アカウントの承認には約 1 営業日かかります。
開発者アカウントを取得したら、アカウントを設定し、eBay API キーセットを作成できます。
API ライセンス契約
eBay API の使用は、API License Agreement の条件に従うものとします。
- 目的: 本ガイドでは、API の機能とその重要性について簡潔に説明します。
- 前提条件: 作業を開始する前に必要なもの(例:開発者アカウント、API キー、言語、ライブラリ、IDE)を確認してください。
eBay API を理解する
API メソッドは通常、eBay ユーザーが eBay サイトまたはアプリケーション上で行う個別の活動に対応しています。各 API コールには明確な目的があり、アイテムが最初に出品されたとき、バイヤーが出品アイテムの購入を検討しているとき、またはセラーとバイヤーが注文を完了するときなど、出品ライフサイクルの特定の時点でのみ適用可能な場合があります。
eBay API と連携するために、PHP、.NET、Java、またはその他使い慣れたプログラミング言語を選択できます。また、これらの言語でのプログラミングタスクを容易にするソフトウェア開発キット (SDK) も用意しています。
eBay API を活用することで、アプリケーションは eBay のユーザーインターフェースとは独立して動作できます。eBay のユーザーインターフェースが変更されるたびにアプリケーションを変更する必要はなく、eBay と同じ方法でデータを表示する必要もありません。eBay 対応アプリケーションは、ユーザーのニーズに最適な独自の方法でデータを表示できます。
eBay API は eBay マーケットプレイスへのプログラムによるアクセスを提供し、eBay マーケットプレイスを新しい方法で活用するカスタムアプリケーション、ツール、サービスの構築を可能にします。eBay API を使用すると、eBay サイト、eBay モバイルアプリケーション、またはその他の eBay ツールで実行できる操作の多くを実行するアプリケーションを作成できます。
eBay Developers Program は、eBay の力を活用した革新的なソリューションを作成するために、以下の API を提供しています。
-
Sell APIs — プロのセラーによる eBay での販売活動を支援する、エンドツーエンドの販売アプリケーションを作成します。アカウント設定の構成や eBay への在庫出品から、出品のマーケティングやセラーパフォーマンスのレポートまで、Sell API はセラーが eBay でビジネスを拡大できるようにするアプリケーションの作成を支援します。これらの API は、適切な eBay カテゴリの特定、eBay カタログ内の製品検索、ユーザーアカウントプロファイル情報の取得など、一般的な商取引活動に関連する主要機能もカバーしています。
注: Traditional APIs — 上記の RESTful API で使用したい機能が利用できない場合は、これらの従来の SOAP ベース API の機能を検討してください。RESTful API の改善と新規作成に伴い、これらの Traditional API は段階的に廃止されています。そのため、Traditional API の使用を決定する前に慎重に検討してください。
- Buy APIs — これらのターンキーソリューションを使用して、アプリケーションや Web サイトで購入体験を作成します。eBay サイトにアクセスすることなく、購入可能なアイテムの取得、チェックアウト、注文の追跡を行います。
- Developer APIs — API 統合に関する洞察を得ます。
最新の Buy API および Sell API は、バイヤーとセラーに商取引ワークフロー全体でシームレスでつながりのある体験を提供するアプリケーションを構築できる、強力な技術と機能を提供します。
eBay マーケットプレイスを理解する
世界中に多数の eBay マーケットプレイスが存在します。アプリケーションを複数の eBay マーケットプレイスと連携させたい場合は、これらのマーケットプレイスがどのように機能するかを理解することが重要です。
- セラーは同じアイテムを複数のマーケットプレイスに出品して、より多くのオーディエンスにアイテムを提供できます。場合によっては、セラーがそのマーケットプレイスの国への配送を希望している限り、eBay は自動的に同じ出品を複数のマーケットプレイスに公開します(海外販売の詳細については eBay ヘルプを参照)。
- バイヤーの視点からは、閲覧している出品のほとんどは、そのマーケットプレイスで作成されたものである可能性が高いです。ただし、eBay がバイヤーのマーケットプレイス上で他のマーケットプレイスで作成された出品を表示している場合もあり、それらを目にすることもあります。
- 価格/通貨については、eBay はバイヤーが出品を閲覧しているマーケットプレイスの通貨に換算します。たとえば、eBay US のセラーが UK マーケットプレイスに出品したアイテムをバイヤーが閲覧している場合、セラーが US ドルで出品していても、バイヤーには英ポンドに換算された価格が表示されます。この通貨換算は eBay によって自動的に行われ、セラーやアプリケーションが行う必要はありません。
- マーケットプレイス間の一般的な違いは、利用可能な在庫と、使用される通貨および言語です。すべての API スキーマ要素は英語ですが、一部のフィールドの値は eBay マーケットプレイスの国の現地語で返されます。場合によっては、言語関連のヘッダーを使用して、一部のフィールド値を指定した言語にローカライズできます。
eBay は各 eBay マーケットプレイスに対して事前定義されたサイト識別子(Site ID)を使用します。作業している eBay マーケットプレイスを指定するために、サイト識別子を入力する必要がある場合があります。API コールに応じて、これらの ID は HTTP ヘッダー、パスまたはクエリパラメータ、あるいはリクエストペイロードを通じて渡されます。
サイト ID の完全なリストについては、公式ドキュメント(RESTful API の場合は Marketplace ID values、Traditional SOAP/XML API の場合は SiteCodeType)を参照してください。
これらの ID を使用して eBay マーケットプレイスを設定する方法の詳細については、公式ドキュメント(RESTful API の場合は HTTP request headers、Traditional SOAP/XML API の場合は Specify the target site)を参照してください。
Sandbox 環境と Production 環境を理解する
eBay Developers Program のメンバーとして、以下の2つの環境で作業することになります。
| 環境 | 説明 |
|---|---|
| Sandbox (サンドボックス) | 実際の eBay ユーザー、実際の eBay 出品、または実際の資金に影響を与えることなくアプリケーションをテストできる、自己完結型の仮想テスト環境です。アプリケーションを開発する際、Production(本番)環境で取引を行う前に、eBay での売買に関連するさまざまなタスクをシミュレートして Sandbox で機能をテストする必要があります。Sandbox で出品および販売されたアイテムは実際の取引ではなく、すべての出品手数料とアイテムの購入は架空の資金で支払われます。 |
| Production (本番環境) | eBay 対応アプリケーションが、実際の eBay ユーザー、出品、および取引を含む eBay マーケットプレイスに実際のデータを送信するライブ環境です。ブラウザまたは eBay モバイルアプリケーションを通じて eBay マーケットプレイスを閲覧している eBay ユーザーは、Production 環境のデータを見ています。アプリケーションは、本番稼働後にこの環境で実行されます。 |
Sandbox の利点
Sandbox でのテストには以下の利点があります。
-
Production で実行する前に、eBay API ルーチンを完全にテストおよびデバッグできます。コールを行って関数呼び出しを実験し、新しいルーチンのプロトタイプを作成し、アプリケーションのビジネスロジックをテストします。
重要! Sandbox を eBay サービスのパフォーマンスや負荷処理のテストに使用しないでください。大量のコールを行うと、アカウントの利用が停止される可能性があります。
- 実際の資金を使用せずに、購入、販売、および販売後のワークフローをテストできます。
- eBay に実際の手数料を支払うことなく、また実際のバイヤーに実際のアイテムを配送する義務なしに、アイテムを出品および再出品できます。
- eBay API へのリクエストによって生成された模擬 eBay 取引が、実際の eBay 出品、ユーザーアカウント、または銀行口座に触れることなくどのように処理されるかを監視できます。
検索機能やメタデータコールのテストには Production を使用することをお勧めします。
ユーザーアカウントを理解する
以下の表は、各アカウントの違いの概要を示しています。これらのアカウントは独立しており、サイト間で相互運用はできません。
| アカウント | 使用者 | 使用されるサイト | アカウントの取得場所 |
|---|---|---|---|
| eBay ユーザーアカウント | eBay メンバー (バイヤーまたはセラー) | eBay US および対応する国際サイト | eBay 登録ページ (eBay US サイトの場合) |
| eBay Developers Program アカウント | 開発者 | eBay Developers Program | eBay Developers Program 登録ページ |
| eBay Sandbox ユーザーアカウント | テストユーザー (テストバイヤーまたはセラー) | eBay Sandbox UI | 「Sandbox テストユーザーの作成」を参照 |
アプリケーションキーセットを理解する
eBay は、どのアプリケーションがコールを行っているかを識別するために、「アプリケーションキーセット」と呼ばれる一意の識別子を使用します。アプリケーションキーセットはアプリケーションの資格情報として機能し、API コールを行うために必要です。
- Application ID/Client ID — アプリケーションを一意に識別します。変更できません。
- Dev ID — 開発者プロファイルを一意に識別します。変更できません。
- Cert ID/Client Secret — このキーセットのパスワードのようなクライアントシークレットで、機密として保持する必要があります。リセット可能です。
Sandbox 環境と Production 環境用に別々のキーセットを作成できます。
Cert ID のリセット
アプリケーションの Cert ID は、キーセットのパスワードのようなものです。キーセットが侵害されたと思われる場合は、いつでも Cert ID を変更できます。新しい Cert ID を作成しても、アプリケーション用にすでに作成されている既存のユーザートークンには影響しません。
新しい Cert ID を生成すると、指定した猶予期間の終了時に古い Cert ID が期限切れになります。
- 猶予期間は 0(即時期限切れ)から 4000 日の間の値にすることができます。会社のセキュリティ基準で常に 2 つの Cert ID を利用可能にしておく必要がある場合は 4000 を使用してください。これにより、eBay Developers ポータルにサインインすることなく、必要に応じて切り替えることができます。
- 一般的な猶予期間は 30 ~ 90 日です。猶予期間中は両方の Cert ID が有効であるため、アプリケーションの変更を展開し、必要に応じて古いトークンを取り消すことができます。
- 新しい Cert ID を使用して、古い ID で作成したユーザートークンを取り消すことはできません。古いトークンを取り消す予定がある場合は、古い Cert ID が期限切れになる前に必ず行ってください。
- ユースケースの説明: 本ガイドでは、特定のユースケース(例:決済システムの統合、製品データの取得など)への対応について説明します。
- なぜこのユースケースなのか?: この特定のユースケースの重要性と利点について理解を深めます。
eBay API キーセットの作成と Sandbox ユーザーの作成
eBay API を使用するには、キーセットを作成する必要があります。アプリケーションの機能や動作をテスト実行するには、Sandbox ユーザーを作成します。
eBay API キーセットの作成
アプリケーションを Sandbox または Production 環境で実行するには、その環境に適したキーセットが必要です。
- eBay Developers Program アカウントにサインインします。
- Application Keys ページに移動します。
- アプリケーション名を入力します。Sandbox または Production の下で、Create a keyset(キーセットの作成)を選択します。
キーセットは、Application Keys ページおよび My Account ダッシュボードに表示されます。
各アプリケーションキーセットには一連のスコープが割り当てられ、各スコープはアプリケーションに異なる API メソッド、リソース、および機能へのアクセス権を与えます。
別のアプリケーション用に追加のキーセットをリクエストするには、Request another keyset を使用します。これは、既存のアプリケーションの代替キーセットではなく、異なるアプリケーション用に追加のキーセットが必要な場合に使用します。
Sandbox ユーザーの作成
アプリケーションを Production で実行する前に、アプリケーションが意図したとおりにエラーなく動作することを確認するために、Sandbox で機能や動作を完全にテストすることをお勧めします。
Sandbox テストユーザーは、Sandbox 環境にのみ存在する仮想 eBay アカウントです。これらのアカウントは、アプリケーションをテストする際に作成する模擬取引を実行するユーザーを表します。
eBay テストユーザーアカウントを作成するには:
- eBay Developers Program アカウントにサインインします。
- 任意の eBay 開発者ページから、Develop > Tools > eBay Sandbox > Create Test Users を選択します。
- Register for Sandbox ページで、フォームに入力します。
以下の表は、フォームで入力が必要な各フィールドの制約と要件について説明しています。
| フィールド | 説明 |
|---|---|
| Username |
すべての Sandbox ユーザー名の先頭には TESTUSER_ が付きます。これは変更できません。ユーザー名の残りの部分を入力してください。ヒント:模擬取引でユーザーが果たす役割を覚えやすいユーザー名を作成してください。たとえば、TESTUSER_buyer-Bob や TESTUSER_Sam-seller などにすると、誰が Sandbox にサインインしているか、テスト中にそのユーザーがどのアクションを完了すべきかを追跡しやすくなります。
|
| 各テストユーザーには一意のメールアドレスが必要です。メールアドレスがすでに別のテストユーザーによって使用されている場合、登録は失敗します。 | |
| Password |
パスワードを入力します。8 ~ 64 文字を使用し、少なくとも 1 つの文字、少なくとも 1 つの数字、および以下のサポートされている記号の少なくとも 1 つを含めてください: ! @ # $ % ^ * - _ + =
|
| First Name / Last Name | 名前は架空のものでかまいません。 |
| Feedback score / Registration date / Registration site | 必要に応じて、デフォルト値を変更します。これらのフィールドのヘルプについては、フィールドの横にある情報アイコンを選択してください。Registration site の値はテストを行う eBay サイトと一致している必要がありますが、国境を越えた取引や国際配送をテストしたい場合は、他の国のテストユーザーで実験することもできます。 |
- ユーザー契約と API ライセンス契約を読み、Register を選択します。
- このプロセスを繰り返してさらに Sandbox テストユーザーを作成し、各ユーザー名とパスワードを必要に応じてアクセスできる場所に保存します。
テストユーザーとの作業に関するヒント
作成する必要があるテストユーザーの数は、アプリケーションでテストする予定のワークフローによって異なります。取引にはバイヤーとセラーの両方がいるため、ほとんどのフローをテストするには、少なくとも 1 人のセラーと 1 人のバイヤーを作成する必要があります。eBay ではセラーが自身の出品に入札または購入を行うことを禁止しており、このルールは Sandbox にも適用されるため、両方が必要です。
複数個数の固定価格出品やオークション出品、および複数のバイヤー間の競争入札をテストする場合は、少なくとも 1 人のセラーと少なくとも 2 人のバイヤーを作成してください。
アプリケーションがセラーにサービスを提供する機能(入札や購入のないアイテムの出品のみなど)しか提供しない場合でも、バイヤーのアクションの影響をテストして、Production 環境で発生する可能性のあるすべての対話をアプリケーションが処理できるようにする必要があります。以下のような典型的なシナリオについてアプリケーションをテストすることをお勧めします。
- ユーザーが入札を行う
- ユーザーがオークションを落札する
- 送料の計算
- 未払い落札者の処理
- 注文の作成
ユースケースに適した API を見つける
おそらく、アプリケーションに対する特定のビジネスニーズをすでに念頭に置いていることでしょう。あるいは、特定の種類のアプリケーションを念頭に置かずに eコマースアプリケーション開発に新規参入しようとしているかもしれません。アプリケーション開発を始める前に、関連するガイドやリファレンスドキュメントを含む利用可能な eBay API を調査して、利用可能な機能をより明確に理解することをお勧めします。
- eBay で在庫を販売する — Sell API
- ユーザーが Web サイトを離れることなく eBay アイテムを購入できるようにする — Buy API
API Explorer を使用して API を試す
API Explorer は、Sandbox および Production 環境でほとんどの eBay API メソッドのサンプルコールを実行できるツールです。
API Explorer を使用するには、開発者アカウントにサインインする必要があります。
サンプルコールを実行するには、以下のプロセスを完了してください。
ステップ 1: API Explorer にアクセスし、テストしたいメソッドを選択する
- eBay Developers アカウントにサインインします。
- API Explorer に移動します。
-
API Explorer の左側で、以下を選択します。
-
コールを実行する環境(Environment)。その環境のアプリケーションキーセットが Environment の下のボックスに表示されます。ボックスが空の場合、API Explorer を使用する前に、選択した環境(Sandbox または Production)のキーセットを作成する必要があります。
重要! コールで(アプリケーションアクセストークンではなく)ユーザーアクセストークンを使用する場合は、必ずリンクを使用してユーザーアクセストークンを生成してください。これにより、(コールの対象となる)eBay ユーザーは同意フローを経ることになります。
-
ターゲットとする Site ID(マーケットプレイス)。これにより、
X-EBAY-C-MARKETPLACE-IDヘッダー(RESTful)またはX-EBAY-API-SITEIDヘッダー(Trading)にこの値が設定されます。たとえば、(101) Italy を選択すると、ヘッダー値としてX-EBAY-C-MARKETPLACE-ID:EBAY_ITが取得されます。重要! 一部の API やメソッドは、特定のユーザーおよび/または特定のマーケットプレイスに制限されています。各 API の制限の詳細については、その API の概要ページを参照してください。 - 使用したい API。選択した API の詳細については、API Documentation を選択してください。
- テストしたい API コール。選択したコールの詳細については、API Call Documentation を選択してください。
-
コールを実行する環境(Environment)。その環境のアプリケーションキーセットが Environment の下のボックスに表示されます。ボックスが空の場合、API Explorer を使用する前に、選択した環境(Sandbox または Production)のキーセットを作成する必要があります。
ステップ 2: コールの承認
eBay API へのすべてのコールと同様に、API Explorer を通じて行うコールも承認される必要があります。
ほぼすべてのメソッドは OAuth アクセストークンで動作し、これが推奨される承認のタイプです。Traditional API では Auth'n'Auth アクセストークンもまだ利用可能です。
必要な OAuth アクセストークンのタイプは、選択した API コールによって異なります。実行される操作に eBay ユーザーの ID が必要な場合は、ユーザーアクセストークンが必要です。いずれにせよ、すべてのアクセストークンは短期間で期限切れになります。
アプリケーションアクセストークンが必要な場合は、Get OAuth Application Token を選択します。トークンが生成され、Token ボックスに追加されます。
ユーザーアクセストークンが必要な場合:
- Get OAuth User Token を選択して、選択した環境の eBay サインインページに移動します。
- ユーザー同意 Web フローを完了して、アプリケーションがユーザーに代わって行動することを承認します。
-
同意が得られたら:
- OAuth の場合、ユーザーアクセストークンが Token ボックスに追加されます。
- Auth'n'Auth の場合、新しいブラウザタブが開きます。そのタブからトークン値をコピーして Token ボックスに貼り付けます。
ステップ 3: リクエストの構成
-
API Explorer の右側で、Samples を選択して、選択したコールで使用可能な構成済みサンプルのリストを表示し、1 つ選択します。
-
選択したサンプルを編集して、リクエストのあらゆる側面を構成します。
eBay API の多くのメソッドは順次的な性質を持っており、多くの必要な識別子は各 eBay ユーザーに固有のものであるため、構成済みサンプルの多くは、コールを行う前にリクエストを構成する必要があります。
たとえば、
GET /fulfillment_policy/{fulfillmentPolicyId}を使用して配送ポリシーの詳細を取得しようとしている場合、検査したい独自のポリシーのfulfillmentPolicyIdを指定する必要があります。-
選択したサンプルのエンドポイントを確認し、URL 内の波括弧 (
{ }) や山括弧 (< >) などのプレースホルダーに有効な値を指定していることを確認します。 - 呼び出しているメソッドがクエリパラメータを使用している場合、テストしたい内容に基づいてこれらのクエリパラメータを設定およびカスタマイズします。クエリパラメータを持つメソッドには複数のサンプルが提供されることが多く、これらのサンプルはパラメータを使用する際の適切な構文を示しています。
-
メソッドがリクエストボディを使用する場合は、サンプルリクエスト内の変数を有効な値に置き換えます。変数のプレースホルダーは、多くの場合、波括弧 (
{ }) または山括弧 (< >) 内に配置された変数名として示されます。括弧やブレースを含めた文字列全体を、テストコールで使用したい値に置き換えます。
-
選択したサンプルのエンドポイントを確認し、URL 内の波括弧 (
ステップ 4: リクエストの実行
-
以下のリクエストパラメータとペイロードが正しく設定されていることを確認します。
- トークン (Token)
- URI
- リクエストペイロード (該当する場合)
- HTTP ヘッダー
- Execute(実行)を選択します。
リクエストが成功した場合、Call Response セクションには、期待される応答ペイロードが JSON(RESTful API)または XML(Traditional API)形式で表示されます。
リクエストが失敗した場合、または部分的にしか成功しなかった場合は、リクエストに関する 1 つ以上の問題を特定する errors 配列(RESTful API の場合)または errors コンテナ(Traditional API の場合)が含まれます。一部のメソッドは HTTP ステータスコードのみを返し、それに関連付けられた応答ペイロードがないことに注意してください。
-
テキストベースのチュートリアル:
- ユースケースを実装する方法の詳細な手順を確認できます。
- API エンドポイント、リクエストタイプ (GET/POST/PUT/DELETE)、および期待される応答が強調表示されています。
-
ビデオチュートリアル (オプション):
- API での認証 (例:API キーの取得) について学べます。
- 画面共有などを通じて主要な手順を解説します。
eBay OpenAPI 仕様、SDK、ウィジェット、WSDL の使用
eBay OpenAPI 仕様
OpenAPI Specification (OAS) は、すべての RESTful パブリック API で利用可能です。eBay API の OpenAPI 契約をダウンロードし、40 以上のサポートされているプログラミング言語のいずれかでクライアントを生成して、数分で eBay API を正常に呼び出すことができます。詳細については、OpenAPI カバレッジに関する最新情報を参照してください。
eBay SDK、ウィジェット、WSDL
SDK、ウィジェット、WSDL を調べて、アプリケーション開発を容易にする方法を学びましょう。
eBay API 用 SDK
SDK (ソフトウェア開発キット) は、アプリケーション開発をより簡単かつ効率的にするように設計されています。SDK は、すでにお使いの言語での一般的なプログラミングタスクのための、コーディング済みのソリューションを含むダウンロード可能なキットです。
SDK は、エラー処理やコールの再試行など、いくつかの一般的なプログラミングタスクを簡素化するのに役立ちます。すべての eBay SDK については、公式ドキュメントをご覧ください。
カスタマイズ可能なウィジェット
eBay ウィジェットは、eBay API を利用したカスタマイズ可能で再利用可能なコンポーネントであり、特定の機能をアプリケーションに簡単に追加できるようにします。
クライアントスタブを作成するための WSDL
すべての RESTful API にダウンロード可能な OAS 契約があるのと同様に、すべての Traditional API には、ユーザーが API コールを開始するのに役立つ XML ベースの WSDL が用意されています。各 API の WSDL の場所は、その API ドキュメントセットの「Making a Call(コールの実行)」ページにあります。Trading API については、最新の WSDL をダウンロードしてください。
WSDL プルーナーツール (WSDL Pruner) を使用して eBay Trading WSDL のコピーをプルーニング(不要部分の削除・最適化)し、WSDL の運用サイズを縮小できます。
サポートを受ける
eBay Developers Program は、提供されるサポートの理解、サポートの有効化方法、サポートリクエストの送信方法など、開発プロセスを通じて役立ついくつかのサポートオプションを提供しています。
開発者アカウントサポートの有効化
サポートを有効にすると、eBay Developer Technical Support (DTS) チームとやり取りできるようになります。アカウントサポートを受けたり、アプリケーション成長チェックを申請したりする前に、少なくとも 1 つの連絡先についてサポートを有効にする必要があります。
開発者サポートを有効にするには:
- Developer アカウントにログインし、Profile & Contacts ページに移動します。
- Primary Contact(主な連絡先)セクションで、名前、メールアドレス、電話番号、国が入力されていることを確認します。入力されていない場合は、Edit を選択してこれらのフィールドに入力し、Save を選択します。
- Edit を選択します。
- Activate Support を選択します。
API の更新
API Updates ページを頻繁にチェックして、API 製品の更新や発表に関連する記事、重要な通知を知らせるサイトバナー、すべての eBay API のリリースノート、廃止予定の API メソッドや機能のリスト、ニュースレター、ブログを確認してください。
Developers Community Forum
eBay Developer Forums を使用して、eBay 開発者コミュニティと交流し、質問をしてください。フォーラムは、Buying(購入)、Selling(販売)、Search(検索)などのさまざまなカテゴリに分かれており、特定の API に焦点を当てたフォーラムも含まれています。eBay 開発者フォーラムへの参加は無料です。
Developer Technical Support
正式な eBay サポートは、Developer Technical Support チームから提供されます。Developer Technical Support とやり取りするには、アクティブなサポートを持つ登録済みの eBay 開発者である必要があります。アプリケーションのデバッグ能力を使い果たした場合、または eBay インターフェースのバグに遭遇したと思われる場合は、Developer Technical Support に連絡して助けを求めることができます。
サポートリクエストの作成
サポートリクエストを作成するには、Developer Technical Support ページの AI-Assisted Support タブに移動し、AI 支援サポート機能を使用してチケットを作成してください。
その他のヘルプリソース
eBay アプリケーション開発を直接サポートするリソースに加えて、以下のリソースは豊富な eBay 機能セットに関する詳細を提供します。
- eBay Buying Customer Service Help pages — 入札の仕組み、支払い、配送とアイテムの追跡、購入の管理、セラーとのやり取りなど、購入に関する情報を提供するビジネスサポートページ
- eBay Seller Center — 出品とマーケティング、ストアの運営、配送、サービスと支払いに関する情報をセラーに提供するビジネスサポートページ
- eBay Customer Service Help — eBay の主要なカスタマーサポートページ
- eBay Policy Index — eBay の購入および販売ポリシーのインデックスページ
- eBay Motors Support — eBay Motors のビジネスサポートページ
アプリケーションのセキュリティ確保
アプリケーションを開発する際は、セキュリティを意識する必要があります。アプリケーションは、次のようなデータを要求、参照、またはその他の方法で使用することがよくあります。
- クレジットカードまたはその他の支払い資格情報および情報
- 名前、住所(メールおよび物理的な住所)、電話番号などのユーザーの個人識別情報
- アプリケーションの資格情報とトークン
- 注文規模、販売データ、および競合他社や他の企業によって悪用される可能性のあるその他の情報などのビジネスインテリジェンスデータ
アプリケーション開発者として、ユーザーのデータとアカウントを保護する責任があります。OWASP セキュアコーディング原則(または OWASP Cheat Sheet)に従い、OWASP Top 10 Most Critical Web Application Security Risks(OWASP 最も重大な Web アプリケーションセキュリティリスク トップ10)に対処することが期待されます。
以下のサブセクションでは、お客様とお客様のアプリケーションに期待される、または従うべき一般的に優れたセキュリティプラクティスである eBay 固有のアクションについて説明します。
資格情報とトークンの管理
- eBay でのユーザー認証を実行するには、eBay が提供する安全で認証されたサービスを使用することが期待されます。
- サインイン資格情報が侵害された疑いがある場合は、パスワードをリセットするようユーザーに促してください。
- 定期的に Cert ID(クライアントシークレット)をリセットし、Cert ID の漏洩があった場合は、eBay Developer Technical Support にアクティブなトークンの取り消しを依頼してください。アクティブなトークンは、リセット後もかなりの期間存在する可能性があります。
- eBay 社員を含む誰に対しても、Cert ID をメールで送信しないでください。
認証と認可
- 複雑なパスワードポリシーを強制し、アンチオートメーション(自動化対策)を使用してクレデンシャルスタッフィング攻撃(リスト型攻撃)を回避してください。
- 2FA / MFA を含む強力な認証メカニズムの使用を推奨します。
- アプリケーションのクライアント側とサーバー側の両方で入力検証を要求してください。
- デフォルトで最小特権を持つロールベースのアクセス制御を使用してください。
セッション管理
- ログアウトまたはタイムアウトが成功したら、サーバー側とクライアント側の両方でセッション識別子を無効にしてください。
- 認証が成功した後は、常に新しいセッション ID を割り当ててください。
- Cookie ベースのセッションの場合、機密情報が Cookie に追加されないようにしてください。代わりに、常にランダムなセッション ID を使用し、適切な Cookie セキュリティが守られていることを確認してください。
データ保護
- 転送中または保存中のすべての機密データを暗号化またはハッシュ化してください。
- NIST 推奨の強力な暗号化アルゴリズムを使用していることを確認してください。
通信と HTTPS
- データ、特に PCI データは常に HTTPS 経由で送信してください。
- すべての機密データの読み書きを HTTPS 経由で実行してください。
- 脆弱な SSL 実装を使用しないでください。最新のプロトコル、暗号、証明書を使用した強力な構成を使用してください。
- GET リクエストからすべての機密データを削除してください。更新/削除操作には他の HTTP メソッドを使用してください。
- HSTS セキュリティヘッダーを使用して、HTTPS の厳格な運用(衛生管理)を維持してください。
セキュリティのベストプラクティス
- アプリケーションの定期的なセキュリティ評価を実施し、すべてのセキュリティ問題を修正してください。
- ボリューム攻撃(大量アクセス攻撃)を防ぐために、機密性の高いページや頻繁に使用されるフロントエンドページのレート制限を確保してください。
- すべてのユーザー入力が検証され、出力がコンテキストに基づいて適切にエンコードされていることを確認してください。
- サーバーが使用されている情報技術やバージョン情報を開示しないようにしてください。
- エラー、スタックトレース、デバッグ情報を Web ページ上でユーザーに表示しないでください。
- アプリケーションログおよびシステムログに機密情報が記録されないようにしてください。
ベストプラクティス
アプリケーションを開発する際、以下のプラクティスに従うことをお勧めします。
- 既存のトークンを使用する: 新しいトークンを作成する代わりに、既存の有効なアクセストークンを使用してください。
-
最新の RESTful API を使用する: アプリケーションを開発する際は、最新の RESTful API を使用してください。いくつかの利点は以下のとおりです。
- HTTP は広く使用されているため、HTTP リクエストとレスポンスの送受信に多くの帯域幅を必要としません。
- JSON および URL アドレッシングプロトコルが使用されるため、このタイプのすべての API が同じ学習しやすいインターフェース形式を持っており、アプリケーションの立ち上げに必要な作業が最小限に抑えられます。
- データのキャッシュ: API コールを効率的に使用するために、データをローカルにキャッシュし、重複するデータを何度も取得しないようにしてください。
-
API 固有のベストプラクティスに従う: 各コールに対して eBay が定義するベストプラクティス(ある場合)に従ってください。たとえば:
- より多くのデータを返すコールを使用する: 一部の API には、同様のサービスを提供する複数のコールが含まれています。より多くのデータを返すコールを使用すると、必要なコール数が減り、アプリケーションがより効率的になります。
- 増分更新の使用: カテゴリ情報の取得など、大きな結果セットを返すコールの場合、データに履歴情報や頻繁に変更されない情報が含まれているときは、最初にすべてのデータを保存し、その後フィルターを使用して増分更新のみを取得することをお勧めします。
- 通知の購読: 注文取得コールの数と頻度を減らすために、注文関連のプラットフォーム通知を購読してください。たとえば、固定価格の出品が売上を上げたときやオークション出品が終了したときに、eBay から通知を送信できます。
- Sandbox でのテスト: アプリケーションは必ず Sandbox でテストしてください。
- エラー処理: すべてのアプリケーションと同様に、アプリケーションには少なくとも基本的なエラー処理を実装する必要があります。
-
柔軟性と最新情報の維持: アプリケーションに柔軟性を持たせ、API 固有のリリースノートで最新情報を入手してください。
特定の時点で API の複数のバージョンをサポートしているため、eBay Web サイトに加えられた変更に適応するための時間的余裕があります。API の新しいバージョンが出るたびにアップグレードする必要はありませんが、現在使用している機能に対する新機能や変更に興味があるかもしれません。また、古い機能のサポートも制限しています。定期的に API リリースノートと API Updates をチェックして最新の状態を維持してください。 -
販売手数料の理解: 出品関連の手数料がいつ請求されるかを理解してください。
UI、ツール、またはモバイルアプリケーションを通じてセラーがアイテムを出品する際に適用されるすべての販売手数料は、アプリケーションが API を通じてアイテムを出品する場合にも適用されます。追加の手数料が請求される場合、ユーザーに通知するようにアプリケーションを設計することをお勧めします。Trading API を使用している場合は、アイテムの追加、修正、再出品コールの代わりに「verify(検証)」コールの使用を検討してください。Verify コールは同じ検証を提供しますが、実際にアイテムを公開、更新、または再出品することはありません。そのため、同じエラーや警告を返し、出品が公開、更新、または再出品された場合にセラーに請求される適用可能な手数料も表示します。 - Sign-in with eBay の提供: 優れたユーザー体験を作成するために、eBay でのサインイン (Sign-in with eBay) オプションの提供を検討してください。
アプリケーション成長チェックのリクエスト
アプリケーション成長チェック(Application Growth Check)は、eBay Developers Program がメンバーに提供する無料のサービスです。アプリケーション成長チェックプロセスでは、すべての新しいアプリケーションについて、アプリケーション成長チェックの要件に準拠しているかどうかを、お客様の費用負担なしで厳密に審査します。
以下の場合、アプリケーション成長チェックのリクエストが必要です。
- アプリケーションの API コール制限を増やす場合
- Production 環境で制限された API を使用する場合
以下は、アプリケーション成長チェックのリクエストを送信する前に確認すべきいくつかの役立つ推奨事項です。
- アプリケーションの準備状況 — アプリケーション成長チェックの要件に準拠していることを確認するためにテストできる、動作するアプリケーションが必要です。アプリケーションを作成する際は、必ず以下のガイドラインに従ってください。
-
API ライセンスと eBay ポリシー — アプリケーションが以下に準拠していることを確認してください。
-
eBay API License Agreement(eBay API ライセンス契約)。これには、アプリケーションが以下のことをどのように行うかが含まれますが、これらに限定されません。
- 特定の eBay ユーザー、eBay ユーザーのグループ、または eBay ユーザーの種類に関連する統計情報またはその他の情報を収集する。
- コンバージョン率、完了率、または成功率を導き出す。ただし、その情報がアプリケーションにログインしているユーザーに固有のものであり、そのユーザーにのみ表示される場合を除く。
- 他のユーザーの最低落札価格を推定または表示する。
- 特定の機能や強化機能を持つ出品の販売率や活動率を導き出す。ただし、その情報がアプリケーションにログインしているユーザーによって作成された出品に固有のものであり、そのユーザーのビュー専用である場合を除く。
- ユーザーの非公開プロフィールや詳細なフィードバック情報を表示する。ただし、その情報がアプリケーションにログインしているユーザーに固有のものであり、そのユーザーにのみ表示される場合を除く。
- eBay に関する統計データを収集する。
- 任意の eBay カテゴリの平均販売価格または総流通総額(GMV)を導き出す。
- eBay Site Policies(eBay サイトポリシー)
- 消費者保護法およびプライバシー法
- eBay User Agreement(eBay ユーザー契約)
- eBay User Privacy Notice(ユーザープライバシー通知)
-
eBay API License Agreement(eBay API ライセンス契約)。これには、アプリケーションが以下のことをどのように行うかが含まれますが、これらに限定されません。
-
技術的なベストプラクティス — アプリケーションが以下を行っていることを確認してください。
- OWASP セキュアコーディング原則に従う。OWASP "Top Ten" で Web アプリケーションの脆弱性とそれらから保護する方法について学んでください。
- UTF-8 エンコードスキームを使用する(ISO-8859-1 ではない)。
- API の最新バージョンを使用する。API ドキュメントに移動し、使用している API のリリースノートを表示して最新バージョンを見つけてください。情報を送信する際に、アプリケーションが使用している各 API のバージョンを指定する必要があります。
- エラーを適切に処理し、再試行を正しく実装する。特に、インフラストラクチャエラーの場合は最大 2 回まで再試行を実装してください。コールから返されるエラーには、エンドユーザーとアプリケーションの両方に対する有用な詳細と指示を含める必要があります。
- 必要な量の情報のみを要求することで返されるデータ量を制限し、必要以上に頻繁にコールを行わないようにする。eBay は、任意のコールに対するアプリケーションのポーリング頻度を制限する権利を留保します。この種の制限は通常、アプリケーションが eBay サイトに運用上の悪影響を与えていると eBay が判断した場合に発生します。
- 顧客から eBay のユーザー名とパスワードを収集しない。ユーザー認証を必要とする API を使用する場合(一部の API は必要ありません)、ユーザーアクセストークンを取得する必要があります。RESTful API の場合は OAuth トークン、Traditional API の場合は OAuth または Auth'n'Auth トークンです。
- ページごとに返されるアイテム数が変更された場合に適切に回復する。一部のコールは、単一のコールへの応答として複数のアイテムを返します。eBay は、ページごとに返されるアイテムの最大数を変更する権利を留保します。
- Web アプリケーションの場合: eBay サーバーによって提供される eBay Web ページを iFrame に配置しないこと。
- デスクトップアプリケーションの場合: 埋め込みブラウザを備え、アプリケーションが eBay サーバーによって提供される eBay Web ページを表示する場合、アプリケーションはそのページの完全な URL を表示すること。
- 検索アプリケーションの場合: Buy API または Finding API を使用すること。
アプリケーション成長チェックの申請
- アプリケーション成長チェックのチェックリストにあるすべての項目を完了していることを確認します。
- まだ行っていない場合は、開発者アカウントサポートの有効化を行ってください。
- MyAccount で、App Growth Check タブに移動します。
- アプリケーション内の各 API コールについて、1 時間あたりおよび 1 日あたりの両方の推定コールピークを含む、アプリケーション成長チェックフォームのすべての質問に対する回答をプレビューおよび準備します。
-
フォームに入力し、赤いアスタリスクが付いたすべての必須フィールドに入力します。
- フィールドに関する詳細情報が必要な場合は、フィールドの横にある情報記号にカーソルを合わせます。
- Save as Draft を選択すると、いつでも進行状況を保存して中断できます。
- 完了したら、Submit を選択します。
アプリケーション成長チェックを使用して制限された API へのアクセスを取得する
Production 環境で制限された API を使用したい場合は、アプリケーション成長チェックをリクエストする必要があります。チェックは、Production キーセットが制限された API にアクセスできるようにする前の最終ステップとして、eBay チームによって行われます。