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
| Argument | Type | Required | Description |
|---|---|---|---|
| cartId | String | Yes | Active cart identifier. Must be a non-empty value. |
Return Values
Returns a CheckoutConsent object:
| Field | Type | Description |
|---|---|---|
| agreements | [CheckoutAgreement] | Agreement rows configured in plugin settings. |
| newsletter | Newsletter | Newsletter label information for checkout UI. |
CheckoutAgreement fields:
| Field | Type | Description |
|---|---|---|
| content | String | Agreement label/content rendered in checkout. |
| link | String | URL to linked CMS entry when available. |
| site | Int | Site ID this agreement belongs to. |
| required | Boolean | Whether this agreement must be accepted before order placement. |
Newsletter fields:
| Field | Type | Description |
|---|---|---|
| label | String | Checkbox label text from plugin settings. |
Usage Example
query {
checkoutAgreements(cartId: "abc123") {
agreements {
content
link
required
}
newsletter {
label
}
}
}
Notes
- The query validates
cartIdand throws a cart error when it is empty. - Agreement rows are loaded from plugin setting
salesCheckoutAgreements. - Newsletter block is only returned when
salesNewsletterSubscriptionEnabledis enabled. - Use this query to render the last checkout step form, then submit consent state through your own frontend validation before
placeOrder.