n8n Thai
by n8n Thai

n8n x Lazada: ดึงออเดอร์และอัปเดตสต็อกอัตโนมัติ

คู่มือเชื่อม n8n กับ Lazada Open Platform API เพื่อดึงออเดอร์, อัปเดตสต็อก และแจ้งเตือนอัตโนมัติ สำหรับร้านค้าบน Lazada ไทย

n8n x Lazada: ดึงออเดอร์และอัปเดตสต็อกอัตโนมัติ

Lazada API กับ n8n ทำงานร่วมกันอย่างไร

Lazada เปิด Open Platform API สำหรับผู้ขายและนักพัฒนา ให้เข้าถึงข้อมูลออเดอร์, สินค้า, สต็อก และ logistics ผ่าน REST API เมื่อนำมาใช้กับ n8n ทำให้สร้าง Workflow ที่จัดการร้านบน Lazada ได้แบบอัตโนมัติสมบูรณ์

บทความนี้เป็นส่วนหนึ่งของคลัสเตอร์ Automation สำหรับร้านค้าออนไลน์ด้วย n8n ซึ่งครอบคลุมหลายแพลตฟอร์ม

ข้อกำหนดเบื้องต้น

  • บัญชีผู้ขายบน Lazada Thailand
  • สมัครเป็น Developer ที่ Lazada Open Platform เพื่อสร้าง App
  • n8n instance ที่เข้าถึงจากภายนอกได้ (สำหรับ Webhook)

ขั้นตอนที่ 1: สร้าง App บน Lazada Open Platform

1.1 ไปที่ open.lazada.com → Login ด้วยบัญชีผู้ขาย → ไปที่ “App Console”

1.2 คลิก “Create App” กรอกข้อมูล App Name, Description และ Redirect URL

1.3 เลือก Permission ที่ต้องการ โดยทั่วไปสำหรับร้านค้าต้องการ: order, product, finance

1.4 บันทึก App Key และ App Secret ที่ได้รับ

1.5 ดำเนินการ OAuth Authorization เพื่อรับ Access Token สำหรับร้านของคุณ

ขั้นตอนที่ 2: ทำความเข้าใจ Lazada API Signature

Lazada ใช้ระบบ signature คล้ายกับ Shopee ทุก request ต้องมี parameter เหล่านี้

  • app_key: App Key ที่ได้จาก Developer Portal
  • timestamp: Unix timestamp (milliseconds)
  • sign_method: ใช้ sha256
  • sign: HMAC-SHA256 signature ที่คำนวณจาก parameters ทั้งหมด
  • access_token: Token ที่ได้จาก OAuth

วิธีสร้าง Signature ใน n8n (Code Node)

const crypto = require('crypto');

const appKey = $credentials.app_key;
const appSecret = $credentials.app_secret;
const accessToken = $credentials.access_token;
const timestamp = Date.now().toString();
const apiPath = '/orders/get';

// เรียงพารามิเตอร์ตาม alphabetical order แล้ว concat
const params = { app_key: appKey, timestamp, access_token: accessToken };
const sortedKeys = Object.keys(params).sort();
let paramStr = apiPath;
sortedKeys.forEach(key => { paramStr += key + params[key]; });

const sign = crypto.createHmac('sha256', appSecret)
  .update(paramStr)
  .digest('hex')
  .toUpperCase();

return [{ json: { sign, timestamp, access_token: accessToken } }];

ขั้นตอนที่ 3: Workflow — ดึงออเดอร์ใหม่

โครงสร้าง Workflow

Schedule Trigger (ทุก 10 นาที)
→ Code node (สร้าง Lazada Signature)
→ HTTP Request (GET /orders/get)
→ IF node (มีออเดอร์ใหม่?)
→ Loop Over Items
→ HTTP Request (GET /orders/items/get)
→ Google Sheets (Append Row)
→ LINE Notify (แจ้งเตือน)

API Endpoint

GET https://api.lazada.co.th/rest/orders/get

