---
# System prepended metadata

title: 修正 NFT API url
tags: [v2]

---

---
title: 修正 NFT API url
tags: v2
---

# 修正 on-chain API url
## API url 
| method | 更改前 API url                                        | 預計更改後 API url                                          |
| ------ | --------------------------------------------------- | -------------------------------------------------------- |
| GET    | `/api/v2/nft/products`                              | `/api/v2/products?type=${type}`                          | 
| GET    | `/api/v2/nft/:project_id?status=paid`               | `/api/v2/projects/project_id/nft?status=${status}` | 
| GET    | `/api/v2/nft/:project_id/orders/:order_id/checkout` | `api/v2/orders/:order_id?project_id=${project_id}`       | 
| GET    | `/api/v2/nft/:project_id/orders/:order_id/status`   | `/api/v2/orders/:order_id/status`                        | 
| POST   | `/api/v2/nft/:project_id/tokens/draft`              | `/api/v2/projects/:project_id/nft/blockchains/:chain_name/tokens/draft`          | 
| POST   | `/api/v2/nft/:project_id/tokens/:token_id/mint`     | `/api/v2/projects/:project_id/nft/tokens/:token_id/mint` | 
| GET    | `/api/v2/nft/project_id/tokens/:token_id/owner`     | `/api/v2/projects/project_id/nft/tokens/:token_id/owner` | 

## 影響範圍

### GET `/api/v2/nft/products` => GET `/api/v2/products?tpye=${type}`
- 獲取 NFT 有提供的 product
    - 有 ethereum and polygon，但是目前暫時只提供 mint polygon
    - Collection product 裡有 name: NFT_MATIC 的產品
- 只有 tms 前端使用

### GET `/api/v2/nft/:project_id?status=paid` => GET `/api/v2/projects/project_id/nft?status=${status}` 
- 此 API 是給前端頁面使用，用來顯示已付款的 NFT 與 尚未付款的 NFT，程式裡會去 join orders 這張表
- 只有 tms 前端使用

### GET `/api/v2/nft/:project_id/orders/:order_id/checkout` => GET `api/v2/orders/:order_id?type={type}`
- 獲取付款資訊
- 只有 tms 前端使用
- project_id 可以透過 orders 拿到

### GET `/api/v2/nft/:project_id/orders/:order_id/status` => GET `/api/v2/orders/:order_id?type={type}`
- 回傳此 nft 的狀態
    - 這裡應該要用 token_id 去查詢 NFT 上鏈狀態比較直觀
    - 查詢有沒有付款應該用 order_id 
- tms 前端 and artify 有使用
- project_id 可以透過 orders 拿到

### POST `/api/v2/nft/:project_id/tokens/draft` => POST `/api/v2/projects/:project_id/nft/tokens/draft`
- 回傳 NFT token_id
- tms 前端 and artify 有使用

### POST `/api/v2/nft/:project_id/tokens/:token_id/mint` => POST `/api/v2/projects/:project_id/nft/tokens/:token_id/mint`
- mint NFT
- tms and artify 有使用

### GET `/api/v2/nft/project_id/tokens/:token_id/owner` => GET `/api/v2/projects/:project_id/nft/tokens/:tokens/owner`
- 給 ALGO 查詢 NFT 的 owner

### tms order 現況
- https://hackmd.io/Fn8FO_nvR1uApGXdfo2Afg?view#%E7%8F%BE%E5%9C%A8-order-%E6%83%85%E6%B3%81

