/
주문 - 날짜지정형 입장권 주문 생성

주문 - 날짜지정형 입장권 주문 생성


1. Create Order

1) Purpose

  • 채널에서 상품의 옵션이 판매되었을 때 이 API로 새 주문을 등록합니다.

  • Supplier 가 주문을 처리하기 위해서 등록해야 합니다.

2) Detail

  • 유효한 API Key 를 Request Header에 정해진 형식으로 입력해야만 호출 가능합니다.

  • 상품 - 등록 투어상품 매핑 요청 에서 응답으로 받은 channel_product_mapping_data_code 와, 팔린 (상품의) 옵션의 option_code가 필수적으로 요구됩니다.

  • 새로 주문을 등록하려는 채널에서는 주문을 추상화한 후, 채널 측 주문 식별자(channel_order_code)와 AX 측 주문 식별자(ax_order_code)를 연동해 관리해야 합니다.

  • 하나의 채널 측 주문에 대해 여러 개의 AX 측 주문이 연동될 수 있습니다. (한 주문에서 여러 옵션이 구매된 경우)

  • 하나의 AX 측 주문에서 quantity에 따라 n개의 AX측 ticket이 생성됩니다. 이는 부분 취소를 지원하기 위함입니다. 채널 또한 ticket 단위까지 추상화를 해 AX 측 ticket과 연동한다면 부분 취소를 지원할 수 있습니다.

  • 하나의 채널 측 주문이 하나의 옵션에 대해서 quantity가 1로 구매가 발생했다면 (channel_order_code ↔︎ ax_order_code ↔︎ ax_ticket_code)는 1:1:1 관계입니다.

2. API Spec

1) Request

Endpoint

product environment: https://prod.ax-cloud.com/v1/channel/orders/day-ticket

test environment: https://test.ax-cloud.com/v1/channel/orders/day-ticket

Method

POST

Description

새 주문 등록

Content-Type

application/json

Headers > Authorization

Token {api_key}

2) Body Parameter

(1) Parameter

Name

Required

Type

Description

Example

Name

Required

Type

Description

Example

options

O

List[Option]

 

order

O

Order

 

purchaser

O

Purchaser

 

representative

O

Traveler

 

(2) Type - Order

Name

Required

Type

Description

Example

Name

Required

Type

Description

Example

channel_order_id

O

String

  • 채널에서 주문을 식별하기 위해 부여한 아이디

 

purchased_at

O

Datetime

  • RFC 3339 형식의 UTC 기준 상품이 팔린 일시

 

purchase_requested_at

X

Datetime

  • RFC 3339 형식의 UTC 기준 구매 요청이 발생한 일시

 

reserved_at

X

Datetime

  • RFC 3339 형식의 UTC 기준 예약이 발생한 일시

 

reservation_requested_at

X

Datetime

  • RFC 3339 형식의 UTC 기준 예약 요청이 발생한 일시

 

sub_total

O

String

  • 티켓들의 Amount 총 합

  • 소수점 5자리

  • option > travelers에 기입된 unit_selling_price 총합

 

discount_method

X

String

  • 주문 전체에 적용된 할인 방법

 

discount

X

String

  • 주문 전체에 적용된 할인가

  • 소수점 5자리

 

total

O

String

  • 최종 결제 가격

  • 소수점 5자리

 

status

O

String

  • 주문의 상태
    "New" : 새 주문

 

is_voucher

O

Boolean

  • True

    • voucher가 있는 상품

  • False

    • voucher가 없는 상품

 

comment

X

String

  • 추가적으로 입력된 코멘트 입력

 

currency

O

String

  • 상품이 팔린 화폐

  • "KRW" : 원화
    "USD" : 미국 달러

 

(3) Type - Option

Name

Required

Type

Description

Example

Name

Required

Type

Description

Example

channel_product_mapping_code

O

String

  • 채널에 등록된 상품 옵션과 AX Cloud 의 상품 옵션을 매핑한 테이블의 고유 식별자

 

option_code

O

String

  • 팔린 상품의 옵션에 해당하는 Option의 고유 식별자

 

quantity

O

Integer

  • 각 옵션 판매량

 

inventory_at

O

Datetime

  • 팔린 상품의 사용 일자를 RFC 3339 형식의 Datetime 표기

  • Option의 특정 날짜의 인벤토리를 특정하기 위해 필요.

 

unit_selling_price

O

String

  • 옵션 당 판매 단가

  • 소수점 5자리

 

discount

X

String

  • 옵션 당 할인가

  • 소수점 5자리

 

discount_method

X

String

  • 옵션 당 할인 방법

 

amount_price

O

String

  • 옵션 당 최종가격

  • 소수점 5자리

 

tickets

O

List[Ticket]

  • Option > quantity 하나에 대응되는 Entity

 

(4) Type - Purchaser

Name

Required

Type

Description

Example

Name

Required

Type

Description

Example

is_required_more_information

O

Boolean

  • True

    • 추가적으로 더 입력받을 정보가 있다.

  • False

    • 추가적으로 더 입력받을 정보가 없다.

 

name

O

String

  • 구매자 이름

 

national_code

O

String

  • 여행자 전화번호 국가번호

 

phone

O

String

  • 여행자 핸드폰 번호

 

email

O

String

  • 여행자 이메일

 

additional

X

Object

  • Supplier가 요구하는 추가 정보

 

extra

O

