製品へのファイルの追加
Adobe Commerce as a Cloud Serviceは、販売者がファイル(PDF、マニュアル、証明書、データシートなど)を製品に直接添付できる「ファイル」 製品属性入力タイプ をサポートしています。 ファイルはAmazon S3 メディアストレージに保存され、GraphQLを使用してストアフロントからアクセスすることも、REST APIを使用して統合を介してアクセスすることもできます。
製品ファイル属性にファイルをアップロードするには、次の3つの方法があります。
前提条件
ファイルをアップロードする前に、ファイル属性を作成し、属性セットに割り当てる必要があります。
-
ファイル属性を作成 - Catalog Input Type for Store Ownerを File に設定します。
-
属性を属性セットに割り当てる – 新しいファイル属性を目的のグループにドラッグします。
-
製品ファイル属性設定で許可されるファイルタイプとサイズを設定します。
管理者を介したファイルのアップロード
ファイル属性を作成して属性セットに割り当てたら、製品編集ページから直接ファイルをアップロードできます。
-
管理者 サイドバーで、Catalog > Productsに移動します。
-
編集する製品を開きます。
-
ファイル属性フィールドを探し、Uploadをクリックしてファイルを選択します。
- Saveをクリックします。
ファイルを置き換えるには、既存のファイルを削除し、新しいファイルをアップロードします。 アップロードされたファイルは、Amazon S3 メディアストレージに保存されます。
REST APIを介したアップロード
S3事前署名済みURL フローを使用して、REST APIを介してプログラムでファイルをアップロードします。 このプロセスは、カテゴリ画像や顧客属性ファイルなどの他のメディアタイプと同様に、製品ファイル属性に対して機能します。
プロセスには4つのステップがあります。
- ファイル名と製品ファイル属性の
POST V1/media/initiate-uploadを使用してmedia_resource_typeを呼び出します。 - 返された事前署名済みURLを
PUTに使用して、ファイルを直接Amazon S3に送信します。 POST V1/media/finish-uploadに電話して、アップロードを確認してください。- 返されたキーを
PUT /V1/products/{sku}を通じて製品のファイル属性に割り当て、キーを カスタム属性値として渡します。
製品の読み込みを通じてアップロード
import APIまたは管理者インポート UIを使用して、製品にファイルを一括で添付できます。 製品ファイル属性では、外部URLからの読み込みのみがサポートされます。これは、製品画像の読み込みの方法2と同じ方法です。 Commerceは、指定されたURLからファイルをダウンロードし、S3 メディアストレージに保存します。
専用の列にURLを指定します
属性コードをCSV列ヘッダーとして、完全なURLを値として使用します。 例えば、属性コードがfile_uploadの場合、CSVは次のようになります。
sku,name,file_upload
ADB112,"My Product",https://example.com/files/manual.pdf
additional_attributesにURLを指定してください
または、additional_attributes列にファイル属性を含めます。
sku,name,additional_attributes
ADB112,"My Product",file_upload=https://example.com/files/manual.pdf
いずれの場合も、URLは一般にアクセス可能である必要があり、ファイル拡張子とサイズは設定された制限に準拠している必要があります。
GraphQLによるファイルの取得
Adobe Commerce as a Cloud Serviceでは、Catalog Service GraphQL エンドポイントが商品データを提供します。 ファイル属性はattributesのProductView フィールドに表示され、valueにはファイルの完全なパブリック URLが含まれています。
{
products(skus: ["ADB112"]) {
sku
name
attributes(roles: []) {
name
label
value
}
}
}
応答には、パブリック URLを含むファイル属性が含まれます。
{
"data": {
"products": [
{
"sku": "ADB112",
"name": "Example product",
"attributes": [
{
"name": "file",
"label": "FILE",
"value": "https://<host>/media/catalog/product_file/manual.pdf",
}
]
}
]
}
}
Magento-Website-CodeおよびMagento-Store-View-Code個のヘッダーが必要です。 詳しくは、 カタログサービス製品のクエリ を参照してください。REST APIを使用したファイルの取得
REST API (GET /V1/products/{sku})を介して製品を取得する場合、ファイル属性はcustom_attributes配列に表示され、ファイル名は次の値になります。
{
"custom_attributes": [
{
"attribute_code": "file_upload",
"value": "manual_7aa0b2d63f6d3dbf.pdf"
}
]
}