luminarix/laravel-shopify-graphql

GraphQL client for Shopify.

v0.1.0 2024-05-15 18:27 UTC

This package is auto-updated.

Last update: 2024-05-20 15:42:55 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

This is a work in progress package to provide a GraphQL client for Shopify.

Installation

You can install the package via composer:

composer require luminarix/laravel-shopify-graphql

You can publish the config file with:

php artisan vendor:publish --tag="laravel-shopify-graphql-config"

Usage

use Luminarix\Shopify\GraphQLClient\Facades\GraphQLClient;
use Luminarix\Shopify\GraphQLClient\Authenticators\PublicApp;
use Luminarix\Shopify\GraphQLClient\Authenticators\PrivateApp;

$graphql = GraphQLClient::factory();

$authenticator = new PublicApp($shopDomain, $accessToken, $clientId, $clientSecret, $apiVersion);
// OR
$authenticator = new PrivateApp($shopDomain, $accessToken, $apiKey, $apiSecretKey, $apiVersion);

$client = $graphql->create($authenticator)

// Query
$query = 'query {
  node(id: "gid://shopify/Order/148977776") {
    id
    ... on Order {
      name
    }
  }
}';

$response = $client->query($query);

// Mutation
$mutation = 'mutation orderMarkAsPaid($input: OrderMarkAsPaidInput!) {
  orderMarkAsPaid(input: $input) {
    order {
      # Order fields
    }
    userErrors {
      field
      message
    }
  }
}';

$variables = [
  'input' => [
    'id' => 'gid://shopify/<objectName>/10079785100',
  ],
];

$response = $client->mutation($mutation, $variables);

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Credits

License

The MIT License (MIT). Please see License File for more information.