- JSON 표현
- OrderItem
- OrderModifierGroup
- OrderModifier
- OrderModifierAction
- OrderMetadata
- DeliveryAddress
- ValidationStatus
- OrderFulfillment
- OrderPriceInfo
- OrderPayment
- TippingInfo
- LoyaltyAmount
- PaymentInfo
- PaymentMethod
주문은 사용자의 진행 중이거나 완료된 주문의 콘텐츠를 나타냅니다.
| JSON 표현 |
|---|
{ "items": [ { object ( |
| 필드 | |
|---|---|
items[] |
(선택사항) 주문에 포함된 상품입니다. |
metadata |
(선택사항) 주문 중에 수집되거나 추론된 기타 메타데이터 |
fulfillment |
(선택사항) 주문의 처리 정보입니다. |
priceInfo |
(선택사항) 주문의 가격 정보입니다. |
externalOrderId |
출력 전용입니다. 이 주문의 외부 식별자입니다. 판매 시점 통합이 사용 설정된 경우에만 채워집니다. |
orderPayment |
(선택사항) 이 주문과 연결된 결제 상태입니다. |
OrderItem
OrderItem은 주문의 일부인 항목의 상태를 지정합니다.
| JSON 표현 |
|---|
{ "uid": string, "itemId": string, "displayName": string, "image": { object ( |
| 필드 | |
|---|---|
uid |
(선택사항) 이 항목에 대해 시스템에서 할당된 고유 식별자입니다. |
itemId |
필수 항목입니다. 메뉴 내에서 고유한 메뉴 항목의 식별자입니다. |
displayName |
출력 전용입니다. 사용자 인터페이스에 표시되는 이 광고 항목의 인간이 읽을 수 있는 이름입니다. |
image |
출력 전용입니다. UI에서 이 항목에 표시할 이미지입니다. |
basePrice |
출력 전용입니다. 상품의 기본 가격입니다. 선택한 수정자의 영향을 받을 수 있습니다. 상품의 단위당 가격입니다. |
integrationAttributes |
출력 전용입니다. 다운스트림 통합에 사용되는 이 항목과 연결된 메타데이터입니다. |
modifierGroups[] |
(선택사항) 이 상품에 적용된 ModifierGroups입니다. |
quantity |
(선택사항) 주문에서 이 상품의 수량입니다. |
totalPrice |
출력 전용입니다. 선택한 수정자를 포함하고 상품 수량을 반영한 이 항목의 세전 총가격입니다. 항목별 가방 표시에 사용됩니다. |
categoryIds[] |
출력 전용입니다. 기본 메뉴 항목이 속한 카테고리 ID입니다. 클라이언트가 주문한 항목을 메뉴 카테고리별로 그룹화할 수 있도록 메뉴의 Item.category_ids를 미러링합니다. |
OrderModifierGroup
OrderModifierGroup은 OrderItem의 일부인 ModifierGroup의 상태를 지정합니다.
| JSON 표현 |
|---|
{ "modifierGroupId": string, "displayName": string, "integrationAttributes": { object ( |
| 필드 | |
|---|---|
modifierGroupId |
필수 항목입니다. 이 옵션 그룹의 식별자로, 메뉴 내에서 고유합니다. |
displayName |
출력 전용입니다. 수정자 그룹 이름입니다(예: '토핑(샌드위치)' 또는 '중간 콤보 사이드'). |
integrationAttributes |
출력 전용입니다. 다운스트림 통합에 사용되는 이 항목과 연결된 메타데이터입니다. |
modifiers[] |
(선택사항) 이 옵션 그룹에 적용된 옵션입니다. |
OrderModifier
OrderModifier는 OrderModifierGroup의 일부인 Modifier의 상태를 지정합니다.
| JSON 표현 |
|---|
{ "uid": string, "modifierId": string, "displayName": string, "priceAdjustment": { object ( |
| 필드 | |
|---|---|
uid |
(선택사항) 이 수정자에 대해 시스템에서 할당된 고유 식별자입니다. |
modifierId |
필수 항목입니다. 이 옵션의 식별자로, 메뉴 내에서 고유합니다. |
displayName |
출력 전용입니다. 사용자 인터페이스에 표시할 수정자 표시 이름입니다. |
priceAdjustment |
출력 전용입니다. 이 수정자와 연결된 가격 조정입니다(있는 경우). 수정자의 단위당 가격입니다. |
quantity |
(선택사항) 적용된 이 수정자 작업의 수량입니다. |
modifierAction |
(선택사항) 이 수정자에 적용된 수정자 작업입니다. |
image |
출력 전용입니다. UI에서 이 수정자에 표시할 이미지입니다. |
integrationAttributes |
출력 전용입니다. 다운스트림 통합에 사용되는 이 항목과 연결된 메타데이터입니다. |
modifierGroups[] |
(선택사항) 이 수정자에 적용된 중첩된 수정자 그룹입니다. |
isDefault |
출력 전용입니다. 이 옵션이 옵션 그룹의 기본 선택인지 여부입니다. 클라이언트가 정확한 선택사항 차이를 계산할 수 있도록 하는 데 필요합니다. |
OrderModifierAction
OrderModifierAction은 적용된 OrderModifier와 연결된 ModifierAction을 지정합니다.
| JSON 표현 |
|---|
{ "name": string } |
| 필드 | |
|---|---|
name |
(선택사항) 수정자 작업 이름(예: 'NO', 'SIDE', 'ADD', 'EXTRA')입니다. |
OrderMetadata
OrderMetadata에는 주문 중에 수집되거나 추론된 다른 메타데이터가 포함됩니다.
| JSON 표현 |
|---|
{
"collectedCustomerName": string,
"callerPhoneNumber": string,
"deliveryAddress": {
object ( |
| 필드 | |
|---|---|
collectedCustomerName |
(선택사항) 주문 시 수집된 고객 이름입니다. 에이전트가 고객 이름을 수집하도록 구성된 경우에만 채워집니다. 이 정보는 구두로 수집될 수 있으며 맞춤법 오류나 오타가 포함될 수 있으므로 사용자에게 표시할 때 주의해야 하며 결제 정보 등으로 신뢰해서는 안 됩니다. |
callerPhoneNumber |
(선택사항) 주문하는 고객의 전화번호입니다. |
deliveryAddress |
(선택사항) 배달 주문인 경우 배송지 주소입니다. |
DeliveryAddress
주문의 배송지 주소입니다. 기존에 저장되거나 수집된 주소일 수 있습니다.
| JSON 표현 |
|---|
{ "address": { object ( |
| 필드 | |
|---|---|
address |
(선택사항) 배송지 주소입니다. |
validationStatus |
(선택사항) 주소의 유효성 검사 상태입니다. |
coordinates |
(선택사항) 주소의 지리 좌표입니다. 주소가 매장의 배송 범위 내에 있는지 확인하는 데 사용됩니다. |
ValidationStatus
배송지 주소의 유효성 검사 상태입니다. 클라이언트별 유효성 검사 로직에 의해 결정됩니다.
| 열거형 | |
|---|---|
VALIDATION_STATUS_UNSPECIFIED |
주소가 아직 확인되지 않았습니다. |
VALIDATION_STATUS_VALID |
주소가 유효합니다. |
VALIDATION_STATUS_INVALID |
주소가 잘못되었습니다 (존재하지 않음, 파싱할 수 없음 등). |
VALIDATION_STATUS_OUT_OF_RANGE |
주소가 존재하고 확인되었지만 매장 범위를 벗어납니다. |
VALIDATION_STATUS_INCOMPLETE_ADDRESS |
주소에 필수 입력란이 누락되었습니다 (번지/도로명, 도시, 주, 우편번호 등 누락). |
OrderFulfillment
OrderFulfillment에는 주문 처리에 관한 정보가 포함됩니다.
| JSON 표현 |
|---|
{
"fulfillmentMethod": enum ( |
| 필드 | |
|---|---|
fulfillmentMethod |
(선택사항) 주문의 처리 방법입니다. |
createTime |
출력 전용입니다. 주문이 생성된 시간입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
targetFulfillmentTime |
(선택사항) 주문 처리 예정 시간으로, '선주문'에 사용됩니다. 제공되지 않으면 주문이 '가능한 한 빨리'로 간주됩니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
OrderPriceInfo
OrderPriceInfo는 주문의 다양한 가격 구성요소를 캡슐화합니다.
| JSON 표현 |
|---|
{ "totalPrice": { object ( |
| 필드 | |
|---|---|
totalPrice |
(선택사항) 모든 세금, 수수료, 할인이 적용된 후의 최종 총 가격입니다. |
subtotalPrice |
(선택사항) 세전, 할인 전 모든 상품 및 수정자의 소계 가격입니다. |
taxPrice |
(선택사항) 주문에 적용된 세금 금액입니다. |
discount |
(선택사항) 주문에 적용된 총 할인 |
saving |
(선택사항) 주문에 적용된 특가 할인 |
fees |
(선택사항) 주문에 적용된 총 수수료 |
OrderPayment
주문의 결제 관련 정보입니다.
| JSON 표현 |
|---|
{ "tippingInfo": { object ( |
| 필드 | |
|---|---|
tippingInfo |
(선택사항) 팁 정보입니다. |
loyaltyConsumed |
(선택사항) 결제에 사용된 포인트 금액입니다. |
paymentInfo |
(선택사항) 사용된 결제 수단에 관한 정보입니다. |
TippingInfo
팁에 관한 정보입니다.
| JSON 표현 |
|---|
{ // Union field |
| 필드 | |
|---|---|
통합 필드 tip_type. 팁 금액 또는 비율 tip_type은 다음 중 하나여야 합니다. |
|
amount |
(선택사항) 팁의 특정 금액입니다. |
percentageBps |
(선택사항) 베이시스 포인트 단위의 백분율입니다(예: 450 = 4.5%). |
LoyaltyAmount
고객의 포인트 금액을 나타냅니다.
| JSON 표현 |
|---|
{ "units": string } |
| 필드 | |
|---|---|
units |
필수 항목입니다. 적립 포인트입니다. |
PaymentInfo
사용자의 결제 정보입니다.
| JSON 표현 |
|---|
{
"creditCardLastFourDigits": string,
"creditCardCvv": string,
"paymentMethod": enum ( |
| 필드 | |
|---|---|
creditCardLastFourDigits |
(선택사항) 신용카드의 마지막 4자리 숫자입니다. 결제 단계에서 신용카드 번호를 확인하는 데 사용됩니다. |
creditCardCvv |
(선택사항) 신용카드의 CVV입니다. |
paymentMethod |
(선택사항) 사용한 결제 수단 유형 |
PaymentMethod
결제 수단 유형입니다.
| 열거형 | |
|---|---|
PAYMENT_METHOD_UNSPECIFIED |
지정되지 않은 결제 수단입니다. |
PAYMENT_METHOD_CREDIT_CARD |
신용카드 |
PAYMENT_METHOD_CASH |
현금 |