Skip to content

Destroy Tickets

Description

銷毀票券。

Resource

POST /v1/ticket/destruction

Authorization

採用 OAuth 2.0 Bearer Token,詳細使用流程請參考 Auth Login

Request Body Parameters

Name Type Description
id string 任務編號/訂單編號
(option)
ticket_id_list List[string] 票劵編號列表
(option)

Request Example

{
  "id": "test21092200001",
  "ticket_id_list": [
    "A001",
    "B001"
  ]
}

Response

Status-Code: 204 No Content

Destroy Tickets API Workflow

sequenceDiagram autonumber participant C as Client participant OP as OmniPlatform C->>OP: Call Destroy Tickets API activate OP alt params['id'] != '' OP->>OP: Call destroy_tickets_by_id(params['id']) OP->>C: Return Response() end alt params['ticket_id_list'] != '' OP->>OP: Call destroy_tickets_by_ticket_id_list(params['ticket_id_list']) OP->>C: Return Response() end OP->>C: Return Response(400, "缺少請求參數 id 或 ticket_id_list") deactivate OP

Destroy Tickets By ID Workflow

sequenceDiagram autonumber participant O as Object participant DTBI as destroy_tickets_by_id() participant R as repository O->>DTBI: Call destroy_tickets_by_id(id) activate DTBI DTBI->>R: Call get_ticket_by_id(company_id, id) Note Over DTBI,R: 透過任務/訂單編號取得 ticket_df alt if ticket_df.empty DTBI->>O: Return Response(204) end alt if use_ticket_df.empty DTBI->>O: Return Response(400, message='已使用票券') end DTBI->>DTBI: Call handle_ticket_df(ticket_df, id) alt if need_destroy_to_pos DTBI->>DTBI: Call destroy_ticket_to_pos(ticket_df, id) alt if destroy_ticket_to_pos_result['status_code'] != 204 DTBI->>O:return destroy_ticket_to_pos_result end end DTBI->>R: Call update_ticket_isuse_status(company_id, ticket_id_list, '4') DTBI->>O: Return Response(204) deactivate DTBI

Destroy Tickets By Ticket ID List Workflow

sequenceDiagram autonumber participant O as Object participant DTBTIL as destroy_tickets_by_ticket_id_list(() participant R as repository O->>DTBTIL: Call destroy_tickets_by_ticket_id_list(ticket_id_list) activate DTBTIL DTBTIL->>DTBTIL: Call destroy_ticket_to_pos(ticket_df, id) alt if destroy_ticket_to_pos_result['status_code'] != 204 DTBTIL->>O:return destroy_ticket_to_pos_result end DTBTIL->>R: Call update_ticket_isuse_status(company_id, ticket_id_list, '4') DTBTIL->>O: Return Response(204) deactivate DTBTIL