Protocol constants and status mappings for UCP and ACP protocols.
This module provides bidirectional status mapping between UCP (Universal Commerce Protocol) and ACP (Agentic Commerce Protocol) checkout statuses.
Status Mappings
| UCP (Internal) | ACP |
|---|---|
incomplete | not_ready_for_payment |
requires_escalation | authentication_required |
ready_for_complete | ready_for_payment |
complete_in_progress | in_progress |
completed | completed |
canceled | canceled |
Usage
# Check protocol validity
Bazaar.Protocol.valid?(:ucp) # true
Bazaar.Protocol.valid?(:acp) # true
# Convert status from UCP to ACP
Bazaar.Protocol.to_acp_status(:incomplete) # :not_ready_for_payment
# Convert status from ACP to UCP
Bazaar.Protocol.to_ucp_status(:ready_for_payment) # :ready_for_complete
Summary
Functions
Returns the list of ACP checkout statuses.
Converts a UCP status to its ACP equivalent.
Converts an ACP status to its UCP equivalent.
Returns the list of valid protocol types.
Returns the list of UCP checkout statuses.
Returns true if the given value is a valid protocol type.
Types
Functions
@spec acp_statuses() :: [atom()]
Returns the list of ACP checkout statuses.
Converts a UCP status to its ACP equivalent.
Accepts both atom and string input.
Examples
iex> Bazaar.Protocol.to_acp_status(:incomplete)
:not_ready_for_payment
iex> Bazaar.Protocol.to_acp_status("ready_for_complete")
:ready_for_payment
Converts an ACP status to its UCP equivalent.
Accepts both atom and string input.
Examples
iex> Bazaar.Protocol.to_ucp_status(:not_ready_for_payment)
:incomplete
iex> Bazaar.Protocol.to_ucp_status("ready_for_payment")
:ready_for_complete
@spec types() :: [t()]
Returns the list of valid protocol types.
@spec ucp_statuses() :: [atom()]
Returns the list of UCP checkout statuses.
Returns true if the given value is a valid protocol type.