이 가이드에서는 버전 2026-04-08에서 범용 커머스 프로토콜 (UCP) 장바구니 API를 통합하기 위한 기술 API 참조 및 페이로드 스키마를 제공합니다.
엔드포인트를 빌드하기 전에 장바구니 API 개요에서 상위 수준 개념과 기본 요건을 검토하세요.
장바구니 만들기
이 엔드포인트를 사용하면 새 장바구니 세션을 만들 수 있습니다. 통합하려면 CreateCart 엔드포인트 (POST /carts)를 구현하세요. 사용자가 장바구니를 전송하도록 선택하면 Google은 모든 항목 세부정보와 함께 이 엔드포인트를 호출합니다. 시스템은 사용자를 사이트에서 미리 입력된 장바구니로 안내하는 continue_url로 응답해야 합니다.
- 엔드포인트:
POST /carts - 트리거: 사용자가 장바구니를 스토어로 트랜스퍼하기 위해 트랜스퍼 버튼 (예: 판매자에서 결제)을 클릭할 때만 단일
CreateCart(POST /carts) 요청이 트리거됩니다.
장바구니 흐름
장바구니 흐름과 상태는 다음과 같이 작동합니다.
- Google에서의 누적: 사용자가 장바구니에 상품을 추가하면 Google에서 해당 상품을 로컬에 누적합니다. 상품이 추가될 때 Google에서 API 호출을 여러 번 실행하지 않습니다.
- 페이로드: 단일
POST /carts요청에는 누적된 모든line_items의 전체 배열이 한 번에 포함됩니다. - 리디렉션 및 상태: 판매자의 백엔드가 웹사이트에서 미리 채워진 장바구니를 가리키는
continue_url로 응답합니다.
요청: Google에서 장바구니에 추가할 line_items 배열을 전송합니다.
요청 예:
{
"line_items": [
{
"item": {
"id": "item_123"
},
"quantity": 2
}
]
}
응답: 항목 세부정보, 합계, continue_url를 포함한 초기화된 장바구니 세션을 반환합니다. 대답의 continue_url 필드는 사용자가 장바구니를 계속 관리할 수 있는 사이트의 페이지로 사용자를 다시 안내해야 합니다. 일반적으로 id로 식별되는 세션이 미리 로드된 장바구니 또는 결제 페이지로 연결됩니다.
응답 예시:
{
"ucp": {
"version": "2026-04-08",
"capabilities": {
"dev.ucp.shopping.cart": [{"version": "2026-04-08"}]
}
},
"id": "cart_abc123",
"line_items": [
{
"id": "li_1",
"item": {
"id": "item_123",
"title": "Red T-Shirt",
"price": 2500
},
"quantity": 2,
"totals": [
{"type": "subtotal", "amount": 5000},
{"type": "total", "amount": 5000}
]
}
],
"currency": "USD",
"totals": [
{
"type": "subtotal",
"amount": 5000
},
{
"type": "total",
"amount": 5000,
"display_text": "Estimated total (taxes calculated at checkout)"
}
],
// Used for redirecting the user back to the merchant's cart experience from Google surfaces.
"continue_url": "https://business.example.com/checkout?cart=cart_abc123",
// Indicate the timestamp at which the cart session will expire and become invalid.
"expires_at": "2026-01-16T12:00:00Z"
}
오류 처리
오류 메시지 형식 지정 방법과 프로토콜 오류와 비즈니스 로직 오류의 차이점에 관한 전체 가이드라인은 오류 코드를 참고하세요.