FROM CACHE - de_header
Gelöst

Cart API kann Variante nicht finden

Jarn0r
Shopify Partner
2 0 1

Hi,
bin neu hier unterwegs und versuche mit der Cart API einfach ein Produkt hinzuzufügen.

Blaupause der Doku genommen und als js umgebaut.
Die Json wird auch abgeschickt, sieht soweit auch korrekt aus und die Varianten und Produkt id werden übergeben. Jedoch kommt dann immer der Error das er die Variante nicht finden kann.

Die Ids habe ich aus der jeweiligen Produkt URL entnommen

Screenshot 2023-05-01 152531.pngScreenshot 2023-05-01 152553.png

 

const order_form = document.querySelector("#order_data");

order_form.addEventListener("submit", (event) => {
  event.preventDefault(); // prevent the form from submitting
  let formData = {
    items: [
      {
        id: 8227234218250,
        quantity: 2,
        variant_id: 44515862937866,
      },
    ],
  };
  fetch(window.Shopify.routes.root + "cart/add.js", {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
    },
    body: JSON.stringify(formData),
  })
    .then((response) => {
      return response.json();
    })
    .catch((error) => {
      console.error("Error:", error);
    });
  // perform custom logic here
  console.log("Form submitted!");
});

 

Habe ich was wichtiges vergessen?

1 AKZEPTIERTE LÖSUNG

Gabe
Shopify Staff
15875 2514 3756

Erfolg.

Hey @Jarn0r 

 

Danke für die Angaben und mein erster Tipps wäre das auch in unserer dedizierten API Community zu posten hier

 

Im Grunde scheint es, als hättest du die grundlegenden Schritte befolgt, um ein Produkt zum Warenkorb hinzuzufügen. Allerdings gibt es ein paar Dinge, die du überprüfen kannst, um sicherzustellen, dass dein Code korrekt funktioniert. Stelle z. B. sicher, dass die richtige Variante ID und Produkt ID verwendet wird. Man kann die Produkt- und Variante-ID auch über die Shopify API erhalten. Stelle außerdem sicher, dass die richtige URL zum Hinzufügen von Artikeln zum Warenkorb verwendet wird. Im Beispielcode verwendest du window.Shopify.routes.root + "cart/add.js", aber manchmal kann die URL auch etwas wie '/cart/add.js' sein wie im folgenden Beispiel:

 

fetch("/cart/add.js", {
  // die restliche fetch config
})

 

Stellen auch sicher, dass der richtige Schlüssel für die Artikel im formData verwendet wird. Die Schlüssel sollten id und quantity sein, nicht variant_id. Biespiel:

 

let formData = {
  items: [
    {
      id: 44515862937866, // variant ID hier verwenden
      quantity: 2,
    },
  ],
};

 

Achte auch darauf, dass die Produktvariante, die du hinzufügen möchtest, tatsächlich verfügbar ist und nicht ausverkauft ist. Andernfalls kann das Hinzufügen zum Warenkorb fehlschlagen.

 

Hoffe das kann dich in die richtige Richtung verweisen! 😉

Gabe | Social Care @ Shopify
 - War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen! 
 - Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung 
 - Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog

Lösung in ursprünglichem Beitrag anzeigen

1 ANTWORT 1

Gabe
Shopify Staff
15875 2514 3756

Erfolg.

Hey @Jarn0r 

 

Danke für die Angaben und mein erster Tipps wäre das auch in unserer dedizierten API Community zu posten hier

 

Im Grunde scheint es, als hättest du die grundlegenden Schritte befolgt, um ein Produkt zum Warenkorb hinzuzufügen. Allerdings gibt es ein paar Dinge, die du überprüfen kannst, um sicherzustellen, dass dein Code korrekt funktioniert. Stelle z. B. sicher, dass die richtige Variante ID und Produkt ID verwendet wird. Man kann die Produkt- und Variante-ID auch über die Shopify API erhalten. Stelle außerdem sicher, dass die richtige URL zum Hinzufügen von Artikeln zum Warenkorb verwendet wird. Im Beispielcode verwendest du window.Shopify.routes.root + "cart/add.js", aber manchmal kann die URL auch etwas wie '/cart/add.js' sein wie im folgenden Beispiel:

 

fetch("/cart/add.js", {
  // die restliche fetch config
})

 

Stellen auch sicher, dass der richtige Schlüssel für die Artikel im formData verwendet wird. Die Schlüssel sollten id und quantity sein, nicht variant_id. Biespiel:

 

let formData = {
  items: [
    {
      id: 44515862937866, // variant ID hier verwenden
      quantity: 2,
    },
  ],
};

 

Achte auch darauf, dass die Produktvariante, die du hinzufügen möchtest, tatsächlich verfügbar ist und nicht ausverkauft ist. Andernfalls kann das Hinzufügen zum Warenkorb fehlschlagen.

 

Hoffe das kann dich in die richtige Richtung verweisen! 😉

Gabe | Social Care @ Shopify
 - War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen! 
 - Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung 
 - Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog