A space to discuss GraphQL queries, mutations, troubleshooting, throttling, and best practices.
Hello
I need to create a PriceList and assign a MarketID but I have an error. It stopped working SUDDENLY.
Can anyone tell me what might be wrong?? Thank you
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json','X-Shopify-Access-Token:'.$data['api_password']));
curl_setopt($ch, CURLOPT_URL, 'https://'.$data['api_host'].'/admin/api/2023-01/graphql.json');
curl_setopt($ch, CURLOPT_TIMEOUT, 30); //timeout after 30 seconds
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POSTFIELDS ,'{"query": "mutation PriceListCreate($input: PriceListCreateInput!) { priceListCreate(input: $input) { userErrors { field message } priceList { id name currency contextRule { market { id } } parent { adjustment { type value } } } } }","variables": {"input": {"name": "'.$data['currency'].'_'.$data['name'].'","currency": "'.$data['currency'].'","contextRule": {"marketId": "'.$data['marketId'].'"},"parent": {"adjustment": {"type": "PERCENTAGE_DECREASE","value": 0}}}}}');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_VERBOSE, true);
$result=curl_exec ($ch);
curl_close ($ch);
$array = json_decode($result, true);
Error:
[errors] => Array ( [0] => Array ( [message] => Field 'contextRule' doesn't exist on type 'PriceList' [locations] => Array ( [0] => Array ( [line] => 1 [column] => 150 ) ) [path] => Array ( [0] => mutation PriceListCreate [1] => priceListCreate [2] => priceList [3] => contextRule ) [extensions] => Array ( [code] => undefinedField [typeName] => PriceList [fieldName] => contextRule ) ) )
I
Hey @pstanek
Are you able to remove `contextRule { market { id } }` from the query? This field isn't available.
Scott | Developer Advocate @ Shopify