Skip to main content
Version: 2.0.0

CheckoutAgreementsQuery

Description

Returns checkout consent content for the current cart. The operation is checkoutAgreements and it bundles two areas the checkout UI usually needs before place order:

  • mandatory/optional legal agreements
  • newsletter subscription label (when newsletter subscription is enabled in plugin settings)

Endpoint

query checkoutAgreements($cartId: String!) {
checkoutAgreements(cartId: $cartId) {
agreements {
content
link
site
required
}
newsletter {
label
}
}
}

Arguments

ArgumentTypeRequiredDescription
cartIdStringYesActive cart identifier. Must be a non-empty value.

Return Values

Returns a CheckoutConsent object:

FieldTypeDescription
agreements[CheckoutAgreement]Agreement rows configured in plugin settings.
newsletterNewsletterNewsletter label information for checkout UI.

CheckoutAgreement fields:

FieldTypeDescription
contentStringAgreement label/content rendered in checkout.
linkStringURL to linked CMS entry when available.
siteIntSite ID this agreement belongs to.
requiredBooleanWhether this agreement must be accepted before order placement.

Newsletter fields:

FieldTypeDescription
labelStringCheckbox label text from plugin settings.

Usage Example

query {
checkoutAgreements(cartId: "abc123") {
agreements {
content
link
required
}
newsletter {
label
}
}
}

Notes

  • The query validates cartId and throws a cart error when it is empty.
  • Agreement rows are loaded from plugin setting salesCheckoutAgreements.
  • Newsletter block is only returned when salesNewsletterSubscriptionEnabled is enabled.
  • Use this query to render the last checkout step form, then submit consent state through your own frontend validation before placeOrder.