GLOBAL

ฟอร์มบิลเดอร์ที่เชื่อมต่อ API ได้: เชื่อม Walla เข้ากับเวิร์กโฟลว์ขององค์กร

Yuvin Kim

September 16, 2025

GLOBAL

ฟอร์มบิลเดอร์ที่เชื่อมต่อ API ได้: เชื่อม Walla เข้ากับเวิร์กโฟลว์ขององค์กร

Yuvin Kim

September 16, 2025

ฟอร์มออนไลน์ไม่ได้เป็นเพียงเครื่องมือเก็บข้อมูลอีกต่อไป หากสามารถ เชื่อมต่อกับ API ก็จะสามารถเชื่อมกับ CRM, ERP, แอปพลิเคชันภายใน และแดชบอร์ดวิเคราะห์ข้อมูล เพื่อทำให้การไหลของข้อมูลอัตโนมัติได้ บทความนี้จะแนะนำวิธี เริ่มต้นใช้งาน Walla API, เอ็นด์พอยต์หลัก, และ กรณีใช้งานจริง

1) เริ่มต้น: การยืนยันตัวตนด้วย API

ก่อนใช้งาน Walla API ต้องสร้าง API Key และตั้งค่าการยืนยันตัวตน

1.1 การสร้าง API Key
  1. เข้าสู่ระบบ Walla Dashboard (app.walla.my)

  2. ไปที่ การตั้งค่าทีม ที่ต้องการสร้าง API Key

  3. ใน Team Settings > API สร้าง clientId / apiKey และเก็บไว้ในที่ปลอดภัย

1.2 ส่งคำขอยืนยันตัวตน

Walla API ใช้ Basic Authentication

  • สร้างสตริง {clientId}:{apiKey} (เช่น myClientId:myApiKey)

  • เข้ารหัสสตริงด้วย Base64

  • ใส่ใน HTTP Header:

Authorization: Basic {โทเค็นที่เข้ารหัสด้วย Base64}

ตัวอย่าง cURL (Bash):

# 1. สร้างโทเค็น (macOS / Linux)
TOKEN=$(echo -n "YOUR_CLIENT_ID:YOUR_API_KEY" | base64)

# 2. ส่ง API Request
curl -X GET "https://walla-api.datalab.workers.dev/workspace/list" \
     -H "Authorization: Basic $TOKEN"

2) รายละเอียด API Endpoint

Base URL: https://walla-api.data-lab.workers.dev

2.1 เวิร์กสเปซ (Workspaces)
  • GET /workspace/list
    ดึงรายชื่อเวิร์กสเปซทั้งหมดในทีม

ตัวอย่าง Response (JSON):

[
  {
    "workspaceName": "เวิร์กสเปซทีมการตลาด",
    "workspaceKey": "ws-key-12345",
    "createdAt": "2025-07-03T10:00:00Z",
    "creator": "user-uid-abcde",
    "storage": { "used": 102400 }
  }
]
  • GET /workspace/{workspaceKey}
    ดึงข้อมูลเวิร์กสเปซที่ระบุ

  • GET /workspace/query/projectKey?projectKey={projectKey}
    ค้นหา workspaceKey จาก projectKey

ตัวอย่าง Response (JSON):

{
  "workspaceKey": "ws-key-12345"
}
2.2 โปรเจกต์ (Projects)
  • GET /workspace/{workspaceKey}/project/list
    ดึงรายชื่อโปรเจกต์ทั้งหมดในเวิร์กสเปซ

  • GET /workspace/{workspaceKey}/project/{projectKey}
    ดึงรายละเอียดโปรเจกต์ที่ระบุ

2.3 คำตอบ (Responses)
  • GET /workspace/{workspaceKey}/project/{projectKey}/response/list
    ดาวน์โหลดคำตอบทั้งหมดเป็นไฟล์ Parquet
    Content-Type: application/octet-stream

  • GET /workspace/{workspaceKey}/project/{projectKey}/response/get/responseKey/{responseKey}
    ดึงคำตอบเดี่ยวโดยใช้ responseKey

  • GET /workspace/{workspaceKey}/project/{projectKey}/response/get/customerKey/{customerKey}
    ดึงคำตอบเดี่ยวโดยใช้ customerKey

  • GET /workspace/{workspaceKey}/project/{projectKey}/response/check/customerKey/{customerKey}
    ตรวจสอบว่ามีคำตอบที่ใช้ customerKey หรือไม่

ตัวอย่าง Response (JSON):