String

  • 여행자가 작성한 기타 정보

 

(5) Type - Ticket

Name

Required

Type

Description

Example

Name

Required

Type

Description

Example

channel_code

O

String

  • Channel에서 Option > quantity > 하나의 Ticket에 대한 식별자

 

name

O

String

  • 여행자 이름

 

national_code

O

String

  • 여행자 전화번호 국가 번호

 

phone

O

String

  • 여행자 핸드폰 번호

 

email

O

String

  • 여행자 이메일

 

additional

X

Object

  • Supplier가 요구하는 추가 정보

 

extra

X

String

  • 여행자가 작성한 기타 정보

 

3) Response

Name

Type

Description

Example

Name

Type

Description

Example

status_code

Integer

  • 201: 정상처리

  • 403: 유효하지 않은 요청 값

  • 404: 유효하지 않은 API Key

  • 201

  • 403

  • 404

data

Object

  • 채널측 주문 생성 요청에 대한 AX 주문 생성 값

 

 

channel_order_code

String

  • 채널측에서 생성한 주문의 식별자

 

 

channel_order_status

String

  • 생성된 주문의 상태

  • 주문 상태는 다음과 같습니다.

    • New : 새 주문
      Supplier pending : Supplier 대기
      Supplier confirm : Supplier 확정
      Supplier reject : Supplier 거절
      Traveler cancel : 여행자 취소
      Unavoidable cancel : 불가피한 취소

  • “New”

  • "Supplier pending"

  • "Supplier confirm"

  • ”Supplier reject"

  • "Traveler cancel"

  • "Unavoidable cancel"

 

options

List[Object]

 

 

 

 

option_code

string

  • 팔린 고유한 옵션에 대한 식별자

 

 

 

inventory_at

datetime

  • RFC 3339 형식의 UTC 기준 옵션의 Use date

 

 

 

ax_order_code

string

  • 팔린 고유한 옵션에 대해 AX 측에서 대응되도록 생성한 주문의 식별자

 

 

 

ax_order_status

string

  • AX 측에서 생성된 주문의 상태

  • 주문 상태는 다음과 같습니다.

    • New : 새 주문
      Supplier pending : Supplier 대기
      Supplier confirm : Supplier 확정
      Supplier reject : Supplier 거절
      Traveler cancel : 여행자 취소
      Unavoidable cancel : 불가피한 취소

  • “New“

  • “Supplier pending“

  • “Supplier confirm”

  • “Supplier reject”

  • “Traveler cancel”

  • “Unavoidable cancel”

 

 

quantity

Integer

  • 수량

 

 

 

tickets

List[Object]

  • quantity 하나에 대응되어 생성되는 티켓의 목록

 

 

 

 

ax_ticket_code

String

  • quantity 하나에 대응되어 생성되는 티켓의 식별자

 

 

 

 

ax_ticket_status

String

  • 생성된 티켓의 상태

  • 티켓의 상태는 다음과 같습니다.

    • New : Not used
      Used : 사용 처리됨
      Traveler canceled : 여행자 취소
      Supplier canceled : supplier 취소

  • “New“

  • “Used”

  • "Traveler canceled”

  • "Supplier canceled"

{ "channel_order_code": "915c1218-f41c-492b-bb0b-96177ff4d2ee", "channel_order_status": "New", "options": [ { "option_code": "d96b2ed4-12c5-4fb5-ae94-4f39b11ee980", "inventory_at": "2017-05-23 23:30:00", "ax_order_code": "b9872ed4-12c5-4fb5-ae18-4f39b11ee912", "ax_order_status": "New", "quantity": "2", "tickets": [ { "ax_ticket_code": "827c0381-f41c-492b-bb0b-88229ff4d2ee", "ax_ticket_status": "New" }, { "ax_ticket_code": "827c9283-f41c-492b-bb0b-88102ff4d8ee", "ax_ticket_status": "New" } ] }, { "option_code": "d96b2ed4-12c5-4fb5-ae94-4f39b11ee981", "inventory_at": "2017-05-23 23:30:00", "ax_order_code": "b9872ed4-12c5-4fb5-ae18-4f39b11ee913", "ax_order_status": "New", "tickets": [ { "ax_ticket_code": "087c2263-f41c-492b-bb0b-87263ff4d2ee", "ax_ticket_status": "New" }, { "ax_ticket_code": "829c9283-f41c-492b-bb0b-65738ff4d8fe", "ax_ticket_status": "New" } ] }, ] }

4) Error Spec

{'options': '이 필드는 null일 수 없습니다.'}
{'detail': '이 작업을 수행할 권한(permission)이 없습니다.'}

3. Request Example

1) CURL

Related content

주문 - 날짜지정형 입장권 주문 부분 취소 요청
주문 - 날짜지정형 입장권 주문 부분 취소 요청
Read with this
주문 - 투어상품 주문 전체 취소 요청
주문 - 투어상품 주문 전체 취소 요청
Read with this
주문 - 날짜지정형 입장권 주문 확정 정보 조회
주문 - 날짜지정형 입장권 주문 확정 정보 조회
Read with this
인벤토리 - 날짜지정형 입장권 가용성 정보 조회
인벤토리 - 날짜지정형 입장권 가용성 정보 조회
Read with this
상품 - 날짜지정형 입장권 상세정보 조회
상품 - 날짜지정형 입장권 상세정보 조회
Read with this