Skip to content

주문 - 웹훅

Events

주문 생성됨 (order.order.created.v1)

PropertyValue
Event Typeorder.order.created.v1
Description새로운 주문이 생성되었어요.

이벤트 Payload

NameTypeRequiredDescriptionExample
orderOrder생성된 주문 정보

이벤트 Body 예시

json
{
    "id": "000000000000000000000000",
    "type": "order.order.created.v1",
    "createdAt": "2026-01-01T00:00:00.000Z",
    "merchantId": 42,
    "app": "my-awesome-app",
    "data": {
        "order": {
            "id": "620000000000000000",
            "merchantId": 42,
            "source": "POS",
            "orderState": "OPENED",
            "orderKey": "EXT-20260512-0001",
            "orderNumber": "A-001",
            "createdAt": "2025-09-01T00:00:00",
            "updatedAt": "2025-09-01T00:00:00",
            "openedAt": "2025-09-01T00:00:00",
            "lineItems": [
                {
                    "diningOption": "HERE",
                    "item": {
                        "title": "아메리카노",
                        "category": {
                            "title": "커피"
                        }
                    },
                    "itemPrice": {
                        "title": "기본",
                        "priceType": "FIXED",
                        "priceUnit": 1,
                        "priceValue": 3500,
                        "isTaxFree": false,
                        "taxPercentage": 10,
                        "taxInclusive": true
                    },
                    "optionChoices": [],
                    "appliedDiscounts": [],
                    "quantity": 1
                }
            ],
            "memo": "얼음 적게",
            "payments": [],
            "discounts": [
                {
                    "title": "PROMOTION",
                    "type": "FIXED_AMOUNT",
                    "code": "PROMOTION_00",
                    "amount": 300,
                    "percentage": 0.0,
                    "fixedAmount": 300
                }
            ],
            "chargePrice": {
                "listPrice": 3500,
                "discountAmount": -300,
                "tipAmount": 0,
                "serviceChargeAmount": 0,
                "taxAmount": 291,
                "supplyAmount": 2909,
                "taxExemptAmount": 0,
                "totalAmount": 3200
            }
        }
    }
}

고객 호출됨 (order.call.created.v1)

PropertyValue
Event Typeorder.call.created.v1
Description매장에서 주문 준비를 완료하여 고객을 호출했습니다.
예를 들어, 토스 POS [현황] 화면에서 주문 카드의 호출 버튼을 누르면 이 이벤트가 발생합니다.

이벤트 Payload

NameTypeRequiredDescriptionExample
orderIdString주문 ID"620000000000000000"
orderKeyString주문 키"EXT-20260526-0001"
orderNumberString주문 번호"A-001"
calledAttimestamp호출 시각"2025-09-01T00:00:00"

이벤트 Body 예시

json
{
    "id": "000000000000000000000000",
    "type": "order.call.created.v1",
    "createdAt": "2026-01-01T00:00:00.000Z",
    "merchantId": 42,
    "app": "my-awesome-app",
    "data": {
        "orderId": "620000000000000000",
        "orderKey": "EXT-20260526-0001",
        "orderNumber": "A-001",
        "calledAt": "2025-09-01T00:00:00"
    }
}

주문 요청됨 (order.order.requested.v1)

PropertyValue
Event Typeorder.order.requested.v1
Description새로운 주문이 요청되어 매장의 수락을 기다리고 있어요.

이벤트 Payload

NameTypeRequiredDescriptionExample
orderIdString주문 ID"620000000000000000"
orderKeyString주문 키"EXT-20260512-0001"
orderNumberString주문 번호"A-001"
requestedAttimestamp주문 요청 시각"2025-09-01T00:00:00"
expectedReadyAttimestamp주문의 예상 완료 시각
손님 기준에서의 예상 완료 시각을 의미해요. (예: 손님이 15분 뒤 픽업 예정)
"2025-09-01T00:00:00"

이벤트 Body 예시

json
{
    "id": "000000000000000000000000",
    "type": "order.order.requested.v1",
    "createdAt": "2026-01-01T00:00:00.000Z",
    "merchantId": 42,
    "app": "my-awesome-app",
    "data": {
        "orderId": "620000000000000000",
        "orderKey": "EXT-20260512-0001",
        "orderNumber": "A-001",
        "requestedAt": "2025-09-01T00:00:00",
        "expectedReadyAt": "2025-09-01T00:00:00"
    }
}

주문 수락됨 (order.order.accepted.v1)

PropertyValue
Event Typeorder.order.accepted.v1
Description매장에서 주문을 수락했어요.

이벤트 Payload

NameTypeRequiredDescriptionExample
orderIdString주문 ID"620000000000000000"
orderKeyString주문 키"EXT-20260512-0001"
orderNumberString주문 번호"A-001"
acceptedAttimestamp주문 수락 시각"2025-09-01T00:00:00"
estimatedReadyAttimestamp예상 준비 완료 시각
매장 기준에서의 준비 완료 시각을 의미해요. (예: 20분 뒤 픽업 가능)
"2025-09-01T00:00:00"

이벤트 Body 예시

