Die Verwendung digitaler Produkte in Ihrem BigCommerce-Shop kann aufgrund der Beschränkungen von BigCommerce hinsichtlich der Dateigrößen beim Hochladen eine Herausforderung darstellen.
Als Lösung entscheiden sich Experten häufig dafür, digitale Produktdateien auf Dropbox zu speichern und Dropbox mit BigCommerce zu integrieren.
Zunächst müssen wir eine App in Dropbox erstellen, Berechtigungen erteilen, ein API-Token generieren und dann ein Skript hinzufügen, das die Datei abfragt und einen Link zum Herunterladen generiert.
Gehen Sie folgendermaßen vor, um eine App in Dropbox zu erstellen:
Schritt 1: Gehen Sie zunächst zu dropbox.com/developers/apps.
Schritt 2: Klicken Sie anschließend auf die Option App erstellen.

Schritt 3: Wählen Sie dann eine API-Option und die Art des benötigten Zugriffs aus. Benennen Sie die App und klicken Sie abschließend auf die Schaltfläche „App erstellen“.

Schritt 4: Geben Sie anschließend einige Berechtigungen an, z. B:
- files.metadata.read:- Informationen über Ihre Dropbox-Dateien und -Ordner anzeigen.
- sharing.write:- Anzeigen und Verwalten Ihrer Dropbox-Freigabeeinstellungen und Mitwirkenden.
Schritt 5: Generieren Sie dann das API-Token, indem Sie auf die Schaltfläche „Generieren“ klicken, behalten Sie das API-Token und fügen Sie es dem Skript hinzu.

Folgen Sie diesen Schritten, um das Skript zu implementieren und Bigcommerce Digital Products Links zu erhalten:
Schritt 1: Erstellen Sie zunächst eine benutzerdefinierte js-Datei in Ihrem Thema.
Schritt 2: Erstellen Sie dann ein Skript, das den Produktnamen abruft, einen Link zum Herunterladen generiert und das Skript so anpasst, dass der Link zum Herunterladen in das Produkt integriert wird. Stellen Sie außerdem sicher, dass der Link nach der Bestellbestätigung während der Kaufabwicklung an den Kunden gesendet wird.
const access_token = 'access_token';
const search_query = 'digitalproduct';
// Set the API endpoints and headers
const search_url = 'https://api.dropboxapi.com/2/files/search';
const sharing_url = 'https://api.dropboxapi.com/2/sharing/list_shared_links';
const headers = {
'Authorization': `Bearer ${access_token}`,
'Content-Type': 'application/json'
};
async function getDownloadableLink(query) {
const search_data = {
"query": query,
"path": "", // Specify the folder path where you want to search
"start": 0,
"max_results": 1 // Limit the results to 1 for the first match
};
// Perform the file search
const search_response = await fetch(search_url, {
method: 'POST',
headers: headers,
body: JSON.stringify(search_data)
});
try {
if (search_response.status === 200) {
const contentType = search_response.headers.get('content-type');
if (contentType && contentType.includes('application/json')) {
const search_response_data = await search_response.json();
const matches = search_response_data.matches || [];
if (matches.length > 0) {
const metadata = matches[0].metadata;
const file_id = metadata.id;
// Check if a shared link already exists for the file
const sharing_list_response = await fetch(sharing_url, {
method: 'POST',
headers: headers,
body: JSON.stringify({ "path": file_id })
});
const sharing_list_response_data = await sharing_list_response.json();
const existingLinks = sharing_list_response_data.links || [];
if (existingLinks.length > 0) {
const existingLink = existingLinks[0];
return existingLink.url; // Return the existing link
} else {
// Create a shared link for the file
const sharing_data = {
"path": file_id
};
const sharing_response = await fetch(sharing_url, {
method: 'POST',
headers: headers,
body: JSON.stringify(sharing_data)
});
if (sharing_response.status === 200) {
const sharing_response_data = await sharing_response.json();
if (sharing_response_data.url) {
return sharing_response_data.url; // Return the new link
}
}
}
}
}
}
} catch (error) {
console.error("Failed to process the response:", error);
}
return null; // Return null if no link is found
}
// Call the function and get the downloadable link
getDownloadableLink()
.then((link) => {
if (link) {
console.log("Downloadable Link:", link);
} else {
console.log("No link found.");
}
});
Für jegliche Unterstützung zu Bigcommerce und um das vollständige Skript zu erhalten, kontaktieren Sie uns bitte unter manish@bay20.com oder WhatsApp unter +91-8800519180.






