Skip to Content

cartNoteUpdate

Updates the note for an existing cart.

Mutation Structure

mutation { cartNoteUpdate(cartId: String!, note: String!) { cart { id note # other Cart fields as needed } userErrors { field message code } } }

Input Arguments

ArgumentTypeDescriptionRequiredValidation
cartIdStringThe ID of the cart to update the note forYesMust be a valid cart JWT token string
noteStringThe new note for the cartYesNon-empty string recommended

Return Type

CartNoteUpdatePayload

  • cart (Cart!): The updated cart object after the note update.
  • userErrors ([UserError]!): A list of errors that occurred during the cart note update operation. Each error contains:
    • field (optional): The input field related to the error.
    • message: A descriptive error message.
    • code (optional): A machine-readable error code.

Examples

Basic Mutation

mutation { cartNoteUpdate(cartId: "eyJhbGciOiJIUzI1NiJ9...", note: "Please deliver after 5 PM") { cart { id note } userErrors { field message code } } }

Advanced Mutation

mutation UpdateCartNote($cartId: String!, $note: String!) { cartNoteUpdate(cartId: $cartId, note: $note) { cart { id note # Include other cart fields here as needed } userErrors { field message code } } }

Variables:

{ "cartId": "eyJhbGciOiJIUzI1NiJ9...", "note": "Gift wrap this order, please." }

Input Validation

mutation { cartNoteUpdate(cartId: "", note: "") { cart { id note } userErrors { field message code } } }

cURL Example

curl -X POST https://www.mystoreurl.com/graphql/0.8.0 \ -H "Content-Type: application/json" \ -d '{"query":"mutation { cartNoteUpdate(cartId: \"eyJhbGciOiJIUzI1NiJ9...\", note: \"Leave package at the back door.\") { cart { id note } userErrors { field message code } } }"}'

JavaScript Example

async function updateCartNote(cartId, note) { const query = ` mutation UpdateCartNote($cartId: String!, $note: String!) { cartNoteUpdate(cartId: $cartId, note: $note) { cart { id note } userErrors { field message code } } } `; const variables = { cartId, note }; try { const response = await fetch('https://www.mystoreurl.com/graphql/0.8.0', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ query, variables }), }); const result = await response.json(); if (result.data.cartNoteUpdate.userErrors.length > 0) { console.error('Errors:', result.data.cartNoteUpdate.userErrors); return null; } return result.data.cartNoteUpdate.cart; } catch (error) { console.error('Network or server error:', error); return null; } } // Usage example: updateCartNote("eyJhbGciOiJIUzI1NiJ9...", "Please call upon arrival.") .then(updatedCart => console.log('Updated Cart:', updatedCart));

Response Format

The mutation returns a CartNoteUpdatePayload object containing:

  • cart: The updated cart object reflecting the new note.
  • userErrors: An array of errors encountered during the update. If empty, the update was successful.

Example successful response:

{ "data": { "cartNoteUpdate": { "cart": { "id": "eyJhbGciOiJIUzI1NiJ9...", "note": "Please deliver after 5 PM" }, "userErrors": [] } } }

Example response with validation errors:

{ "data": { "cartNoteUpdate": { "cart": null, "userErrors": [ { "field": ["cartId"], "message": "Cart ID cannot be empty.", "code": "INVALID" }, { "field": ["note"], "message": "Note cannot be empty.", "code": "INVALID" } ] } } }

Error Handling

Common error scenarios include:

  • Invalid or missing cartId

    • Message: “Cart ID cannot be empty.”
    • Code: INVALID
    • Resolution: Provide a valid, non-empty cart JWT token string.
  • Invalid or missing note

    • Message: “Note cannot be empty.”
    • Code: INVALID
    • Resolution: Provide a non-empty string for the note.
  • Cart not found or expired

    • Message: “Cart not found.”
    • Code: NOT_FOUND
    • Resolution: Verify the cart ID is correct and the cart is active.
  • Unexpected server errors

    • May return generic error messages; retry or contact support if persistent.

Errors are returned in the userErrors array with details on the affected fields.

Authentication

This API currently does not require authentication. However, authentication requirements may be introduced in future versions. Monitor API updates for any changes to authentication requirements.

Side Effects

  • Updates the note field of the specified cart.
  • Does not modify other cart properties.
  • The cart must exist and be active; otherwise, the mutation will return errors.
  • No side effects beyond updating the cart note.

Authentication

No authentication is currently required to perform this mutation. This may change in future API versions.

  • CartNoteUpdatePayload: The payload returned by this mutation.
  • Cart: Represents the shopping cart object.
  • UserError: Represents errors related to user input or business logic.

Notes

  • The cartId must be a valid JWT token representing the cart.
  • The note field is typically used for special instructions or messages related to the cart.
  • Rate limiting may apply; handle errors gracefully and implement retries with backoff if needed.
  • Always check userErrors in the response to handle validation or business logic errors properly.
  • Use GraphQL variables to improve query reusability and security.
Last updated on