← back to Shopify Sample Shipping

band-source.mjs

16 lines

import {query} from './query.mjs';
const S='gid://shopify/ProductVariant/44090076954675';
const ROLL='gid://shopify/ProductVariant/40348093055027';
// 1) what rates + titles does a 6-sample cart see?
const qq=`query($items:[DraftOrderLineItemInput!]!){draftOrderAvailableDeliveryOptions(input:{lineItems:$items,shippingAddress:{address1:"15442 Ventura Blvd",city:"Sherman Oaks",provinceCode:"CA",countryCode:US,zip:"91403"}}){availableShippingRates{title price{amount}}}}`;
const r6=(await query(qq,{items:[{variantId:S,quantity:6}]})).draftOrderAvailableDeliveryOptions.availableShippingRates;
console.log('6-sample cart ($25.50) rates:'); r6.forEach(x=>console.log(`   "${x.title}" = $${x.price.amount}`));
const r11=(await query(qq,{items:[{variantId:S,quantity:11}]})).draftOrderAvailableDeliveryOptions.availableShippingRates;
console.log('11-sample cart ($46.75) rates:'); r11.forEach(x=>console.log(`   "${x.title}" = $${x.price.amount}`));
// 2) which delivery profile does the sample variant belong to?
const pq=`{productVariant(id:"${S}"){id sku title product{title}
  deliveryProfile{id name}}}`;
try{const pv=await query(pq);console.log('\nSAMPLE variant profile:',JSON.stringify(pv.productVariant,null,0));}catch(e){console.log('variant.deliveryProfile query err:',e.message);}
const pq2=`{productVariant(id:"${ROLL}"){id sku title deliveryProfile{id name}}}`;
try{const pv2=await query(pq2);console.log('ROLL variant profile:',JSON.stringify(pv2.productVariant,null,0));}catch(e){console.log('roll err:',e.message);}