0

I'm trying to create a simple app that reads our stores products, contacts an external API to get stock levels then update our stores products with the new stock levels how ever encountering alot of issues..

The examples for the graphQL library for php seems to be a bit strange, says i need to authenticate my app using auth0 which will give me a session token and allow me to query then my shopify store using graphQL however that seems strange to me?

This app will be completely headless.. will be run on a cron job so why would i need to authenticate? Isn't that what my stores api key and access token is for?

Anyway i tried to then make a request to my store https://XXXXXX/admin/api/2025-01/graphql.json

with the X-Shopify-Access-Token in the headers and i get a curl error " cURL error 6: Could not resolve host: login"

if i try visit that url in my browser a login box prompts for a username and password?

Any help would be appreciated, thanks.

1 Answer 1

0

Based on what I read, I can assume that you are doing a direct integration with the API.

With PHP, I use CURL.

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://{{store}}.myshopify.com/admin/api/2025-01/graphql.json',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
  "query": "mutation {}"
}',
  CURLOPT_HTTPHEADER => array(
    'X-Shopify-Access-Token: {{token}}',
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

To build the GraphQL queries, I use the GraphQL Shopify App/Playground: API:https://shopify.dev/graphiql/admin-graphiql

This response is based on the assumption that you are using a custom app (Developer App) and that you have already granted the necessary permissions to it.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.