FetcheeのProduct APIを使用してオンラインストアの商品を解析する例

画像



このマニュアルでは、Fetchee Product APIを使用して、lamodaオンラインストアの例を使用して、URLで製品データを取得する方法について説明します。



前の記事を読んでいない人にとって、Product APIは、あらゆるストアから製品データを受信する必要があるが、独自の解析システムの作成に時間を費やしたくない、またはオープンソースライブラリには重大な制限があり、サポートに多くの時間が必要です。 eコマースデータを解析するための自動構成不要のAPIにより、アプリケーションの基本機能の開発に集中できます。 さらに、それを試すことは非常に簡単です。 カットの下の詳細。



まず、APIアクセスキーが必要です。 https://fetch.ee/ru/developers/にリクエストを残します 。 私たちはすべての来訪者へのアクセスを提供し、通常24時間以内に申請に対応します。



1. URLによる製品の解析要求の送信



APIは、 https//fetch.ee/api/v1/product URLでapplication / json形式のPOSTリクエストのみを受け入れることに注意してください。



{ "url":"<URL >", "api_key":"<API >", "callback_url":"<URL    >" }
      
      





http://www.lamoda.ru/p/ug174awohj47/shoes-uggaustralia-uggi/にある製品のリクエスト例は次のようになります(数日間続くデモAPIキーを追加しました)。



 curl -X POST -H "Content-type: application/json" -d "{\"url\": \"http://www.lamoda.ru/p/ug174awohj47/shoes-uggaustralia-uggi/\", \"api_key\": \"0e2bc30838d8bbbbbec787667c4ff34b\", \"callback_url\": \"http://requestb.in/onpdf2on\"}" https://fetch.ee/api/v1/product
      
      





すべてのパラメーターは必須です。パラメーターのいずれかが存在しない場合、不正なAPIキーの場合のように、サーバーは403エラーを返します。



重要:この例では、一時的なcallback_urlを指定しています。 数時間後に機能しなくなり、 http://requestb.inで取得できるURLに置き換えます。



Product APIはリクエストを非同期で処理します。応答時間は数秒から数十分まで変化します。 これは、特定の地理的地域のシステムの負荷によるものです。 APIは、解析の最後に指定したURL(callback_url)にデータを送信します。



最大待機時間は30分です。その後、いずれの場合も、指定されたURLで製品の解析を完了できないことに関する結果またはメッセージを含む応答が送信されます。



APIをテストするには、 http://requestb.inサービスを使用すると便利です。 その上に新しいコンテナを取得し(RequestBinを作成)、受信したURLをcallback_urlとして指定します。 APIからのすべての回答が彼に届きます。ブラウザページを更新するだけです。



2.フィールドとAPI応答オプション



応答では次のフィールドが使用されます。





成功を除くすべてのフィールドが存在しない場合があります。



要求の直後に、JSON形式の応答を受け取ります。 IDは、callback_urlで送信した要求と受信した応答を一致させるために必要です。 この場合、すべてがうまくいき、製品は解析のために受け入れられました。



 { "success": true, "id": "583ea83a09e9497a0eb1b82a" }
      
      





すでに処理されているURLを6時間以内に解析しようとすると、このような答えが続きます。 この場合、callback_urlの呼び出しは続きません。



 { "success":true, "id":"583ea83a09e9497a0eb1b82a", "already_processed":true }
      
      





指定されたURLがオンラインストアのサイトに適用されないことをAPIが既に知っている場合、この回答が得られます。 アイテムは解析用に追加されず、callback_url呼び出しはありません。 サイトのブラックリストを維持します。これには、疑わしい店舗や提携店(他の店舗の商品の陳列ケースとして機能)が含まれます。



 { "success":false, "not_shop":true }
      
      





このURLに製品がないことをシステムが認識している場合(カテゴリページ、ストアメインページなど)。 アイテムは解析用に追加されず、callback_url呼び出しはありません。



 { "success":false, "not_product":true }
      
      





3.解析の結果を取得する



APIは、callback_urlで指定されたアドレスにPOSTリクエストとJSONの応答を送信します。 20秒後、次の解析結果が得られました。



 { "id":"583ea83a09e9497a0eb1b82a", "url":"http://www.lamoda.ru/p/ug174awohj47/shoes-uggaustralia-uggi/", "created_at":"2016-11-30T10:21:46.865Z", "title":"  UGG Australia", "price":22800, "currency":"RUB", "img_url":"https://fetch.ee/assets/item-images/583e/a843a9436d700e54ef37.jpg", "brand":"UGG Australia" }
      
      





結果のJSONをより詳細に検討してください。 答えには常に3つの必須パラメーターがあります。





次のオプションのいずれかが欠落している可能性があります。





Product APIが役立つ場合は、 fetch.ee / ru / developersのリクエストを残してください ! すでに利用可能なものに加えて、他にどの製品パラメーターを受け取りたいですか?



All Articles