Sample code for 30+ languages & platforms
Java Requires Chilkat v11.0.0+

Shopify GraphQL Simple Query (Get Shop Object)

See more Shopify Examples

Demonstrates a simple Shopify GraphQL query to get specific fields of the Shop object.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Http;
import com.chilkatsoft.chilkat2.HttpResponse;
import com.chilkatsoft.chilkat2.JsonObject;
import com.chilkatsoft.chilkat2.StringBuilder;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example requires the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        Http http = new Http();

        // This example will use private authentication (which is HTTP Basic authentication)
        // See the other Chilkat Shopify examples for OAuth2 authentication.
        // To use HTTP Basic Authentication with any HTTP request, we simply set the Login, Password, and BasicAuth properties.
        // Important: All HTTP requests using Basic authentication must be over SSL/TLS.
        http.setLogin("SHOPIFY_PRIVATE_API_KEY");
        http.setPassword("SHOPIFY_PRIVATE_API_SECRET_KEY");
        http.setBasicAuth(true);

        // We're going to do a POST  https://{shop}.myshopify.com/admin/api/2021-04/graphql.json
        // Make sure to replace "chilkat" with your store name.

        // The body of the request will be:
        //    {
        //        shop {
        //            id
        //            name
        //            description
        //            email
        //         }
        //     }

        // The above query is not JSON.  It looks like JSON, but it's actually not.
        // We'll just make it one line:

        String query = "{ shop { id name description email } }";

        // My store name is "chilkat".  Use your store name here instead.
        String url = "https://chilkat.myshopify.com/admin/api/2021-04/graphql.json";

        HttpResponse resp = new HttpResponse();
        try {
            http.httpStr("POST", url, query, "utf-8", "application/graphql", resp);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // Examine the response code.
        if (resp.getStatusCode() != 200) {
            System.out.println("Received error response code: " + resp.getStatusCode());
            System.out.println("Response body:");
            System.out.println(resp.getBodyStr());
            return;
        }

        StringBuilder sbResponseBody = new StringBuilder();
        resp.getBodySb(sbResponseBody);
        JsonObject jResp = new JsonObject();
        jResp.loadSb(sbResponseBody);
        jResp.setEmitCompact(false);

        System.out.println("Response Body:");
        System.out.println(jResp.emit());

        int respStatusCode = resp.getStatusCode();
        System.out.println("Response Status Code = " + respStatusCode);
        if (respStatusCode >= 400) {
            System.out.println("Response Header:");
            System.out.println(resp.getHeader());
            System.out.println("Failed.");
            return;
        }

        // Sample JSON response:
        // (Sample code for parsing the JSON response is shown below)

        // {
        //   "data": {
        //     "shop": {
        //       "id": "gid:\/\/shopify\/Shop\/24198053",
        //       "name": "chilkat",
        //       "description": null,
        //       "email": "admin@chilkatsoft.com"
        //     }
        //   },
        //   "extensions": {
        //     "cost": {
        //       "requestedQueryCost": 1,
        //       "actualQueryCost": 1,
        //       "throttleStatus": {
        //         "maximumAvailable": 1000.0,
        //         "currentlyAvailable": 999,
        //         "restoreRate": 50.0
        //       }
        //     }
        //   }
        // }

        // Sample code for parsing the JSON response...
        // Use the following online tool to generate parsing code from sample JSON:
        // Generate Parsing Code from JSON

        String shopId = jResp.stringOf("data.shop.id");
        String shopName = jResp.stringOf("data.shop.name");
        String shopDescription = jResp.stringOf("data.shop.description");
        String shopEmail = jResp.stringOf("data.shop.email");
        int costRequestedQueryCost = jResp.intOf("extensions.cost.requestedQueryCost");
        int costActualQueryCost = jResp.intOf("extensions.cost.actualQueryCost");
        String costThrottleStatusMaximumAvailable = jResp.stringOf("extensions.cost.throttleStatus.maximumAvailable");
        int costThrottleStatusCurrentlyAvailable = jResp.intOf("extensions.cost.throttleStatus.currentlyAvailable");
        String costThrottleStatusRestoreRate = jResp.stringOf("extensions.cost.throttleStatus.restoreRate");

        System.out.println("Shop name: " + shopName);
        // ...
    }
}