owned this note
owned this note
Published
Linked with GitHub
---
title: 清心線上點餐 API
tags: 線上點餐
---
## Webhook
### Security
#### Hash
TOKEN = `sha256({POST BODY} + {PRIVATE_KEY})`
#### Header Auth Structure
```
X-Auth-Token: {TOKEN}
```
## 傳送POS機開機通知給富群
Method: `POST`
Path: `https://<doamin>/api/v1/pos`
Header:
```mime=
X-Auth-Token: {TOKEN}
```
body
```typescript=
{
"store_id": <string>, //店家商店代號
"type" : <string> //open
}
``````
Response(回傳給達鈦雲端)
```typescript=
{
"result": <boolean>, //true or false
"message" : <string> //如果result = false,才會有此項
}
```
## 傳送取得訂單通知給富群(即時、預約)
Method: `POST`
Path: `https://<doamin>/api/v1/order_get`
Header:
```mime=
X-Auth-Token: {TOKEN}
```
body
```typescript=
{
"store_id": <string>, //店家商店代號
"order_id": <string> //訂單編號
}
```
Response(回傳給達鈦雲端)
```typescript=
{
"result": <boolean>, //true or false
"data": {
"type" : <string>, //0:即時訂單.1:預約訂單
"order_id": <string>, //訂單編號
"store": { //商店資訊
"id": <string>, //店家商店代號
"name": <string>, //店家名稱
"phone": <string>, //店家電話
"address": <string> //店家地址
},
"shopping": { //訂單購買資訊
"address": <string>, //外送地址
"take_type": <string>, //外送或自取 0:外送, 1:自取
},
"buyer": { //買家資訊
"name": <string> //買家姓名
"phone": <string>, //買家電話
...etc
},
"items": [
{
"product":{ //商品資訊
"id":<string>, //飲料編號
"name":<string>, //飲料名稱
"price":<string> //飲料售價
},
"size":{
"id":<string>, //編號
"name":<string> //飲料容量
},
"sugar":{
"id":<string>, //編號
"name":<string> //甜度
},
"ice":{
"id":<string>, //編號
"name":<string> //溫度冰量
},
"topping":[
{
"id":<string>, //編號
"name":<string>, //加料品項
"price":<number> //加料品項價格
},
{
...etc
}
],
"customization_menu":[
{
"id":<string>, //給POS機的客製化選項
"name":<string>, //客製化選項名稱
},
{
...etc
}
],
"quantity_num":<number>, //此單數量
"total_price":<number>, //此單總額
"drink_note":<string>, //餐點備註
"sticker_note":<string>, //飲料貼紙內容
},
{
...etc
}
],
"straw" : {
"type" : <boolean>, //0:沒吸管、1:有吸管
"Price" : <number>, //吸管價格
"num" : <number>, //吸管數量
},
"bag" : {
"type" : <boolean>, //0:沒塑膠袋、1:有塑膠袋
"Price" : <number>, //塑膠袋價格
"num" : <number>, //吸管數量
},
"order_note": <string>, //餐點備註
"sub_totals": <number>, //小計
"discount": <number>, //折扣總額(買五送一)
"total": <number>, //訂單總額
"created_at": <datetime>, //下訂時間
"take_time": <datetime> //客戶拿到飲料時間
}
}
```
## 回傳訂單通知給富群(POS開機時取得即時或預約訂單)
Method: `POST`
Path: `https://<doamin>/api/v1/schedule_order_get`
Header:
```mime=
X-Auth-Token: {TOKEN}
```
body
```typescript=
{
"store_id": <string>, //店家商店代號
"order_status": <string> // new
}
```
Response(回傳給達鈦雲端)
```typescript=
{
"result": <boolean>, //true or false
"data": [{
"type" : <string>, //0:即時訂單,1:預約訂單
"order_id": <string>, //訂單編號
"store": { //商店資訊
"id": <string>, //店家商店代號
"name": <string>, //店家名稱
"phone": <string>, //店家電話
"address": <string> //店家地址
},
"shopping": { //訂單購買資訊
"address": <string>, //外送地址
"take_type": <string>, //外送或自取
},
"buyer": { //買家資訊
"name": <string> //買家姓名
"phone": <string>, //買家電話
...etc
},
"items": [
{
"product":{ //商品資訊
"id":<string>, //飲料編號
"name":<string>, //飲料名稱
"price":<string> //飲料售價
},
"size":{
"id":<number>, //編號
"name":<string> //飲料容量
},
"sugar":{
"id":<number>, //編號
"name":<string> //甜度
},
"ice":{
"id":<number>, //編號
"name":<string> //溫度冰量
},
"topping":[
{
"id":<number>, //編號
"name":<string>, //加料品項
"price":<number> //加料品項價格
},
{
...etc
}
],
"customization_menu":[
{
"name":<string>, //客製化選項名稱
"pos_name":<number> //給POS機的客製化選項名稱
},
{
...etc
}
],
"quantity_num":<number>, //此單數量
"total_price":<number>, //此單總額
"drink_note":<string>, //餐點備註
"sticker_note":<string>, //飲料貼紙內容
},
{
...etc
}
],
"straw" : {
"type" : <boolean>, //0:沒吸管、1:有吸管
"Price" : <number>, //吸管價格
"num" : <number>, //吸管數量
},
"bag" : {
"type" : <boolean>, //0:沒塑膠袋、1:有塑膠袋
"Price" : <number>, //塑膠袋價格(單價)
"num" : <number>, //塑膠袋數量
},
"order_note": <string>, //餐點備註
"sub_totals": <number>, //小計
"discount": <number>, //折扣總額(買五送一)
"total": <number>, //訂單總額
"created_at": <datetime>, //下訂時間
"take_time": <datetime>, //預約時間
},
{
...etc
}]
}
```
## 傳送訂單狀態給富群
Method: `POST`
Path: `https://<doamin>/api/v1/order_status`
Header:
```mime=
X-Auth-Token: {TOKEN}
```
body
```typescript=
{
"store_id": <string>, //店家商店代號
"order_id": <string>,
"type" : <string>, //請求狀態 accept, accept_other_day, complete, cancel, invalid_invoice
"cancel_type": <number> //如果type為cancel,才會有此項。內容為 1:人手不足,2:商品缺料,3:客戶未領取
}
```
Response(回傳給達鈦雲端)
```typescript=
{
"result": <boolean>, //true or false
"message" : <string> //如果result = false,才會有此項
}
```
## 傳送查詢訂單狀態給富群
Method: `POST`
Path: `https://<doamin>/api/v1/get_order_status`
Header:
```mime=
X-Auth-Token: {TOKEN}
```
body
```typescript=
{
"store_id": <string>, //店家商店代號
"order_id" : <string> //訂單編號
}
``````
Response(回傳給達鈦雲端)
```typescript=
{
"result": <boolean>, //true or false
"status": <string>, //訂單狀態:new, accept, complete, cancel_store
"message" : <string> //如果result = false,才會有此項
}
```
## 回傳如果為false的話
```typescript=
{
"result": <boolean>, //false
"message" : <string> //false 原因
}
```