NOMS Storefront Graphql

Schema breakdown for Noms storefront graphql endpoint

Endpoint

https://storefront.api.nacelle.com/graphql/v1/spaces/[your_storefront_ID]

To find your custom endpoint, login to your Nacelle Dashboard > select your space > click Space Settings > click the API Details tab > find the Storefront Endpoint under the Storefront API section.

Required Headers

NameValueExample
x-nacelle-space-idThe spaceID for the request"x-nacelle-space-id": "a space id"
AuthorizationAn authorization token granting access to the space id"Authorization": "Bearer ey...."
📘

The authorization token is used to embed a customer id to allow a customer to query records from a frontend.

Schema Types

Table of Contents

- Query

Query

The query root. These queries are authenticated and will return data based on the customer associated with the authentication token.

FieldArgumentTypeDescription
orderOrderThis query will return a single order given its id.
idUUID!The id of the order to retrieve
customerCustomerThis query will return the customer.
ordersOrderConnection!This query will return a orders for a customer.
filterOrderFilter(Optional) Supported filter parameters

Objects

Address

An Address is a object representing a physical address that can be used for shipping or billing

FieldArgumentTypeDescription
idUUID!The unique address id
countryISO2String!The two-letter code for the country of the address.
provinceStringThe region of the address, such as the province, state, or district.
cityString!The name of the city, district, village, or town
postalCodeString!The postal code for the address
stateString!The state for the address
address1String!The first line of the address. Typically the street address or PO Box number.
address2StringThe second line of the address. Typically the number of the apartment, suite, or unit.
commentString
zip ⚠️String!

⚠️ DEPRECATED

use postalCode instead
country ⚠️String!

⚠️ DEPRECATED

use countryISO2 instead

CalcResult

Represents a tax result calculated by a tax service containing the tax data for the cart

FieldArgumentTypeDescription
createdAtIntWhen the tax result was created
serviceServiceThe service used to calculate the tax result
currencyStringThe currency of the tax result
itemsCalcResultItemsDataThe line item data of the tax result
shippingCalcResultShippingDataThe shipping data of the tax result
expiresAtIntWhen the tax result expires
externalIDStringThe external ID of the tax result
taxDateIntThe tax date of the tax result

CalcResultEntry

Represents a tax result entry

FieldArgumentTypeDescription
orderItemIDStringThe unique ID of the order item
amountStringThe amount of the item
taxAmountStringThe tax amount of the item
quantityUintThe positive quantity of the item
taxBehaviorStringThe tax behavior of the item
taxCodeStringThe tax code of the item
breakdown[CalcResultEntryBreakdown]The tax breakdown of the item

CalcResultEntryBreakdown

Represents a breakdown of a tax result entry

FieldArgumentTypeDescription
amountStringThe amount of the breakdown
taxabilityReasonStringThe tax ability reason for the breakdown
displayNameStringA display name for the breakdown
percentageStringThe percentage of the breakdown
taxTypeStringThe tax type of the breakdown

CalcResultItemsData

Represents a tax result of all item data

FieldArgumentTypeDescription
totalAmountStringThe total amount of the items without tax
totalTaxAmountStringThe total tax amount of the items
totalWithTaxAmountStringThe total amount of the items with tax
entries[CalcResultEntry]The line item data of the tax result

CalcResultShippingData

Represents a tax result of shipping data

FieldArgumentTypeDescription
totalAmountStringThe total amount of the shipping without tax
totalTaxAmountStringThe total tax amount of the shipping
totalWithTaxAmountStringThe total amount of the shipping with tax
entriesCalcResultEntryThe shipping data of the tax result

Customer

Represents a customer in the system

FieldArgumentTypeDescription
idUUID!The unique customer id
firstNameStringThe customers first name
lastNameStringThe customers last name
emailStringThe customers email
phoneStringThe customers phone number
metaMapA map of meta data for the customer
addresses[Address]The customers addresses
createdAtTimeWhen the customer was created
modifiedAtTimeWhen the customer was last modified
sourceExternalIDStringThe external id of the source, used for syncing with external systems
destinationExternalIDStringThe destination id of the customer, used for syncing with external systems

Fulfillment

Represents a fulfillment in the system

