Lägg till filer i produkter
Adobe Commerce as a Cloud Service har stöd för en produktattributindatatyp som gör att handlare kan bifoga filer - t.ex. PDF-filer, handböcker, certifikat och datablad - direkt till produkter. Filerna lagras i Amazon S3-medielagring och kan nås via butiken via GraphQL eller genom integreringar med REST API.
Det finns tre sätt att överföra filer till produktfilattribut:
- Administratörsgränssnitt - Överför filer manuellt på produktredigeringssidan.
- REST API - Överför filer via REST API med hjälp av S3-försignerade URL:er.
- Produktimport - Importera flera filer samtidigt genom att ange externa URL:er i CSV.
Förutsättningar
Innan du överför filer måste du skapa ett filattribut och tilldela det till en attributuppsättning.
-
Skapa ett filattribut - Ange Catalog Input Type for Store Owner som File.
-
Tilldela attributet till en attributuppsättning - Dra det nya filattributet till önskad grupp.
-
Konfigurera tillåtna filtyper och storlekar i konfigurationen Produktfilattribut.
Överför filer via administratören
När du har skapat ett filattribut och tilldelat det till en attributuppsättning kan du överföra filer direkt från produktredigeringssidan.
-
Gå till > på sidofältet Catalog Admin Products.
-
Öppna den produkt du vill redigera.
-
Leta reda på filattributsfältet och klicka på Upload för att välja en fil.
- Klicka på Save.
Om du vill ersätta en fil tar du bort den befintliga filen och överför en ny. Den överförda filen lagras i Amazon S3-medielagring.
Överför via REST API
Använd det S3-försignerade URL-flödet för att överföra filer programmatiskt via REST API. Den här processen fungerar på samma sätt för produktfilattribut som för andra medietyper som kategoribilder och kundattributfiler.
Processen består av fyra steg:
- Anropa
POST V1/media/initiate-uploadmed filnamnet ochmedia_resource_typeför produktfilattribut. - Använd den returnerade försignerade URL:en för att
PUTfilen direkt till Amazon S3. - Ring
POST V1/media/finish-uploadför att bekräfta överföringen. - Tilldela den returnerade nyckeln till produktens filattribut genom
PUT /V1/products/{sku}och skicka nyckeln som anpassat attributvärde.
Överför via produktimport
Du kan bifoga flera filer till produkter samtidigt med import-API:t eller gränssnittet för administratörsimporten. Produktfilattribut stöder endast import från externa URL:er, vilket följer samma tillvägagångssätt som metod 2 för import av produktbilder. Commerce hämtar filen från den angivna URL:en och sparar den i medielagring i S3.
Ange URL-adressen i en dedikerad kolumn
Använd attributkoden som CSV-kolumnrubrik och den fullständiga URL:en som värde. Om attributkoden till exempel är file_upload ser CSV-filen ut så här:
sku,name,file_upload
ADB112,"My Product",https://example.com/files/manual.pdf
Ange URL:en i additional_attributes
Du kan även inkludera filattributet i kolumnen additional_attributes:
sku,name,additional_attributes
ADB112,"My Product",file_upload=https://example.com/files/manual.pdf
I båda fallen måste URL:en vara tillgänglig för alla, och filtillägget och filstorleken måste uppfylla de konfigurerade begränsningarna.
Hämta filer via GraphQL
I Adobe Commerce as a Cloud Service skickar katalogtjänstens GraphQL-slutpunkt produktdata. Filattribut visas i fältet attributes på ProductView, där value innehåller den fullständiga offentliga URL:en till filen:
{
products(skus: ["ADB112"]) {
sku
name
attributes(roles: []) {
name
label
value
}
}
}
Svaret innehåller filattributet med dess offentliga 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 och Magento-Store-View-Code. Mer information finns i frågan om katalogtjänstprodukter.Hämta filer via REST API
När en produkt hämtas via REST API (GET /V1/products/{sku}) visas filattribut i arrayen custom_attributes med filnamnet som värde:
{
"custom_attributes": [
{
"attribute_code": "file_upload",
"value": "manual_7aa0b2d63f6d3dbf.pdf"
}
]
}