- 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 |
선택사항입니다. 신용카드의 마지막 네 자리 숫자입니다. 결제 단계에서 신용카드 번호를 확인하는 데 사용됩니다. |
creditCardCvv |
선택사항입니다. 신용카드의 CVV입니다. |
paymentMethod |
선택사항입니다. 사용된 결제 수단 유형입니다. |
PaymentMethod
결제 수단 유형입니다.
| 열거형 | |
|---|---|
PAYMENT_METHOD_UNSPECIFIED |
지정되지 않은 결제 수단입니다. |
PAYMENT_METHOD_CREDIT_CARD |
신용카드 |
PAYMENT_METHOD_CASH |
현금 |