Stienhardt
Qué hace este MCP
Searches and sells lab-grown diamonds, engagement rings, and jewelry through product lookup, carts, checkout, and order tools.
Herramientas
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['meta', 'id'], 'properties': {'id': {'type': 'string', 'description': "The ID of the cart. Format: 'gid://shopify/Cart/abc123'"}, 'meta': {'type': 'object', 'required': ['ucp-agent'], 'properties': {'ucp-agent': {'type': 'object', 'required': ['profile'], 'properties': {'profile': {'type': 'string', 'format': 'uri', 'description': 'Agent profile URI for UCP discovery.'}}}}, 'description': 'Metadata for UCP agent profile discovery.'}}}
Esquema de salida
{'type': 'object', 'title': 'Cart response', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ucp', 'id', 'line_items', 'currency', 'totals'], 'properties': {'id': {'type': 'string', 'description': 'The Shopify Cart GID.'}, 'ucp': {'type': 'object', 'required': ['version', 'status', 'services', 'capabilities', 'payment_handlers'], 'properties': {'status': {'enum': ['success', 'error'], 'type': 'string', 'description': 'Whether UCP processing succeeded.'}, 'version': {'type': 'string', 'description': 'The negotiated UCP version.'}, 'services': {'type': 'object', 'description': 'Services available to the agent.', 'additionalProperties': True}, 'capabilities': {'type': 'object', 'description': 'Negotiated UCP capabilities.', 'additionalProperties': True}, 'payment_handlers': {'type': 'object', 'description': 'Payment handlers available to the buyer. Empty on receipts.', 'additionalProperties': True}}, 'description': 'UCP protocol metadata for the response.', 'additionalProperties': True}, 'buyer': {'type': 'object', 'properties': {'email': {'type': 'string', 'format': 'email'}, 'phone_number': {'type': 'string'}}, 'description': 'Information about the buyer.', 'additionalProperties': True}, 'links': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'The policy URL.'}, 'type': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Merchant policy links relevant to the checkout.'}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string', 'description': 'Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units. Discount totals are negative.'}, 'display_text': {'type': 'string', 'description': 'Buyer-facing label for the total.'}}, 'additionalProperties': True}, 'description': 'Monetary totals in minor currency units.'}, 'currency': {'type': 'string', 'description': 'The presentment currency code (ISO 4217).'}, 'messages': {'type': 'array', 'items': {'type': 'object', 'required': ['type'], 'properties': {'code': {'type': 'string'}, 'path': {'type': 'string'}, 'type': {'enum': ['error', 'warning', 'info'], 'type': 'string'}, 'content': {'type': 'string'}, 'severity': {'enum': ['recoverable', 'requires_buyer_input', 'requires_buyer_review', 'unrecoverable'], 'type': 'string'}, 'content_type': {'enum': ['plain', 'markdown'], 'type': 'string'}}, 'additionalProperties': True}, 'description': 'Errors or warnings surfaced while processing the tool call.'}, 'discounts': {'type': 'object', 'properties': {'codes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Discount codes submitted for the checkout or cart.'}, 'applied': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'amount'], 'properties': {'code': {'type': 'string'}, 'title': {'type': 'string'}, 'amount': {'type': 'integer', 'description': 'The discount amount in minor currency units.'}, 'method': {'enum': ['each', 'across', 'one'], 'type': 'string', 'description': 'How the discount is allocated across the targeted items.'}, 'automatic': {'type': 'boolean'}, 'allocations': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'amount'], 'properties': {'path': {'type': 'string', 'description': 'JSONPath to the discounted line item or total.'}, 'amount': {'type': 'integer', 'description': 'The allocated amount in minor currency units.'}}, 'additionalProperties': True}, 'description': 'Line item or fulfillment total allocations of the discount.'}}, 'additionalProperties': True}, 'description': 'Discounts applied to the checkout or cart, including automatic discounts.'}}, 'description': 'Discount codes and applied discounts for the checkout or cart.', 'additionalProperties': True}, 'expires_at': {'type': 'string', 'format': 'date-time', 'description': 'The date and time when the checkout expires.'}, 'line_items': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'item', 'quantity', 'totals'], 'properties': {'id': {'type': 'string', 'description': 'The line item ID.'}, 'item': {'type': 'object', 'required': ['id', 'title', 'price'], 'properties': {'id': {'type': 'string', 'description': 'The product variant GID.'}, 'price': {'type': 'integer', 'description': 'The unit price in minor currency units.'}, 'title': {'type': 'string', 'description': 'The item title.'}, 'image_url': {'type': 'string', 'format': 'uri', 'description': 'The item image URL.'}}, 'description': 'The merchandise item for a line item.', 'additionalProperties': True}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string', 'description': 'Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units. Discount totals are negative.'}, 'display_text': {'type': 'string', 'description': 'Buyer-facing label for the total.'}}, 'additionalProperties': True}, 'description': 'Monetary totals in minor currency units.'}, 'quantity': {'type': 'integer', 'description': 'The line item quantity.'}, 'parent_id': {'type': 'string', 'description': 'The parent line item ID for nested line items.'}}, 'additionalProperties': True}, 'description': 'Line items in the checkout.'}, 'attribution': {'type': 'object', 'properties': {'utm_term': {'type': 'string'}, 'utm_medium': {'type': 'string'}, 'utm_source': {'type': 'string'}, 'utm_content': {'type': 'string'}, 'click_id_tag': {'type': 'string'}, 'utm_campaign': {'type': 'string'}, 'click_id_value': {'type': 'string'}, 'activity_id_tag': {'type': 'string'}, 'referring_domain': {'type': 'string'}, 'activity_id_value': {'type': 'string'}}, 'description': "Marketing attribution context for the buyer's session.", 'additionalProperties': True}, 'fulfillment': {'type': 'object', 'properties': {'methods': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'type', 'line_item_ids'], 'properties': {'id': {'type': 'string'}, 'type': {'enum': ['shipping', 'pickup'], 'type': 'string'}, 'groups': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'line_item_ids'], 'properties': {'id': {'type': 'string'}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'title': {'type': 'string'}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units.'}}, 'additionalProperties': True}}, 'description': {'type': 'object', 'properties': {'plain': {'type': 'string'}}, 'description': 'Buyer-facing description of the delivery option.', 'additionalProperties': True}}, 'additionalProperties': True}, 'description': 'Delivery options available for the group.'}, 'line_item_ids': {'type': 'array', 'items': {'type': 'string'}}, 'selected_option_id': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'description': 'Delivery groups for this fulfillment method.'}, 'destinations': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'last_name': {'type': 'string'}, 'first_name': {'type': 'string'}, 'postal_code': {'type': 'string'}, 'phone_number': {'type': 'string'}, 'address_region': {'type': 'string'}, 'street_address': {'type': 'string'}, 'address_country': {'type': 'string'}, 'address_locality': {'type': 'string'}, 'extended_address': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Destinations available for this fulfillment method.'}, 'line_item_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Line item IDs covered by this fulfillment method.'}, 'selected_destination_id': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'description': 'Fulfillment methods available for the checkout or cart.'}}, 'description': 'Fulfillment methods, destinations, delivery groups, and delivery options.', 'additionalProperties': True}, 'continue_url': {'type': 'string', 'format': 'uri', 'description': 'The URL where the buyer can continue checkout.'}}, 'description': 'Structured cart content.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['meta', 'id'], 'properties': {'id': {'type': 'string', 'description': "The ID of the checkout to update. Format: 'gid://shopify/Checkout/abc123'"}, 'meta': {'type': 'object', 'required': ['ucp-agent'], 'properties': {'ucp-agent': {'type': 'object', 'required': ['profile'], 'properties': {'profile': {'type': 'string', 'format': 'uri', 'description': 'Agent profile URI for UCP discovery.'}}}}, 'description': 'Metadata for UCP agent profile discovery.'}}}
Esquema de salida
{'type': 'object', 'title': 'Checkout response', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ucp', 'id', 'line_items', 'status', 'currency', 'totals', 'links'], 'properties': {'id': {'type': 'string', 'description': 'The Shopify Checkout GID.'}, 'ucp': {'type': 'object', 'required': ['version', 'status', 'services', 'capabilities', 'payment_handlers'], 'properties': {'status': {'enum': ['success', 'error'], 'type': 'string', 'description': 'Whether UCP processing succeeded.'}, 'version': {'type': 'string', 'description': 'The negotiated UCP version.'}, 'services': {'type': 'object', 'description': 'Services available to the agent.', 'additionalProperties': True}, 'capabilities': {'type': 'object', 'description': 'Negotiated UCP capabilities.', 'additionalProperties': True}, 'payment_handlers': {'type': 'object', 'description': 'Payment handlers available to the buyer. Empty on receipts.', 'additionalProperties': True}}, 'description': 'UCP protocol metadata for the response.', 'additionalProperties': True}, 'buyer': {'type': 'object', 'properties': {'email': {'type': 'string', 'format': 'email'}, 'phone_number': {'type': 'string'}}, 'description': 'Information about the buyer.', 'additionalProperties': True}, 'links': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'The policy URL.'}, 'type': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Merchant policy links relevant to the checkout.'}, 'status': {'enum': ['incomplete', 'requires_escalation', 'ready_for_complete', 'canceled'], 'type': 'string', 'description': 'The checkout status.'}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string', 'description': 'Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units. Discount totals are negative.'}, 'display_text': {'type': 'string', 'description': 'Buyer-facing label for the total.'}}, 'additionalProperties': True}, 'description': 'Monetary totals in minor currency units.'}, 'payment': {'type': 'object', 'properties': {'instruments': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'type': {'type': 'string'}, 'display': {'type': ['object', 'null'], 'description': 'Handler-specific display data (for example card brand and last digits).', 'additionalProperties': True}, 'selected': {'type': 'boolean'}, 'credential': {'type': 'object', 'properties': {'type': {'type': 'string'}}, 'additionalProperties': True}, 'handler_id': {'type': 'string'}, 'billing_address': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'last_name': {'type': 'string'}, 'first_name': {'type': 'string'}, 'postal_code': {'type': 'string'}, 'phone_number': {'type': 'string'}, 'address_region': {'type': 'string'}, 'street_address': {'type': 'string'}, 'address_country': {'type': 'string'}, 'address_locality': {'type': 'string'}, 'extended_address': {'type': 'string'}}, 'description': 'Mailing address fields.', 'additionalProperties': True}}, 'additionalProperties': True}, 'description': 'Payment instruments available to or selected by the buyer.'}}, 'description': 'Payment information for the checkout.', 'additionalProperties': True}, 'currency': {'type': 'string', 'description': 'The presentment currency code (ISO 4217).'}, 'messages': {'type': 'array', 'items': {'type': 'object', 'required': ['type'], 'properties': {'code': {'type': 'string'}, 'path': {'type': 'string'}, 'type': {'enum': ['error', 'warning', 'info'], 'type': 'string'}, 'content': {'type': 'string'}, 'severity': {'enum': ['recoverable', 'requires_buyer_input', 'requires_buyer_review', 'unrecoverable'], 'type': 'string'}, 'content_type': {'enum': ['plain', 'markdown'], 'type': 'string'}}, 'additionalProperties': True}, 'description': 'Errors or warnings surfaced while processing the tool call.'}, 'discounts': {'type': 'object', 'properties': {'codes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Discount codes submitted for the checkout or cart.'}, 'applied': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'amount'], 'properties': {'code': {'type': 'string'}, 'title': {'type': 'string'}, 'amount': {'type': 'integer', 'description': 'The discount amount in minor currency units.'}, 'method': {'enum': ['each', 'across', 'one'], 'type': 'string', 'description': 'How the discount is allocated across the targeted items.'}, 'automatic': {'type': 'boolean'}, 'allocations': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'amount'], 'properties': {'path': {'type': 'string', 'description': 'JSONPath to the discounted line item or total.'}, 'amount': {'type': 'integer', 'description': 'The allocated amount in minor currency units.'}}, 'additionalProperties': True}, 'description': 'Line item or fulfillment total allocations of the discount.'}}, 'additionalProperties': True}, 'description': 'Discounts applied to the checkout or cart, including automatic discounts.'}}, 'description': 'Discount codes and applied discounts for the checkout or cart.', 'additionalProperties': True}, 'expires_at': {'type': 'string', 'format': 'date-time', 'description': 'The date and time when the checkout expires.'}, 'line_items': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'item', 'quantity', 'totals'], 'properties': {'id': {'type': 'string', 'description': 'The line item ID.'}, 'item': {'type': 'object', 'required': ['id', 'title', 'price'], 'properties': {'id': {'type': 'string', 'description': 'The product variant GID.'}, 'price': {'type': 'integer', 'description': 'The unit price in minor currency units.'}, 'title': {'type': 'string', 'description': 'The item title.'}, 'image_url': {'type': 'string', 'format': 'uri', 'description': 'The item image URL.'}}, 'description': 'The merchandise item for a line item.', 'additionalProperties': True}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string', 'description': 'Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units. Discount totals are negative.'}, 'display_text': {'type': 'string', 'description': 'Buyer-facing label for the total.'}}, 'additionalProperties': True}, 'description': 'Monetary totals in minor currency units.'}, 'quantity': {'type': 'integer', 'description': 'The line item quantity.'}, 'parent_id': {'type': 'string', 'description': 'The parent line item ID for nested line items.'}}, 'additionalProperties': True}, 'description': 'Line items in the checkout.'}, 'attribution': {'type': 'object', 'properties': {'utm_term': {'type': 'string'}, 'utm_medium': {'type': 'string'}, 'utm_source': {'type': 'string'}, 'utm_content': {'type': 'string'}, 'click_id_tag': {'type': 'string'}, 'utm_campaign': {'type': 'string'}, 'click_id_value': {'type': 'string'}, 'activity_id_tag': {'type': 'string'}, 'referring_domain': {'type': 'string'}, 'activity_id_value': {'type': 'string'}}, 'description': "Marketing attribution context for the buyer's session.", 'additionalProperties': True}, 'fulfillment': {'type': 'object', 'properties': {'methods': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'type', 'line_item_ids'], 'properties': {'id': {'type': 'string'}, 'type': {'enum': ['shipping', 'pickup'], 'type': 'string'}, 'groups': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'line_item_ids'], 'properties': {'id': {'type': 'string'}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'title': {'type': 'string'}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units.'}}, 'additionalProperties': True}}, 'description': {'type': 'object', 'properties': {'plain': {'type': 'string'}}, 'description': 'Buyer-facing description of the delivery option.', 'additionalProperties': True}}, 'additionalProperties': True}, 'description': 'Delivery options available for the group.'}, 'line_item_ids': {'type': 'array', 'items': {'type': 'string'}}, 'selected_option_id': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'description': 'Delivery groups for this fulfillment method.'}, 'destinations': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'last_name': {'type': 'string'}, 'first_name': {'type': 'string'}, 'postal_code': {'type': 'string'}, 'phone_number': {'type': 'string'}, 'address_region': {'type': 'string'}, 'street_address': {'type': 'string'}, 'address_country': {'type': 'string'}, 'address_locality': {'type': 'string'}, 'extended_address': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Destinations available for this fulfillment method.'}, 'line_item_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Line item IDs covered by this fulfillment method.'}, 'selected_destination_id': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'description': 'Fulfillment methods available for the checkout or cart.'}}, 'description': 'Fulfillment methods, destinations, delivery groups, and delivery options.', 'additionalProperties': True}, 'continue_url': {'type': 'string', 'format': 'uri', 'description': 'The URL where the buyer can continue checkout.'}}, 'description': 'Structured checkout content returned while the checkout is still open.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['meta', 'id', 'checkout'], 'properties': {'id': {'type': 'string', 'description': "The ID of the checkout to update. Format: 'gid://shopify/Checkout/abc123'"}, 'meta': {'type': 'object', 'required': ['ucp-agent', 'idempotency-key'], 'properties': {'ucp-agent': {'type': 'object', 'required': ['profile'], 'properties': {'profile': {'type': 'string', 'format': 'uri', 'description': 'Agent profile URI for UCP discovery.'}}}, 'idempotency-key': {'type': 'string', 'description': 'An idempotency key for completing the checkout.'}}, 'description': 'Metadata for UCP agent profile discovery.'}, 'checkout': {'type': 'object', 'required': ['payment'], 'properties': {'payment': {'type': 'object', 'properties': {'instruments': {'type': 'array', 'items': {'type': 'object', 'allOf': [{'if': {'required': ['handler_id'], 'properties': {'handler_id': {'const': 'apple-pay'}}}, 'else': {'properties': {'credential': {'required': ['type'], 'properties': {'type': {'not': {'const': 'apple_pay_token'}}}}}}, 'then': {'required': ['billing_address', 'credential'], 'properties': {'type': {'const': 'card'}, 'credential': {'required': ['type', 'payment_data'], 'properties': {'type': {'const': 'apple_pay_token'}}}}}}], 'required': ['id', 'handler_id', 'type'], 'properties': {'id': {'type': 'string', 'description': 'A unique identifier for this payment instrument instance.'}, 'type': {'type': 'string', 'description': "Instrument type. Apple Pay uses 'card' because the submitted instrument represents a tokenized card."}, 'display': {'type': 'object', 'properties': {'brand': {'type': 'string', 'description': 'Card brand (e.g., visa, mastercard), when available.'}, 'expiry_year': {'type': 'integer', 'description': 'Card expiry year. Required for card instruments.'}, 'last_digits': {'type': 'string', 'description': 'Last 4 digits of the card, when available.'}, 'expiry_month': {'type': 'integer', 'description': 'Card expiry month (1-12). Required for card instruments.'}, 'rich_card_art': {'type': 'string', 'description': 'Rich card art URL or identifier for the payment instrument.'}, 'funding_source': {'enum': ['debit', 'credit', 'prepaid', 'store'], 'type': 'string', 'description': 'How the card is funded, as reported by Apple Pay.'}, 'rich_text_description': {'type': 'string', 'description': 'Rich text description of the payment instrument for display purposes.'}}, 'description': 'Display information for this payment instrument.', 'additionalProperties': True}, 'selected': {'type': 'boolean', 'description': 'Whether this instrument is the currently selected for the checkout.'}, 'credential': {'type': 'object', 'allOf': [{'if': {'required': ['type'], 'properties': {'type': {'const': 'apple_pay_token'}}}, 'else': {'required': ['type']}, 'then': {'required': ['type', 'payment_data'], 'properties': {'type': {'const': 'apple_pay_token'}, 'payment_data': {'type': 'object', 'required': ['version', 'data', 'signature', 'header'], 'properties': {'data': {'type': 'string'}, 'header': {'type': 'object', 'anyOf': [{'required': ['ephemeral_public_key']}, {'required': ['wrapped_key']}], 'required': ['public_key_hash', 'transaction_id'], 'properties': {'wrapped_key': {'type': 'string'}, 'transaction_id': {'type': 'string'}, 'public_key_hash': {'type': 'string'}, 'application_data': {'type': 'string'}, 'ephemeral_public_key': {'type': 'string'}}, 'additionalProperties': True}, 'version': {'type': 'string'}, 'signature': {'type': 'string'}}, 'additionalProperties': True}, 'transaction_identifier': {'type': 'string'}}}}], 'properties': {'type': {'type': 'string', 'description': 'Namespaced token type using dot notation (e.g., stripe.token, merchant.token, google.pay).'}, 'token': {'type': 'string', 'description': 'Opaque payment token value, required except when restating a platform-listed instrument (e.g., a Shop Pay wallet card) whose token the platform re-derives from the instrument id.'}, 'approval_id': {'type': 'string', 'description': 'Identifier of the payment approval authorizing this credential, as returned by the approvals API. Required for shop_pay credentials when the merchant requires payment approvals.'}, 'payment_data': {'type': 'object'}, 'transaction_identifier': {'type': 'string'}}, 'description': 'Payment credential payload to process the transaction for this instrument.', 'additionalProperties': True}, 'handler_id': {'type': 'string', 'description': 'Identifier of the payment handler that was used to generate this instrument.'}, 'billing_address': {'type': 'object', 'properties': {'last_name': {'type': 'string', 'description': 'Last name of the contact associated with the billing address.'}, 'first_name': {'type': 'string', 'description': 'First name of the contact associated with the billing address.'}, 'postal_code': {'type': 'string', 'description': 'Postal code of the billing address.'}, 'phone_number': {'type': 'string', 'description': 'Phone number of the contact associated with the billing address.'}, 'address_region': {'type': 'string', 'description': 'Region of the billing address.'}, 'street_address': {'type': 'string', 'description': 'Street address of the billing address.'}, 'address_country': {'type': 'string', 'description': 'Country of the billing address in 2-letter ISO 3166-1 alpha-2 format.'}, 'address_locality': {'type': 'string', 'description': 'Locality of the billing address.'}, 'extended_address': {'type': 'string', 'description': 'Extended address of the billing address such as an apartment number, C/O, or alternative name.'}}, 'description': 'Billing address for the instrument.', 'additionalProperties': True}}, 'additionalProperties': True}, 'description': 'Payment instruments for this checkout (e.g., credit cards, tokens, wallets).'}}, 'description': 'Payment information for this checkout.', 'additionalProperties': True}, 'attribution': {'type': 'object', 'properties': {'utm_term': {'type': 'string', 'description': 'UTM term parameter.'}, 'utm_medium': {'type': 'string', 'description': 'UTM medium parameter.'}, 'utm_source': {'type': 'string', 'description': 'UTM source parameter.'}, 'utm_content': {'type': 'string', 'description': 'UTM content parameter.'}, 'click_id_tag': {'type': 'string', 'description': "Click identifier parameter name (e.g., 'gclid', 'fbclid')."}, 'utm_campaign': {'type': 'string', 'description': 'UTM campaign parameter.'}, 'click_id_value': {'type': 'string', 'description': 'Click identifier value matching click_id_tag.'}, 'activity_id_tag': {'type': 'string', 'description': 'Activity identifier parameter name.'}, 'referring_domain': {'type': 'string', 'description': "Domain that referred the buyer to the merchant's storefront."}, 'activity_id_value': {'type': 'string', 'description': 'Activity identifier value matching activity_id_tag.'}}, 'description': "Marketing attribution context for the buyer's session (referring domain, click IDs, UTM parameters)."}}, 'description': 'Checkout properties.'}}}
Esquema de salida
{'type': 'object', 'oneOf': [{'type': 'object', 'title': 'Checkout response', 'required': ['ucp', 'id', 'line_items', 'status', 'currency', 'totals', 'links'], 'properties': {'id': {'type': 'string', 'description': 'The Shopify Checkout GID.'}, 'ucp': {'type': 'object', 'required': ['version', 'status', 'services', 'capabilities', 'payment_handlers'], 'properties': {'status': {'enum': ['success', 'error'], 'type': 'string', 'description': 'Whether UCP processing succeeded.'}, 'version': {'type': 'string', 'description': 'The negotiated UCP version.'}, 'services': {'type': 'object', 'description': 'Services available to the agent.', 'additionalProperties': True}, 'capabilities': {'type': 'object', 'description': 'Negotiated UCP capabilities.', 'additionalProperties': True}, 'payment_handlers': {'type': 'object', 'description': 'Payment handlers available to the buyer. Empty on receipts.', 'additionalProperties': True}}, 'description': 'UCP protocol metadata for the response.', 'additionalProperties': True}, 'buyer': {'type': 'object', 'properties': {'email': {'type': 'string', 'format': 'email'}, 'phone_number': {'type': 'string'}}, 'description': 'Information about the buyer.', 'additionalProperties': True}, 'links': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'The policy URL.'}, 'type': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Merchant policy links relevant to the checkout.'}, 'status': {'enum': ['incomplete', 'requires_escalation', 'ready_for_complete', 'canceled'], 'type': 'string', 'description': 'The checkout status.'}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string', 'description': 'Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units. Discount totals are negative.'}, 'display_text': {'type': 'string', 'description': 'Buyer-facing label for the total.'}}, 'additionalProperties': True}, 'description': 'Monetary totals in minor currency units.'}, 'payment': {'type': 'object', 'properties': {'instruments': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'type': {'type': 'string'}, 'display': {'type': ['object', 'null'], 'description': 'Handler-specific display data (for example card brand and last digits).', 'additionalProperties': True}, 'selected': {'type': 'boolean'}, 'credential': {'type': 'object', 'properties': {'type': {'type': 'string'}}, 'additionalProperties': True}, 'handler_id': {'type': 'string'}, 'billing_address': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'last_name': {'type': 'string'}, 'first_name': {'type': 'string'}, 'postal_code': {'type': 'string'}, 'phone_number': {'type': 'string'}, 'address_region': {'type': 'string'}, 'street_address': {'type': 'string'}, 'address_country': {'type': 'string'}, 'address_locality': {'type': 'string'}, 'extended_address': {'type': 'string'}}, 'description': 'Mailing address fields.', 'additionalProperties': True}}, 'additionalProperties': True}, 'description': 'Payment instruments available to or selected by the buyer.'}}, 'description': 'Payment information for the checkout.', 'additionalProperties': True}, 'currency': {'type': 'string', 'description': 'The presentment currency code (ISO 4217).'}, 'messages': {'type': 'array', 'items': {'type': 'object', 'required': ['type'], 'properties': {'code': {'type': 'string'}, 'path': {'type': 'string'}, 'type': {'enum': ['error', 'warning', 'info'], 'type': 'string'}, 'content': {'type': 'string'}, 'severity': {'enum': ['recoverable', 'requires_buyer_input', 'requires_buyer_review', 'unrecoverable'], 'type': 'string'}, 'content_type': {'enum': ['plain', 'markdown'], 'type': 'string'}}, 'additionalProperties': True}, 'description': 'Errors or warnings surfaced while processing the tool call.'}, 'discounts': {'type': 'object', 'properties': {'codes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Discount codes submitted for the checkout or cart.'}, 'applied': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'amount'], 'properties': {'code': {'type': 'string'}, 'title': {'type': 'string'}, 'amount': {'type': 'integer', 'description': 'The discount amount in minor currency units.'}, 'method': {'enum': ['each', 'across', 'one'], 'type': 'string', 'description': 'How the discount is allocated across the targeted items.'}, 'automatic': {'type': 'boolean'}, 'allocations': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'amount'], 'properties': {'path': {'type': 'string', 'description': 'JSONPath to the discounted line item or total.'}, 'amount': {'type': 'integer', 'description': 'The allocated amount in minor currency units.'}}, 'additionalProperties': True}, 'description': 'Line item or fulfillment total allocations of the discount.'}}, 'additionalProperties': True}, 'description': 'Discounts applied to the checkout or cart, including automatic discounts.'}}, 'description': 'Discount codes and applied discounts for the checkout or cart.', 'additionalProperties': True}, 'expires_at': {'type': 'string', 'format': 'date-time', 'description': 'The date and time when the checkout expires.'}, 'line_items': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'item', 'quantity', 'totals'], 'properties': {'id': {'type': 'string', 'description': 'The line item ID.'}, 'item': {'type': 'object', 'required': ['id', 'title', 'price'], 'properties': {'id': {'type': 'string', 'description': 'The product variant GID.'}, 'price': {'type': 'integer', 'description': 'The unit price in minor currency units.'}, 'title': {'type': 'string', 'description': 'The item title.'}, 'image_url': {'type': 'string', 'format': 'uri', 'description': 'The item image URL.'}}, 'description': 'The merchandise item for a line item.', 'additionalProperties': True}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string', 'description': 'Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units. Discount totals are negative.'}, 'display_text': {'type': 'string', 'description': 'Buyer-facing label for the total.'}}, 'additionalProperties': True}, 'description': 'Monetary totals in minor currency units.'}, 'quantity': {'type': 'integer', 'description': 'The line item quantity.'}, 'parent_id': {'type': 'string', 'description': 'The parent line item ID for nested line items.'}}, 'additionalProperties': True}, 'description': 'Line items in the checkout.'}, 'attribution': {'type': 'object', 'properties': {'utm_term': {'type': 'string'}, 'utm_medium': {'type': 'string'}, 'utm_source': {'type': 'string'}, 'utm_content': {'type': 'string'}, 'click_id_tag': {'type': 'string'}, 'utm_campaign': {'type': 'string'}, 'click_id_value': {'type': 'string'}, 'activity_id_tag': {'type': 'string'}, 'referring_domain': {'type': 'string'}, 'activity_id_value': {'type': 'string'}}, 'description': "Marketing attribution context for the buyer's session.", 'additionalProperties': True}, 'fulfillment': {'type': 'object', 'properties': {'methods': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'type', 'line_item_ids'], 'properties': {'id': {'type': 'string'}, 'type': {'enum': ['shipping', 'pickup'], 'type': 'string'}, 'groups': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'line_item_ids'], 'properties': {'id': {'type': 'string'}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'title': {'type': 'string'}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units.'}}, 'additionalProperties': True}}, 'description': {'type': 'object', 'properties': {'plain': {'type': 'string'}}, 'description': 'Buyer-facing description of the delivery option.', 'additionalProperties': True}}, 'additionalProperties': True}, 'description': 'Delivery options available for the group.'}, 'line_item_ids': {'type': 'array', 'items': {'type': 'string'}}, 'selected_option_id': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'description': 'Delivery groups for this fulfillment method.'}, 'destinations': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'last_name': {'type': 'string'}, 'first_name': {'type': 'string'}, 'postal_code': {'type': 'string'}, 'phone_number': {'type': 'string'}, 'address_region': {'type': 'string'}, 'street_address': {'type': 'string'}, 'address_country': {'type': 'string'}, 'address_locality': {'type': 'string'}, 'extended_address': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Destinations available for this fulfillment method.'}, 'line_item_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Line item IDs covered by this fulfillment method.'}, 'selected_destination_id': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'description': 'Fulfillment methods available for the checkout or cart.'}}, 'description': 'Fulfillment methods, destinations, delivery groups, and delivery options.', 'additionalProperties': True}, 'continue_url': {'type': 'string', 'format': 'uri', 'description': 'The URL where the buyer can continue checkout.'}}, 'description': 'Structured checkout content returned while the checkout is still open.', 'additionalProperties': True}, {'type': 'object', 'title': 'Receipt response', 'required': ['ucp', 'id', 'status', 'currency', 'totals'], 'properties': {'id': {'type': 'string', 'description': 'The Shopify Checkout GID.'}, 'ucp': {'type': 'object', 'required': ['version', 'status', 'services', 'capabilities', 'payment_handlers'], 'properties': {'status': {'enum': ['success', 'error'], 'type': 'string', 'description': 'Whether UCP processing succeeded.'}, 'version': {'type': 'string', 'description': 'The negotiated UCP version.'}, 'services': {'type': 'object', 'description': 'Services available to the agent.', 'additionalProperties': True}, 'capabilities': {'type': 'object', 'description': 'Negotiated UCP capabilities.', 'additionalProperties': True}, 'payment_handlers': {'type': 'object', 'description': 'Payment handlers available to the buyer. Empty on receipts.', 'additionalProperties': True}}, 'description': 'UCP protocol metadata for the response.', 'additionalProperties': True}, 'buyer': {'type': 'object', 'properties': {'email': {'type': 'string', 'format': 'email'}, 'phone_number': {'type': 'string'}}, 'description': 'Information about the buyer.', 'additionalProperties': True}, 'links': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'The policy URL.'}, 'type': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Merchant policy links relevant to the checkout.'}, 'order': {'type': 'object', 'required': ['id', 'permalink_url'], 'properties': {'id': {'type': 'string', 'description': 'The order GID.'}, 'label': {'type': 'string', 'description': 'The buyer-facing order label.'}, 'permalink_url': {'type': 'string', 'format': 'uri', 'description': 'The order status URL.'}}, 'description': 'Order confirmation. Present once the checkout has completed.', 'additionalProperties': True}, 'status': {'enum': ['complete_in_progress', 'completed'], 'type': 'string', 'description': 'The checkout status after submission.'}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string', 'description': 'Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units. Discount totals are negative.'}, 'display_text': {'type': 'string', 'description': 'Buyer-facing label for the total.'}}, 'additionalProperties': True}, 'description': 'Monetary totals in minor currency units.'}, 'payment': {'type': 'object', 'properties': {'handlers': {'type': 'object', 'description': 'Payment handlers accepted by the merchant.', 'additionalProperties': True}, 'instruments': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Payment instruments used for the order.'}}, 'description': 'Payment summary for the completed checkout.', 'additionalProperties': True}, 'currency': {'type': 'string', 'description': 'The presentment currency code (ISO 4217).'}, 'messages': {'type': 'array', 'items': {'type': 'object', 'required': ['type'], 'properties': {'code': {'type': 'string'}, 'path': {'type': 'string'}, 'type': {'enum': ['error', 'warning', 'info'], 'type': 'string'}, 'content': {'type': 'string'}, 'severity': {'enum': ['recoverable', 'requires_buyer_input', 'requires_buyer_review', 'unrecoverable'], 'type': 'string'}, 'content_type': {'enum': ['plain', 'markdown'], 'type': 'string'}}, 'additionalProperties': True}, 'description': 'Errors or warnings surfaced while processing the tool call.'}, 'discounts': {'type': 'object', 'properties': {'codes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Discount codes submitted for the checkout or cart.'}, 'applied': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'amount'], 'properties': {'code': {'type': 'string'}, 'title': {'type': 'string'}, 'amount': {'type': 'integer', 'description': 'The discount amount in minor currency units.'}, 'method': {'enum': ['each', 'across', 'one'], 'type': 'string', 'description': 'How the discount is allocated across the targeted items.'}, 'automatic': {'type': 'boolean'}, 'allocations': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'amount'], 'properties': {'path': {'type': 'string', 'description': 'JSONPath to the discounted line item or total.'}, 'amount': {'type': 'integer', 'description': 'The allocated amount in minor currency units.'}}, 'additionalProperties': True}, 'description': 'Line item or fulfillment total allocations of the discount.'}}, 'additionalProperties': True}, 'description': 'Discounts applied to the checkout or cart, including automatic discounts.'}}, 'description': 'Discount codes and applied discounts for the checkout or cart.', 'additionalProperties': True}, 'line_items': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'item', 'quantity', 'totals'], 'properties': {'id': {'type': 'string', 'description': 'The line item ID.'}, 'item': {'type': 'object', 'required': ['title', 'price'], 'properties': {'id': {'type': 'string', 'description': 'The product variant GID.'}, 'price': {'type': 'integer', 'description': 'The unit price in minor currency units.'}, 'title': {'type': 'string', 'description': 'The item title.'}, 'image_url': {'type': 'string', 'format': 'uri', 'description': 'The item image URL.'}}, 'description': 'The merchandise item for a line item.', 'additionalProperties': True}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string', 'description': 'Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units. Discount totals are negative.'}, 'display_text': {'type': 'string', 'description': 'Buyer-facing label for the total.'}}, 'additionalProperties': True}, 'description': 'Monetary totals in minor currency units.'}, 'quantity': {'type': 'integer', 'description': 'The line item quantity.'}, 'parent_id': {'type': 'string', 'description': 'The parent line item ID for nested line items.'}}, 'additionalProperties': True}, 'description': 'Line items in the checkout.'}, 'fulfillment': {'type': 'object', 'properties': {'methods': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'type', 'line_item_ids'], 'properties': {'id': {'type': 'string'}, 'type': {'enum': ['shipping', 'pickup'], 'type': 'string'}, 'groups': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'line_item_ids'], 'properties': {'id': {'type': 'string'}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'title': {'type': 'string'}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units.'}}, 'additionalProperties': True}}, 'description': {'type': 'object', 'properties': {'plain': {'type': 'string'}}, 'description': 'Buyer-facing description of the delivery option.', 'additionalProperties': True}}, 'additionalProperties': True}, 'description': 'Delivery options available for the group.'}, 'line_item_ids': {'type': 'array', 'items': {'type': 'string'}}, 'selected_option_id': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'description': 'Delivery groups for this fulfillment method.'}, 'destinations': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'last_name': {'type': 'string'}, 'first_name': {'type': 'string'}, 'postal_code': {'type': 'string'}, 'phone_number': {'type': 'string'}, 'address_region': {'type': 'string'}, 'street_address': {'type': 'string'}, 'address_country': {'type': 'string'}, 'address_locality': {'type': 'string'}, 'extended_address': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Destinations available for this fulfillment method.'}, 'line_item_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Line item IDs covered by this fulfillment method.'}, 'selected_destination_id': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'description': 'Fulfillment methods available for the checkout or cart.'}}, 'description': 'Fulfillment methods, destinations, delivery groups, and delivery options.', 'additionalProperties': True}}, 'description': 'Structured receipt content returned once the checkout has been submitted.', 'additionalProperties': True}], 'title': 'Checkout or receipt response', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'description': 'The open checkout, or a receipt when the checkout has already been submitted.'}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['meta', 'cart'], 'properties': {'cart': {'type': 'object', 'required': ['line_items'], 'properties': {'buyer': {'type': 'object', 'properties': {'email': {'type': 'string', 'format': 'email'}, 'phone_number': {'type': 'string'}}, 'description': 'Information about the buyer including email and phone number.', 'additionalProperties': True}, 'context': {'type': 'object', 'properties': {'intent': {'type': 'string', 'description': "Context describing buyer's intent."}, 'currency': {'type': 'string', 'description': "Preferred currency (ISO 4217, e.g., 'EUR', 'USD')."}, 'language': {'type': 'string', 'description': 'Language tag in IETF BCP 47 format.'}, 'eligibility': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z](?:[a-z0-9-]*[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9_])?)+$', 'description': "Reverse-domain identifier. Must contain at least two dot-separated segments (e.g., 'com.example.loyalty')."}, 'description': 'Buyer claims about eligible benefits such as loyalty membership, payment perks, and similar.'}, 'postal_code': {'type': 'string', 'description': 'Postal code hint for localization.'}, 'address_region': {'type': 'string', 'description': 'Region/state hint for localization.'}, 'address_country': {'type': 'string', 'description': 'Country hint for localization.'}}, 'description': 'Provisional context hints for localization and pricing. Used when authoritative data (e.g., shipping address) is missing; higher-resolution data supersedes these values and unsupported hints may be ignored without error.', 'additionalProperties': True}, 'discounts': {'type': 'object', 'properties': {'codes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Discount codes to apply. Case-insensitive. Replaces previously submitted codes. Send empty array to clear.'}}, 'description': 'Discount or promo codes to apply to the cart. Only prompt if customer mentions having a discount code.'}, 'line_items': {'type': 'array', 'items': {'type': 'object', 'required': ['item', 'quantity'], 'properties': {'id': {'type': 'string', 'description': 'The ID of the line item to update.'}, 'item': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The Product Variant ID to add or update.'}}}, 'quantity': {'type': 'integer'}}}, 'description': 'Items to add to the cart or checkout. Required when creating a new cart or checkout.'}, 'attribution': {'type': 'object', 'properties': {'utm_term': {'type': 'string', 'description': 'UTM term parameter.'}, 'utm_medium': {'type': 'string', 'description': 'UTM medium parameter.'}, 'utm_source': {'type': 'string', 'description': 'UTM source parameter.'}, 'utm_content': {'type': 'string', 'description': 'UTM content parameter.'}, 'click_id_tag': {'type': 'string', 'description': "Click identifier parameter name (e.g., 'gclid', 'fbclid')."}, 'utm_campaign': {'type': 'string', 'description': 'UTM campaign parameter.'}, 'click_id_value': {'type': 'string', 'description': 'Click identifier value matching click_id_tag.'}, 'activity_id_tag': {'type': 'string', 'description': 'Activity identifier parameter name.'}, 'referring_domain': {'type': 'string', 'description': "Domain that referred the buyer to the merchant's storefront."}, 'activity_id_value': {'type': 'string', 'description': 'Activity identifier value matching activity_id_tag.'}}, 'description': "Marketing attribution context for the buyer's session (referring domain, click IDs, UTM parameters). Forwarded to the cart for downstream reporting."}, 'fulfillment': {'type': 'object', 'properties': {'methods': {'type': 'array', 'items': {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string'}, 'groups': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'selected_option_id': {'type': 'string'}}}, 'description': 'The groups to fulfill to.'}, 'destinations': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'last_name': {'type': 'string'}, 'first_name': {'type': 'string'}, 'postal_code': {'type': 'string'}, 'phone_number': {'type': 'string'}, 'address_region': {'type': 'string'}, 'street_address': {'type': 'string'}, 'address_country': {'type': 'string'}, 'address_locality': {'type': 'string'}, 'extended_address': {'type': 'string'}}}, 'description': 'The destinations to fulfill to.'}, 'line_item_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The line item ids to fulfill.'}, 'selected_destination_id': {'type': 'string', 'description': 'ID of the selected destination.'}}}, 'description': 'The methods of fulfillment.'}}, 'description': 'Information about the fulfillment.'}}, 'description': 'Cart properties.'}, 'meta': {'type': 'object', 'required': ['ucp-agent'], 'properties': {'ucp-agent': {'type': 'object', 'required': ['profile'], 'properties': {'profile': {'type': 'string', 'format': 'uri', 'description': 'Agent profile URI for UCP discovery.'}}}}, 'description': 'Metadata for UCP agent profile discovery.'}}}
Esquema de salida
{'type': 'object', 'title': 'Cart response', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ucp', 'id', 'line_items', 'currency', 'totals'], 'properties': {'id': {'type': 'string', 'description': 'The Shopify Cart GID.'}, 'ucp': {'type': 'object', 'required': ['version', 'status', 'services', 'capabilities', 'payment_handlers'], 'properties': {'status': {'enum': ['success', 'error'], 'type': 'string', 'description': 'Whether UCP processing succeeded.'}, 'version': {'type': 'string', 'description': 'The negotiated UCP version.'}, 'services': {'type': 'object', 'description': 'Services available to the agent.', 'additionalProperties': True}, 'capabilities': {'type': 'object', 'description': 'Negotiated UCP capabilities.', 'additionalProperties': True}, 'payment_handlers': {'type': 'object', 'description': 'Payment handlers available to the buyer. Empty on receipts.', 'additionalProperties': True}}, 'description': 'UCP protocol metadata for the response.', 'additionalProperties': True}, 'buyer': {'type': 'object', 'properties': {'email': {'type': 'string', 'format': 'email'}, 'phone_number': {'type': 'string'}}, 'description': 'Information about the buyer.', 'additionalProperties': True}, 'links': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'The policy URL.'}, 'type': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Merchant policy links relevant to the checkout.'}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string', 'description': 'Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units. Discount totals are negative.'}, 'display_text': {'type': 'string', 'description': 'Buyer-facing label for the total.'}}, 'additionalProperties': True}, 'description': 'Monetary totals in minor currency units.'}, 'currency': {'type': 'string', 'description': 'The presentment currency code (ISO 4217).'}, 'messages': {'type': 'array', 'items': {'type': 'object', 'required': ['type'], 'properties': {'code': {'type': 'string'}, 'path': {'type': 'string'}, 'type': {'enum': ['error', 'warning', 'info'], 'type': 'string'}, 'content': {'type': 'string'}, 'severity': {'enum': ['recoverable', 'requires_buyer_input', 'requires_buyer_review', 'unrecoverable'], 'type': 'string'}, 'content_type': {'enum': ['plain', 'markdown'], 'type': 'string'}}, 'additionalProperties': True}, 'description': 'Errors or warnings surfaced while processing the tool call.'}, 'discounts': {'type': 'object', 'properties': {'codes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Discount codes submitted for the checkout or cart.'}, 'applied': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'amount'], 'properties': {'code': {'type': 'string'}, 'title': {'type': 'string'}, 'amount': {'type': 'integer', 'description': 'The discount amount in minor currency units.'}, 'method': {'enum': ['each', 'across', 'one'], 'type': 'string', 'description': 'How the discount is allocated across the targeted items.'}, 'automatic': {'type': 'boolean'}, 'allocations': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'amount'], 'properties': {'path': {'type': 'string', 'description': 'JSONPath to the discounted line item or total.'}, 'amount': {'type': 'integer', 'description': 'The allocated amount in minor currency units.'}}, 'additionalProperties': True}, 'description': 'Line item or fulfillment total allocations of the discount.'}}, 'additionalProperties': True}, 'description': 'Discounts applied to the checkout or cart, including automatic discounts.'}}, 'description': 'Discount codes and applied discounts for the checkout or cart.', 'additionalProperties': True}, 'expires_at': {'type': 'string', 'format': 'date-time', 'description': 'The date and time when the checkout expires.'}, 'line_items': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'item', 'quantity', 'totals'], 'properties': {'id': {'type': 'string', 'description': 'The line item ID.'}, 'item': {'type': 'object', 'required': ['id', 'title', 'price'], 'properties': {'id': {'type': 'string', 'description': 'The product variant GID.'}, 'price': {'type': 'integer', 'description': 'The unit price in minor currency units.'}, 'title': {'type': 'string', 'description': 'The item title.'}, 'image_url': {'type': 'string', 'format': 'uri', 'description': 'The item image URL.'}}, 'description': 'The merchandise item for a line item.', 'additionalProperties': True}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string', 'description': 'Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units. Discount totals are negative.'}, 'display_text': {'type': 'string', 'description': 'Buyer-facing label for the total.'}}, 'additionalProperties': True}, 'description': 'Monetary totals in minor currency units.'}, 'quantity': {'type': 'integer', 'description': 'The line item quantity.'}, 'parent_id': {'type': 'string', 'description': 'The parent line item ID for nested line items.'}}, 'additionalProperties': True}, 'description': 'Line items in the checkout.'}, 'attribution': {'type': 'object', 'properties': {'utm_term': {'type': 'string'}, 'utm_medium': {'type': 'string'}, 'utm_source': {'type': 'string'}, 'utm_content': {'type': 'string'}, 'click_id_tag': {'type': 'string'}, 'utm_campaign': {'type': 'string'}, 'click_id_value': {'type': 'string'}, 'activity_id_tag': {'type': 'string'}, 'referring_domain': {'type': 'string'}, 'activity_id_value': {'type': 'string'}}, 'description': "Marketing attribution context for the buyer's session.", 'additionalProperties': True}, 'fulfillment': {'type': 'object', 'properties': {'methods': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'type', 'line_item_ids'], 'properties': {'id': {'type': 'string'}, 'type': {'enum': ['shipping', 'pickup'], 'type': 'string'}, 'groups': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'line_item_ids'], 'properties': {'id': {'type': 'string'}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'title': {'type': 'string'}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units.'}}, 'additionalProperties': True}}, 'description': {'type': 'object', 'properties': {'plain': {'type': 'string'}}, 'description': 'Buyer-facing description of the delivery option.', 'additionalProperties': True}}, 'additionalProperties': True}, 'description': 'Delivery options available for the group.'}, 'line_item_ids': {'type': 'array', 'items': {'type': 'string'}}, 'selected_option_id': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'description': 'Delivery groups for this fulfillment method.'}, 'destinations': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'last_name': {'type': 'string'}, 'first_name': {'type': 'string'}, 'postal_code': {'type': 'string'}, 'phone_number': {'type': 'string'}, 'address_region': {'type': 'string'}, 'street_address': {'type': 'string'}, 'address_country': {'type': 'string'}, 'address_locality': {'type': 'string'}, 'extended_address': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Destinations available for this fulfillment method.'}, 'line_item_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Line item IDs covered by this fulfillment method.'}, 'selected_destination_id': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'description': 'Fulfillment methods available for the checkout or cart.'}}, 'description': 'Fulfillment methods, destinations, delivery groups, and delivery options.', 'additionalProperties': True}, 'continue_url': {'type': 'string', 'format': 'uri', 'description': 'The URL where the buyer can continue checkout.'}}, 'description': 'Structured cart content.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['meta', 'checkout'], 'properties': {'meta': {'type': 'object', 'required': ['ucp-agent'], 'properties': {'ucp-agent': {'type': 'object', 'required': ['profile'], 'properties': {'profile': {'type': 'string', 'format': 'uri', 'description': 'Agent profile URI for UCP discovery.'}}}}, 'description': 'Metadata for UCP agent profile discovery.'}, 'checkout': {'type': 'object', 'required': ['line_items'], 'properties': {'buyer': {'type': 'object', 'properties': {'email': {'type': 'string', 'format': 'email'}, 'phone_number': {'type': 'string'}}, 'description': 'Information about the buyer including email and phone number.', 'additionalProperties': True}, 'cart_id': {'type': 'string', 'description': "Cart ID to convert to checkout. When provided, the business uses cart contents (line_items, context, buyer) and ignores overlapping fields in the checkout payload. Format: 'gid://shopify/Cart/abc123?key=secret'"}, 'context': {'type': 'object', 'properties': {'intent': {'type': 'string', 'description': "Context describing buyer's intent."}, 'currency': {'type': 'string', 'description': "Preferred currency (ISO 4217, e.g., 'EUR', 'USD')."}, 'language': {'type': 'string', 'description': 'Language tag in IETF BCP 47 format.'}, 'eligibility': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z](?:[a-z0-9-]*[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9_])?)+$', 'description': "Reverse-domain identifier. Must contain at least two dot-separated segments (e.g., 'com.example.loyalty')."}, 'description': 'Buyer claims about eligible benefits such as loyalty membership, payment perks, and similar.'}, 'postal_code': {'type': 'string', 'description': 'Postal code hint for localization.'}, 'address_region': {'type': 'string', 'description': 'Region/state hint for localization.'}, 'address_country': {'type': 'string', 'description': 'Country hint for localization.'}}, 'description': 'Provisional context hints for localization and pricing. Used when authoritative data (e.g., shipping address) is missing; higher-resolution data supersedes these values and unsupported hints may be ignored without error.', 'additionalProperties': True}, 'payment': {'type': 'object', 'properties': {'instruments': {'type': 'array', 'items': {'type': 'object', 'allOf': [{'if': {'required': ['handler_id'], 'properties': {'handler_id': {'const': 'apple-pay'}}}, 'else': {'properties': {'credential': {'required': ['type'], 'properties': {'type': {'not': {'const': 'apple_pay_token'}}}}}}, 'then': {'required': ['billing_address', 'credential'], 'properties': {'type': {'const': 'card'}, 'credential': {'required': ['type', 'payment_data'], 'properties': {'type': {'const': 'apple_pay_token'}}}}}}], 'required': ['id', 'handler_id', 'type'], 'properties': {'id': {'type': 'string', 'description': 'A unique identifier for this payment instrument instance.'}, 'type': {'type': 'string', 'description': "Instrument type. Apple Pay uses 'card' because the submitted instrument represents a tokenized card."}, 'display': {'type': 'object', 'properties': {'brand': {'type': 'string', 'description': 'Card brand (e.g., visa, mastercard), when available.'}, 'expiry_year': {'type': 'integer', 'description': 'Card expiry year. Required for card instruments.'}, 'last_digits': {'type': 'string', 'description': 'Last 4 digits of the card, when available.'}, 'expiry_month': {'type': 'integer', 'description': 'Card expiry month (1-12). Required for card instruments.'}, 'rich_card_art': {'type': 'string', 'description': 'Rich card art URL or identifier for the payment instrument.'}, 'funding_source': {'enum': ['debit', 'credit', 'prepaid', 'store'], 'type': 'string', 'description': 'How the card is funded, as reported by Apple Pay.'}, 'rich_text_description': {'type': 'string', 'description': 'Rich text description of the payment instrument for display purposes.'}}, 'description': 'Display information for this payment instrument.', 'additionalProperties': True}, 'selected': {'type': 'boolean', 'description': 'Whether this instrument is the currently selected for the checkout.'}, 'credential': {'type': 'object', 'allOf': [{'if': {'required': ['type'], 'properties': {'type': {'const': 'apple_pay_token'}}}, 'else': {'required': ['type']}, 'then': {'required': ['type', 'payment_data'], 'properties': {'type': {'const': 'apple_pay_token'}, 'payment_data': {'type': 'object', 'required': ['version', 'data', 'signature', 'header'], 'properties': {'data': {'type': 'string'}, 'header': {'type': 'object', 'anyOf': [{'required': ['ephemeral_public_key']}, {'required': ['wrapped_key']}], 'required': ['public_key_hash', 'transaction_id'], 'properties': {'wrapped_key': {'type': 'string'}, 'transaction_id': {'type': 'string'}, 'public_key_hash': {'type': 'string'}, 'application_data': {'type': 'string'}, 'ephemeral_public_key': {'type': 'string'}}, 'additionalProperties': True}, 'version': {'type': 'string'}, 'signature': {'type': 'string'}}, 'additionalProperties': True}, 'transaction_identifier': {'type': 'string'}}}}], 'properties': {'type': {'type': 'string', 'description': 'Namespaced token type using dot notation (e.g., stripe.token, merchant.token, google.pay).'}, 'token': {'type': 'string', 'description': 'Opaque payment token value, required except when restating a platform-listed instrument (e.g., a Shop Pay wallet card) whose token the platform re-derives from the instrument id.'}, 'approval_id': {'type': 'string', 'description': 'Identifier of the payment approval authorizing this credential, as returned by the approvals API. Required for shop_pay credentials when the merchant requires payment approvals.'}, 'payment_data': {'type': 'object'}, 'transaction_identifier': {'type': 'string'}}, 'description': 'Payment credential payload to process the transaction for this instrument.', 'additionalProperties': True}, 'handler_id': {'type': 'string', 'description': 'Identifier of the payment handler that was used to generate this instrument.'}, 'billing_address': {'type': 'object', 'properties': {'last_name': {'type': 'string', 'description': 'Last name of the contact associated with the billing address.'}, 'first_name': {'type': 'string', 'description': 'First name of the contact associated with the billing address.'}, 'postal_code': {'type': 'string', 'description': 'Postal code of the billing address.'}, 'phone_number': {'type': 'string', 'description': 'Phone number of the contact associated with the billing address.'}, 'address_region': {'type': 'string', 'description': 'Region of the billing address.'}, 'street_address': {'type': 'string', 'description': 'Street address of the billing address.'}, 'address_country': {'type': 'string', 'description': 'Country of the billing address in 2-letter ISO 3166-1 alpha-2 format.'}, 'address_locality': {'type': 'string', 'description': 'Locality of the billing address.'}, 'extended_address': {'type': 'string', 'description': 'Extended address of the billing address such as an apartment number, C/O, or alternative name.'}}, 'description': 'Billing address for the instrument.', 'additionalProperties': True}}, 'additionalProperties': True}, 'description': 'Payment instruments for this checkout (e.g., credit cards, tokens, wallets).'}}, 'description': 'Payment information for this checkout.', 'additionalProperties': True}, 'discounts': {'type': 'object', 'properties': {'codes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Discount codes to apply. Case-insensitive. Replaces previously submitted codes. Send empty array to clear.'}}, 'description': 'Discount or promo codes to apply to the cart. Only prompt if customer mentions having a discount code.'}, 'line_items': {'type': 'array', 'items': {'type': 'object', 'required': ['item', 'quantity'], 'properties': {'id': {'type': 'string', 'description': 'The ID of the line item to update.'}, 'item': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The Product Variant ID to add or update.'}}}, 'quantity': {'type': 'integer'}}}, 'description': 'Items to add to the cart or checkout. Required when creating a new cart or checkout.'}, 'attribution': {'type': 'object', 'properties': {'utm_term': {'type': 'string', 'description': 'UTM term parameter.'}, 'utm_medium': {'type': 'string', 'description': 'UTM medium parameter.'}, 'utm_source': {'type': 'string', 'description': 'UTM source parameter.'}, 'utm_content': {'type': 'string', 'description': 'UTM content parameter.'}, 'click_id_tag': {'type': 'string', 'description': "Click identifier parameter name (e.g., 'gclid', 'fbclid')."}, 'utm_campaign': {'type': 'string', 'description': 'UTM campaign parameter.'}, 'click_id_value': {'type': 'string', 'description': 'Click identifier value matching click_id_tag.'}, 'activity_id_tag': {'type': 'string', 'description': 'Activity identifier parameter name.'}, 'referring_domain': {'type': 'string', 'description': "Domain that referred the buyer to the merchant's storefront."}, 'activity_id_value': {'type': 'string', 'description': 'Activity identifier value matching activity_id_tag.'}}, 'description': "Marketing attribution context for the buyer's session (referring domain, click IDs, UTM parameters)."}, 'fulfillment': {'type': 'object', 'properties': {'methods': {'type': 'array', 'items': {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string'}, 'groups': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'selected_option_id': {'type': 'string'}}}, 'description': 'The groups to fulfill to.'}, 'destinations': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'last_name': {'type': 'string'}, 'first_name': {'type': 'string'}, 'postal_code': {'type': 'string'}, 'phone_number': {'type': 'string'}, 'address_region': {'type': 'string'}, 'street_address': {'type': 'string'}, 'address_country': {'type': 'string'}, 'address_locality': {'type': 'string'}, 'extended_address': {'type': 'string'}}}, 'description': 'The destinations to fulfill to.'}, 'line_item_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The line item ids to fulfill.'}, 'selected_destination_id': {'type': 'string', 'description': 'ID of the selected destination.'}}}, 'description': 'The methods of fulfillment.'}}, 'description': 'Information about the fulfillment.'}}, 'description': 'Checkout properties.'}}}
Esquema de salida
{'type': 'object', 'title': 'Checkout response', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ucp', 'id', 'line_items', 'status', 'currency', 'totals', 'links'], 'properties': {'id': {'type': 'string', 'description': 'The Shopify Checkout GID.'}, 'ucp': {'type': 'object', 'required': ['version', 'status', 'services', 'capabilities', 'payment_handlers'], 'properties': {'status': {'enum': ['success', 'error'], 'type': 'string', 'description': 'Whether UCP processing succeeded.'}, 'version': {'type': 'string', 'description': 'The negotiated UCP version.'}, 'services': {'type': 'object', 'description': 'Services available to the agent.', 'additionalProperties': True}, 'capabilities': {'type': 'object', 'description': 'Negotiated UCP capabilities.', 'additionalProperties': True}, 'payment_handlers': {'type': 'object', 'description': 'Payment handlers available to the buyer. Empty on receipts.', 'additionalProperties': True}}, 'description': 'UCP protocol metadata for the response.', 'additionalProperties': True}, 'buyer': {'type': 'object', 'properties': {'email': {'type': 'string', 'format': 'email'}, 'phone_number': {'type': 'string'}}, 'description': 'Information about the buyer.', 'additionalProperties': True}, 'links': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'The policy URL.'}, 'type': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Merchant policy links relevant to the checkout.'}, 'status': {'enum': ['incomplete', 'requires_escalation', 'ready_for_complete', 'canceled'], 'type': 'string', 'description': 'The checkout status.'}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string', 'description': 'Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units. Discount totals are negative.'}, 'display_text': {'type': 'string', 'description': 'Buyer-facing label for the total.'}}, 'additionalProperties': True}, 'description': 'Monetary totals in minor currency units.'}, 'payment': {'type': 'object', 'properties': {'instruments': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'type': {'type': 'string'}, 'display': {'type': ['object', 'null'], 'description': 'Handler-specific display data (for example card brand and last digits).', 'additionalProperties': True}, 'selected': {'type': 'boolean'}, 'credential': {'type': 'object', 'properties': {'type': {'type': 'string'}}, 'additionalProperties': True}, 'handler_id': {'type': 'string'}, 'billing_address': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'last_name': {'type': 'string'}, 'first_name': {'type': 'string'}, 'postal_code': {'type': 'string'}, 'phone_number': {'type': 'string'}, 'address_region': {'type': 'string'}, 'street_address': {'type': 'string'}, 'address_country': {'type': 'string'}, 'address_locality': {'type': 'string'}, 'extended_address': {'type': 'string'}}, 'description': 'Mailing address fields.', 'additionalProperties': True}}, 'additionalProperties': True}, 'description': 'Payment instruments available to or selected by the buyer.'}}, 'description': 'Payment information for the checkout.', 'additionalProperties': True}, 'currency': {'type': 'string', 'description': 'The presentment currency code (ISO 4217).'}, 'messages': {'type': 'array', 'items': {'type': 'object', 'required': ['type'], 'properties': {'code': {'type': 'string'}, 'path': {'type': 'string'}, 'type': {'enum': ['error', 'warning', 'info'], 'type': 'string'}, 'content': {'type': 'string'}, 'severity': {'enum': ['recoverable', 'requires_buyer_input', 'requires_buyer_review', 'unrecoverable'], 'type': 'string'}, 'content_type': {'enum': ['plain', 'markdown'], 'type': 'string'}}, 'additionalProperties': True}, 'description': 'Errors or warnings surfaced while processing the tool call.'}, 'discounts': {'type': 'object', 'properties': {'codes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Discount codes submitted for the checkout or cart.'}, 'applied': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'amount'], 'properties': {'code': {'type': 'string'}, 'title': {'type': 'string'}, 'amount': {'type': 'integer', 'description': 'The discount amount in minor currency units.'}, 'method': {'enum': ['each', 'across', 'one'], 'type': 'string', 'description': 'How the discount is allocated across the targeted items.'}, 'automatic': {'type': 'boolean'}, 'allocations': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'amount'], 'properties': {'path': {'type': 'string', 'description': 'JSONPath to the discounted line item or total.'}, 'amount': {'type': 'integer', 'description': 'The allocated amount in minor currency units.'}}, 'additionalProperties': True}, 'description': 'Line item or fulfillment total allocations of the discount.'}}, 'additionalProperties': True}, 'description': 'Discounts applied to the checkout or cart, including automatic discounts.'}}, 'description': 'Discount codes and applied discounts for the checkout or cart.', 'additionalProperties': True}, 'expires_at': {'type': 'string', 'format': 'date-time', 'description': 'The date and time when the checkout expires.'}, 'line_items': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'item', 'quantity', 'totals'], 'properties': {'id': {'type': 'string', 'description': 'The line item ID.'}, 'item': {'type': 'object', 'required': ['id', 'title', 'price'], 'properties': {'id': {'type': 'string', 'description': 'The product variant GID.'}, 'price': {'type': 'integer', 'description': 'The unit price in minor currency units.'}, 'title': {'type': 'string', 'description': 'The item title.'}, 'image_url': {'type': 'string', 'format': 'uri', 'description': 'The item image URL.'}}, 'description': 'The merchandise item for a line item.', 'additionalProperties': True}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string', 'description': 'Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units. Discount totals are negative.'}, 'display_text': {'type': 'string', 'description': 'Buyer-facing label for the total.'}}, 'additionalProperties': True}, 'description': 'Monetary totals in minor currency units.'}, 'quantity': {'type': 'integer', 'description': 'The line item quantity.'}, 'parent_id': {'type': 'string', 'description': 'The parent line item ID for nested line items.'}}, 'additionalProperties': True}, 'description': 'Line items in the checkout.'}, 'attribution': {'type': 'object', 'properties': {'utm_term': {'type': 'string'}, 'utm_medium': {'type': 'string'}, 'utm_source': {'type': 'string'}, 'utm_content': {'type': 'string'}, 'click_id_tag': {'type': 'string'}, 'utm_campaign': {'type': 'string'}, 'click_id_value': {'type': 'string'}, 'activity_id_tag': {'type': 'string'}, 'referring_domain': {'type': 'string'}, 'activity_id_value': {'type': 'string'}}, 'description': "Marketing attribution context for the buyer's session.", 'additionalProperties': True}, 'fulfillment': {'type': 'object', 'properties': {'methods': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'type', 'line_item_ids'], 'properties': {'id': {'type': 'string'}, 'type': {'enum': ['shipping', 'pickup'], 'type': 'string'}, 'groups': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'line_item_ids'], 'properties': {'id': {'type': 'string'}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'title': {'type': 'string'}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units.'}}, 'additionalProperties': True}}, 'description': {'type': 'object', 'properties': {'plain': {'type': 'string'}}, 'description': 'Buyer-facing description of the delivery option.', 'additionalProperties': True}}, 'additionalProperties': True}, 'description': 'Delivery options available for the group.'}, 'line_item_ids': {'type': 'array', 'items': {'type': 'string'}}, 'selected_option_id': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'description': 'Delivery groups for this fulfillment method.'}, 'destinations': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'last_name': {'type': 'string'}, 'first_name': {'type': 'string'}, 'postal_code': {'type': 'string'}, 'phone_number': {'type': 'string'}, 'address_region': {'type': 'string'}, 'street_address': {'type': 'string'}, 'address_country': {'type': 'string'}, 'address_locality': {'type': 'string'}, 'extended_address': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Destinations available for this fulfillment method.'}, 'line_item_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Line item IDs covered by this fulfillment method.'}, 'selected_destination_id': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'description': 'Fulfillment methods available for the checkout or cart.'}}, 'description': 'Fulfillment methods, destinations, delivery groups, and delivery options.', 'additionalProperties': True}, 'continue_url': {'type': 'string', 'format': 'uri', 'description': 'The URL where the buyer can continue checkout.'}}, 'description': 'Structured checkout content returned while the checkout is still open.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['meta', 'id'], 'properties': {'id': {'type': 'string', 'description': "The ID of the cart. Format: 'gid://shopify/Cart/abc123'"}, 'meta': {'type': 'object', 'required': ['ucp-agent'], 'properties': {'ucp-agent': {'type': 'object', 'required': ['profile'], 'properties': {'profile': {'type': 'string', 'format': 'uri', 'description': 'Agent profile URI for UCP discovery.'}}}}, 'description': 'Metadata for UCP agent profile discovery.'}}}
Esquema de salida
{'type': 'object', 'title': 'Cart response', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ucp', 'id', 'line_items', 'currency', 'totals'], 'properties': {'id': {'type': 'string', 'description': 'The Shopify Cart GID.'}, 'ucp': {'type': 'object', 'required': ['version', 'status', 'services', 'capabilities', 'payment_handlers'], 'properties': {'status': {'enum': ['success', 'error'], 'type': 'string', 'description': 'Whether UCP processing succeeded.'}, 'version': {'type': 'string', 'description': 'The negotiated UCP version.'}, 'services': {'type': 'object', 'description': 'Services available to the agent.', 'additionalProperties': True}, 'capabilities': {'type': 'object', 'description': 'Negotiated UCP capabilities.', 'additionalProperties': True}, 'payment_handlers': {'type': 'object', 'description': 'Payment handlers available to the buyer. Empty on receipts.', 'additionalProperties': True}}, 'description': 'UCP protocol metadata for the response.', 'additionalProperties': True}, 'buyer': {'type': 'object', 'properties': {'email': {'type': 'string', 'format': 'email'}, 'phone_number': {'type': 'string'}}, 'description': 'Information about the buyer.', 'additionalProperties': True}, 'links': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'The policy URL.'}, 'type': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Merchant policy links relevant to the checkout.'}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string', 'description': 'Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units. Discount totals are negative.'}, 'display_text': {'type': 'string', 'description': 'Buyer-facing label for the total.'}}, 'additionalProperties': True}, 'description': 'Monetary totals in minor currency units.'}, 'currency': {'type': 'string', 'description': 'The presentment currency code (ISO 4217).'}, 'messages': {'type': 'array', 'items': {'type': 'object', 'required': ['type'], 'properties': {'code': {'type': 'string'}, 'path': {'type': 'string'}, 'type': {'enum': ['error', 'warning', 'info'], 'type': 'string'}, 'content': {'type': 'string'}, 'severity': {'enum': ['recoverable', 'requires_buyer_input', 'requires_buyer_review', 'unrecoverable'], 'type': 'string'}, 'content_type': {'enum': ['plain', 'markdown'], 'type': 'string'}}, 'additionalProperties': True}, 'description': 'Errors or warnings surfaced while processing the tool call.'}, 'discounts': {'type': 'object', 'properties': {'codes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Discount codes submitted for the checkout or cart.'}, 'applied': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'amount'], 'properties': {'code': {'type': 'string'}, 'title': {'type': 'string'}, 'amount': {'type': 'integer', 'description': 'The discount amount in minor currency units.'}, 'method': {'enum': ['each', 'across', 'one'], 'type': 'string', 'description': 'How the discount is allocated across the targeted items.'}, 'automatic': {'type': 'boolean'}, 'allocations': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'amount'], 'properties': {'path': {'type': 'string', 'description': 'JSONPath to the discounted line item or total.'}, 'amount': {'type': 'integer', 'description': 'The allocated amount in minor currency units.'}}, 'additionalProperties': True}, 'description': 'Line item or fulfillment total allocations of the discount.'}}, 'additionalProperties': True}, 'description': 'Discounts applied to the checkout or cart, including automatic discounts.'}}, 'description': 'Discount codes and applied discounts for the checkout or cart.', 'additionalProperties': True}, 'expires_at': {'type': 'string', 'format': 'date-time', 'description': 'The date and time when the checkout expires.'}, 'line_items': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'item', 'quantity', 'totals'], 'properties': {'id': {'type': 'string', 'description': 'The line item ID.'}, 'item': {'type': 'object', 'required': ['id', 'title', 'price'], 'properties': {'id': {'type': 'string', 'description': 'The product variant GID.'}, 'price': {'type': 'integer', 'description': 'The unit price in minor currency units.'}, 'title': {'type': 'string', 'description': 'The item title.'}, 'image_url': {'type': 'string', 'format': 'uri', 'description': 'The item image URL.'}}, 'description': 'The merchandise item for a line item.', 'additionalProperties': True}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string', 'description': 'Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units. Discount totals are negative.'}, 'display_text': {'type': 'string', 'description': 'Buyer-facing label for the total.'}}, 'additionalProperties': True}, 'description': 'Monetary totals in minor currency units.'}, 'quantity': {'type': 'integer', 'description': 'The line item quantity.'}, 'parent_id': {'type': 'string', 'description': 'The parent line item ID for nested line items.'}}, 'additionalProperties': True}, 'description': 'Line items in the checkout.'}, 'attribution': {'type': 'object', 'properties': {'utm_term': {'type': 'string'}, 'utm_medium': {'type': 'string'}, 'utm_source': {'type': 'string'}, 'utm_content': {'type': 'string'}, 'click_id_tag': {'type': 'string'}, 'utm_campaign': {'type': 'string'}, 'click_id_value': {'type': 'string'}, 'activity_id_tag': {'type': 'string'}, 'referring_domain': {'type': 'string'}, 'activity_id_value': {'type': 'string'}}, 'description': "Marketing attribution context for the buyer's session.", 'additionalProperties': True}, 'fulfillment': {'type': 'object', 'properties': {'methods': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'type', 'line_item_ids'], 'properties': {'id': {'type': 'string'}, 'type': {'enum': ['shipping', 'pickup'], 'type': 'string'}, 'groups': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'line_item_ids'], 'properties': {'id': {'type': 'string'}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'title': {'type': 'string'}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units.'}}, 'additionalProperties': True}}, 'description': {'type': 'object', 'properties': {'plain': {'type': 'string'}}, 'description': 'Buyer-facing description of the delivery option.', 'additionalProperties': True}}, 'additionalProperties': True}, 'description': 'Delivery options available for the group.'}, 'line_item_ids': {'type': 'array', 'items': {'type': 'string'}}, 'selected_option_id': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'description': 'Delivery groups for this fulfillment method.'}, 'destinations': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'last_name': {'type': 'string'}, 'first_name': {'type': 'string'}, 'postal_code': {'type': 'string'}, 'phone_number': {'type': 'string'}, 'address_region': {'type': 'string'}, 'street_address': {'type': 'string'}, 'address_country': {'type': 'string'}, 'address_locality': {'type': 'string'}, 'extended_address': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Destinations available for this fulfillment method.'}, 'line_item_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Line item IDs covered by this fulfillment method.'}, 'selected_destination_id': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'description': 'Fulfillment methods available for the checkout or cart.'}}, 'description': 'Fulfillment methods, destinations, delivery groups, and delivery options.', 'additionalProperties': True}, 'continue_url': {'type': 'string', 'format': 'uri', 'description': 'The URL where the buyer can continue checkout.'}}, 'description': 'Structured cart content.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['meta', 'id'], 'properties': {'id': {'type': 'string', 'description': "The ID of the checkout to update. Format: 'gid://shopify/Checkout/abc123'"}, 'meta': {'type': 'object', 'required': ['ucp-agent'], 'properties': {'ucp-agent': {'type': 'object', 'required': ['profile'], 'properties': {'profile': {'type': 'string', 'format': 'uri', 'description': 'Agent profile URI for UCP discovery.'}}}}, 'description': 'Metadata for UCP agent profile discovery.'}}}
Esquema de salida
{'type': 'object', 'oneOf': [{'type': 'object', 'title': 'Checkout response', 'required': ['ucp', 'id', 'line_items', 'status', 'currency', 'totals', 'links'], 'properties': {'id': {'type': 'string', 'description': 'The Shopify Checkout GID.'}, 'ucp': {'type': 'object', 'required': ['version', 'status', 'services', 'capabilities', 'payment_handlers'], 'properties': {'status': {'enum': ['success', 'error'], 'type': 'string', 'description': 'Whether UCP processing succeeded.'}, 'version': {'type': 'string', 'description': 'The negotiated UCP version.'}, 'services': {'type': 'object', 'description': 'Services available to the agent.', 'additionalProperties': True}, 'capabilities': {'type': 'object', 'description': 'Negotiated UCP capabilities.', 'additionalProperties': True}, 'payment_handlers': {'type': 'object', 'description': 'Payment handlers available to the buyer. Empty on receipts.', 'additionalProperties': True}}, 'description': 'UCP protocol metadata for the response.', 'additionalProperties': True}, 'buyer': {'type': 'object', 'properties': {'email': {'type': 'string', 'format': 'email'}, 'phone_number': {'type': 'string'}}, 'description': 'Information about the buyer.', 'additionalProperties': True}, 'links': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'The policy URL.'}, 'type': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Merchant policy links relevant to the checkout.'}, 'status': {'enum': ['incomplete', 'requires_escalation', 'ready_for_complete', 'canceled'], 'type': 'string', 'description': 'The checkout status.'}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string', 'description': 'Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units. Discount totals are negative.'}, 'display_text': {'type': 'string', 'description': 'Buyer-facing label for the total.'}}, 'additionalProperties': True}, 'description': 'Monetary totals in minor currency units.'}, 'payment': {'type': 'object', 'properties': {'instruments': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'type': {'type': 'string'}, 'display': {'type': ['object', 'null'], 'description': 'Handler-specific display data (for example card brand and last digits).', 'additionalProperties': True}, 'selected': {'type': 'boolean'}, 'credential': {'type': 'object', 'properties': {'type': {'type': 'string'}}, 'additionalProperties': True}, 'handler_id': {'type': 'string'}, 'billing_address': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'last_name': {'type': 'string'}, 'first_name': {'type': 'string'}, 'postal_code': {'type': 'string'}, 'phone_number': {'type': 'string'}, 'address_region': {'type': 'string'}, 'street_address': {'type': 'string'}, 'address_country': {'type': 'string'}, 'address_locality': {'type': 'string'}, 'extended_address': {'type': 'string'}}, 'description': 'Mailing address fields.', 'additionalProperties': True}}, 'additionalProperties': True}, 'description': 'Payment instruments available to or selected by the buyer.'}}, 'description': 'Payment information for the checkout.', 'additionalProperties': True}, 'currency': {'type': 'string', 'description': 'The presentment currency code (ISO 4217).'}, 'messages': {'type': 'array', 'items': {'type': 'object', 'required': ['type'], 'properties': {'code': {'type': 'string'}, 'path': {'type': 'string'}, 'type': {'enum': ['error', 'warning', 'info'], 'type': 'string'}, 'content': {'type': 'string'}, 'severity': {'enum': ['recoverable', 'requires_buyer_input', 'requires_buyer_review', 'unrecoverable'], 'type': 'string'}, 'content_type': {'enum': ['plain', 'markdown'], 'type': 'string'}}, 'additionalProperties': True}, 'description': 'Errors or warnings surfaced while processing the tool call.'}, 'discounts': {'type': 'object', 'properties': {'codes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Discount codes submitted for the checkout or cart.'}, 'applied': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'amount'], 'properties': {'code': {'type': 'string'}, 'title': {'type': 'string'}, 'amount': {'type': 'integer', 'description': 'The discount amount in minor currency units.'}, 'method': {'enum': ['each', 'across', 'one'], 'type': 'string', 'description': 'How the discount is allocated across the targeted items.'}, 'automatic': {'type': 'boolean'}, 'allocations': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'amount'], 'properties': {'path': {'type': 'string', 'description': 'JSONPath to the discounted line item or total.'}, 'amount': {'type': 'integer', 'description': 'The allocated amount in minor currency units.'}}, 'additionalProperties': True}, 'description': 'Line item or fulfillment total allocations of the discount.'}}, 'additionalProperties': True}, 'description': 'Discounts applied to the checkout or cart, including automatic discounts.'}}, 'description': 'Discount codes and applied discounts for the checkout or cart.', 'additionalProperties': True}, 'expires_at': {'type': 'string', 'format': 'date-time', 'description': 'The date and time when the checkout expires.'}, 'line_items': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'item', 'quantity', 'totals'], 'properties': {'id': {'type': 'string', 'description': 'The line item ID.'}, 'item': {'type': 'object', 'required': ['id', 'title', 'price'], 'properties': {'id': {'type': 'string', 'description': 'The product variant GID.'}, 'price': {'type': 'integer', 'description': 'The unit price in minor currency units.'}, 'title': {'type': 'string', 'description': 'The item title.'}, 'image_url': {'type': 'string', 'format': 'uri', 'description': 'The item image URL.'}}, 'description': 'The merchandise item for a line item.', 'additionalProperties': True}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string', 'description': 'Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units. Discount totals are negative.'}, 'display_text': {'type': 'string', 'description': 'Buyer-facing label for the total.'}}, 'additionalProperties': True}, 'description': 'Monetary totals in minor currency units.'}, 'quantity': {'type': 'integer', 'description': 'The line item quantity.'}, 'parent_id': {'type': 'string', 'description': 'The parent line item ID for nested line items.'}}, 'additionalProperties': True}, 'description': 'Line items in the checkout.'}, 'attribution': {'type': 'object', 'properties': {'utm_term': {'type': 'string'}, 'utm_medium': {'type': 'string'}, 'utm_source': {'type': 'string'}, 'utm_content': {'type': 'string'}, 'click_id_tag': {'type': 'string'}, 'utm_campaign': {'type': 'string'}, 'click_id_value': {'type': 'string'}, 'activity_id_tag': {'type': 'string'}, 'referring_domain': {'type': 'string'}, 'activity_id_value': {'type': 'string'}}, 'description': "Marketing attribution context for the buyer's session.", 'additionalProperties': True}, 'fulfillment': {'type': 'object', 'properties': {'methods': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'type', 'line_item_ids'], 'properties': {'id': {'type': 'string'}, 'type': {'enum': ['shipping', 'pickup'], 'type': 'string'}, 'groups': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'line_item_ids'], 'properties': {'id': {'type': 'string'}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'title': {'type': 'string'}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units.'}}, 'additionalProperties': True}}, 'description': {'type': 'object', 'properties': {'plain': {'type': 'string'}}, 'description': 'Buyer-facing description of the delivery option.', 'additionalProperties': True}}, 'additionalProperties': True}, 'description': 'Delivery options available for the group.'}, 'line_item_ids': {'type': 'array', 'items': {'type': 'string'}}, 'selected_option_id': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'description': 'Delivery groups for this fulfillment method.'}, 'destinations': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'last_name': {'type': 'string'}, 'first_name': {'type': 'string'}, 'postal_code': {'type': 'string'}, 'phone_number': {'type': 'string'}, 'address_region': {'type': 'string'}, 'street_address': {'type': 'string'}, 'address_country': {'type': 'string'}, 'address_locality': {'type': 'string'}, 'extended_address': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Destinations available for this fulfillment method.'}, 'line_item_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Line item IDs covered by this fulfillment method.'}, 'selected_destination_id': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'description': 'Fulfillment methods available for the checkout or cart.'}}, 'description': 'Fulfillment methods, destinations, delivery groups, and delivery options.', 'additionalProperties': True}, 'continue_url': {'type': 'string', 'format': 'uri', 'description': 'The URL where the buyer can continue checkout.'}}, 'description': 'Structured checkout content returned while the checkout is still open.', 'additionalProperties': True}, {'type': 'object', 'title': 'Receipt response', 'required': ['ucp', 'id', 'status', 'currency', 'totals'], 'properties': {'id': {'type': 'string', 'description': 'The Shopify Checkout GID.'}, 'ucp': {'type': 'object', 'required': ['version', 'status', 'services', 'capabilities', 'payment_handlers'], 'properties': {'status': {'enum': ['success', 'error'], 'type': 'string', 'description': 'Whether UCP processing succeeded.'}, 'version': {'type': 'string', 'description': 'The negotiated UCP version.'}, 'services': {'type': 'object', 'description': 'Services available to the agent.', 'additionalProperties': True}, 'capabilities': {'type': 'object', 'description': 'Negotiated UCP capabilities.', 'additionalProperties': True}, 'payment_handlers': {'type': 'object', 'description': 'Payment handlers available to the buyer. Empty on receipts.', 'additionalProperties': True}}, 'description': 'UCP protocol metadata for the response.', 'additionalProperties': True}, 'buyer': {'type': 'object', 'properties': {'email': {'type': 'string', 'format': 'email'}, 'phone_number': {'type': 'string'}}, 'description': 'Information about the buyer.', 'additionalProperties': True}, 'links': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'The policy URL.'}, 'type': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Merchant policy links relevant to the checkout.'}, 'order': {'type': 'object', 'required': ['id', 'permalink_url'], 'properties': {'id': {'type': 'string', 'description': 'The order GID.'}, 'label': {'type': 'string', 'description': 'The buyer-facing order label.'}, 'permalink_url': {'type': 'string', 'format': 'uri', 'description': 'The order status URL.'}}, 'description': 'Order confirmation. Present once the checkout has completed.', 'additionalProperties': True}, 'status': {'enum': ['complete_in_progress', 'completed'], 'type': 'string', 'description': 'The checkout status after submission.'}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string', 'description': 'Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units. Discount totals are negative.'}, 'display_text': {'type': 'string', 'description': 'Buyer-facing label for the total.'}}, 'additionalProperties': True}, 'description': 'Monetary totals in minor currency units.'}, 'payment': {'type': 'object', 'properties': {'handlers': {'type': 'object', 'description': 'Payment handlers accepted by the merchant.', 'additionalProperties': True}, 'instruments': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Payment instruments used for the order.'}}, 'description': 'Payment summary for the completed checkout.', 'additionalProperties': True}, 'currency': {'type': 'string', 'description': 'The presentment currency code (ISO 4217).'}, 'messages': {'type': 'array', 'items': {'type': 'object', 'required': ['type'], 'properties': {'code': {'type': 'string'}, 'path': {'type': 'string'}, 'type': {'enum': ['error', 'warning', 'info'], 'type': 'string'}, 'content': {'type': 'string'}, 'severity': {'enum': ['recoverable', 'requires_buyer_input', 'requires_buyer_review', 'unrecoverable'], 'type': 'string'}, 'content_type': {'enum': ['plain', 'markdown'], 'type': 'string'}}, 'additionalProperties': True}, 'description': 'Errors or warnings surfaced while processing the tool call.'}, 'discounts': {'type': 'object', 'properties': {'codes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Discount codes submitted for the checkout or cart.'}, 'applied': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'amount'], 'properties': {'code': {'type': 'string'}, 'title': {'type': 'string'}, 'amount': {'type': 'integer', 'description': 'The discount amount in minor currency units.'}, 'method': {'enum': ['each', 'across', 'one'], 'type': 'string', 'description': 'How the discount is allocated across the targeted items.'}, 'automatic': {'type': 'boolean'}, 'allocations': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'amount'], 'properties': {'path': {'type': 'string', 'description': 'JSONPath to the discounted line item or total.'}, 'amount': {'type': 'integer', 'description': 'The allocated amount in minor currency units.'}}, 'additionalProperties': True}, 'description': 'Line item or fulfillment total allocations of the discount.'}}, 'additionalProperties': True}, 'description': 'Discounts applied to the checkout or cart, including automatic discounts.'}}, 'description': 'Discount codes and applied discounts for the checkout or cart.', 'additionalProperties': True}, 'line_items': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'item', 'quantity', 'totals'], 'properties': {'id': {'type': 'string', 'description': 'The line item ID.'}, 'item': {'type': 'object', 'required': ['title', 'price'], 'properties': {'id': {'type': 'string', 'description': 'The product variant GID.'}, 'price': {'type': 'integer', 'description': 'The unit price in minor currency units.'}, 'title': {'type': 'string', 'description': 'The item title.'}, 'image_url': {'type': 'string', 'format': 'uri', 'description': 'The item image URL.'}}, 'description': 'The merchandise item for a line item.', 'additionalProperties': True}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string', 'description': 'Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units. Discount totals are negative.'}, 'display_text': {'type': 'string', 'description': 'Buyer-facing label for the total.'}}, 'additionalProperties': True}, 'description': 'Monetary totals in minor currency units.'}, 'quantity': {'type': 'integer', 'description': 'The line item quantity.'}, 'parent_id': {'type': 'string', 'description': 'The parent line item ID for nested line items.'}}, 'additionalProperties': True}, 'description': 'Line items in the checkout.'}, 'fulfillment': {'type': 'object', 'properties': {'methods': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'type', 'line_item_ids'], 'properties': {'id': {'type': 'string'}, 'type': {'enum': ['shipping', 'pickup'], 'type': 'string'}, 'groups': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'line_item_ids'], 'properties': {'id': {'type': 'string'}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'title': {'type': 'string'}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units.'}}, 'additionalProperties': True}}, 'description': {'type': 'object', 'properties': {'plain': {'type': 'string'}}, 'description': 'Buyer-facing description of the delivery option.', 'additionalProperties': True}}, 'additionalProperties': True}, 'description': 'Delivery options available for the group.'}, 'line_item_ids': {'type': 'array', 'items': {'type': 'string'}}, 'selected_option_id': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'description': 'Delivery groups for this fulfillment method.'}, 'destinations': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'last_name': {'type': 'string'}, 'first_name': {'type': 'string'}, 'postal_code': {'type': 'string'}, 'phone_number': {'type': 'string'}, 'address_region': {'type': 'string'}, 'street_address': {'type': 'string'}, 'address_country': {'type': 'string'}, 'address_locality': {'type': 'string'}, 'extended_address': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Destinations available for this fulfillment method.'}, 'line_item_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Line item IDs covered by this fulfillment method.'}, 'selected_destination_id': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'description': 'Fulfillment methods available for the checkout or cart.'}}, 'description': 'Fulfillment methods, destinations, delivery groups, and delivery options.', 'additionalProperties': True}}, 'description': 'Structured receipt content returned once the checkout has been submitted.', 'additionalProperties': True}], 'title': 'Checkout or receipt response', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'description': 'The open checkout, or a receipt when the checkout has already been submitted.'}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['meta', 'id'], 'properties': {'id': {'type': 'string', 'description': "The ID of the order. Format: 'gid://shopify/Order/123'"}, 'meta': {'type': 'object', 'required': ['ucp-agent'], 'properties': {'ucp-agent': {'type': 'object', 'required': ['profile'], 'properties': {'profile': {'type': 'string', 'format': 'uri', 'description': 'Agent profile URI for UCP discovery.'}}}}, 'description': 'Metadata for UCP agent profile discovery.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['meta', 'catalog'], 'properties': {'meta': {'type': 'object', 'required': ['ucp-agent'], 'properties': {'ucp-agent': {'type': 'object', 'required': ['profile'], 'properties': {'profile': {'type': 'string', 'format': 'uri', 'description': 'Agent profile URI for UCP discovery.'}}}}, 'description': 'Metadata for UCP agent profile discovery.'}, 'catalog': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Product ID.'}, 'context': {'type': 'object', 'properties': {'intent': {'type': 'string', 'description': 'Buyer intent.'}, 'currency': {'type': 'string', 'description': 'Currency code in ISO 4217 format.'}, 'language': {'type': 'string', 'description': 'Language tag in IETF BCP 47 format.'}, 'postal_code': {'type': 'string', 'description': 'Postal code.'}, 'address_region': {'type': 'string', 'description': 'Region or state.'}, 'address_country': {'type': 'string', 'description': 'Country code in ISO 3166-1 alpha-2 format.'}}, 'description': 'Buyer signals for localization and personalization.', 'additionalProperties': True}, 'filters': {'type': 'object', 'properties': {'price': {'type': 'object', 'properties': {'max': {'type': 'integer', 'description': 'Maximum price in minor currency units.'}, 'min': {'type': 'integer', 'description': 'Minimum price in minor currency units.'}}, 'description': 'Price range filter.'}, 'available': {'type': 'boolean', 'default': True, 'description': 'Filter by availability. Default true (only sale-ready items).'}, 'categories': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Category filters combined with OR logic.'}}, 'description': 'Narrowing criteria for catalog results.', 'additionalProperties': True}, 'signals': {'type': 'object', 'properties': {'dev.ucp.buyer_ip': {'type': 'string', 'description': 'Buyer IP address.'}, 'dev.ucp.user_agent': {'type': 'string', 'description': 'Buyer user agent.'}}, 'description': 'Platform environment data.', 'additionalProperties': True}, 'selected': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'label': {'type': 'string'}}}, 'description': 'Selected variant options.'}, 'preferences': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Buyer preferences.'}}, 'description': 'Product detail parameters.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['meta', 'catalog'], 'properties': {'meta': {'type': 'object', 'required': ['ucp-agent'], 'properties': {'ucp-agent': {'type': 'object', 'required': ['profile'], 'properties': {'profile': {'type': 'string', 'format': 'uri', 'description': 'Agent profile URI for UCP discovery.'}}}}, 'description': 'Metadata for UCP agent profile discovery.'}, 'catalog': {'type': 'object', 'required': ['ids'], 'properties': {'ids': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 10, 'minItems': 1, 'description': 'Product IDs to look up.'}, 'context': {'type': 'object', 'properties': {'intent': {'type': 'string', 'description': 'Buyer intent.'}, 'currency': {'type': 'string', 'description': 'Currency code in ISO 4217 format.'}, 'language': {'type': 'string', 'description': 'Language tag in IETF BCP 47 format.'}, 'postal_code': {'type': 'string', 'description': 'Postal code.'}, 'address_region': {'type': 'string', 'description': 'Region or state.'}, 'address_country': {'type': 'string', 'description': 'Country code in ISO 3166-1 alpha-2 format.'}}, 'description': 'Buyer signals for localization and personalization.', 'additionalProperties': True}, 'filters': {'type': 'object', 'properties': {'price': {'type': 'object', 'properties': {'max': {'type': 'integer', 'description': 'Maximum price in minor currency units.'}, 'min': {'type': 'integer', 'description': 'Minimum price in minor currency units.'}}, 'description': 'Price range filter.'}, 'available': {'type': 'boolean', 'default': True, 'description': 'Filter by availability. Default true (only sale-ready items).'}, 'categories': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Category filters combined with OR logic.'}}, 'description': 'Narrowing criteria for catalog results.', 'additionalProperties': True}, 'signals': {'type': 'object', 'properties': {'dev.ucp.buyer_ip': {'type': 'string', 'description': 'Buyer IP address.'}, 'dev.ucp.user_agent': {'type': 'string', 'description': 'Buyer user agent.'}}, 'description': 'Platform environment data.', 'additionalProperties': True}}, 'description': 'Catalog lookup parameters.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['meta', 'catalog'], 'properties': {'meta': {'type': 'object', 'required': ['ucp-agent'], 'properties': {'ucp-agent': {'type': 'object', 'required': ['profile'], 'properties': {'profile': {'type': 'string', 'format': 'uri', 'description': 'Agent profile URI for UCP discovery.'}}}}, 'description': 'Metadata for UCP agent profile discovery.'}, 'catalog': {'type': 'object', 'properties': {'query': {'type': 'string', 'description': 'Search query string.'}, 'context': {'type': 'object', 'properties': {'intent': {'type': 'string', 'description': 'Buyer intent.'}, 'currency': {'type': 'string', 'description': 'Currency code in ISO 4217 format.'}, 'language': {'type': 'string', 'description': 'Language tag in IETF BCP 47 format.'}, 'postal_code': {'type': 'string', 'description': 'Postal code.'}, 'address_region': {'type': 'string', 'description': 'Region or state.'}, 'address_country': {'type': 'string', 'description': 'Country code in ISO 3166-1 alpha-2 format.'}}, 'description': 'Buyer signals for localization and personalization.', 'additionalProperties': True}, 'filters': {'type': 'object', 'properties': {'price': {'type': 'object', 'properties': {'max': {'type': 'integer', 'description': 'Maximum price in minor currency units.'}, 'min': {'type': 'integer', 'description': 'Minimum price in minor currency units.'}}, 'description': 'Price range filter.'}, 'available': {'type': 'boolean', 'default': True, 'description': 'Filter by availability. Default true (only sale-ready items).'}, 'categories': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Category filters combined with OR logic.'}}, 'description': 'Narrowing criteria for catalog results.', 'additionalProperties': True}, 'signals': {'type': 'object', 'properties': {'dev.ucp.buyer_ip': {'type': 'string', 'description': 'Buyer IP address.'}, 'dev.ucp.user_agent': {'type': 'string', 'description': 'Buyer user agent.'}}, 'description': 'Platform environment data.', 'additionalProperties': True}, 'pagination': {'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 10, 'minimum': 1, 'description': 'Number of results to return.'}, 'cursor': {'type': 'string', 'description': 'Pagination cursor.'}}, 'description': 'Pagination parameters.'}}, 'description': 'Catalog search parameters.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['meta', 'cart', 'id'], 'properties': {'id': {'type': 'string', 'description': "The ID of the cart. Format: 'gid://shopify/Cart/abc123'"}, 'cart': {'type': 'object', 'required': ['line_items'], 'properties': {'buyer': {'type': 'object', 'properties': {'email': {'type': 'string', 'format': 'email'}, 'phone_number': {'type': 'string'}}, 'description': 'Information about the buyer including email and phone number.', 'additionalProperties': True}, 'context': {'type': 'object', 'properties': {'intent': {'type': 'string', 'description': "Context describing buyer's intent."}, 'currency': {'type': 'string', 'description': "Preferred currency (ISO 4217, e.g., 'EUR', 'USD')."}, 'language': {'type': 'string', 'description': 'Language tag in IETF BCP 47 format.'}, 'eligibility': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z](?:[a-z0-9-]*[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9_])?)+$', 'description': "Reverse-domain identifier. Must contain at least two dot-separated segments (e.g., 'com.example.loyalty')."}, 'description': 'Buyer claims about eligible benefits such as loyalty membership, payment perks, and similar.'}, 'postal_code': {'type': 'string', 'description': 'Postal code hint for localization.'}, 'address_region': {'type': 'string', 'description': 'Region/state hint for localization.'}, 'address_country': {'type': 'string', 'description': 'Country hint for localization.'}}, 'description': 'Provisional context hints for localization and pricing. Used when authoritative data (e.g., shipping address) is missing; higher-resolution data supersedes these values and unsupported hints may be ignored without error.', 'additionalProperties': True}, 'discounts': {'type': 'object', 'properties': {'codes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Discount codes to apply. Case-insensitive. Replaces previously submitted codes. Send empty array to clear.'}}, 'description': 'Discount or promo codes to apply to the cart. Only prompt if customer mentions having a discount code.'}, 'line_items': {'type': 'array', 'items': {'type': 'object', 'required': ['item', 'quantity'], 'properties': {'id': {'type': 'string', 'description': 'The ID of the line item to update.'}, 'item': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The Product Variant ID to add or update.'}}}, 'quantity': {'type': 'integer'}}}, 'description': 'Items to add to the cart or checkout. Required when creating a new cart or checkout.'}, 'attribution': {'type': 'object', 'properties': {'utm_term': {'type': 'string', 'description': 'UTM term parameter.'}, 'utm_medium': {'type': 'string', 'description': 'UTM medium parameter.'}, 'utm_source': {'type': 'string', 'description': 'UTM source parameter.'}, 'utm_content': {'type': 'string', 'description': 'UTM content parameter.'}, 'click_id_tag': {'type': 'string', 'description': "Click identifier parameter name (e.g., 'gclid', 'fbclid')."}, 'utm_campaign': {'type': 'string', 'description': 'UTM campaign parameter.'}, 'click_id_value': {'type': 'string', 'description': 'Click identifier value matching click_id_tag.'}, 'activity_id_tag': {'type': 'string', 'description': 'Activity identifier parameter name.'}, 'referring_domain': {'type': 'string', 'description': "Domain that referred the buyer to the merchant's storefront."}, 'activity_id_value': {'type': 'string', 'description': 'Activity identifier value matching activity_id_tag.'}}, 'description': "Marketing attribution context for the buyer's session (referring domain, click IDs, UTM parameters). Forwarded to the cart for downstream reporting."}, 'fulfillment': {'type': 'object', 'properties': {'methods': {'type': 'array', 'items': {'type': 'object', 'required': ['line_item_ids'], 'properties': {'id': {'type': 'string'}, 'type': {'type': 'string'}, 'groups': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'selected_option_id': {'type': 'string'}}}, 'description': 'The groups to fulfill to.'}, 'destinations': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'last_name': {'type': 'string'}, 'first_name': {'type': 'string'}, 'postal_code': {'type': 'string'}, 'phone_number': {'type': 'string'}, 'address_region': {'type': 'string'}, 'street_address': {'type': 'string'}, 'address_country': {'type': 'string'}, 'address_locality': {'type': 'string'}, 'extended_address': {'type': 'string'}}}, 'description': 'The destinations to fulfill to.'}, 'line_item_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The line item ids to fulfill.'}, 'selected_destination_id': {'type': 'string', 'description': 'ID of the selected destination.'}}}, 'description': 'The methods of fulfillment.'}}, 'description': 'Information about the fulfillment.'}}, 'description': 'Cart properties.'}, 'meta': {'type': 'object', 'required': ['ucp-agent'], 'properties': {'ucp-agent': {'type': 'object', 'required': ['profile'], 'properties': {'profile': {'type': 'string', 'format': 'uri', 'description': 'Agent profile URI for UCP discovery.'}}}}, 'description': 'Metadata for UCP agent profile discovery.'}}}
Esquema de salida
{'type': 'object', 'title': 'Cart response', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ucp', 'id', 'line_items', 'currency', 'totals'], 'properties': {'id': {'type': 'string', 'description': 'The Shopify Cart GID.'}, 'ucp': {'type': 'object', 'required': ['version', 'status', 'services', 'capabilities', 'payment_handlers'], 'properties': {'status': {'enum': ['success', 'error'], 'type': 'string', 'description': 'Whether UCP processing succeeded.'}, 'version': {'type': 'string', 'description': 'The negotiated UCP version.'}, 'services': {'type': 'object', 'description': 'Services available to the agent.', 'additionalProperties': True}, 'capabilities': {'type': 'object', 'description': 'Negotiated UCP capabilities.', 'additionalProperties': True}, 'payment_handlers': {'type': 'object', 'description': 'Payment handlers available to the buyer. Empty on receipts.', 'additionalProperties': True}}, 'description': 'UCP protocol metadata for the response.', 'additionalProperties': True}, 'buyer': {'type': 'object', 'properties': {'email': {'type': 'string', 'format': 'email'}, 'phone_number': {'type': 'string'}}, 'description': 'Information about the buyer.', 'additionalProperties': True}, 'links': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'The policy URL.'}, 'type': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Merchant policy links relevant to the checkout.'}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string', 'description': 'Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units. Discount totals are negative.'}, 'display_text': {'type': 'string', 'description': 'Buyer-facing label for the total.'}}, 'additionalProperties': True}, 'description': 'Monetary totals in minor currency units.'}, 'currency': {'type': 'string', 'description': 'The presentment currency code (ISO 4217).'}, 'messages': {'type': 'array', 'items': {'type': 'object', 'required': ['type'], 'properties': {'code': {'type': 'string'}, 'path': {'type': 'string'}, 'type': {'enum': ['error', 'warning', 'info'], 'type': 'string'}, 'content': {'type': 'string'}, 'severity': {'enum': ['recoverable', 'requires_buyer_input', 'requires_buyer_review', 'unrecoverable'], 'type': 'string'}, 'content_type': {'enum': ['plain', 'markdown'], 'type': 'string'}}, 'additionalProperties': True}, 'description': 'Errors or warnings surfaced while processing the tool call.'}, 'discounts': {'type': 'object', 'properties': {'codes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Discount codes submitted for the checkout or cart.'}, 'applied': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'amount'], 'properties': {'code': {'type': 'string'}, 'title': {'type': 'string'}, 'amount': {'type': 'integer', 'description': 'The discount amount in minor currency units.'}, 'method': {'enum': ['each', 'across', 'one'], 'type': 'string', 'description': 'How the discount is allocated across the targeted items.'}, 'automatic': {'type': 'boolean'}, 'allocations': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'amount'], 'properties': {'path': {'type': 'string', 'description': 'JSONPath to the discounted line item or total.'}, 'amount': {'type': 'integer', 'description': 'The allocated amount in minor currency units.'}}, 'additionalProperties': True}, 'description': 'Line item or fulfillment total allocations of the discount.'}}, 'additionalProperties': True}, 'description': 'Discounts applied to the checkout or cart, including automatic discounts.'}}, 'description': 'Discount codes and applied discounts for the checkout or cart.', 'additionalProperties': True}, 'expires_at': {'type': 'string', 'format': 'date-time', 'description': 'The date and time when the checkout expires.'}, 'line_items': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'item', 'quantity', 'totals'], 'properties': {'id': {'type': 'string', 'description': 'The line item ID.'}, 'item': {'type': 'object', 'required': ['id', 'title', 'price'], 'properties': {'id': {'type': 'string', 'description': 'The product variant GID.'}, 'price': {'type': 'integer', 'description': 'The unit price in minor currency units.'}, 'title': {'type': 'string', 'description': 'The item title.'}, 'image_url': {'type': 'string', 'format': 'uri', 'description': 'The item image URL.'}}, 'description': 'The merchandise item for a line item.', 'additionalProperties': True}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string', 'description': 'Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units. Discount totals are negative.'}, 'display_text': {'type': 'string', 'description': 'Buyer-facing label for the total.'}}, 'additionalProperties': True}, 'description': 'Monetary totals in minor currency units.'}, 'quantity': {'type': 'integer', 'description': 'The line item quantity.'}, 'parent_id': {'type': 'string', 'description': 'The parent line item ID for nested line items.'}}, 'additionalProperties': True}, 'description': 'Line items in the checkout.'}, 'attribution': {'type': 'object', 'properties': {'utm_term': {'type': 'string'}, 'utm_medium': {'type': 'string'}, 'utm_source': {'type': 'string'}, 'utm_content': {'type': 'string'}, 'click_id_tag': {'type': 'string'}, 'utm_campaign': {'type': 'string'}, 'click_id_value': {'type': 'string'}, 'activity_id_tag': {'type': 'string'}, 'referring_domain': {'type': 'string'}, 'activity_id_value': {'type': 'string'}}, 'description': "Marketing attribution context for the buyer's session.", 'additionalProperties': True}, 'fulfillment': {'type': 'object', 'properties': {'methods': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'type', 'line_item_ids'], 'properties': {'id': {'type': 'string'}, 'type': {'enum': ['shipping', 'pickup'], 'type': 'string'}, 'groups': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'line_item_ids'], 'properties': {'id': {'type': 'string'}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'title': {'type': 'string'}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units.'}}, 'additionalProperties': True}}, 'description': {'type': 'object', 'properties': {'plain': {'type': 'string'}}, 'description': 'Buyer-facing description of the delivery option.', 'additionalProperties': True}}, 'additionalProperties': True}, 'description': 'Delivery options available for the group.'}, 'line_item_ids': {'type': 'array', 'items': {'type': 'string'}}, 'selected_option_id': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'description': 'Delivery groups for this fulfillment method.'}, 'destinations': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'last_name': {'type': 'string'}, 'first_name': {'type': 'string'}, 'postal_code': {'type': 'string'}, 'phone_number': {'type': 'string'}, 'address_region': {'type': 'string'}, 'street_address': {'type': 'string'}, 'address_country': {'type': 'string'}, 'address_locality': {'type': 'string'}, 'extended_address': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Destinations available for this fulfillment method.'}, 'line_item_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Line item IDs covered by this fulfillment method.'}, 'selected_destination_id': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'description': 'Fulfillment methods available for the checkout or cart.'}}, 'description': 'Fulfillment methods, destinations, delivery groups, and delivery options.', 'additionalProperties': True}, 'continue_url': {'type': 'string', 'format': 'uri', 'description': 'The URL where the buyer can continue checkout.'}}, 'description': 'Structured cart content.', 'additionalProperties': True}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['meta', 'checkout', 'id'], 'properties': {'id': {'type': 'string', 'description': "The ID of the checkout to update. Format: 'gid://shopify/Checkout/abc123'"}, 'meta': {'type': 'object', 'required': ['ucp-agent'], 'properties': {'ucp-agent': {'type': 'object', 'required': ['profile'], 'properties': {'profile': {'type': 'string', 'format': 'uri', 'description': 'Agent profile URI for UCP discovery.'}}}}, 'description': 'Metadata for UCP agent profile discovery.'}, 'checkout': {'type': 'object', 'required': ['line_items'], 'properties': {'buyer': {'type': 'object', 'properties': {'email': {'type': 'string', 'format': 'email'}, 'phone_number': {'type': 'string'}}, 'description': 'Information about the buyer including email and phone number.', 'additionalProperties': True}, 'context': {'type': 'object', 'properties': {'intent': {'type': 'string', 'description': "Context describing buyer's intent."}, 'currency': {'type': 'string', 'description': "Preferred currency (ISO 4217, e.g., 'EUR', 'USD')."}, 'language': {'type': 'string', 'description': 'Language tag in IETF BCP 47 format.'}, 'eligibility': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z](?:[a-z0-9-]*[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9_])?)+$', 'description': "Reverse-domain identifier. Must contain at least two dot-separated segments (e.g., 'com.example.loyalty')."}, 'description': 'Buyer claims about eligible benefits such as loyalty membership, payment perks, and similar.'}, 'postal_code': {'type': 'string', 'description': 'Postal code hint for localization.'}, 'address_region': {'type': 'string', 'description': 'Region/state hint for localization.'}, 'address_country': {'type': 'string', 'description': 'Country hint for localization.'}}, 'description': 'Provisional context hints for localization and pricing. Used when authoritative data (e.g., shipping address) is missing; higher-resolution data supersedes these values and unsupported hints may be ignored without error.', 'additionalProperties': True}, 'payment': {'type': 'object', 'properties': {'instruments': {'type': 'array', 'items': {'type': 'object', 'allOf': [{'if': {'required': ['handler_id'], 'properties': {'handler_id': {'const': 'apple-pay'}}}, 'else': {'properties': {'credential': {'required': ['type'], 'properties': {'type': {'not': {'const': 'apple_pay_token'}}}}}}, 'then': {'required': ['billing_address', 'credential'], 'properties': {'type': {'const': 'card'}, 'credential': {'required': ['type', 'payment_data'], 'properties': {'type': {'const': 'apple_pay_token'}}}}}}], 'required': ['id', 'handler_id', 'type'], 'properties': {'id': {'type': 'string', 'description': 'A unique identifier for this payment instrument instance.'}, 'type': {'type': 'string', 'description': "Instrument type. Apple Pay uses 'card' because the submitted instrument represents a tokenized card."}, 'display': {'type': 'object', 'properties': {'brand': {'type': 'string', 'description': 'Card brand (e.g., visa, mastercard), when available.'}, 'expiry_year': {'type': 'integer', 'description': 'Card expiry year. Required for card instruments.'}, 'last_digits': {'type': 'string', 'description': 'Last 4 digits of the card, when available.'}, 'expiry_month': {'type': 'integer', 'description': 'Card expiry month (1-12). Required for card instruments.'}, 'rich_card_art': {'type': 'string', 'description': 'Rich card art URL or identifier for the payment instrument.'}, 'funding_source': {'enum': ['debit', 'credit', 'prepaid', 'store'], 'type': 'string', 'description': 'How the card is funded, as reported by Apple Pay.'}, 'rich_text_description': {'type': 'string', 'description': 'Rich text description of the payment instrument for display purposes.'}}, 'description': 'Display information for this payment instrument.', 'additionalProperties': True}, 'selected': {'type': 'boolean', 'description': 'Whether this instrument is the currently selected for the checkout.'}, 'credential': {'type': 'object', 'allOf': [{'if': {'required': ['type'], 'properties': {'type': {'const': 'apple_pay_token'}}}, 'else': {'required': ['type']}, 'then': {'required': ['type', 'payment_data'], 'properties': {'type': {'const': 'apple_pay_token'}, 'payment_data': {'type': 'object', 'required': ['version', 'data', 'signature', 'header'], 'properties': {'data': {'type': 'string'}, 'header': {'type': 'object', 'anyOf': [{'required': ['ephemeral_public_key']}, {'required': ['wrapped_key']}], 'required': ['public_key_hash', 'transaction_id'], 'properties': {'wrapped_key': {'type': 'string'}, 'transaction_id': {'type': 'string'}, 'public_key_hash': {'type': 'string'}, 'application_data': {'type': 'string'}, 'ephemeral_public_key': {'type': 'string'}}, 'additionalProperties': True}, 'version': {'type': 'string'}, 'signature': {'type': 'string'}}, 'additionalProperties': True}, 'transaction_identifier': {'type': 'string'}}}}], 'properties': {'type': {'type': 'string', 'description': 'Namespaced token type using dot notation (e.g., stripe.token, merchant.token, google.pay).'}, 'token': {'type': 'string', 'description': 'Opaque payment token value, required except when restating a platform-listed instrument (e.g., a Shop Pay wallet card) whose token the platform re-derives from the instrument id.'}, 'approval_id': {'type': 'string', 'description': 'Identifier of the payment approval authorizing this credential, as returned by the approvals API. Required for shop_pay credentials when the merchant requires payment approvals.'}, 'payment_data': {'type': 'object'}, 'transaction_identifier': {'type': 'string'}}, 'description': 'Payment credential payload to process the transaction for this instrument.', 'additionalProperties': True}, 'handler_id': {'type': 'string', 'description': 'Identifier of the payment handler that was used to generate this instrument.'}, 'billing_address': {'type': 'object', 'properties': {'last_name': {'type': 'string', 'description': 'Last name of the contact associated with the billing address.'}, 'first_name': {'type': 'string', 'description': 'First name of the contact associated with the billing address.'}, 'postal_code': {'type': 'string', 'description': 'Postal code of the billing address.'}, 'phone_number': {'type': 'string', 'description': 'Phone number of the contact associated with the billing address.'}, 'address_region': {'type': 'string', 'description': 'Region of the billing address.'}, 'street_address': {'type': 'string', 'description': 'Street address of the billing address.'}, 'address_country': {'type': 'string', 'description': 'Country of the billing address in 2-letter ISO 3166-1 alpha-2 format.'}, 'address_locality': {'type': 'string', 'description': 'Locality of the billing address.'}, 'extended_address': {'type': 'string', 'description': 'Extended address of the billing address such as an apartment number, C/O, or alternative name.'}}, 'description': 'Billing address for the instrument.', 'additionalProperties': True}}, 'additionalProperties': True}, 'description': 'Payment instruments for this checkout (e.g., credit cards, tokens, wallets).'}}, 'description': 'Payment information for this checkout.', 'additionalProperties': True}, 'discounts': {'type': 'object', 'properties': {'codes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Discount codes to apply. Case-insensitive. Replaces previously submitted codes. Send empty array to clear.'}}, 'description': 'Discount or promo codes to apply to the cart. Only prompt if customer mentions having a discount code.'}, 'line_items': {'type': 'array', 'items': {'type': 'object', 'required': ['item', 'quantity'], 'properties': {'id': {'type': 'string', 'description': 'The ID of the line item to update.'}, 'item': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The Product Variant ID to add or update.'}}}, 'quantity': {'type': 'integer'}}}, 'description': 'Items to add to the cart or checkout. Required when creating a new cart or checkout.'}, 'attribution': {'type': 'object', 'properties': {'utm_term': {'type': 'string', 'description': 'UTM term parameter.'}, 'utm_medium': {'type': 'string', 'description': 'UTM medium parameter.'}, 'utm_source': {'type': 'string', 'description': 'UTM source parameter.'}, 'utm_content': {'type': 'string', 'description': 'UTM content parameter.'}, 'click_id_tag': {'type': 'string', 'description': "Click identifier parameter name (e.g., 'gclid', 'fbclid')."}, 'utm_campaign': {'type': 'string', 'description': 'UTM campaign parameter.'}, 'click_id_value': {'type': 'string', 'description': 'Click identifier value matching click_id_tag.'}, 'activity_id_tag': {'type': 'string', 'description': 'Activity identifier parameter name.'}, 'referring_domain': {'type': 'string', 'description': "Domain that referred the buyer to the merchant's storefront."}, 'activity_id_value': {'type': 'string', 'description': 'Activity identifier value matching activity_id_tag.'}}, 'description': "Marketing attribution context for the buyer's session (referring domain, click IDs, UTM parameters)."}, 'fulfillment': {'type': 'object', 'properties': {'methods': {'type': 'array', 'items': {'type': 'object', 'required': ['line_item_ids'], 'properties': {'id': {'type': 'string'}, 'type': {'type': 'string'}, 'groups': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'selected_option_id': {'type': 'string'}}}, 'description': 'The groups to fulfill to.'}, 'destinations': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'last_name': {'type': 'string'}, 'first_name': {'type': 'string'}, 'postal_code': {'type': 'string'}, 'phone_number': {'type': 'string'}, 'address_region': {'type': 'string'}, 'street_address': {'type': 'string'}, 'address_country': {'type': 'string'}, 'address_locality': {'type': 'string'}, 'extended_address': {'type': 'string'}}}, 'description': 'The destinations to fulfill to.'}, 'line_item_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The line item ids to fulfill.'}, 'selected_destination_id': {'type': 'string', 'description': 'ID of the selected destination.'}}}, 'description': 'The methods of fulfillment.'}}, 'description': 'Information about the fulfillment.'}}, 'description': 'Checkout properties.'}}}
Esquema de salida
{'type': 'object', 'title': 'Checkout response', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ucp', 'id', 'line_items', 'status', 'currency', 'totals', 'links'], 'properties': {'id': {'type': 'string', 'description': 'The Shopify Checkout GID.'}, 'ucp': {'type': 'object', 'required': ['version', 'status', 'services', 'capabilities', 'payment_handlers'], 'properties': {'status': {'enum': ['success', 'error'], 'type': 'string', 'description': 'Whether UCP processing succeeded.'}, 'version': {'type': 'string', 'description': 'The negotiated UCP version.'}, 'services': {'type': 'object', 'description': 'Services available to the agent.', 'additionalProperties': True}, 'capabilities': {'type': 'object', 'description': 'Negotiated UCP capabilities.', 'additionalProperties': True}, 'payment_handlers': {'type': 'object', 'description': 'Payment handlers available to the buyer. Empty on receipts.', 'additionalProperties': True}}, 'description': 'UCP protocol metadata for the response.', 'additionalProperties': True}, 'buyer': {'type': 'object', 'properties': {'email': {'type': 'string', 'format': 'email'}, 'phone_number': {'type': 'string'}}, 'description': 'Information about the buyer.', 'additionalProperties': True}, 'links': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'The policy URL.'}, 'type': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Merchant policy links relevant to the checkout.'}, 'status': {'enum': ['incomplete', 'requires_escalation', 'ready_for_complete', 'canceled'], 'type': 'string', 'description': 'The checkout status.'}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string', 'description': 'Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units. Discount totals are negative.'}, 'display_text': {'type': 'string', 'description': 'Buyer-facing label for the total.'}}, 'additionalProperties': True}, 'description': 'Monetary totals in minor currency units.'}, 'payment': {'type': 'object', 'properties': {'instruments': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'type': {'type': 'string'}, 'display': {'type': ['object', 'null'], 'description': 'Handler-specific display data (for example card brand and last digits).', 'additionalProperties': True}, 'selected': {'type': 'boolean'}, 'credential': {'type': 'object', 'properties': {'type': {'type': 'string'}}, 'additionalProperties': True}, 'handler_id': {'type': 'string'}, 'billing_address': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'last_name': {'type': 'string'}, 'first_name': {'type': 'string'}, 'postal_code': {'type': 'string'}, 'phone_number': {'type': 'string'}, 'address_region': {'type': 'string'}, 'street_address': {'type': 'string'}, 'address_country': {'type': 'string'}, 'address_locality': {'type': 'string'}, 'extended_address': {'type': 'string'}}, 'description': 'Mailing address fields.', 'additionalProperties': True}}, 'additionalProperties': True}, 'description': 'Payment instruments available to or selected by the buyer.'}}, 'description': 'Payment information for the checkout.', 'additionalProperties': True}, 'currency': {'type': 'string', 'description': 'The presentment currency code (ISO 4217).'}, 'messages': {'type': 'array', 'items': {'type': 'object', 'required': ['type'], 'properties': {'code': {'type': 'string'}, 'path': {'type': 'string'}, 'type': {'enum': ['error', 'warning', 'info'], 'type': 'string'}, 'content': {'type': 'string'}, 'severity': {'enum': ['recoverable', 'requires_buyer_input', 'requires_buyer_review', 'unrecoverable'], 'type': 'string'}, 'content_type': {'enum': ['plain', 'markdown'], 'type': 'string'}}, 'additionalProperties': True}, 'description': 'Errors or warnings surfaced while processing the tool call.'}, 'discounts': {'type': 'object', 'properties': {'codes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Discount codes submitted for the checkout or cart.'}, 'applied': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'amount'], 'properties': {'code': {'type': 'string'}, 'title': {'type': 'string'}, 'amount': {'type': 'integer', 'description': 'The discount amount in minor currency units.'}, 'method': {'enum': ['each', 'across', 'one'], 'type': 'string', 'description': 'How the discount is allocated across the targeted items.'}, 'automatic': {'type': 'boolean'}, 'allocations': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'amount'], 'properties': {'path': {'type': 'string', 'description': 'JSONPath to the discounted line item or total.'}, 'amount': {'type': 'integer', 'description': 'The allocated amount in minor currency units.'}}, 'additionalProperties': True}, 'description': 'Line item or fulfillment total allocations of the discount.'}}, 'additionalProperties': True}, 'description': 'Discounts applied to the checkout or cart, including automatic discounts.'}}, 'description': 'Discount codes and applied discounts for the checkout or cart.', 'additionalProperties': True}, 'expires_at': {'type': 'string', 'format': 'date-time', 'description': 'The date and time when the checkout expires.'}, 'line_items': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'item', 'quantity', 'totals'], 'properties': {'id': {'type': 'string', 'description': 'The line item ID.'}, 'item': {'type': 'object', 'required': ['id', 'title', 'price'], 'properties': {'id': {'type': 'string', 'description': 'The product variant GID.'}, 'price': {'type': 'integer', 'description': 'The unit price in minor currency units.'}, 'title': {'type': 'string', 'description': 'The item title.'}, 'image_url': {'type': 'string', 'format': 'uri', 'description': 'The item image URL.'}}, 'description': 'The merchandise item for a line item.', 'additionalProperties': True}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string', 'description': 'Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units. Discount totals are negative.'}, 'display_text': {'type': 'string', 'description': 'Buyer-facing label for the total.'}}, 'additionalProperties': True}, 'description': 'Monetary totals in minor currency units.'}, 'quantity': {'type': 'integer', 'description': 'The line item quantity.'}, 'parent_id': {'type': 'string', 'description': 'The parent line item ID for nested line items.'}}, 'additionalProperties': True}, 'description': 'Line items in the checkout.'}, 'attribution': {'type': 'object', 'properties': {'utm_term': {'type': 'string'}, 'utm_medium': {'type': 'string'}, 'utm_source': {'type': 'string'}, 'utm_content': {'type': 'string'}, 'click_id_tag': {'type': 'string'}, 'utm_campaign': {'type': 'string'}, 'click_id_value': {'type': 'string'}, 'activity_id_tag': {'type': 'string'}, 'referring_domain': {'type': 'string'}, 'activity_id_value': {'type': 'string'}}, 'description': "Marketing attribution context for the buyer's session.", 'additionalProperties': True}, 'fulfillment': {'type': 'object', 'properties': {'methods': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'type', 'line_item_ids'], 'properties': {'id': {'type': 'string'}, 'type': {'enum': ['shipping', 'pickup'], 'type': 'string'}, 'groups': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'line_item_ids'], 'properties': {'id': {'type': 'string'}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'title': {'type': 'string'}, 'totals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount'], 'properties': {'type': {'type': 'string'}, 'amount': {'type': 'integer', 'description': 'The amount in minor currency units.'}}, 'additionalProperties': True}}, 'description': {'type': 'object', 'properties': {'plain': {'type': 'string'}}, 'description': 'Buyer-facing description of the delivery option.', 'additionalProperties': True}}, 'additionalProperties': True}, 'description': 'Delivery options available for the group.'}, 'line_item_ids': {'type': 'array', 'items': {'type': 'string'}}, 'selected_option_id': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'description': 'Delivery groups for this fulfillment method.'}, 'destinations': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'last_name': {'type': 'string'}, 'first_name': {'type': 'string'}, 'postal_code': {'type': 'string'}, 'phone_number': {'type': 'string'}, 'address_region': {'type': 'string'}, 'street_address': {'type': 'string'}, 'address_country': {'type': 'string'}, 'address_locality': {'type': 'string'}, 'extended_address': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Destinations available for this fulfillment method.'}, 'line_item_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Line item IDs covered by this fulfillment method.'}, 'selected_destination_id': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'description': 'Fulfillment methods available for the checkout or cart.'}}, 'description': 'Fulfillment methods, destinations, delivery groups, and delivery options.', 'additionalProperties': True}, 'continue_url': {'type': 'string', 'format': 'uri', 'description': 'The URL where the buyer can continue checkout.'}}, 'description': 'Structured checkout content returned while the checkout is still open.', 'additionalProperties': True}
Cambios recientes en herramientas
Servidores MCP similares
AgentLot Marketplace
Enables agents and users to discover, bid on, purchase, deliver, and settle paid digital services and compute work.
apex-x1
Provides X1 and Arc token screening, liquidity and exit-risk checks, wallet and bridge data, non-custodial token operations, comm…
SpellBook Finance
Provides Magic: The Gathering and other trading-card market prices, buylist offers, arbitrage analysis, sealed-product EV, seller…
API Direct
Searches and retrieves data from social networks, news and Google services, while also providing Amazon product, seller, ranking,…
Digital Manager Guru
Provides Digital Manager Guru checkout, customer, transaction, subscription, affiliate, coupon, blocklist, and digital-product sa…
Pagar.me
Connects to Pagar.me to manage customers, cards, orders, charges, invoices, payment captures, confirmations, retries, refunds, an…
amazon-product-research-mcp
Researches Amazon products, brands, sellers, buy-box activity, sourcing profitability, category competition, and supplier opportu…
AgentLux
Operates an agent avatar marketplace with item generation, purchases, creator earnings, public profiles, social activity, and ERC…