{
  "exists": true
}
  • GET /workspace/{workspaceKey}/project/{projectKey}/response/query/dateRange?startDate=...&endDate=...
    ดึงคำตอบตามช่วงวัน

  • GET /workspace/{workspaceKey}/project/{projectKey}/response/listCustomerKeys
    ดึงรายชื่อ customerKey ทั้งหมดที่ไม่เป็น null

ตัวอย่าง Response (JSON):

{
  "customerKeys": ["customer-001", "customer-002", "customer-003"]
}
2.4 คอลัมน์ (Columns)
  • GET /workspace/{workspaceKey}/project/{projectKey}/columns
    ดึงโครงสร้างฟิลด์และ hidden field ของโปรเจกต์

ตัวอย่าง Response (JSON):

{
  "field_columns": [
    { "column_name": "field_abcd", "label": "ชื่อ", "type": "TEXT" }
  ],
  "hidden_field_columns": [
    { "column_name": "hf_1234", "label": "ช่องทางเข้าถึง", "type": "TEXT" }
  ]
}

3) กรณีการใช้งาน

ตัวอย่างที่ 1: ดาวน์โหลดคำตอบทั้งหมดเพื่อนำไปวิเคราะห์
  1. ใช้ GET /workspace/list หรือ GET /workspace/query/projectKey เพื่อหา workspaceKey

  2. ใช้ GET /workspace/{workspaceKey}/project/{projectKey}/response/list เพื่อดาวน์โหลดไฟล์ Parquet

  3. วิเคราะห์ไฟล์ด้วย Pandas (Python) หรือ R

ตัวอย่างที่ 2: เชื่อม CRM เพื่อตรวจสอบประวัติคำตอบของลูกค้า
  1. ซิงก์ Customer ID ของ CRM กับ customerKey ใน Walla

  2. เวลาดูข้อมูลลูกค้า ใช้ GET .../response/check/customerKey/{customerKey} เพื่อตรวจสอบ

  3. ถ้ามีคำตอบ (exists: true), ใช้ GET .../response/get/customerKey/{customerKey} เพื่อดึงรายละเอียดและแสดงใน CRM

4) หมายเหตุและ FAQ

  • เวอร์ชัน API: v1.0 อาจมีเวอร์ชันใหม่ในอนาคต

  • การจัดการข้อผิดพลาด: คืนค่า HTTP Status ปกติ (400, 401, 404 เป็นต้น) พร้อมรายละเอียดเพิ่มเติม

  • Rate Limiting: จำกัดจำนวนการเรียกเพื่อป้องกันการใช้งานเกินกำลัง สามารถตรวจสอบได้จาก response header

  • หากพบปัญหา ติดต่อ Walla Help Center

สรุป

ด้วย Walla API ฟอร์มจะไม่ใช่แค่ช่องเก็บข้อมูล แต่เป็น ศูนย์กลางในการเชื่อมต่อและทำให้งานอัตโนมัติ ตั้งแต่การเก็บข้อมูล → ยืนยันตัวตน → วิเคราะห์ → เชื่อมต่อระบบ หนึ่งเครื่องมือ แต่สร้างเวิร์กโฟลว์ได้ไม่จำกัด

ฟอร์มออนไลน์ไม่ได้เป็นเพียงเครื่องมือเก็บข้อมูลอีกต่อไป หากสามารถ เชื่อมต่อกับ API ก็จะสามารถเชื่อมกับ CRM, ERP, แอปพลิเคชันภายใน และแดชบอร์ดวิเคราะห์ข้อมูล เพื่อทำให้การไหลของข้อมูลอัตโนมัติได้ บทความนี้จะแนะนำวิธี เริ่มต้นใช้งาน Walla API, เอ็นด์พอยต์หลัก, และ กรณีใช้งานจริง

1) เริ่มต้น: การยืนยันตัวตนด้วย API

ก่อนใช้งาน Walla API ต้องสร้าง API Key และตั้งค่าการยืนยันตัวตน

1.1 การสร้าง API Key
  1. เข้าสู่ระบบ Walla Dashboard (app.walla.my)

  2. ไปที่ การตั้งค่าทีม ที่ต้องการสร้าง API Key

  3. ใน Team Settings > API สร้าง clientId / apiKey และเก็บไว้ในที่ปลอดภัย

1.2 ส่งคำขอยืนยันตัวตน

Walla API ใช้ Basic Authentication

  • สร้างสตริง {clientId}:{apiKey} (เช่น myClientId:myApiKey)

  • เข้ารหัสสตริงด้วย Base64

  • ใส่ใน HTTP Header:

Authorization: Basic {โทเค็นที่เข้ารหัสด้วย Base64}