json
{
    "id": "000000000000000000000000",
    "type": "order.order.accepted.v1",
    "createdAt": "2026-01-01T00:00:00.000Z",
    "merchantId": 42,
    "app": "my-awesome-app",
    "data": {
        "orderId": "620000000000000000",
        "orderKey": "EXT-20260512-0001",
        "orderNumber": "A-001",
        "acceptedAt": "2025-09-01T00:00:00",
        "estimatedReadyAt": "2025-09-01T00:00:00"
    }
}

주문 거절됨 (order.order.declined.v1)

PropertyValue
Event Typeorder.order.declined.v1
Description매장에서 주문을 거절했어요.

이벤트 Payload

NameTypeRequiredDescriptionExample
orderIdString주문 ID"620000000000000000"
orderKeyString주문 키"EXT-20260512-0001"
orderNumberString주문 번호"A-001"
declinedAttimestamp주문 거절 시각"2025-09-01T00:00:00"
declinedReasonStringALPHA 주문 거절 사유"메뉴 품절"
declinedCodeStringALPHA 주문 거절 사유 코드"MENU_SOLD_OUT"

이벤트 Body 예시

json
{
    "id": "000000000000000000000000",
    "type": "order.order.declined.v1",
    "createdAt": "2026-01-01T00:00:00.000Z",
    "merchantId": 42,
    "app": "my-awesome-app",
    "data": {
        "orderId": "620000000000000000",
        "orderKey": "EXT-20260512-0001",
        "orderNumber": "A-001",
        "declinedAt": "2025-09-01T00:00:00",
        "declinedReason": "메뉴 품절",
        "declinedCode": "MENU_SOLD_OUT"
    }
}

주문 만료됨 (order.order.expired.v1)

PropertyValue
Event Typeorder.order.expired.v1
Description요청된 주문을 매장에서 일정 시간 내에 수락/거절하지 않아 자동으로 만료 처리되었어요.

이벤트 Payload

NameTypeRequiredDescriptionExample
orderIdString주문 ID"620000000000000000"
orderKeyString주문 키"EXT-20260512-0001"
orderNumberString주문 번호"A-001"
expiredAttimestamp주문 만료 시각"2025-09-01T00:00:00"

이벤트 Body 예시

json
{
    "id": "000000000000000000000000",
    "type": "order.order.expired.v1",
    "createdAt": "2026-01-01T00:00:00.000Z",
    "merchantId": 42,
    "app": "my-awesome-app",
    "data": {
        "orderId": "620000000000000000",
        "orderKey": "EXT-20260512-0001",
        "orderNumber": "A-001",
        "expiredAt": "2025-09-01T00:00:00"
    }
}

주문 시작됨 (order.order.opened.v1)

PropertyValue
Event Typeorder.order.opened.v1
Description주문이 시작되어 준비 중이에요.

이벤트 Payload

NameTypeRequiredDescriptionExample
orderIdString주문 ID"620000000000000000"
orderKeyString주문 키"EXT-20260512-0001"
orderNumberString주문 번호"A-001"
openedAttimestamp주문 시작 시각"2025-09-01T00:00:00"

이벤트 Body 예시

json
{
    "id": "000000000000000000000000",
    "type": "order.order.opened.v1",
    "createdAt": "2026-01-01T00:00:00.000Z",
    "merchantId": 42,
    "app": "my-awesome-app",
    "data": {
        "orderId": "620000000000000000",
        "orderKey": "EXT-20260512-0001",
        "orderNumber": "A-001",
        "openedAt": "2025-09-01T00:00:00"
    }
}

주문 완료됨 (order.order.completed.v1)

PropertyValue
Event Typeorder.order.completed.v1
Description주문이 완료되었어요.

이벤트 Payload

NameTypeRequiredDescriptionExample
orderIdString주문 ID"620000000000000000"
orderKeyString주문 키"EXT-20260512-0001"
orderNumberString주문 번호"A-001"
completedAttimestamp주문 완료 시각"2025-09-01T00:00:00"

이벤트 Body 예시

json
{
    "id": "000000000000000000000000",
    "type": "order.order.completed.v1",
    "createdAt": "2026-01-01T00:00:00.000Z",
    "merchantId": 42,
    "app": "my-awesome-app",
    "data": {
        "orderId": "620000000000000000",
        "orderKey": "EXT-20260512-0001",
        "orderNumber": "A-001",
        "completedAt": "2025-09-01T00:00:00"
    }
}

주문 취소됨 (order.order.cancelled.v1)

PropertyValue
Event Typeorder.order.cancelled.v1
Description주문이 취소되었어요.

이벤트 Payload

NameTypeRequiredDescriptionExample
orderIdString주문 ID"620000000000000000"
orderKeyString주문 키"EXT-20260512-0001"
orderNumberString주문 번호"A-001"
cancelledAttimestamp주문 취소 시각"2025-09-01T00:00:00"

이벤트 Body 예시

json
{
    "id": "000000000000000000000000",
    "type": "order.order.cancelled.v1",
    "createdAt": "2026-01-01T00:00:00.000Z",
    "merchantId": 42,
    "app": "my-awesome-app",
    "data": {
        "orderId": "620000000000000000",
        "orderKey": "EXT-20260512-0001",
        "orderNumber": "A-001",
        "cancelledAt": "2025-09-01T00:00:00"
    }
}