Bei Product create mit Product Options und linkedmetafields wird das Metaobject nicht übertragen

Hi,

ich lege über die API ein Produkt an (keine Variante) an und kann dem Produkt auch Kategorien etc mitgeben.

Wenn ich jetzt versuche ein Custom Metafield zu befüllen also bspw.

Marke:

Dann erhalte ich folgende Meldung:

DEBUG:root:Response JSON:

{‘data’: {‘productCreate’: {‘product’: None, ‘userErrors’: [{‘field’: [‘productOptions’], ‘message’: “No valid metafield definition found at ‘custom.marke_filter’ for linked option”}]}}

Die Mutation funktioniert bis auf das linked metafield.

mutation {
productCreate(input: {
title: “%s”,
handle: “%s”,
productType: “%s”,
vendor: “%s”,
tags: %s,
productCategory: {
productTaxonomyNodeId: “%s”
},
productOptions: [
{
name: “Marke”,
linkedMetafield: {
namespace: “custom”,
key: “marke_filter”,
values: [
“gid://shopify/Metaobject/83772178771”
]
}
}
]
}) {
product {
id
title
handle
productType
vendor
}
userErrors {
field
message
}
}
}
“”"

Hi @ap221080 ,

Hab mal unserer Entwickler Doku und unser API Forum schnell durchgekämmt und generell gesagt, hast du sichergestellt, dass die Metafield-Definition korrekt erstellt und vorhanden ist, entweder über die Shopify Admin-Oberfläche oder durch eine GraphQL-Mutation?

  • Gehe zu Einstellungen > Custom data > Produkte.
  • Klicke auf Definition hinzufügen.
  • Fülle die erforderlichen Informationen aus, z.B.:
    • Namespace: custom
    • Key: marke_filter
    • Content-Type: Wähle den entsprechenden Typ, z.B. Single line text.

Über eine GraphQL-Mutation:

mutation {
  metafieldDefinitionCreate(definition: {
    name: "Marke Filter",
    namespace: "custom",
    key: "marke_filter",
    type: "single_line_text_field",
    ownerType: PRODUCT
  }) {
    metafieldDefinition {
      id
      name
    }
    userErrors {
      field
      message
    }
  }
}

Nachdem du die Metafield-Definition erstellt hast, kannst du dein Produkt mit dem Metafield verlinken. Beispielmutation:

mutation {
  productCreate(input: {
    title: "Dein Produkt",
    handle: "dein-produkt",
    productType: "Kategorie",
    vendor: "Dein Vendor",
    tags: ["tag1", "tag2"],
    productOptions: [
      {
        name: "Marke",
        linkedMetafield: {
          namespace: "custom",
          key: "marke_filter",
          values: ["gid://shopify/Metaobject/83772178771"]
        }
      }
    ]
  }) {
    product {
      id
      title
      handle
      productType
      vendor
    }
    userErrors {
      field
      message
    }
  }
}

Also stelle mal sicher dass:

  1. Die Metafield-Definition existiert und korrekt konfiguriert ist.
  2. Die namespace und key exakt übereinstimmen.
  3. Der gid korrekt und auf das Metafield verweist.

Hoffe das hilft dir weiter - lass wissen falls nicht! :wink:


Warum nicht etwas Gamification in das Shop einbauen, um deinen Kunden etwas Fun im Shop anzubieten? Gerne kann ich bei Interesse Tipps dazu geben!

Hast du weitere Fragen zum Shop? Gebe einfach ein Suchbegriff oben in der Suchleiste der Community Landingpage ein, denn das Thema haben wir sehr wahrscheinlich schon besprochen. Halte bitte Ausschau in deiner E-Mail auf Notifications zu Antworten auf deine Fragen in der Community.

Hi Gabe,

danke für deine prompte Antwort.

Anbei das Metafeld

Der Type ist Metaobjekt, denkst Du es liegt daran?

Danke und VG