ตัวอย่าง cURL (Bash):

# 1. สร้างโทเค็น (macOS / Linux)
TOKEN=$(echo -n "YOUR_CLIENT_ID:YOUR_API_KEY" | base64)

# 2. ส่ง API Request
curl -X GET "https://walla-api.datalab.workers.dev/workspace/list" \
     -H "Authorization: Basic $TOKEN"

2) รายละเอียด API Endpoint

Base URL: https://walla-api.data-lab.workers.dev

2.1 เวิร์กสเปซ (Workspaces)
  • GET /workspace/list
    ดึงรายชื่อเวิร์กสเปซทั้งหมดในทีม

ตัวอย่าง Response (JSON):

[
  {
    "workspaceName": "เวิร์กสเปซทีมการตลาด",
    "workspaceKey": "ws-key-12345",
    "createdAt": "2025-07-03T10:00:00Z",
    "creator": "user-uid-abcde",
    "storage": { "used": 102400 }
  }
]
  • GET /workspace/{workspaceKey}
    ดึงข้อมูลเวิร์กสเปซที่ระบุ

  • GET /workspace/query/projectKey?projectKey={projectKey}
    ค้นหา workspaceKey จาก projectKey

ตัวอย่าง Response (JSON):

{
  "workspaceKey": "ws-key-12345"
}
2.2 โปรเจกต์ (Projects)
  • GET /workspace/{workspaceKey}/project/list
    ดึงรายชื่อโปรเจกต์ทั้งหมดในเวิร์กสเปซ

  • GET /workspace/{workspaceKey}/project/{projectKey}
    ดึงรายละเอียดโปรเจกต์ที่ระบุ

2.3 คำตอบ (Responses)
  • GET /workspace/{workspaceKey}/project/{projectKey}/response/list
    ดาวน์โหลดคำตอบทั้งหมดเป็นไฟล์ Parquet
    Content-Type: application/octet-stream

  • GET /workspace/{workspaceKey}/project/{projectKey}/response/get/responseKey/{responseKey}
    ดึงคำตอบเดี่ยวโดยใช้ responseKey

  • GET /workspace/{workspaceKey}/project/{projectKey}/response/get/customerKey/{customerKey}
    ดึงคำตอบเดี่ยวโดยใช้ customerKey

  • GET /workspace/{workspaceKey}/project/{projectKey}/response/check/customerKey/{customerKey}
    ตรวจสอบว่ามีคำตอบที่ใช้ customerKey หรือไม่

ตัวอย่าง Response (JSON):

{
  "exists": true
}
  • GET /workspace/{workspaceKey}/project/{projectKey}/response/query/dateRange?startDate=...&endDate=...
    ดึงคำตอบตามช่วงวัน

  • GET /workspace/{workspaceKey}/project/{projectKey}/response/listCustomerKeys
    ดึงรายชื่อ customerKey ทั้งหมดที่ไม่เป็น null

ตัวอย่าง Response (JSON):

{
  "customerKeys": ["customer-001", "customer-002", "customer-003"]
}
2.4 คอลัมน์ (Columns)
  • GET /workspace/{workspaceKey}/project/{projectKey}/columns
    ดึงโครงสร้างฟิลด์และ hidden field ของโปรเจกต์

ตัวอย่าง Response (JSON):

{
  "field_columns": [
    { "column_name": "field_abcd", "label": "ชื่อ", "type": "TEXT" }
  ],
  "hidden_field_columns": [
    { "column_name": "hf_1234", "label": "ช่องทางเข้าถึง", "type": "TEXT" }
  ]
}

3) กรณีการใช้งาน

ตัวอย่างที่ 1: ดาวน์โหลดคำตอบทั้งหมดเพื่อนำไปวิเคราะห์
  1. ใช้ GET /workspace/list หรือ GET /workspace/query/projectKey เพื่อหา workspaceKey

  2. ใช้ GET /workspace/{workspaceKey}/project/{projectKey}/response/list เพื่อดาวน์โหลดไฟล์ Parquet

  3. วิเคราะห์ไฟล์ด้วย Pandas (Python) หรือ R

ตัวอย่างที่ 2: เชื่อม CRM เพื่อตรวจสอบประวัติคำตอบของลูกค้า
  1. ซิงก์ Customer ID ของ CRM กับ customerKey ใน Walla

  2. เวลาดูข้อมูลลูกค้า ใช้ GET .../response/check/customerKey/{customerKey} เพื่อตรวจสอบ

  3. ถ้ามีคำตอบ (exists: true), ใช้ GET .../response/get/customerKey/{customerKey} เพื่อดึงรายละเอียดและแสดงใน CRM

