ブログ

プログラムニュース 皆様お元気でお過ごしでしょうか。この機会に、直近の四半期(2025年4月~6月)のeBay Developersプログラムの最新情報をお知らせいたします。 半期ごとのアンケート 半期ごとのアンケートは7月20日まで実施しています。アンケートはこちらから直接アクセスでき、developer.ebay.comの上部にあるバナーからもリンクをご覧いただけます。まだアンケートにご回答いただいていない方は、ぜひご回答ください。皆様からのフィードバックは大変貴重です。 すべての開発者に無料サポートを提供開始 eBay Developers Programでは、すべての開発者に無料サポートを提供しています。まずは、https://developer.ebay.com/my/support/ticketsページにあるAI支援サポートツールをご利用ください。ご質問への回答が十分に得られない場合は、テクニカルサポートチケットを無料で作成できます。サポート時間の購入は不要です。 APIライセンス契約の更新 2025年6月24日に、APIライセンス契約の更新版がポータルに掲載されました。APIライセンス契約には、詳細なデータ保護対策や国際規制への準拠など、大幅な強化が図られています。制限付きAPIおよびAIコンテンツの使用には重要な制限が適用されます。すべての開発者の皆様には、APIライセンス契約を完全に遵守していただく必要がありますので、更新された文書を必ずお読みください。 新品パーツ&アクセサリー返品ポリシー 7月15日より、米国マーケットプレイスにおけるパーツ&アクセサリーの出品(基準を満たすもの)は、30日以上の返品期間を持つ購入者に無料返品を提供する必要があります。このポリシーの基準は以下のとおりです。 商品はeBay Motorsに固定価格設定で出品されており、物理的に米国内に所在しています。 商品は米国の購入者に発送されます。 商品の価格は10ドル以上です。 商品の状態は「新品」または「その他」です。 7月15日より、eBay APIを通じて作成または変更されたすべての出品に適用される返品ポリシーが、(必要に応じて)自動的に更新され、セラーが返品送料の負担者となり、返品期間が30日に設定されます。APIレスポンスには、eBayによってこのアクションが行われたことを示す警告が返されます。8月下旬より、返品ポリシーに準拠していない「パーツ&アクセサリー」出品を作成または変更するためのAPI呼び出しはブロックされます。開発者は返品ポリシーに必要な更新を行い、API呼び出しを再度実行する必要があります。 eBayは、セラーにeBay返品用送り状ラベルを50%割引で提供します。 大型商品を扱う「パーツ&アクセサリー」カテゴリーはこの要件の対象外です。 このポリシーの詳細については、「P&A返品ポリシー」セラーセンターのニューストピックをご覧ください。 ファッション中古品の商品状態が拡大 「中古」商品の3つの状態が、レディースハンドバッグ、アクセサリー、ジュエリー、靴を含む159のリーフカテゴリーに拡大されます。これらのカテゴリーにおけるこれらの状態のサポートは、オーストラリアでは7月23日より、eBayマーケットプレイス全体では8月5日より開始されます。 「中古」商品の状態に使用する3つの状態ID(取引APIで使用)と状態列挙型(在庫APIで使用)は以下のとおりです。 Condition Name Condition ID value Condition Enum value Pre-owned - Excellent 2990 PRE_OWNED_EXCELLENT Pre-owned - Good 3000 USED_EXCELLENT Pre-owned - Fair 3010 PRE_OWNED_FAIR メタデータ API の getItemConditionPolicies メソッドのアイテム状態メタデータが、新しくサポートされたリーフ カテゴリに合わせて更新されました。 認定オープンボックスプログラム 2025年5月のセラーアップデートで発表された通り、eBayは購入者の信頼を高めるため、認定オープンボックスプログラムを導入しました。このプログラムは、標準以上の評価とトップ評価を獲得したすべてのセラーが対象です。対象カテゴリーは、携帯電話、スマートウォッチ、ノートパソコン、掃除機、家電製品、タブレット、ヘッドフォン、工具、ビデオゲーム機です。出品条件は以下のとおりです。 商品の状態が「オープンボックス」に設定されている(取引APIではコンディションID 1500、在庫APIではNEW_OTHER) 送料無料 30日間返品無料 セラーは以下のサービス基準も満たす必要があります。 「説明と異なる商品」の割合が4%未満 「商品未受領」の割合が1%未満 3ヶ月ごとに最低25件のオープンボックス取引 詳細と対象カテゴリーの全リストについては、2025年5月のセラーアップデートをご覧ください。 ニューメキシコ州の輸入規制 2025年4月のセラーアップデートで発表されたとおり、メキシコへ商品を発送するセラーは、メキシコへの発送を担当する配送業者に以下の情報を提供する必要があります。 受取人の氏名 受取人のメールアドレス 受取人の電話番号 受取人のメキシコ納税者番号(RFC)または国民ID(CURP)。メキシコ在住の購入者は、これらの納税者番号のいずれかを提供する必要があり、この納税者番号情報は注文レポートに記載されています。 商品の詳細な説明 API アップデート 今四半期、API に以下のアップデートが行われました。 Media API に新しい画像メソッドが追加されました eBay 画像サービス (EPS) 画像をセラーアカウントにアップロードできるように、Media API に以下の 3 つの新しいメソッドを含む新しい画像リソースが追加されました。 createImageFromFile: このメソッドは、multipart/form-data を使用して画像ファイルを eBay 画像サービス (EPS) にアップロードし、API 経由で出品を作成する際に使用できる EPS 画像 URL を返します。サポートされているファイルタイプについては、createImageFromFile のリファレンスドキュメントをご覧ください。 createImageFromUrl: このメソッドのリクエストペイロードで画像 URL を指定します。eBay によってその画像ファイルが正常にダウンロードされると、その画像の eBay 画像サービス (EPS) バージョンが作成され、レスポンスで EPS 画像 URL が返されます。サポートされているファイルタイプについては、createImageFromUrl のリファレンスドキュメントをご覧ください。 getImage: このメソッドは、画像に関連付けられた EPS 画像 URL と画像の有効期限を取得するために使用されます。 EPS URL は、eBay 出品で 30 日以上使用されていない場合、出品者のアカウントから削除されます メタデータ API の更新 メタデータ API に、特定の eBay マーケットプレイスで使用されるデフォルト通貨を返す新しい getCurrencies メソッドが追加されました。 さらに、getCategoryPolicies メソッドに eanSupport、isbnSupport、upcSupport フィールドが追加されました。これらの 3 つのフィールドは、eBay マーケットプレイスのリーフカテゴリの出品がそれぞれ EAN、ISBN、UPC 値をサポートしているか、あるいは必須であるかを示します。 最後に、getMotorsListingPolicies メソッドが以下の 2 つのフィールドで更新されました。 kTypeSupported: 自動車カテゴリが、部品とアクセサリの商品と互換性のある自動車またはトラックを識別するために K タイプ値の使用をサポートしているかどうかを示すブール型フィールドです。K タイプ値の使用をサポートしているのは、英国、ドイツ、オーストラリア、フランス、イタリア、スペインのマーケットプレイスのみです。 minItemCompatibility: このフィールドの整数値は、パーツとアクセサリーの商品に指定する必要がある互換性のある車両またはアプリケーションの最小数を示します。 Buy Feed v1 API に新しい CBT フィードタイプが追加されました Buy Feed v1 API に、新しい越境取引フィードタイプ「CBT_ITEM_ALL_ACTIVE」が追加されました。このフィードタイプを使用すると、主要な eBay マーケットプレイス(米国、英国、ドイツなど)から取得した出品が、ダウンロードされたフィードファイルに含まれるようになります。現在、このフィードタイプは eBay Austria と eBay Ireland のマーケットプレイスでサポートされています。 TSV gzip ファイルを返す他のフィードタイプとは異なり、CBT_ITEM_ALL_ACTIVE フィードタイプのファイルは Avro 形式で返されます。 新しい CBT_ITEM_ALL_ACTIVE フィードタイプをサポートするために、以下のスキーマ変更が導入されました。 listingMarketplaceConstraints 配列が getAccess メソッドに追加されました。この配列は、CBT_ITEM_ALL_ACTIVE フィードタイプで出品可能な eBay マーケットプレイスとカテゴリーをリストします。 CBT_ITEM_ALL_ACTIVE フィードが Avro 形式であることを示すため、FormatEnum 型に AVRO 列挙値が追加されました。 LISTING_MARKETPLACE_ID と LISTING_CATEGORY 列挙値は CBT_ITEM_ALL_ACTIVE フィードに適用できるため、DimensionKeyEnum に追加されました。 updateCampaignBudget メソッドの動作変更 Sell マーケティング API の updateCampaignBudget メソッドに 2 つの動作変更が実装されました。updateCampaignBudget メソッドは、Promoted LISTing Priority キャンペーンの 1 日あたりの予算を更新するために使用されます。 updateCampaignBudget メソッドは、1 日あたりキャンペーンごとに最大 15 回使用して、1 日のクリック単価予算を更新できます。警告メッセージが2つ追加されました。1つは14回目の更新時、もう1つは15回目(最終更新時)に表示されます。16回目の更新ではブロックエラーが発生し、ユーザーはキャンペーンの次回更新を翌暦日まで待つ必要があります。 この方法を使用する場合は、1日の予算を少なくとも0.50米ドル増減する必要があります。そうでない場合、エラーが発生します。 共通充電器指令 フェーズ2 2024年末に発効したEUの共通充電器指令(CCD)に基づき、EUおよび北アイルランドで特定の充電式機器(携帯電子機器など)を出品するセラーは、商品情報を通じて以下の情報を提供することが求められています。 商品に充電器が付属しているかどうか 商品の充電電力範囲 商品がUSB-PDに対応しているかどうか このプロジェクトの「フェーズ2」では、eBayはCCD情報の提供に使用される商品情報に変更を加えました。これらの変更は4月に展開され、影響を受けるカテゴリーのgetItemAspectsForCategoryメソッドで返されるメタデータが更新されました。以下の表は、「フェーズ 1」から「フェーズ 2」への変更点を示しています。 Phase 1: CCD Aspect Changes Phase 2: CCD Aspect Changes Charger Included and: Charger Not Included added as new values for Features aspect New aspect Charger Included, with Yes/No as supported values Charging Power Range aspect added Updated aspect name Device Charging Range, with a charging range such as 10-20.5 (in watts) USB-PD compatible added as new value for Features aspect Updated aspect value USB-PD (fast charging) replaces USB-PD compatible as new value for Features aspect 詳細については、Common Charger Directive 統合ガイドのトピックをご覧ください。これらのアスペクト(アイテムの詳細)が Inventory API および Trading API を介してどのように渡されるかの例も含まれています。 CCD 関連のメタデータを返すことに加えて、getItemAspectsForCategory メソッドは、aspectAdvancedDataType フィールドを追加して更新されました。このフィールドは、デバイス充電範囲アスペクトに対して NUMERIC_RANGE という値で返され、アスペクトの値が数値範囲であることが想定されていることを示します。 省エネラベルの更新 EU加盟国および北アイルランドにおける省エネラベル(EEK)の要件が、スマートフォンおよびタブレットのカテゴリーにも適用されるようになりました。 スマートフォンおよびタブレットのEEK情報の指定方法は、家電製品のカテゴリーと同様です。EEK情報の指定方法の詳細については、「省エネ情報」のトピックをご覧ください。 メタデータAPIのgetRegulatoryPoliciesメソッドを使用すると、EEK情報をサポート、推奨、または必須とするカテゴリーを確認できます。 Finances APIの更新 Finances APIに以下の3つの更新が行われました。 5年間の期限制限:getPayoutsメソッドおよびgetPayoutメソッドは、5年以上前の販売者への支払いを取得できなくなりました。また、getPayoutSummaryメソッドで返される件数と金額には、5年以上前の販売者への支払いは考慮されません。getTransactionsメソッドおよびgetTransferメソッドは、5年以上前の取引を取得できなくなりました。また、getTransactionSummaryメソッドで返される件数と金額には、5年以上前の取引は考慮されません。 36か月の日付範囲制約:getPayouts、getPayoutSummary、getTransactions、getTransactionSummaryメソッドにおける日付範囲フィルター。 新しいREGULATORY_OPERATING_FEE:該当する場合、この新しい手数料は、特定のマーケットプレイスの規制要件に関連する費用を賄うためにセラーに請求されます。この手数料の詳細については、eBay UKのヘルプトピックをご覧ください。 Buy Feed Beta API がポーランドのアフィリエイトリンクをサポートしました。 getItemFeed メソッドと getItemSnapshotFeed メソッドは、itemAffiliateWebUrl フィールドを通じて、eBay ポーランド マーケットプレイスのアフィリエイトリンク(該当する場合)を返すようになりました。 Developer Analytics API の新しいカウントフィールド getRateLimits メソッドは、現在の期間内にアプリケーション(ユーザーコンテキストなし)がエンドポイント/リソースを呼び出した回数を示す新しいカウントフィールドを返すようになりました。また、getUserRateLimits メソッドは、現在の期間内にアプリケーションが eBay ユーザーに代わってエンドポイント/リソースを呼び出した回数を示す新しいカウントフィールドを返すようになりました。 検索 API の検索文字列制限 Marketplace Insights API の検索メソッドまたは Browse API の検索メソッドの q クエリパラメータで指定された 100 文字を超える検索文字列は自動的に切り捨てられ、予期しない結果になる可能性があります。 eBay の廃止および廃止に関する最新情報 第 2 四半期に廃止された API は以下のとおりです。 商品 API の addProducts、findProductsByCompatibility、getProductSubmissions の各呼び出し 商品メタデータ API の getProductMetadataBulk、getProductSearchDataVersion、getProductSearchNames、getProductSearchValues、getProductSearchValuesBulk の各呼び出し 取引 API の GetCategoryMappings の各呼び出し 取引 API の ExtendSiteHostedPictures の各呼び出しは、2025 年 7 月 28 日に廃止されます。 GetCategoryFeatures の各呼び出しは廃止が発表されており、2026 年 5 月 4 日に廃止されます。GetCategoryFeatures の代替として使用される新しいメタデータ API メソッドの詳細については、GetCategoryFeatures 移行ガイドをご覧ください。 GetCategories 呼び出しは非推奨となり、2026年3月31日に廃止されることが発表されました。新しい REST API への移行に関する詳細は、GetCategories 移行ガイドをご覧ください。 皆様にとって 2025 年上半期が素晴らしい年であったことを願っております。今年の残りの期間もコミュニティの皆様と協力できることを楽しみにしています。
eBayのマーケットプレイス出品に定義を与えてきたカテゴリーアスペクトメタデータは、急速に進化しています。こうした急速な機能強化に伴い、メタデータの同期を維持し、変更点を迅速に把握するという課題が、開発者コミュニティにとってますます重要になっています。 最近、Taxonomy API を強化し、カテゴリをまたいでアスペクトメタデータを取得できるようになりました。また、アスペクトメタデータの変更に関する洞察をユーザーに提供するために設計されたオープンソース SDK もリリースしました。この SDK は、アスペクトの一括ダウンロード機能を活用し、2 つのカテゴリツリー間でアスペクトメタデータを比較します。出力は、以下のシナリオに対応するための正確で構造化されたレスポンスです。 バルクデータファイルAと、より新しいバルクデータファイルBの間で何が変わったか バルクデータファイルAをサイト上の最新のファイルと比較し、差異を報告します 出力には、カテゴリとアスペクトについて、明確な情報が表示されます。 新機能 変更点 削除点 私たちはタクソノミーAPIの機能強化リリースを信頼しており、このSDKはパートナーの皆様にメタデータの進化に関する透明性を提供します。このSDKは、eBayのRESTful APIとの統合を簡素化する、既にオープンソース化されているツールに新たに追加されたものです。開発者コミュニティからの貢献を歓迎します。
eBayでは、出品者が商品を出品する際に、商品の所在地を指定することが義務付けられています。出品者は、有効な郵便番号または所在地を特定するフリーテキスト文字列のいずれかで商品の所在地を指定できますが、可能な限り郵便番号を使用して商品の所在地を指定する必要があります。郵便番号の使用は、購入者の利便性を向上させ、売上増加につながります。しかしながら、多くの商品が郵便番号なしで出品されており、その多くはAPIを使用したサードパーティツールによって作成されています。 郵便番号はなぜ重要なのでしょうか? 商品の所在地の郵便番号は、購入者と出品者の商品を結びつける上で重要な要素です。商品の所在地に郵便番号を指定すると、検索での可視性が向上し、配送予定日がより正確(かつ短縮)になります。 検索での可視性の向上 商品の所在地に郵便番号が指定された商品は、「ベストマッチ」機能により検索順位が上がります。購入者が検索結果を商品の所在地で絞り込んだり、距離で並べ替えたりすると、郵便番号が指定されていない出品商品は、郵便番号で所在地を指定した出品商品に比べて、可視性が大幅に低下します。 配送時間の短縮 商品の所在地に郵便番号を指定すると、購入者は出品者の商品を見つけるだけでなく、購入の意思決定にも役立ちます。配送予定日は、購入者にeBay商品の到着予定日を伝えるものであり、購入の意思決定において重要な要素です。出品商品に郵便番号が指定されると、eBayはより厳密なアルゴリズムを使用して配送予定日を計算します。これにより、配送予定日がより正確に推定され、一般的に配送時間が短縮されます。 今すぐ行動を起こしましょう セラーの皆様がホリデーシーズン前に出品情報を修正できるよう、eBayはセラーハブに、郵便番号が未入力の出品情報に郵便番号を追加できるシンプルなツールをご用意しました。このツールは、以下のeBayサイトでセラーハブからご利用いただけます。 eBay United States https://www.ebay.com/sh/lst/missing-zip eBay United Kingdom https://www.ebay.co.uk/sh/lst/missing-zip eBay Germany https://www.ebay.de/sh/lst/missing-zip eBay Australia https://www.ebay.com.au/sh/lst/missing-zip eBay France https://www.ebay.fr/sh/lst/missing-zip eBay Italy https://www.ebay.it/sh/lst/missing-zip eBay Spain https://www.ebay.es/sh/lst/missing-zip eBay Canada, English https://www.ebay.ca/sh/lst/missing-zip eBay Canada, Francais https://www.cafr.ebay.ca/sh/lst/missing-zip これらのリンクをセラーと共有して、出品内容の迅速な修正にご協力ください。 注:現在、eBayでは1つの商品につき1つの郵便番号のみを登録できます。セラーが複数の拠点で在庫を保有しており、それらの拠点が比較的近接している場合(例:郵便番号の最初の3桁が同じ場合)、いずれかの拠点の郵便番号を指定してください。郵便番号を全く入力しないよりは、間違いなく良い結果が得られます。 セラーの皆様への今後のサポート 郵便番号の記載がない出品は、多くの面で不利になります。では、セラーの皆様のために何ができるでしょうか?出品時には、可能な限り商品の所在地を示す郵便番号を記載し、既存の出品情報も修正して商品の所在地を示す郵便番号を追加してください。 Trading APIのAddItem関数群の呼び出しでは、Item.PostalCodeを使用して商品の所在地を指定してください。 Inventory APIのcreateInventoryLocationメソッドでは、location.address.postalCodeを使用して商品の所在地を指定してください。
eBay は、販売者に最新かつ機能豊富なプラットフォームを提供できるよう継続的に取り組んでいます。eBay コミュニティの出品者ニュース で発表されたように、出品に動画を添付することは、販売者が既存および新規の購入者に対してより魅力的なショッピング体験を提供できるよう支援するための継続的な取り組みの次のステップです。動画により、販売者は商品やブランドをアピールする能力が高まり、購入者のエンゲージメントと売上の促進に役立ちます。さらに、動画により、販売者は販売する商品をより適切に説明できるようになり、出品画像や説明では対応できない一般的な購入者の質問にも答えられる可能性があります。 動画のユースケースの 1 つは、組み立てが必要な商品の説明書を販売者が提供することです。最終的に、動画は販売者のカスタマー サポート チームに寄せられる返品や質問を減らすのに役立ちます。 当初、動画は eBay ネイティブ アプリ (iOS および Android) でのみ購入者に表示されます。このエクスペリエンスは、最終的にはデスクトップおよびモバイル Web にも拡張されます。 出品者が出品リストに動画を追加できるようにしたい場合は、動画を管理するために新しい Media API を統合する必要があります。これは API ファーストのアプローチであり、新しい API は現時点では動画を出品リストにアップロードする唯一のチャネルです。出品者がアップロードした動画を出品リストに関連付けることができるようにするには、Trading API の Add または Revise Item メソッドを統合します。 Media API の使用に関する詳細については、Media API リファレンス ドキュメントを参照してください。また、新しく導入された VideoDetails1 コンテナーの使用に関する詳細については、AddItem、ReviseItem、GetItem リファレンス ドキュメントを参照してください。また、動画の管理統合ガイドを読んで、開始(動画の作成)から終了(動画を含む出品の追加または修正)までの全体的なプロセスの概要を把握することもできます。また、在庫 APIを更新して、出品に動画を追加できるようにする計画もあります。 動画の要件については、メディア API の概要 を参照してください。この機能は現在 eBay US でのみ利用可能ですが、近い将来他のマーケットプレイスでもサポートされる予定です。メディア API と動画の追加更新を追跡するには、更新 セクションを定期的に確認してください。
eBay は、190 の市場に 1 億 7,400 万人のバイヤーを抱える、真にグローバルなマーケットプレイスです。そのため、私たちの主な目標は、世界中のバイヤーとセラーを結びつけることです。セラー コミュニティにとって、言語の壁を越え、リーチを拡大することは非常に重要です。機械翻訳は、eBay での国境を越えた取引を促進する上で重要な要因の 1 つです。機械翻訳は、摩擦を大幅に軽減します。2018 年 8 月に、機械言語翻訳テクノロジを API として公開し、開発者がアプリケーションやエクスペリエンスに統合できるようにしました。最初の API リリースは実験的なものでした。当初は、中国語から英語、英語から中国語への翻訳を可能にしました。これは、機能をテストおよび調査するためのものでした。最近、実験的な API を廃止しました。開発者コミュニティには、Translation API のベータ リリースを確認することをお勧めします。 新しい API は、以前のものと比べてインターフェースが若干変更されています。また、追加の言語 もサポートしています。必要な情報はすべて API ドキュメント に記載されています。API の真の力は、基盤となるテクノロジーにあります。新しいモデルは、社内の AI テクノロジーと、e コマースのコンテキストに最適化された最先端のアルゴリズムに基づいています。アイテムのタイトルと説明を翻訳します。14 億件を超えるリストは、処理すべき膨大なデータ量です。当社のモデルは、販売者が提供するコンテンツ、アイテムのタイトルと説明がもたらすすべての課題に対処するようにトレーニングされています。購入と販売の両方の統合は、翻訳機能の恩恵を受けることができます。現在、お客様と連携し、新しい API の採用を促進しています。新しい言語ペアと、HTML マークアップを含むアイテムの説明の翻訳のサポートは、まもなく提供されます。お楽しみに!
前回の記事はこちら API入門講座、全10回お疲れ様でした!皆さんは今、APIという魔法の杖の基本的な振り方をマスターしました。 「でも、この杖で具体的にどんな魔法が使えるんだろう?」 そんなあなたの好奇心にお応えするため、今回は番外篇として、日々のeBay運営が劇的に楽になる「自動化のアイデア」を5つ、レシピ形式でご紹介します。あなたのビジネスに当てはまるものがないか、ぜひ探してみてください。 【アイデア1】在庫ゼロ商品の「うっかり」出品を自動で防ぐ魔法 こんなお悩みに: 「他のサイトで売れて在庫がゼロになったのに、eBayの出品を取り下げるのを忘れて、カラ売りしてしまった…」 使うAPI(呪文): Trading API の ReviseInventoryStatus または EndItem 魔法のレシピ: あなたの在庫管理システム(例えば、シンプルなExcelシートでもOK)の在庫数を定期的にチェックするプログラムを作ります。 もし在庫数が「0」になった商品を見つけたら、プログラムが自動でその商品のSKUやItemIDを使ってReviseInventoryStatusを呼び出し、eBay上の在庫数も「0」に更新します。 あるいは、EndItemを呼び出して、その商品の出品を自動で停止させます。 効果: これで、寝ている間も、他の仕事をしている間も、プログラムが在庫を見張ってくれるので、売り越しリスクから解放されます! 【アイデア2】ライバル価格を「こっそり」自動チェックする魔法 こんなお悩みに: 「自分の商品の価格が適正か知りたいけど、毎日ライバルのページを見に行くのは大変…」 使うAPI(呪文): Browse API 魔法のレシピ: あなたが注目している商品やキーワードをプログラムに設定しておきます。 プログラムが1日に1回など、決まった時間にBrowse APIを呼び出し、そのキーワードでeBayを検索します。 検索結果から、ライバル商品の価格や送料、販売数などの情報を自動で取得し、スプレッドシートなどに記録します。 効果: 手作業のリサーチから解放され、データに基づいた価格戦略を立てるための、強力な武器が手に入ります。 注意:これは高級呪文でかなり習得のレベルが高いですよ、自分のビジネスに自信があれば挑みましょう! 【アイデア3】お客様への「ありがとう」を自動で伝える魔法 こんなお悩みに: 「購入してくれたお客様一人ひとりに、お礼と発送予定の連絡をしたいけど、注文が増えると手が回らない…」 使うAPI(呪文): Fulfillment API または Trading API の注文取得系コール 魔法のレシピ: プログラムが定期的に新しい注文がないかAPI経由でチェックします。 新しい注文を見つけたら、購入者の情報とお礼のメッセージ(例:「ご購入ありがとうございます!日本から丁寧に梱包し、3営業日以内に発送します」)を組み合わせ、API経由でお客様にメッセージを自動送信します。 効果: 顧客満足度を向上させ、ポジティブなフィードバックを得る機会を増やします。忙しい中でも、丁寧な対応が可能です。 【アイデア4】スプレッドシートから「魔法の呪文」で一括出品 こんなお悩みに: 「似たような商品をたくさん出品したい。毎回同じような情報を入力するのが面倒…」 使うAPI(呪文): Trading API の AddItem 魔法のレシピ: 出品したい商品の情報(タイトル、価格、SKU、説明文など)を、GoogleスプレッドシートやExcelに一覧でまとめます。 プログラムがそのシートを1行ずつ読み込み、その情報をAddItemコールの各パラメータに当てはめて、自動で出品リクエストを次々と送信します。 [ここに画像を挿入:スプレッドシートの表データが、矢印(API)を通って、たくさんのeBay出品ページに変換されるイメージ図] 効果: 100点の商品出品も、シートさえ完成すれば、あとはプログラムにお任せ。作業時間が劇的に短縮されます。 【アイデア5】為替レートと連動!「賢い」価格自動調整の魔法 こんなお悩みに: 「日本円での利益は固定したいのに、為替レートの変動で、USドルでの販売価格を毎日変更するのが大変…」 使うAPI(呪文): Trading API の ReviseInventoryStatus + 外部の為替レートAPI 魔法のレシピ: プログラムが、まず外部の無料の為替レートAPIから、最新のドル円レートを取得します。 あなたが日本円で設定した「目標利益価格」を、そのレートで現在のドル価格に換算します。 ReviseInventoryStatusを使い、eBay上のドル価格を、算出した新しい価格に自動で更新します。 効果: 為替変動のリスクを最小限に抑え、常に目標とする利益を確保するための、高度な価格管理が自動で実現します。 いかがでしたでしょうか、これらはほんの一例です。APIの本当の力は、ここで紹介したような個々の「呪文」を、あなたのビジネスに合わせて自由に組み合わせ、あなただけの「オリジナルの魔法」を創造できる点にあります。 この入門講座で、皆さんはその第一歩を踏み出しました。あなたの前には、無限の可能性が広がっています。私Stanは、いつもeBayであなたの力に添えるように待っています、あなたのAPI運用成功の喜びと悩み、ご相談など何でもebayjapan-techsupport@ebay.com までに連絡してください。
前回の記事はこちら ついに、私たちのeBay API入門講座も、この最終回を迎えることになりました。ハンズオンプロジェクトを最後までやり遂げた皆さん、本当におめでとうございます!APIが何かも分からなかった状態から、今やあなたは自らの手で、APIを通じてeBayの商品を管理するスキルを手にしました。 この最後の章では、これまでの旅を振り返り、皆さんがこれからAPIを実世界で活用していくためのヒントと、さらに広がる可能性の扉をお見せしたいと思います。 1. このシリーズで学んだことの振り返り まずは、私たちが共に歩んできた道のりを振り返ってみましょう。 APIの基本を理解した: APIを「レストランのウェイター」に例え、その役割を学びました。 開発者登録と認証情報の取得: 開発者プログラムに登録し、APIキーとトークンという「鍵」と「合言葉」を手に入れました。 安全なサンドボックスでの練習: 実際の店舗に影響を与えずに、安全にAPIを試す方法をマスターしました。 Trading APIでの商品管理: Postmanを使い、商品の「作成(C)・読み取り(R)・更新(U)・削除(D)」という一連の操作を、自らの手で成功させました 5。 あなたはもう、API活用のための、最も重要で基本的な土台を築き上げたのです。 2. APIをより効果的に使うためのヒント これからAPIを本格的に活用していく上で、知っておくと役立つヒントをいくつかご紹介します。 エラー処理 (Error Handling) APIを呼び出した際、必ずしも毎回「成功(Success)」するとは限りません。失敗はつきものです。重要なのは、失敗した時に返ってくるエラーメッセージを正しく読み解くことです。 レスポンスの<Ack>タグがFailureだった場合、<Errors>ブロックにその原因が記されています 。<ErrorCode>(エラー番号)と<LongMessage>(詳細なエラー説明)が、問題解決の大きな手がかりになります。よくあるエラーと対処法を以下の表にまとめました。 表1: よくあるeBay Trading APIエラーコードと対処のヒント エラーコード例  考えられる原因  簡単な対処法/確認ポイント  37 (Input data for tag <tag> is invalid or missing.)  リクエストXML内の必須タグが欠落している、またはタグの値が無効(例:データ型不一致、範囲外)。 APIドキュメントで該当コールの必須項目と各フィールドの仕様(データ型、有効値)を再確認。XML構造の妥当性をチェック。 240 (Item cannot be accessed or revised.)  指定されたItemIDが存在しない、既に終了している、または認証ユーザーがその商品の出品者ではない。 ItemIDが正しいか、商品は有効な状態か、使用しているトークンが出品者のものかを確認。 21917053 (Auth token is invalid.)  提供されたeBayAuthTokenが無効、期限切れ、または取り消されている。 トークンが正しくコピーされているか、有効期限内かを確認。必要であれば再生成する。 21916702 (Invalid ItemID.) 指定されたItemIDの形式が正しくないか、存在しない。 ItemIDの形式(通常は数字のみ)と正確性を確認。 APIコール回数制限 (Rate Limits) eBay APIは、プラットフォームの安定性を保つため、一日に呼び出せる回数に上限が設けられています。例えば、無料の開発者アカウントでは、一日あたり5000回までといった制限があります。この上限を超えないよう、APIを呼び出すタイミングや頻度を計画的に設計することが大切です 。 この制限は調整可能です。もし、開発中のアプリケーションでAPI呼び出しの上限に達してしまった場合や、会社の成長速度が予想を上回り、さらに多くのAPI呼び出し枠が必要な場合は、お気軽にebayjapan-techsupport@ebay.comまでご連絡ください。上限緩和についてサポートさせていただきます。 3. さらなる可能性:Trading API以外の便利なeBay API 私たちはこれまでTrading APIを中心に学んできましたが、eBayのAPIエコシステムには、特定の業務をさらに効率化するための、専門的で強力なAPIが他にもたくさん存在します。 以下に、その代表的なAPIと、日本のセラー向けの活用例をご紹介します。 表2:eBay APIエコシステム:主要APIとその活用例  API名 主な機能 日本のセラー向け活用例 Inventory API 在庫アイテムの作成・管理、複数ロケーション在庫、出品作成、eBayカタログ連携。  複数のECチャネル(楽天市場、Yahoo!ショッピング等)とeBay間での在庫情報の一元管理と自動同期による売り越し防止。 Browse API(審査が厳しい) eBay上の商品検索、競合価格調査、人気商品のトレンド分析。 海外市場での日本製品(ゲームソフト、限定フィギュア等)の適正販売価格の調査・設定。  Fulfillment API 注文詳細取得、発送処理(追跡番号アップロードなど)、返金・返品処理、支払い紛争管理。 海外発送業務の自動化(例:注文情報を倉庫管理システムや配送業者システムへ連携)。  Analytics API 販売実績、トラフィックデータ、出品パフォーマンスなどの分析レポート取得。  日本のセラーの特定商品カテゴリ(日本の伝統工芸品等)の海外での販売トレンド分析。 Translation API 商品タイトル、説明文などの機械翻訳。  日本語の商品情報を英語等のターゲット市場の言語へ迅速に翻訳し、多言語出品をサポート。 Account API ビジネスポリシー(支払い、返品、送料)の管理、販売手数料の確認、アカウント設定。  日本のセラーが設定する標準的な国際配送ポリシー等を一元管理し、API経由での出品時に効率的に適用。 4. 継続的な学習のためのリソース これからあなたがAPI活用の旅を続けていく上で、道に迷ったり、さらに深く学びたくなったりした時のために、いくつかの羅針盤となるリソースをご紹介します。 eBay開発者ポータル (eBay Developer Program Portal): すべての公式ドキュメント、APIの仕様書、最新情報がここにあります。あなたの冒険のホームベースです。Link:https://developer.ebay.com/ eBay開発者コミュニティフォーラム: 世界中の開発者と情報交換をしたり、質問をしたりできる場所です。多くの問題の解決策がここに眠っています。Link:https://community.ebay.com/t5/Developer-Forums/ct-p/developergroup eBay Japanデベロッパーポータル: 日本のセラーに特化した情報やツール、開発に役に立つパッケージなど、日本語でのサポートが提供しています。Link:https://www.ebay.co.jp/developer 結び:あなたの旅は始まったばかり この入門講座は、APIという広大な世界への入り口に過ぎません。しかし、あなたは今、地図の読み方とコンパスの使い方を学びました。これからどんな課題に直面しても、APIという強力なツールを使って、自分自身の力で解決策を見つけ出すことができるはずです。 この講座が、あなたのビジネスを次のステージへと押し上げる、そのきっかけとなったなら、私Stanにとって、これ以上の喜びはありません。 あなたのAPI活用の旅が、成功と発見に満ちた素晴らしいものになることを、心から応援しています。
前回の記事はこちら 前回のハンズオンプロジェクト第一弾では、GetItemコールを使って商品の情報を「読み取る(Read)」スキルをマスターしました。APIから返ってきたXMLのレスポンスを読み解く、という重要な一歩を踏み出しましたね。 今回は、プロジェクトの第二弾です。商品管理の残りの部分、「C (Create) - 作成」「U (Update) - 更新」「D (Delete) - 削除」を一気に体験します。この三つの操作をマスターすれば、あなたはAPIを通じた商品管理の基本を完全に習得したことになります。 さあ、Postmanを開いて、一緒にプロジェクトを完成させましょう! 1. C (Create) - AddItemで商品を新規登録する まずは、API経由でサンドボックスに新しい商品をゼロから出品してみましょう。 ステップ1:Postmanの準備 Postmanで新しいリクエストを作成し、「AddItem Project」と名付けます。メソッドはPOST、URLはhttps://api.sandbox.ebay.com/ws/api.dllです。 ヘッダータブには、これまでのプロジェクトと同様に認証情報などを設定しますが、一番重要なX-EBAY-API-CALL-NAMEにはAddItemと指定してください。 ステップ2:リクエストボディの作成 AddItemは、出品する商品の詳細な情報をすべて含める必要があるため、リクエストボディが少し長くなります。Bodyタブに、以下のXMLを貼り付けてください。これは、出品に必要な最小限の項目を含んだサンプルです。 <?xml version="1.0" encoding="utf-8"?> <AddItemRequest xmlns="urn:ebay:apis:eBLBaseComponents">       <ErrorLanguage>en_US</ErrorLanguage>    <WarningLevel>High</WarningLevel>  <Item>      <Title>【API出品】日本の素敵なテスト商品</Title>      <Description>        これはPostmanとTrading APIを使って出品されたテスト商品です。      </Description>      <PrimaryCategory>        <CategoryID>29223</CategoryID>      </PrimaryCategory>      <StartPrice>1.0</StartPrice>      <CategoryMappingAllowed>true</CategoryMappingAllowed>      <Country>US</Country>      <Currency>USD</Currency>      <DispatchTimeMax>3</DispatchTimeMax>      <ListingDuration>Days_7</ListingDuration>      <ListingType>Chinese</ListingType>      <PictureDetails>        <PictureURL>https://mysamplepicture.com/14.jpg</PictureURL>      </PictureDetails>      <PostalCode>95125</PostalCode>      <Quantity>1</Quantity>      <ItemSpecifics>             <NameValueList>            <Name>Title</Name>            <Value>Harry Potter and the Philosophers Stone</Value>         </NameValueList>         <NameValueList>            <Name>Publisher</Name>            <Value>Smashwords</Value>         </NameValueList>         <NameValueList>            <Name>Author</Name>            <Value>JK Rowling</Value>         </NameValueList>         <NameValueList>            <Name>Language</Name>            <Value>English</Value>         </NameValueList>      </ItemSpecifics>      <ReturnPolicy>        <ReturnsAcceptedOption>ReturnsAccepted</ReturnsAcceptedOption>        <RefundOption>MoneyBack</RefundOption>        <ReturnsWithinOption>Days_30</ReturnsWithinOption>        <ShippingCostPaidByOption>Buyer</ShippingCostPaidByOption>      </ReturnPolicy>      <ShippingDetails>        <ShippingType>Flat</ShippingType>        <ShippingServiceOptions>          <ShippingServicePriority>1</ShippingServicePriority>          <ShippingService>USPSMedia</ShippingService>          <ShippingServiceCost>2.50</ShippingServiceCost>        </ShippingServiceOptions>      </ShippingDetails>      <Site>US</Site>  </Item> </AddItemRequest> ステップ3:送信とItemIDの記録 「Send」ボタンを押してリクエストを送信します。成功すると、レスポンスに<Ack>Success</Ack>と表示されるはずです。 そして、レスポンスの中にある<ItemID>というタグを探してください。これが、新しく出品されたあなたの商品固有のIDです。 このItemIDを必ずコピーして、メモ帳などに保存しておいてください。 次の「更新」と「削除」のステップで必要になります。 2. U (Update) - ReviseItemで商品情報を更新する 次に、先ほど出品した商品の価格を更新してみましょう。 ステップ1:Postmanの準備 新しいリクエスト「ReviseItem Project」を作成します。ヘッダーのX-EBAY-API-CALL-NAMEにはReviseItemと指定します。 ステップ2:リクエストボディの作成 ReviseItemのボディは非常にシンプルです。どの商品を(ItemID)、どの項目を(例:StartPrice)、どう変更したいか、だけを記述します。 <?xml version="1.0" encoding="utf-8"?> <ReviseItemRequest xmlns="urn:ebay:apis:eBLBaseComponents">     <Item>    <ItemID>ここに先ほど記録したItemIDを入力</ItemID>    <Description>        APIでReviseされました    </Description>    <StartPrice>199</StartPrice>  </Item> </ReviseItemRequest> ステップ3:送信と更新内容の確認 リクエストを送信し、成功を確認します。では、本当に価格が変更されたか、どうやって確かめれば良いでしょうか? ここで、前回のプロジェクトでマスターしたGetItemの出番です。先ほど作ったGetItemリクエストのタブに戻り、同じItemIDで再度リクエストを送信してみてください。レスポンスの中の<StartPrice>が「1」から「199」に変わっていれば、更新成功です! 3. D (Delete) - EndItemで出品を終了する 最後に、この商品の出品を取り下げて、プロジェクトを締めくくりましょう。 ステップ1:Postmanの準備 新しいリクエスト「EndItem Project」を作成し、ヘッダーのX-EBAY-API-CALL-NAMEにはEndItemと指定します。 ステップ2:リクエストボディの作成 EndItemに必要なのは、どの商品を(ItemID)、どういう理由で(EndingReason)終了させるか、です。EndingReasonは必須項目です。 <?xml version="1.0" encoding="utf-8"?> <EndItemRequest xmlns="urn:ebay:apis:eBLBaseComponents">     <ItemID>ここに先ほど記録したItemIDを入力</ItemID>  <EndingReason>NotAvailable</EndingReason> </EndItemRequest> ステップ3:送信と最終確認 リクエストを送信し、成功を確認します。 そして、最後の最後に、もう一度だけGetItemでこのItemIDを問い合わせてみてください。 今度は<Ack>Success</Ack>というレスポンスが返ってくるはずですが、<ListingStatus>ではEndedが見つけられます。ここに注意すべきなのは、厳密とい言えばEndItemは出品のデータを削除することではなく、出品を続けて有効ではなくなるようにのAPI呼び出しです、実際の商品のデータの削除は、eBayのシステムが自動的に実行していき、その時間は一ヶ月が数ヶ月までです。 サイトでの効果は、下の画像のように見えます まとめと次回予告 素晴らしい!これで、あなたの商品はAPIによって生まれ(Create)、変更され(Update)、そしてその役目を終えました(Delete)。このCUDサイクルを自らの手で完遂したことで、あなたはAPIによる商品管理の、最も重要で基本的なスキルを完全に手にしたことになります。 さて、私たちのAPI入門講座も、いよいよ次が最終回です。 最終回では、これまでの学びを振り返り、エラーへの対処法やAPIの利用上限といった、より実践的な知識をご紹介します。 さらに、Trading API以外の便利なAPIの世界も覗いてみましょう。この旅の締めくくりと、次なるステップへの展望をお届けします。 APIは難しくない!あなたのビジネスを加速させる魔法の杖です。 リファレンス1:AddItem主要必須フィールドと設定例 フィールド名 設定例 簡単な説明 Item/Title 「テスト商品:日本の素敵な品」 商品のタイトルです。 Item/PrimaryCategory/CategoryID 155174 (アニメフィギュアの例)  商品が属するeBayのメインカテゴリIDです。適切なIDはeBayサイトやGetCategoriesAPIで確認できます。 Item/StartPrice (と currencyID) 19.99 (USD) 商品の開始価格と通貨単位です。 Item/Country JP (日本) 商品の所在地(国)です。 Item/Currency USD (米ドル) 価格表示に使用する通貨です。 Item/PaymentMethods PayPal 受け付ける支払い方法です。国際取引ではPayPalが一般的です。 Item/ListingDuration GTC (Good 'Til Cancelled) 出品期間です。「GTC」はキャンセルされるまで出品が継続されます。 Item/Quantity 10 販売可能な在庫数です。 Item/PictureDetails/PictureURL https://example.com/image.jpg 商品画像のURLです。複数指定可能です。 Item/ShippingDetails/... (各種送料設定)  国内・国際配送のサービス、費用などを設定します。 Item/ReturnPolicy/... (各種返品ポリシー設定)  返品の可否、期間、返金方法、送料負担者などを設定します。 リファレンス2:ReviseItem更新可能フィールドと注意点 更新対象  XML要素  更新時の注意点 商品タイトル  Item/Title 通常、いつでも更新可能です。 価格  Item/StartPrice オークション形式で入札がない場合、または固定価格形式では通常更新可能です。特定の条件下では制限がある場合があります。 在庫数  Item/Quantity 固定価格形式で更新可能です。在庫を0にすると出品が終了する(または非表示になる)場合があります。 商品説明  Item/Description 通常更新可能です。<DescriptionReviseMode>要素で、既存の説明に追加(Append)、前置(Prepend)、または完全置換(Replace)するかを指定できます。 画像  Item/PictureDetails/PictureURL 画像の追加、削除、順序変更が可能です。 Item Specifics  Item/ItemSpecifics/NameValueList 商品属性の追加、変更、削除が可能です。 リファレンス3:EndItem主なEndingReasonとその意味 EndingReasonコード  意味  影響  NotAvailable 商品が販売できなくなった(例:在庫切れ、販売中止)。 通常、既存の入札はキャンセルされます.最も使われています。 Incorrect 出品情報に誤りがあった(例:価格、説明の間違い)。 通常、既存の入札はキャンセルされます。 LostOrBroken 商品が紛失した、または破損した。 通常、既存の入札はキャンセルされます。 SellToHighBidder (オークション形式で有効な入札がある場合のみ) 最高額入札者に商品を販売する。 取引が成立し、オークションが終了します。この理由を選択するには、通常、特定の条件(例:最低落札価格到達)を満たす必要があります。 OtherListingError 上記以外の出品に関するエラー。 通常、既存の入札はキャンセルされます。
前回の記事はこちら 前回の記事では、APIとの対話ルールである「HTTPリクエスト」の基本を学び、便利ツール「Postman」を使って、そのリクエストを組み立てて送信する準備を整えました。理論と準備は万端です。(今回の内容は前回とほぼ同じように見えますが、復習として読んで行きましょう。) 今日から、いよいよ本格的なハンズオンプロジェクトを開始します。このプロジェクトを通じて、商品管理の基本となる4つの操作「作成(C)・読み取り(R)・更新(U)・削除(D)」を、一つずつ確実にマスターしていきましょう。 今回はその第一弾、「R (Read - 読み取り)」です。Trading APIのGetItemコールを使い、サンドボックスに出品された商品の情報を正確に取得し、その内容を確認する方法をじっくりと学びます。 プロジェクトの準備 まず、Postmanを起動し、前回設定したリクエストを選択してください。 このプロジェクトで最も重要な準備物は、サンドボックスで出品中(Active)の商品のItemIDです。ItemIDは、商品がeBayに出品されると自動的に割り振られる、その商品固有の背番号のようなものです。 もし、まだサンドボックスに出品済みの商品がない場合は、一度第五回の記事に戻って、テスト商品を一つ作成しておいてください。準備はよろしいでしょうか? それでは、始めましょう! GetItemリクエストの組み立てと送信 GetItemは、その名の通り、特定の商品の情報を「取得する」ためのAPIコールです。eBay上に登録されている、その商品の「公式データ」を丸ごと取得できる、非常に基本的ながら重要な命令です。 ステップ1:新しいリクエストの作成 Postmanで新しいリクエストを作成し、分かりやすいように「GetItem Project」といった名前を付けましょう。HTTPメソッドはPOST、URLはhttps://api.sandbox.ebay.com/ws/api.dllを入力します。 ステップ2:ヘッダーの設定 「Headers」タブを開き、GetItemコールに必要な情報を設定します。これは、APIへの「お作法」でしたね。 X-EBAY-API-CALL-NAME: GetItem X-EBAY-API-IAF-TOKEN:  // API Explorerで貰えましょう その他、前回設定したヘッダーをすべて入力します。 ステップ3:リクエストボディの作成 「Body」タブを開き、「raw」と「XML」を選択します。そして、以下のXMLをテキストエリアに貼り付けましょう。 <?xml version="1.0" encoding="utf-8"?> <GetItemRequest xmlns="urn:ebay:apis:eBLBaseComponents">   <ItemID>ここにあなたのサンドボックス商品のItemIDを入力</ItemID>   <DetailLevel>ReturnAll</DetailLevel>   <IncludeItemSpecifics>true</IncludeItemSpecifics> </GetItemRequest> ここでは、3つの重要なパラメータを指定しています。 <ItemID>: これが情報の取得対象です。ここに、準備しておいたあなたのサンドボックス商品のItemIDを正確に入力してください。 <DetailLevel>: どれだけ詳しい情報を返すかを指定します。ReturnAllは「可能な限り全ての情報をください」という意味の、最も詳細なレベルです。 <IncludeItemSpecifics>: trueに設定することで、商品の詳細属性(ブランド、色、サイズなど)をレスポンスに含めるように要求します。これは非常に重要な情報なので、trueにしておくことをお勧めします。 ステップ4:リクエストを送信! 全ての設定が完了したら、青い「Send」ボタンをクリックして、リクエストをeBayのサンドボックスサーバーに送信します。 レスポンス(返事)の読み解き方 リクエストが成功すると、Postmanの下部にあるレスポンス画面に、XML形式のデータが返ってきます。最初は呪文のように見えるかもしれませんが、構造を理解すれば簡単です。ここでは前回より詳しい説明で行きます。 確認ポイント①:通信の成功チェック まず最初に確認するのは、リクエストが正しく処理されたかどうかです。レスポンスの先頭にある<Ack>というタグを探してください。 <Ack>Success</Ack>: これが表示されていれば、リクエストは成功です! <Ack>Failure</Ack>: もし失敗した場合は、<Errors>というタグが同時に返ってきます。その中の<LongMessage>を読むと、「ItemIDが存在しない」「トークンが無効」など、失敗の原因に関するヒントが書かれています。 確認ポイント②:商品情報の本体 成功を確認したら、いよいよ中身を見ていきましょう。商品の詳細情報は、すべて<Item>という大きなタグの中に含まれています。 確認ポイント③:主要な情報の探し方 <Item>タグの中で、以下のタグを探してみてください。あなたが設定した情報が正しく登録されているか、宝探しのように確認してみましょう。 <Title>: 商品のタイトル <Description>: 商品の説明文 <SellingStatus><CurrentPrice>: 現在の価格 <Quantity>: 現在の在庫数 <QuantitySold>: これまでに売れた数 <PictureDetails><PictureURL>: 商品画像のURL。複数ある場合は、このタグも複数返ってきます。 <ItemSpecifics>: 商品の詳細属性。<NameValueList>の中に、属性名(Name)と値(Value)のペアで格納されています。 これらの情報を自分の目で確認することで、APIを通じてeBayのデータベースと直接対話している、という事実を強く実感できるはずです。もし分からない部分があったら、AIもしっかり活用して確認をとりましょう。 まとめと次回予告 お疲れ様でした!これで、ハンズオンプロジェクトの第一弾「R (Read)」は完了です。あなたは今、APIを使って特定の商品の情報を正確に取得し、その内容を読み解くという、自動化に不可欠な基本スキルを身につけました。 さて、情報の「読み取り」をマスターしたなら、次はいよいよ情報の「作成」です。 次回のプロジェクト第二弾では、「C (Create)」に挑戦します。引き続きPostmanを使い、AddItemコールを組み立てて、API経-由でサンドボックスに新しい商品をゼロから出品してみましょう。ご期待ください! APIは難しくない!あなたのビジネスを加速させる魔法の杖です。
前回の記事はこちら 前回は、eBay販売管理の中核をなすTrading APIの全体像と、その主要な機能について学びましたね。APIという「言葉」の種類と意味が分かったところで、いよいよ実践に移ります。 今回は、プログラミングを一切行わずにAPIを呼び出すことができる、非常に強力で初心者にも優しいツール「Postman」をご紹介します。これを使って、Trading APIとの初めての本格的な対話を体験してみましょう。 その前に:APIとの対話の基本ルール「HTTPリクエスト」 Postmanを使い始める前に、私たちがAPIと対話する際の基本的なルール、「HTTPリクエスト」について少しだけお話しします。難しく考えず、「レストランでの注文の仕方」を思い出してください。 私たちがAPIに何かを依頼することは、ウェブの世界では「HTTPリクエストを送る」と言います。これは、あなたがウェイターに渡す一枚の「注文伝票」のようなものです。この伝票は、いくつかの重要なパートで構成されています。 メソッド (Method): これは「注文の種類」です。 GET: 「情報を取得したい (Get)」時に使います。「メニューを見せてください」というような、読み取り専用の依頼です。 POST: 「情報を提出したい (Post)」時に使います。「この内容で料理を作ってください」というように、何かを新しく作成したり、更新したりする依頼です。eBayのTrading APIでは、たとえ情報を取得する場合でも、リクエスト内容が複雑なため、主にこのPOSTを使います。 URL: これは「宛先」です。「厨房(eBayのAPIサーバー)の住所」に当たります。この宛先を間違えると、注文は届きません。 ヘッダー (Headers): これは伝票の「ヘッダー情報」です。注文内容そのものではなく、「誰からの注文か(認証キー)」「どんな形式で書かれているか(データ形式)」といった、配送伝票のラベルのような補足情報が含まれます。 ボディ (Body): これが「注文内容の本体」です。POSTメソッドの場合、ここに「どんな商品情報を取得したいか」や「どんな商品を出品したいか」といった、具体的な依頼内容を書き込みます。Trading APIでは、このボディにXML形式で指示を記述します。 パラメータ (Parameters): ボディやURLの中に含まれる、個々の具体的な指示内容です。「どの商品の?(ItemID)」や「どれくらい詳しく?(DetailLevel)」といった、詳細な指定がこれにあたります。 これらの要素を正しく組み立ててAPIサーバーに送ることで、初めてAPIとの対話が成立します。そして、これから紹介するPostmanは、この「注文伝票」を簡単かつ正確に作成するための、非常に優れたツールなのです。 Postmanとは? API初心者の心強い味方 Postmanは、先ほど説明したHTTPリクエストを、グラフィカルな画面で直感的に組み立てて、送受信できるツールです。コーディングは一切不要で、APIの動きを目で見て理解できるため、初心者にとって最高の学習パートナーとなります。 まずは公式サイト(postman.com)から、お使いのPCに合わせたアプリケーションをインストールしておきましょう。 事前準備:ヘッダーの設定とURLの入力 前の内容が書いたように、API呼び出しを行う前に、私たちは相手に「自分が誰であるか」を伝える必要があります。これは、まるでレストランに入って注文する前に、店員に自分の身元(例えば予約者名)を伝えるようなものです。APIの世界では、この「私が誰か」という情報やその他の重要な情報は、「HTTPヘッダー」を介して伝達されます。 ヘッダーには、リクエストを送信する形式や認証情報(APIキーやトークンなど)といったメタデータが含まれます。これらの情報は、APIサーバーがリクエストを正しく理解し、応答するために不可欠です。ここで第五回の記事で紹介したAPI Explorerはまだ覚えていますでしょうか、 画像のようにAPI ExplorerでAPIを呼び出した際に、Trading APIでよく使用され、設定が必須となるヘッダーは以下です: X-EBAY-API-SITEID: 0  // このヘッダーは、APIリクエストの対象となるeBayサイトIDを指定します。`0`は通常、米国サイト(US)を指し、異なる数字はeBayの異なるグローバルサイトに対応します。これにより、リクエストが正しいeBayの地域サーバーに送信されることが保証されます。 X-EBAY-API-COMPATIBILITY-LEVEL: 967         // このヘッダーは、使用しているAPIバージョンの互換性レベルを示します。これは、サーバーがあなたのアプリケーションがどのAPIバージョン向けに設計されているかを認識し、互換性のある方法でリクエストを処理し、該当するバージョンのデータ構造を返すために役立ちます。APIの更新に伴い、この数値は変更される可能性があります。 X-EBAY-API-CALL-NAME: GetItem        // このヘッダーは、実行したい特定のAPI操作名を指定します。この例では、`GetItem`は特定の商品(Item)の詳細情報を取得したいことを意味します。異なるAPI呼び出し(例:商品出品、注文変更など)を行うたびに、この値はそれに応じて変更されます。 X-EBAY-API-IAF-TOKEN: (トークンを入力)        // これはAPI認証トークンであり、あなたの身元と権限を検証するために使用されます。eBay APIにアクセスし、指定された操作を実行する権限があることを証明します。ここに、eBay開発者センターで取得したOAuthトークンまたはレガシー認証トークンを入力する必要があります。このトークンがないと、リクエストは認証されません。 どうでしょうか?難しいそうな設定のように見えますが、実際は”身分証明証”を持って、0番の役所に行き、967室でGetItemの業務をしたいとほぼ同じの意味です。ヘッダーの設定が完了すると、URLにhttps://api.sandbox.ebay.com/ws/api.dllを入力しましょう。 (Memo:  入力が分からない場合は、API Explorerでコピー&ペーストをしましょう)、設定済みの画像は以下です。 これから見ていくように、API呼び出しのたびにこれらのヘッダーを入力するのは手間がかかります。Postmanには、「Environment(環境)」機能があり、これらの共通情報を変数として保存し、後で簡単に再利用できます。このチュートリアルではEnvironment機能の詳細には触れませんが、興味のある方はPostmanの公式ウェブサイトで学習することをお勧めします。 ハンズオン:GetItemリクエストを送信してみよう 準備が整いました。サンドボックスに出品したテスト商品の情報を取得するGetItemコールを送信してみましょう。 簡単な方法(ショートカット) 本格的にリクエストを組み立てる前に、素晴らしいお知らせです。eBay Japanでは、主要なAPIコールをすぐに試せるPostmanのコレクションファイルを準備中です。これをダウンロードしてPostmanにインポートすれば、APIの設定の大部分が完了した状態からスタートできます。手っ取り早く試したい方は、ぜひリリースを楽しみにお待ちください。詳細はeBay Japanのデベロッパーサイトのニュースにご注目ください。 GetItemリクエストを送信 準備が整いました。サンドボックスに出品したテスト商品の情報を取得するGetItemコールを送信してみましょう。 今回は学習のため、あえて手動でリクエストを組み立てることで、その仕組みを深く理解していきましょう。先ほど学んだHTTPリクエストの知識を思い出しながら、各項目を設定してみてください。 ボディの設定 「Body」タブを開き、「raw」と「XML」を選びますと、ボディの入力ボックスが現れます。下の画像をチェックしてください。 ボディの入力ボックスに以下のXMLリクエストを貼り付けます。ItemIDが、このリクエストにおける重要なパラメータの一つです。 <?xml version="1.0" encoding="utf-8"?> <GetItemRequest xmlns="urn:ebay:apis:eBLBaseComponents">     <ErrorLanguage>en_US</ErrorLanguage> <WarningLevel>High</WarningLevel>       <!--Enter an ItemID-->   <ItemID>110583461480</ItemID> </GetItemRequest> 注意: ここにあなたのサンドボックス商品のItemIDを入力 の部分を、第五回の記事でサンドボックスに作成した、実在するテスト商品のItemIDに書き換えるのを忘れないでください。設定完了の画面は下のように見えます。 リクエストを送信して結果を確認! 右上にある青い「Send」ボタンをクリックします。成功すれば、下のレスポンス画面に商品の詳細情報がXML形式で返ってくるはずです。 おめでとうございます!HTTPリクエストの基本を学び、Postmanを使ってAPIとの対話を成功させました。 次回からは、いよいよデータの「読み取り(Read)」「作成(Create)」「更新(Update)」「削除(Delete)」に挑戦します。引き続きPostmanを使い、商品管理の一連の流れをハンズオンで体験します。ぜひ、ご期待ください。 APIは難しくない!あなたのビジネスを加速させる魔法の杖です。 リファレンス1:XMLとは?API応答のXMLデータをどう読み解く? XMLの基本的な形: eBay Trading APIでは、APIにお願いするデータ(リクエスト)や、APIから返ってくるデータ(レスポンス)を作るのに、XMLがよく使われています。 XMLの文書は、いくつかの部分が入れ子になった形でできています。それぞれの部分は、始まりの印(タグ)と終わりの印(タグ)で囲まれています。例えば: <要素名>   <子要素名>内容</子要素名>   <別の要素名 属性="値">もっと内容</別の要素名> </要素名> タグ(Tags):`<>`で囲まれた部分、例えば`<GetItemRequest>`。始まりのタグと終わりのタグ(`/`がついている、例えば`</GetItemRequest>`)で一つの「要素」が決まります。 要素(Elements):タグとその中の内容全体、例えば`<ItemID>110583461480</ItemID>`。 属性(Attributes):始まりのタグの中に書かれた追加の情報。「名前="値"」の形、例えば`<別の要素名 属性="値">`。 ルート要素(Root Element):XML文書の一番上の部分。他のすべての要素はこの中に入っています。GetItemRequestの例では、`<GetItemRequest>`がルート要素です。 API応答のXMLデータをどう読み解く? APIへのリクエストが成功すると、eBayのサーバーからXML形式の応答が返ってきます。この応答を読み解くのは、階層のある報告書を読むようなものです。 ルート要素を見つける:応答の一番上の要素は、たいてい`Response`で終わります。例えば`GetItemResponse`。これは、あなたが行ったお願いに対する応答だということを示しています。 一つずつ下の要素を見ていく: 一番上の状態情報:ルート要素のすぐ下には、リクエストがうまくいったかどうか(`Ack`:`Success`、`Failure`、`Warning`など)といった、リクエストの状態に関する要素があります。 お願いした内容のデータ:次に、あなたのお願いした具体的な内容に関する要素が出てきます。例えば、`GetItemResponse`の中には、お願いした商品の詳しい情報がすべて入った`<Item>`要素があります。 さらに中の要素と属性:`<Item>`要素の中には、もっと細かい要素があります。例えば`<Title>`(商品のタイトル)、`<CurrentPrice>`(今の価格)、`<EndTime>`(終了時間)などです。これらは具体的な商品データを含んでいます。データによっては、タグの中に属性として書かれていることもあります。 名前空間に注意:`xmlns="urn:ebay:apis:eBLBaseComponents"`のようなものを見かけるかもしれません。これはXMLの名前空間と言って、同じ名前の要素が他のXML文書とぶつからないように、要素や属性の集まりを定義しています。データを読み解く上では、通常気にしなくても大丈夫です。 エラーや警告の情報:もしリクエストがうまくいかなかったり、警告があったりすると、応答の中に`<Errors>`や`<Warnings>`要素が含まれます。これらには、何が問題だったのか、エラーコードは何なのかなどが詳しく書かれています。 このように、階層をたどっていくことで、必要なデータをはっきり見つけることができます。例えば、`GetItemResponse`から商品のタイトルを知りたい場合は、`GetItemResponse`の下にある`Item`要素、さらにその下の`Title`要素を見つければ、その中のテキストが商品のタイトルです。 リファレンス2:eBay Trading API (XML) 共通HTTPヘッダー設定リスト  ヘッダー名 (Header Name) 設定値の例  説明  必須/任意 X-EBAY-API-CALL-NAME GetItem, AddItem など 呼び出すAPIの操作名を指定します。 必須  X-EBAY-API-APP-NAME YourAppIDxxxx (環境変数参照) アプリケーションID (App ID) を指定します。 必須 X-EBAY-API-DEV-NAME YourDevIDxxxx (環境変数参照) 開発者ID (Dev ID) を指定します。 必須 X-EBAY-API-CERT-NAME YourCertIDxxxx (環境変数参照) 証明書ID (Cert ID) を指定します。 必須 X-EBAY-API-COMPATIBILITY-LEVEL 1193 など (環境変数参照) API互換性レベルを指定します。最新版はドキュメントで確認。 必須 X-EBAY-API-SITEID 0 (米国)、77 (ドイツ) など (環境変数参照) 対象のeBayサイトIDを指定します。 必須 Content-Type text/xml; charset=utf-8 リクエストボディの形式がXMLであり、UTF-8エンコーディングであることを示します。 必須
トップに戻る