iT邦幫忙

2023 iThome 鐵人賽

DAY 14
0
WordPress

透過WordPress架設電商網站,並串接管理後台系列 第 14

«D14»Ragic API 實際應用

  • 分享至 

  • xImage
  •  

Ragic 是台灣的雲端的資料庫平台新創

他們讓非技術背景的用戶可以輕鬆地建立自己的資料庫。自我介紹連結:https://www.ragic.com/intl/zh-TW/blog/190
我覺得 Ragic 有幾個主要的特點:

  1. 試算表式資料庫:使用者可以像操作 Excel 一樣,設計管理資料庫。
  2. 自定義表單:免費版允許用戶自定義三個表單。
  3. 簡單的 Restful API 串接:Ragic 提供 API,簡單透過 request 就可以 Creat Read Update Delete。

但還是要說個收費是真的蠻貴的,對於不到 10 人的小公司來說,如果買專業版 5 人 * USD19/月,或至少三個部門各一個,需要 3 * 19 * 30 * 11 (Ragic 購買一年有送一個月),就要接近 NTD20,000,一般整套的也只要 30,000 就能無限制人數了...從定價看來應該也是人數多的會比較划算
https://ithelp.ithome.com.tw/upload/images/20230922/20162937dhIZ7S8NjV.png

Ragic 的 RESTful API

讓開發者可以對資料庫進行 CRUD(建立、讀取、更新、刪除),在 WooCommerce 串接中,建立是最常用到的(主要是在丟新訂單),我以 Python 分別範例(都是從 Ragic Github 抄來的 ><):

前置作業:BASE URL、API KEY、DATA

取得 ragic_BASE_URL
https://資料庫網址(SERVER_URL)/使用者名稱(ACCOUNT_NAME)/頁籤(TAB)/表單編號(SHEET_INDEX)
前面資料庫 + 使用者名稱是你的 ragic_BASE_URl,例如我的訂單管理>訂單,表單網址是 https://ap2.ragic.com/my-ragic-database/forms/2 這樣我的 ragic_BASE_URl = 'ap2.ragic.com/my-ragic-database'。
如果你想要修改表單裡面的特定一筆資料,只要點進去,就可以取得在表單編號後面紀錄編號(RECORD_ID)

取得 ragic_API_KEY
右上角的使用者名稱懸停,點擊個人設定,看到** API Key**,這個就是了!

data 格式

data = {
    表格編號: 資料,
    表格編號 2: 資料 2,
    表格編號 3: 資料 3,
}

表單編號要到修改設計,選取你要的欄位,欄位右下方會有個欄位編號,是整個資料庫欄位的唯一編號!
https://ithelp.ithome.com.tw/upload/images/20230922/20162937fL5iGkBby9.png
https://ithelp.ithome.com.tw/upload/images/20230922/20162937N3syEBsNex.png

import requests
記得在 python 開頭加入 requests

讓我們開始組合 8!

Creat

params = {'api': '','v': 3}
data = {
    表格編號 1: 資料 1,
    表格編號 2: 資料 2,
    表格編號 3: 資料 3,
}
ENDPOINT = f'https://{ragic_BASE_URL}/forms8/9'  # 在這個表單新增資料
response = requests.post(ENDPOINT, params=params, json=data, headers={'Authorization': 'Basic '+ragic_API_KEY})
print(response.text)

是不是很簡單,把三個物件做出來,丟到 requests.post() 裡面就可以了!如果你熟悉的話,直接把 params 跟 ENDPOINT 丟進去,甚至只要 data 跟 response 兩行就可以解決!
https://ithelp.ithome.com.tw/upload/images/20230922/20162937bWpuVAwnGv.png
https://ithelp.ithome.com.tw/upload/images/20230922/201629370RexkQyEyn.png

執行後就能看到他跑上去啦!如果 request 有錯誤他會回傳,並存入 response,print(response.text) 會把資訊 show 出來。

Read

更簡單,不需要 data

params = {'api': '','v': 3}
ENDPOINT = f'{ragic_BASE_URL}/forms8/9'
response = requests.get(ENDPOINT, params=params, headers={'Authorization': 'Basic '+ragic_API_KEY})

或你可以把 params & ENPOINT 中的資料直接放進 requests.get() 中,這樣只要一行:

response = requests.get(f'{ragic_BASE_URL}/forms8/9', params={'api': '','v': 3}, headers={'Authorization': 'Basic '+ragic_API_KEY})

這邊比較難的是他的資料格式,如果你只是要看文字檔案,直接用 response.text 就可以,但因為是字串(str),你無法處理這串資料,這邊就要用到 json 模組了!記得要在執行前 import json

response_dict = response.json

他可以把 json 格式直接轉換成字典,然後你就可以把整串丟給 ChatGPT,請他幫你整理出資料。例如跟他說:「幫我把這串資料以訂單編號為 key,整理成一個字典,裡面包含總金額、運費、付款方式、品項、會員名稱、EMAIL、電話」,假設他給了你

order = {
    order_id_1 : {
        總金額: 199;
        運費: 60;
        付款方式: Apple Pay;
        品項: 四季春茶;
        會員名稱: Gabriel;
        EMAIL: gabriel@hi.com;
        電話: 0987654321;
    },
    order_id_2: {
        bla bla bla
    },
}

你就可以輕易呼叫 order[order_id_1][總金額],來獲取資料,進行更進階的處理了!

Update

這個其實就跟 Creat 一樣,只是你必須指定到表單編號後面的紀錄編號(RECORD_ID),也就是現在真的存在的資料,然後用跟 Creat 一樣的方法覆蓋掉原本的檔案,所以就不寫了!

Delete

這個的話建議直接打開 Ragic 頁面去刪除,不然誤刪了真是會麻煩,我通常都是刪除單筆資料,所以這邊會指定到 record_id

ENDPOINT = f'{ragic_BASE_URL}/forms8/9/30'
reqponse = requests.delete(ENDPOINT, params=params, headers={'Authorization': 'Basic '+API_KEY})

跟 Read 一樣,不需要指定 Data。

這樣你四個方法都學玩啦!如果想更深入了解,可以參考以下的文件們~

官方文件們

API Handbook
https://www.ragic.com/intl/zh-TW/doc-api

有 Javascript, PHP & Python 的 example
https://github.com/ragic/public/tree/master/HTTP%20API%20Sample


上一篇
«D13»簡單了解一下 Python Flask 輕量級網頁架構
下一篇
«D15»熟悉一下 Ragic 表單設計
系列文
透過WordPress架設電商網站,並串接管理後台30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言