4) หมายเหตุและ FAQ

  • เวอร์ชัน API: v1.0 อาจมีเวอร์ชันใหม่ในอนาคต

  • การจัดการข้อผิดพลาด: คืนค่า HTTP Status ปกติ (400, 401, 404 เป็นต้น) พร้อมรายละเอียดเพิ่มเติม

  • Rate Limiting: จำกัดจำนวนการเรียกเพื่อป้องกันการใช้งานเกินกำลัง สามารถตรวจสอบได้จาก response header

  • หากพบปัญหา ติดต่อ Walla Help Center

สรุป

ด้วย Walla API ฟอร์มจะไม่ใช่แค่ช่องเก็บข้อมูล แต่เป็น ศูนย์กลางในการเชื่อมต่อและทำให้งานอัตโนมัติ ตั้งแต่การเก็บข้อมูล → ยืนยันตัวตน → วิเคราะห์ → เชื่อมต่อระบบ หนึ่งเครื่องมือ แต่สร้างเวิร์กโฟลว์ได้ไม่จำกัด

ฟอร์มออนไลน์ไม่ได้เป็นเพียงเครื่องมือเก็บข้อมูลอีกต่อไป หากสามารถ เชื่อมต่อกับ API ก็จะสามารถเชื่อมกับ CRM, ERP, แอปพลิเคชันภายใน และแดชบอร์ดวิเคราะห์ข้อมูล เพื่อทำให้การไหลของข้อมูลอัตโนมัติได้ บทความนี้จะแนะนำวิธี เริ่มต้นใช้งาน Walla API, เอ็นด์พอยต์หลัก, และ กรณีใช้งานจริง

1) เริ่มต้น: การยืนยันตัวตนด้วย API

ก่อนใช้งาน Walla API ต้องสร้าง API Key และตั้งค่าการยืนยันตัวตน

1.1 การสร้าง API Key
  1. เข้าสู่ระบบ Walla Dashboard (app.walla.my)

  2. ไปที่ การตั้งค่าทีม ที่ต้องการสร้าง API Key

  3. ใน Team Settings > API สร้าง clientId / apiKey และเก็บไว้ในที่ปลอดภัย

1.2 ส่งคำขอยืนยันตัวตน

Walla API ใช้ Basic Authentication

  • สร้างสตริง {clientId}:{apiKey} (เช่น myClientId:myApiKey)

  • เข้ารหัสสตริงด้วย Base64

  • ใส่ใน HTTP Header:

Authorization: Basic {โทเค็นที่เข้ารหัสด้วย Base64}

ตัวอย่าง cURL (Bash):

# 1. สร้างโทเค็น (macOS / Linux)
TOKEN=$(echo -n "YOUR_CLIENT_ID:YOUR_API_KEY" | base64)

# 2. ส่ง API Request
curl -X GET "https://walla-api.datalab.workers.dev/workspace/list" \
     -H "Authorization: Basic $TOKEN"

2) รายละเอียด API Endpoint

Base URL: https://walla-api.data-lab.workers.dev

2.1 เวิร์กสเปซ (Workspaces)
  • GET /workspace/list
    ดึงรายชื่อเวิร์กสเปซทั้งหมดในทีม

ตัวอย่าง Response (JSON):

[
  {
    "workspaceName": "เวิร์กสเปซทีมการตลาด",
    "workspaceKey": "ws-key-12345",
    "createdAt": "2025-07-03T10:00:00Z",
    "creator": "user-uid-abcde",
    "storage": { "used": 102400 }
  }
]
  • GET /workspace/{workspaceKey}
    ดึงข้อมูลเวิร์กสเปซที่ระบุ

  • GET /workspace/query/projectKey?projectKey={projectKey}
    ค้นหา workspaceKey จาก projectKey

ตัวอย่าง Response (JSON):

{
  "workspaceKey": "ws-key-12345"
}
2.2 โปรเจกต์ (Projects)
  • GET /workspace/{workspaceKey}/project/list
    ดึงรายชื่อโปรเจกต์ทั้งหมดในเวิร์กสเปซ

  • GET /workspace/{workspaceKey}/project/{projectKey}
    ดึงรายละเอียดโปรเจกต์ที่ระบุ