FieldArgumentTypeDescription
idUUID!The unique fulfillment id
externalIdString!The external id for the fulfillment
assignedLocationIdStringExternal location ID that has been assigned for fulfillment work
destinationAddressAddressThe destination where the items should be sent
deliveryTypeString!The type of delivery
deliveryMethodString!The type of delivery method
nacelle_statusFulfillmentStatus!The nacelle status of the fulfillment
statusStringThe merchant status of the fulfillment
shipmentStatusStringThe current shipment status of the fulfillment
deliveryDateIntTimestamp at which the Fulfillment has been delivered (unix timestamp in seconds)
deliveryEstimationStringComment describing when delivery expected, received from the shipping company.
E.g. "28 July 2023 before 9pm".
trackingCompanyStringThe name of the tracking company
trackingNumbers[String!]A list of tracking numbers provided by the shipping company
trackingUrls[String!]A list of tracking URLs
fulfillmentOrderItems[FulfillmentOrderItem!]A list of order item fulfillment data

FulfillmentConnection

An object containing an array of Fulfillment data and pagination information

FieldArgumentTypeDescription
pageInfoPageInfo!Information to aid in pagination.
edges[FulfillmentEdge]!An array of FulfillmentsEdge's.

FulfillmentEdge

An object containing a node with Fulfillment data and a cursor

FieldArgumentTypeDescription
cursorCursor!A cursor for use in pagination.
nodeFulfillment!The order item data

FulfillmentOrderItem

Represents a fulfillment order item data attached to the Fulfillment object.

FieldArgumentTypeDescription
orderItemIDUUID!Order Item ID
quantityUint!Quantity of fulfilled goods for this Order Item

Money

Represents a single price

FieldArgumentTypeDescription
amountInt![source] An amount for the money
currencyCodeString![source] A currencyCode identifier for the amount
precisionDigitsInt[source] (optional) The precision to which the currency amount should be displayed

Order

Represents a single order in the system

FieldArgumentTypeDescription
idUUID!The unique order id
statusString!The status of the order
nacelleEntryIdStringThe nacelle entry id of the order
emailStringThe email address associated with the customer.
phoneStringThe phone number associated with the customer.
sourceExternalIdStringThe external id of the orders source
destinationExternalIdStringThe destination id of the order, used for syncing with external systems
commentStringA comment about the order
createdAtTime!When the order was created
modifiedAtTime!When the order was last modified
canceledAtNullTimeWhen the order was canceled
canceledReasonStringThe reason the order was canceled
currencyStringThe currency of the order for example USD, CAD, etc.
shippingMethodStringThe shipping method for the order
metaMap[source] The meta data for the order
customerCustomer[source] The customer for the order
shippingAddressAddress[source] The shipping address for the order
billingAddressAddress[source] The billing address for the order
paymentPayment[source] The payment information for the order
taxResultCalcResult[source] The tax calculation information for the order
taxRateMoneyThe tax rate of the order
shippingPriceMoneyThe shipping price of the order
deadlineUint
orderItems ⚠️[OrderItem]!

⚠️ DEPRECATED

use items instead
itemsOrderItemConnection![source] A query to get all the order items based on the filter
filterOrderItemFilter[source] Supported filter parameters
fulfillmentsFulfillmentConnection![source] A query to get all the fulfillments based on the filter
filterFulfillmentFilter[source] Supported filter parameters
priceMoney[source] The total price of the order
subtotalPriceMoney[source] The subtotal price of the order
taxMoney[source] The total tax of the order
discountsMoney[source] The total discounts of the order
paymentMethod ⚠️String

⚠️ DEPRECATED

use payment instead
paymentService ⚠️String

⚠️ DEPRECATED

use payment instead
paymentStatus ⚠️String

⚠️ DEPRECATED

use payment instead
totalPrice ⚠️Int

⚠️ DEPRECATED

use price instead
totalSubtotalPrice ⚠️Int

⚠️ DEPRECATED

use subtotalPrice instead
totalTotalTax ⚠️Int

⚠️ DEPRECATED

use tax instead
totalDiscounts ⚠️Int

⚠️ DEPRECATED

use discounts instead

OrderConnection

An object containing an array of Order data and pagination information

FieldArgumentTypeDescription
pageInfoPageInfo!Information to aid in pagination.
edges[OrderEdge]!An list of edges.

OrderEdge

An object containing a node with Order data and a cursor

FieldArgumentTypeDescription
cursorCursor!A cursor for use in pagination.
nodeOrder!The item at the end of OrderEdge.

OrderItem

Represents a single order item in an order

FieldArgumentTypeDescription
idUUID!The unique order item id
productIDStringThe nacelle entry id of the product this item represents
variantIDStringThe nacelle entery id of the variant this item represents
statusString!The status of the order item
sourceExternalIDStringThe external id of the order item
destinationExternalIDStringThe destination id of the order item, used for syncing with external systems
commentStringA comment about the order item
priceAmountMoneyThe total price of the order item
subtotalPriceAmountMoneyThe subtotal price of the order item
taxAmountMoneyThe total tax of the order item
discountsAmountMoneyThe total discounts of the order item
taxRateMoneyThe tax rate of the order item
quantityUintThe total quantity of the order item
metaMapThe meta data for the order item
skuStringThe product sku
createdAtTime!When the order item was created
description ⚠️String

