---
# System prepended metadata

title: API第三方之用法

---

# API第三方之用法
*2021/7/15* 
swagger : https://api.preprod.imf-go.com/client/api-documentation/#/
## 科技
我們用的科技是 REST https://zh.wikipedia.org/wiki/表现层状态转换

## 呼叫API通用格式
:::info
[請求方法] https://api.imf-go.com/[API名稱]
:::

* ### 請求方法：

    **GET**
    向指定的資源發出「顯示」請求。使用GET方法應該只用在讀取資料，而不應當被用於產生「副作用」的操作中，例如在網路應用程式中。其中一個原因是GET可能會被網路爬蟲等隨意存取。參見安全方法。瀏覽器直接發出的GET只能由一個url觸發。GET上要在url之外帶一些參數就只能依靠url上附帶querystring。

    **POST**
    向指定資源提交資料，請求伺服器進行處理（例如提交表單或者上傳檔案）。資料被包含在請求本文中。這個請求可能會建立新的資源或修改現有資源，或二者皆有。每次提交，表單的資料被瀏覽器用編碼到HTTP請求的body里。瀏覽器發出的POST請求的body主要有兩種格式，一種是application/x-www-form-urlencoded用來傳輸簡單的資料，大概就是"key1=value1&key2=value2"這樣的格式。另外一種是傳檔案，會採用multipart/form-data格式。採用後者是因為application/x-www-form-urlencoded的編碼方式對於檔案這種二進位的資料非常低效。

    **PUT**
    向指定資源位置上傳其最新內容。
    
    **DELETE**
    請求伺服器刪除Request-URI所標識的資源。

* ### Token
    您用API的時候，為了確認使用者的身份，REST需要多知道一個資料才會上線成功。這在叫Token(APIkey)。Token是放在請求的header裡面。


![](https://i.imgur.com/ZZ08U0E.png)


* ### Parameters
    怎麼用到一些parameters呢 ?
    REST科技使用所謂的 body。有的請求方法必續使用body才可以進行（比如：PUT, POST, DELETE）

    簡單來講，若您需要新增工單，您需要給資料才能建立工單 （POST）
    若您想要刪除，您需要設定哪一個工單，因而需要給ID的資料等等⋯⋯（DELETE）

    body example:
```json=
    {
    "key":value
    "key2":value2,
    "key3":value3,
    "key4":value4
    }
```
![](https://i.imgur.com/Dvq16Ih.png)



![](https://i.imgur.com/xpTHX92.png)


* ### 請求回復
| Code | Status |
| -------- | -------- |
| 200     | 成功     |
| 400     | 失敗     |

---
## FUNCTIONS:

**1.建立工單**

請求方法 = POST
API名稱 = client/order 

body :

```json=
{
  "device_num": "1A-1-2",
  "device_name": "Wudang",
  "tonnage": 250,
  "mold_num": "P00990",
  "product_name": "CARRIAGE-SCANNER",
  "cavity_amount": 4,
  "best_cycle": 35,
  "material_num": "RNABS011G25",
  "base_material": "ABS+20%GF",
  "expect_quantity": 100000,
  "order_num": "4079002"
}
```
:::info
POST https://api.imf-go.com/client/order
:::

---
**2.List orders**

請求方法 = GET
API名稱 = client/order 

no body

:::info
GET https://api.imf-go.com/client/order
:::

---
**3.刪除工單**

請求方法 = DELETE
API名稱 = client/order 
body:
```json=
{
  "id": 1
}
```

:::info
DELETE https://api.imf-go.com/client/order
:::

---
**4.更新工單**

請求方法 = PUT
API名稱 = client/order/{id}
*為了知道要改什麼工單，連結的後面需要輸入工單的ID。*
(比如：https://api.imf-go.com/client/order/1)
body:
```json=
{
  "device_num": "1A-1-2",
  "device_name": "Wudang",
  "tonnage": 250,
  "mold_num": "P00990",
  "product_name": "CARRIAGE-SCANNER",
  "cavity_amount": 4,
  "best_cycle": 35,
  "material_num": "RNABS011G25",
  "base_material": "ABS+20%GF",
  "expect_quantity": 100000,
  "order_num": "4079002"
}
```

:::info
PUT https://api.imf-go.com/client/order/{id}
:::