2.3 คำตอบ (Responses)
  • GET /workspace/{workspaceKey}/project/{projectKey}/response/list
    ดาวน์โหลดคำตอบทั้งหมดเป็นไฟล์ Parquet
    Content-Type: application/octet-stream

  • GET /workspace/{workspaceKey}/project/{projectKey}/response/get/responseKey/{responseKey}
    ดึงคำตอบเดี่ยวโดยใช้ responseKey

  • GET /workspace/{workspaceKey}/project/{projectKey}/response/get/customerKey/{customerKey}
    ดึงคำตอบเดี่ยวโดยใช้ customerKey

  • GET /workspace/{workspaceKey}/project/{projectKey}/response/check/customerKey/{customerKey}
    ตรวจสอบว่ามีคำตอบที่ใช้ customerKey หรือไม่

ตัวอย่าง Response (JSON):

{
  "exists": true
}
  • GET /workspace/{workspaceKey}/project/{projectKey}/response/query/dateRange?startDate=...&endDate=...
    ดึงคำตอบตามช่วงวัน

  • GET /workspace/{workspaceKey}/project/{projectKey}/response/listCustomerKeys
    ดึงรายชื่อ customerKey ทั้งหมดที่ไม่เป็น null

ตัวอย่าง Response (JSON):

{
  "customerKeys": ["customer-001", "customer-002", "customer-003"]
}
2.4 คอลัมน์ (Columns)
  • GET /workspace/{workspaceKey}/project/{projectKey}/columns
    ดึงโครงสร้างฟิลด์และ hidden field ของโปรเจกต์

ตัวอย่าง Response (JSON):

{
  "field_columns": [
    { "column_name": "field_abcd", "label": "ชื่อ", "type": "TEXT" }
  ],
  "hidden_field_columns": [
    { "column_name": "hf_1234", "label": "ช่องทางเข้าถึง", "type": "TEXT" }
  ]
}

3) กรณีการใช้งาน

ตัวอย่างที่ 1: ดาวน์โหลดคำตอบทั้งหมดเพื่อนำไปวิเคราะห์
  1. ใช้ GET /workspace/list หรือ GET /workspace/query/projectKey เพื่อหา workspaceKey

  2. ใช้ GET /workspace/{workspaceKey}/project/{projectKey}/response/list เพื่อดาวน์โหลดไฟล์ Parquet

  3. วิเคราะห์ไฟล์ด้วย Pandas (Python) หรือ R

ตัวอย่างที่ 2: เชื่อม CRM เพื่อตรวจสอบประวัติคำตอบของลูกค้า
  1. ซิงก์ Customer ID ของ CRM กับ customerKey ใน Walla

  2. เวลาดูข้อมูลลูกค้า ใช้ GET .../response/check/customerKey/{customerKey} เพื่อตรวจสอบ

  3. ถ้ามีคำตอบ (exists: true), ใช้ GET .../response/get/customerKey/{customerKey} เพื่อดึงรายละเอียดและแสดงใน CRM

4) หมายเหตุและ FAQ

  • เวอร์ชัน API: v1.0 อาจมีเวอร์ชันใหม่ในอนาคต

  • การจัดการข้อผิดพลาด: คืนค่า HTTP Status ปกติ (400, 401, 404 เป็นต้น) พร้อมรายละเอียดเพิ่มเติม

  • Rate Limiting: จำกัดจำนวนการเรียกเพื่อป้องกันการใช้งานเกินกำลัง สามารถตรวจสอบได้จาก response header

  • หากพบปัญหา ติดต่อ Walla Help Center

สรุป

ด้วย Walla API ฟอร์มจะไม่ใช่แค่ช่องเก็บข้อมูล แต่เป็น ศูนย์กลางในการเชื่อมต่อและทำให้งานอัตโนมัติ ตั้งแต่การเก็บข้อมูล → ยืนยันตัวตน → วิเคราะห์ → เชื่อมต่อระบบ หนึ่งเครื่องมือ แต่สร้างเวิร์กโฟลว์ได้ไม่จำกัด

Continue Reading

당신이 그토록 찾던 폼, 무료로 사용하세요.

바로 여기, 왈라에서.

Paprika Data Lab Inc.

사업자등록번호: 660-88-02002

통신판매번호: 2022-서울관악-0879

서울특별시 강남구 역삼로 557

당신이 그토록 찾던 폼, 무료로 사용하세요.

바로 여기, 왈라에서.

Paprika Data Lab Inc.

사업자등록번호: 660-88-02002

통신판매번호: 2022-서울관악-0879

서울특별시 강남구 역삼로 557

당신이 그토록 찾던 폼, 무료로 사용하세요.

바로 여기, 왈라에서.

Paprika Data Lab Inc.

사업자등록번호: 660-88-02002

통신판매번호: 2022-서울관악-0879

서울특별시 강남구 역삼로 557