⚠️ DEPRECATED

use meta instead
nacelleEntryID ⚠️String

⚠️ DEPRECATED

use productID instead
productExternalID ⚠️String

⚠️ DEPRECATED

use variantID instead
price ⚠️Int

⚠️ DEPRECATED

use priceAmount instead

OrderItemConnection

An object containing an array of OrderItem data and pagination information

FieldArgumentTypeDescription
pageInfoPageInfo!Information to aid in pagination.
edges[OrderItemEdge]!An array of OrderItemsEdge's.

OrderItemEdge

An object containing a node with OrderItem data and a cursor

FieldArgumentTypeDescription
cursorCursor!A cursor for use in pagination.
nodeOrderItem!The order item data

PageInfo

Contains information that can be used to navigate through paginated data, additionally details whether there are more pages to query.

FieldArgumentTypeDescription
hasNextPageBoolean!Whether there is a next page to view
hasPreviousPageBoolean!Whether there is a previous page to view
startCursorString!The starting cursor of this request
endCursorString!The ending cursor of this request

Payment

Represents a payment in the system

FieldArgumentTypeDescription
idUUID!The unique payment id
statusPaymentStatus!The status of the payment
amountValueMoneyThe total price of the payment
currencyString!The currency of the payment for example USD, CAD, etc.
external_idStringThe external id for the payment for example the stripe payment intent id
processor_nameStringThe payment processor name for the payment. For example Stripe, Paypal, etc.
payment_typeStringThe type of payment. For example credit card, paypal, etc.
processor_statusStringThe status of the payment processor
payment_dataMapThe meta data for the payment
cardBrandStringThe brand of the card used for the payment. For example Visa, Mastercard, etc.
amount ⚠️Int!

⚠️ DEPRECATED

use amountValue instead
brand ⚠️String

⚠️ DEPRECATED

use cardBrand instead

Inputs

FulfillmentFilter

Filter results for Fulfillment collections

FieldTypeDescription
afterCursor(Optional) A cursor for navigating in forwards through data
beforeCursor(Optional) A cursor for navigating in backwards through data
firstInt(Optional) How many records to return. Defaults to 50. Max value of 100
orderByOrderBy(Optional) How the returned rows are ordered either version, or timestamp.
directionDirection(Optional) What direction the data is retrieved by.

OrderFilter

Filter results for Order collections

FieldTypeDescription
afterCursor(Optional) A cursor for navigating in forwards through data
beforeCursor(Optional) A cursor for navigating in backwards through data
startTime(Optional) A timestamp that filters out all events before it, timezone is utc +00:00
endTime(Optional) A timestamp that filters out all events after it, timezone is utc +00:00
firstInt!(Optional) First denotes how many records to return
idUUID(Optional) The order id to filter by
searchString(Optional) The string to search for in the order
statusString(Optional) The status to filter by
orderByOrderBy(Optional) How the returned rows are ordered either version, or timestamp.
directionDirection(Optional) What direction the data is retrieved by.

OrderItemFilter

Filter results for OrderItem collections

FieldTypeDescription
afterCursor(Optional) A cursor for navigating in forwards through data
beforeCursor(Optional) A cursor for navigating in backwards through data
firstInt(Optional) How many records to return. Defaults to 50. Max value of 100
orderByOrderBy(Optional) How the returned rows are ordered either version, or timestamp.
directionDirection(Optional) What direction the data is retrieved by.
showCanceledBoolean(Optional) Whether to return canceled items

Enums

Direction

Direction to return results in

ValueDescription
ASC
DESC

OrderBy

What to order results by in a collection

ValueDescription
CREATEDAT
MODIFIEDAT

Scalars

Boolean

The Boolean scalar type represents true or false.

Count

Cursor

A base64 encoded string

FulfillmentStatus

Represents the status of a fulfillment. Possible values: open, partially_fulfilled, in_progress, scheduled, cancelled, on_hold, incomplete, succeeded

Int

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Map

Maps represent a custom json object attached to a resource.

NullTime

Represents a nullable time

PaymentStatus

Represents the status of a payment. Possible values: created, pending, succeeded, failed, requires_confirmation, balance_due, credit_owed

Service

Represents the enum for services used for calculating TaxResult

String

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Time

Represents a date and time according to ISO-8601

UUID

Represents a UUID according to RFC 4122

Uint

Represents a positive integer value