feat(cart): Embedded protocol transport binding for cart capability #116
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Reopening the PR to avoid recreating the
working-draftbranch. This is a mirror copy of #109 and will also cross-reference/carry-over comments from the old PR.Summary
Cart capability (
dev.ucp.shopping.cart) is being introduced in #73. This adds an additional transport binding (EP) on the capability (building directly upon the referenced PR), on top of existing REST & MCP bindings.Motivation
Businesses need a way to embed their cart building UI into eligible platforms, especially when complex experiences (i.e. item recommendations & upsells) are involved during cart building. Embedded Cart Protocol (ECaP) addresses this need and also offers a seamless connection to existing Embedded Checkout Protocol to continue the purchase experience.
Goals
Non-Goals
Detailed Design
Key methods supported by ECaP:
ect.readyect.authect.start,ect.transition.checkoutect.line_items.change,ect.buyer.change,ect.context.change,ect.messages.changeect.line_items.change_requestProtocol transition
[protocol namespace].transition.[capability transitioning to]that can be generally extended if conversions between multiple capabilities are possible.ect.transition.checkoutthat would denote a cart transitioning to a checkout session on the business's iframe.Risks and Mitigations
servicesadvertisement. Also structurally it's also very similar to ECP so businesses already supporting ECP should be familiar with the design already.ect.authto exchange required authorization data instead of adding them as query parameters incontinue_urlto avoid hijacking attacks.Graduation Criteria
Working Draft → Candidate:
Candidate → Stable:
Implementation History
TBD