Bestanden toevoegen aan producten
Adobe Commerce as a Cloud Service steunt een "Dossier" type van de productkenmerkinput dat verkopers toestaat om dossiers-zulke zoals PDFs, handboeken, certificaten, en gegevensbladen rechtstreeks aan producten vast te maken. Bestanden worden opgeslagen in Amazon S3 media-opslag en kunnen worden geopend via de opslagomgeving met GraphQL of via integratie met de REST API.
Er zijn drie manieren om bestanden te uploaden naar productbestandskenmerken:
- Admin UI - uploadt manueel dossiers op het product uitgeeft pagina.
- REST API - upload dossiers door REST API gebruikend S3 presigned URLs.
- de invoer van het Product - de dossiers van de Invoer in bulk door externe URLs in CSV te verstrekken.
Vereisten
Voordat u bestanden kunt uploaden, moet u een bestandskenmerk maken en dit aan een kenmerkset toewijzen.
-
creeer een dossierattribuut - reeks Catalog Input Type for Store Owner aan File.
-
wijs de attributen aan een attributenreeks toe - sleep het nieuwe dossierattribuut in de gewenste groep.
-
Vorm toegestane dossiertypes en grootte in de Configuratie van de Attributen van het Dossier van het Product .
Bestanden uploaden via de beheerder
Nadat u een dossierattribuut creeert en het aan een kenmerkenreeks toewijst, kunt u dossiers van product direct uploaden uitgeeft pagina.
-
Voor Admin sidebar, ga Catalog > Products.
-
Open het product dat u wilt bewerken.
-
Zoek het veld voor bestandskenmerken en klik op Upload om een bestand te selecteren.
- Klik op Save.
U vervangt een bestand door het bestaande bestand te verwijderen en een nieuw bestand te uploaden. Het geüploade bestand wordt opgeslagen in Amazon S3-mediaopslag.
Uploaden via de REST API
Gebruik de S3 vooraf ondertekende stroom URL om dossiers programmatically door REST API te uploaden. Dit proces werkt voor productbestandskenmerken op dezelfde manier als voor andere mediatypen, zoals categorieafbeeldingen en kenmerkbestanden van de klant.
Het proces bestaat uit vier stappen:
- Roep
POST V1/media/initiate-uploadaan met de bestandsnaam en de lusmedia_resource_typefor product file attributes. - Gebruik de geretourneerde vooraf ondertekende URL om het bestand rechtstreeks naar Amazon S3 te sturen.
PUT - Roep
POST V1/media/finish-uploadaan om de upload te bevestigen. - Wijs de teruggekeerde sleutel aan het het dossierattribuut van het product door
PUT /V1/products/{sku}toe, die de sleutel als waarde van de douaneattributen overgaat.
Uploaden via productimport
U kunt dossiers aan producten in bulk vastmaken gebruikend invoer API of Admin de invoer UI. De de dossierattributen van het product steunen de invoer van externe URLs slechts, die de zelfde benadering zoals Methode 2 voor de invoer van het productbeeld volgt. Commerce downloadt het bestand van de opgegeven URL en slaat het op in S3-mediaopslag.
Geef de URL op in een specifieke kolom
Gebruik de kenmerkcode als CSV-kolomkop en de volledige URL als waarde. Als de kenmerkcode bijvoorbeeld file_upload is, ziet de CSV er als volgt uit:
sku,name,file_upload
ADB112,"My Product",https://example.com/files/manual.pdf
Geef de URL op in additional_attributes
U kunt ook het bestandskenmerk in de kolom additional_attributes opnemen:
sku,name,additional_attributes
ADB112,"My Product",file_upload=https://example.com/files/manual.pdf
In beide gevallen, moet URL openbaar toegankelijk zijn, en de dossieruitbreiding en de grootte moeten aan de gevormde beperkingen voldoen.
Bestanden ophalen via GraphQL
In Adobe Commerce as a Cloud Service, dient het 2} eindpunt van GraphQL van de Dienst van de Catalogus productgegevens. Bestandskenmerken worden weergegeven in het veld attributes op ProductView , met de value die de volledige openbare URL naar het bestand bevat:
{
products(skus: ["ADB112"]) {
sku
name
attributes(roles: []) {
name
label
value
}
}
}
De reactie omvat het bestandskenmerk met de openbare 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 en Magento-Store-View-Code vereist. Voor meer informatie, zie de de productvraag van de Dienst van de Catalogus .Bestanden ophalen via de REST API
Wanneer het terugwinnen van een product door REST API (GET /V1/products/{sku}), verschijnen de dossierattributen in custom_attributes serie met filename als waarde:
{
"custom_attributes": [
{
"attribute_code": "file_upload",
"value": "manual_7aa0b2d63f6d3dbf.pdf"
}
]
}