ShopifyGraphql
Reference for the ShopifyGraphql.js custom code library, including send for running GraphQL queries and mutations against Shopify from a MESA workflow.
vendor/ShopifyGraphql.js
new ShopifyGraphql()
Section titled “new ShopifyGraphql()”Graphql Library
Returns
Void
ShopifyGraphql.send(query, variables[, connectionInfo, endpoint])
Section titled “ShopifyGraphql.send(query, variables[, connectionInfo, endpoint])”Grapqhl call to Shopify.
Parameters
| Name | Type | Description | |
|---|---|---|---|
| query | string |
Graphql query with variables. | |
| variables | object |
Object with graphql query variables. | |
| connectionInfo | ConnectionInfo | If you would like to connect to a separate Shopify website that Mesa is not installed on, create a Custom App and include a connectionInfo object. |
Optional |
| endpoint | string |
Override the Shopify GraphQL endpoint, for example to call a custom API version. Defaults to ‘admin/graphql.json’. | Optional |
Examples
// Query exampleconst query = `query { shop { name primaryDomain { url host } } }`;const rest = Graphql.send(query, '');Returns
objectGraphql response.
ShopifyGraphql.addOrUpdateMetafields(id, metafields)
Section titled “ShopifyGraphql.addOrUpdateMetafields(id, metafields)”Adds a metafields to Shopify order. This function will add a metafield id to the payload if metafield already exits.
Parameters
| Name | Type | Description | |
|---|---|---|---|
| id | string |
Shopify Order ID. | |
| metafields | Array.<Metafields> |
Array of metafields. |
Examples
const shopifyOrderId = 1234;const metafields = [{ namespace: "example", key: "example_key", value: "example_value" }];const response = Graphql.addOrUpdateMetafields(shopifyOrderId, metafields, "order");Mesa.log.info('Graphql response: ', response);Returns
objectGraphql response
ShopifyGraphql.addMetafields(id, metafields, entity)
Section titled “ShopifyGraphql.addMetafields(id, metafields, entity)”Adds a metafield to a Shopify entity. This function will throw an error if metafield exists and you do not pass an id.
Parameters
| Name | Type | Description | |
|---|---|---|---|
| id | string |
Entity id. | |
| metafields | Array.<Metafields> |
Array of metafields. | |
| entity | string |
Entity: Order | Product |
Returns
Void
ShopifyGraphql.groupMetafieldsByKey(data)
Section titled “ShopifyGraphql.groupMetafieldsByKey(data)”Takes metafield results, returns object keyed by the metafield key
Parameters
| Name | Type | Description | |
|---|---|---|---|
| data | object |
Returns
objectmetafields
ShopifyGraphql.buildShopifyId(entity, id)
Section titled “ShopifyGraphql.buildShopifyId(entity, id)”Builds Shopfiy Graphql id.
Parameters
| Name | Type | Description | |
|---|---|---|---|
| entity | string |
Shopfiy graphql entity. | |
| id | string |
Shopify entity id. |
Returns
stringShopfiy graphql id
ShopifyGraphql.extractShopifyId(gid)
Section titled “ShopifyGraphql.extractShopifyId(gid)”Builds Shopfiy Graphql id.
Parameters
| Name | Type | Description | |
|---|---|---|---|
| gid | string |
Shopfiy graphql id (ex: gid://shopify/ShippingLabelV2/637424009250) |
Returns
stringShopfiy id without the gid notation (ex: 637424009250)
{Object} Metafields()
Section titled “{Object} Metafields()”Metafields
Properties
Returns
Void
{Object} ConnectionInfo()
Section titled “{Object} ConnectionInfo()”connectionInfo parameter for Shopify calls
Properties
Returns
Void