Parameters:

  • created_after: ISO 8601 datetime เช่น 2026-01-01T00:00:00+07:00
  • created_before: ISO 8601 datetime
  • status: pending, ready_to_ship, shipped, delivered, canceled
  • limit: จำนวน record ต่อหน้า (max 100)
  • offset: สำหรับ pagination

ข้อมูลที่ได้รับ

Response จะมีข้อมูล order หลัก เช่น order ID, สถานะ, ราคารวม, ที่อยู่จัดส่ง แต่ไม่มี item detail ต้องเรียก /orders/items/get แยกอีกครั้งโดยใช้ order_id

ขั้นตอนที่ 4: Workflow — อัปเดตสต็อกสินค้า

API Endpoint สำหรับอัปเดตสต็อก

POST https://api.lazada.co.th/rest/product/stock/sellable/update

Body:

{
  "payload": "[{\"skuId\":\"TH123456\",\"sellableQuantity\":50}]"
}

สังเกตว่า Lazada ใช้ skuId ซึ่งต่างจาก Shopee ที่ใช้ model_id ต้องทำ mapping ระหว่าง SKU ของแต่ละแพลตฟอร์มไว้ใน Google Sheets

ขั้นตอนที่ 5: รับ Push Notification จาก Lazada

Lazada รองรับ Push Message คล้ายกับ Webhook แต่มีกระบวนการต่างกันเล็กน้อย

5.1 ใน Lazada Developer Portal ไปที่ App Settings → Push URL ตั้งค่า URL ของ n8n Webhook node

5.2 เลือก Message Type ที่ต้องการรับ เช่น:

  • order — การเปลี่ยนสถานะออเดอร์
  • product — การอัปเดตสินค้า

5.3 Lazada จะส่ง POST request มาพร้อม appkey และ token สำหรับ verify ความถูกต้อง

เปรียบเทียบ Lazada API กับ Shopee API

ประเด็นLazadaShopee
Signature AlgorithmHMAC-SHA256HMAC-SHA256
TimestampMillisecondsSeconds
Token Expiry30 วัน4 ชั่วโมง
Rate Limitขึ้นกับ tierขึ้นกับ tier
Sandboxมีมี
Document ภาษาไทยมีบางส่วนไม่มี

Lazada มีข้อดีที่ Access Token อายุนานกว่า (30 วัน) จึง manage ง่ายกว่า Shopee ที่ต้อง refresh ทุก 4 ชั่วโมง

การจัดการ Error ที่พบบ่อย

Error: MISSING_PARAMETER — ตรวจสอบว่าส่ง parameter ครบและ format ถูกต้อง โดยเฉพาะ datetime format ของ Lazada ต้องการ ISO 8601 ที่มี timezone

Error: INVALID_SIGN — ตรวจสอบ signature generation logic ให้แน่ใจว่าเรียง parameter ถูกต้อง และใช้ App Secret ที่ถูกต้อง

Error: TOKEN_EXPIRED — สร้าง Workflow สำหรับ refresh Access Token ให้ทำงานอัตโนมัติก่อนที่ token จะหมดอายุ

สรุป

การเชื่อม n8n กับ Lazada ทำได้ดีมากด้วย Lazada Open Platform API ความยากอยู่ที่การจัดการ signature และการ map ข้อมูลจาก Lazada format ให้ตรงกับระบบในร้าน แนะนำให้เริ่มด้วย Workflow ดึงออเดอร์และทดสอบใน Sandbox ก่อนเสมอ

หากร้านขายทั้ง Lazada และ Shopee พร้อมกัน ดูวิธีซิงค์สต็อกข้ามแพลตฟอร์มได้ที่ ซิงค์สต็อกสินค้าข้ามแพลตฟอร์มด้วย n8n

อยากเรียน n8n แบบเป็นระบบ ตั้งแต่เริ่มต้นจนสร้าง Workflow ใช้งานจริงได้ ลองดู คอร์สสอน n8n ที่ aiunlock.co

Related posts