Open7
Shopify AdminAPI(GraphQL)
「メタフィールドをAPIから追加するとき」
- Shopify側で事前にメタフィールドを定義しておく。
- Query
・namespaceは「ネームスペースとキー」欄のドットの左側
・keyは「ネームスペースとキー」欄のドットの右側アンスコも含む
・typeは「単一のテキスト」の場合はsingle_line_text_field(STRINGと書いてある記事が多いが違う)
・valueは入れたい値。
事前にShopify側で定義していない場合と、
namespaceとkeyがQueryで定義している物とShopify側で定義した物で差異がある場合、
「定義のないメタフィールド」として定義されてしまう。
metafields: [
{
namespace: "custom",
key: "_Id",
type: "single_line_text_field",
value: "テストID"
}
]
標準的なネームスペース
global:ストア全体に適用されるメタフィールドに使用されます。
product:商品に関連するメタフィールドに使用されます。
customer:顧客に関連するメタフィールドに使用されます。
order:注文に関連するメタフィールドに使用されます。
「商品画像の追加」
images: {
src: "https://st.depositphotos.com/2274151/4841/i/950/depositphotos_48410095-stock-photo-sample-blue-square-grungy-stamp.jpg"
}
「商品カテゴリ」
「商品カテゴリ」を追加するには、productTaxonomyNodeIdが必要だがShopifyのGUIから確認ができない。
下記 Queryで登録ずみの商品を参考に確認できる。
const query = """
query {
shop {
name
allProductCategories {
productTaxonomyNode {
id
fullName
name
}
}
}
}
""";
下記サイトで番号は確認できるがそれ以前がわからなかった。
メモ
食品: gid://shopify/ProductTaxonomyNode/1728
食品・飲料: gid://shopify/ProductTaxonomyNode/1685
登録
productCategory: {
productTaxonomyNodeId: "gid://shopify/ProductTaxonomyNode/番号"
}
番号のところはここから探す
この辺りはGPTちゃん機能せず( ; ; )
この辺りを使ってQuery探していく
ロケーション(在庫)
ロケーションIDのGUIから確認できなかった。下記で確認
locations(first: 10) {
edges {
node {
id
name
}
}
}
追加
inventoryManagement: SHOPIFY (在庫追跡する場合)
inventoryQuantities: [
{
availableQuantity: 10,
locationId: "--"
}
]
「デジタル商品またはデジタルサービス」にしたい場合
requiresShipping: false,
productTaxonomyNodeIdもlocationIDも権限の問題で見れないだけな気もする。