Crescendo Lab เอกสาร ดีพลอย
ไทย
สมัครใช้งาน

HTTP API

HTTP API ของ LINE Agent SDK สำหรับโปรแกรมที่ไม่ใช้ MCP สร้างการเชื่อมต่อ LINE ดูว่าแต่ละขั้นเป็นตาใคร ส่งข้อความเมื่อเผยแพร่ เครื่องมือ AI ไม่แตะข้อมูลรับรอง

อัปเดตล่าสุด
ดู Markdown เปิดใน Claude เปิดใน ChatGPT

URL หลัก#

API อยู่ใต้บริการที่คุณรันเอง และทุกพาธขึ้นต้นด้วย /api:

text
https://line-oa-mcp--<องค์กร>.hosting.agentlab.run/api

วิธีรันดูที่รัน LINE OA MCP บน Agent Lab

ใช้ MCP ง่ายกว่า

เครื่องมือ AI ที่รองรับ MCP (Claude Code, Codex, Cursor) ใช้ LINE OA MCP ได้เลย เครื่องมือทำงานเหมือน API นี้ และบริการที่รันอยู่ยังให้คำอธิบายสำหรับ AI ที่ /agent.md ด้วย

การยืนยันตัวตน#

ทุกคำขอไปที่ /api ต้องมี Agent token ลงชื่อเข้าใช้แผงควบคุมด้วย Google แล้วสร้างในหน้า Agent token (/tokens):

http
Authorization: Bearer <Agent token>

ถ้าไม่มี ไม่ถูกต้อง หรือถูกเพิกถอนแล้วจะได้ 401 โทเค็นแสดงเพียงครั้งเดียว เลิกใช้เมื่อไรให้เพิกถอนในหน้าเดียวกัน

อย่าวางโทเค็นในแชต

ให้เจ้าของใส่โทเค็นในตัวแปรสภาพแวดล้อมของเครื่องมือ AI (เช่น LINE_AGENT_SDK_TOKEN) แทนการวางในบทสนทนา Channel Secret ก็กรอกในหน้าของบริการเท่านั้น

1. สร้างการเชื่อมต่อ#

เมธอดและพาธใช้ทำอะไร
POST /api/connectionsสร้างการเชื่อมต่อกับบัญชีทางการ LINE ที่มีอยู่ คืนค่าการเชื่อมต่อพร้อม setupUrl ให้ส่งต่อให้คน
GET /api/connectionsแสดงการเชื่อมต่อทั้งหมด
GET /api/connections/{id}อ่านสถานะปัจจุบันของการเชื่อมต่อ ทุกครั้งที่อ่านจะตรวจด้วยว่าคนทำขั้นตอนฝั่ง LINE เสร็จแล้วหรือยัง
http
POST /api/connections
Content-Type: application/json

{ "workspace": "acme", "label": "บัญชีซัพพอร์ต" }

ทั้งสองฟิลด์ไม่บังคับ ส่ง setupUrl ที่ได้ให้คน Channel ID และ Channel Secret กรอกในหน้านั้นเท่านั้น

2. รอให้แต่ละขั้นเสร็จ#

nextStep ของการเชื่อมต่อบอกว่าตอนนี้เป็นตาของใคร ต้องทำอะไร และนับว่าเสร็จเมื่อไร:

json
{
  "id": "conn_9f3a1c2b4d5e",
  "state": "webhook_active",
  "live": false,
  "nextStep": {
    "key": "webhook_active",
    "title": "打開「Use webhook」",
    "actor": "human",
    "status": "current",
    "doneWhen": "LINE 回報 webhook active = true(每 2 秒自動偵測,不用回來按)",
    "how": "LINE Developers › Messaging API › Webhook settings › Use webhook 打開。",
    "url": "https://developers.line.biz/console/"
  }
}
  • เมื่อ actor เป็น human ให้บอก title, how และ url แก่คน แล้วอ่านการเชื่อมต่อต่อไป ขั้นนั้นจะเสร็จเอง ไม่ต้องถามว่าเสร็จหรือยัง
  • เมื่อ actor เป็น ops ผู้ดูแลบริการกำลังดำเนินการ ให้บอกคนว่ากำลังดำเนินการ
  • เมื่อ actor เป็น agent บริการทำเอง
  • เมื่อ status เป็น error เหตุผลอยู่ใน note

แนะนำให้อ่านทุก 2 ถึง 5 วินาที เมื่อ live เป็น true แสดงว่าข้อความ LINE แรกส่งถึงมือถือของคนแล้ว ชื่อและคำอธิบายของขั้นตอนเป็นภาษาจีนตัวเต็ม

ขั้นตอน

keyใครทำนับว่าเสร็จเมื่อ
credentialsเจ้าของออก token ด้วย Channel ID และ Channel Secret ได้
healthอัตโนมัติอ่านข้อมูลบัญชี โหมดแชต webhook โควตา และจำนวนเพื่อนแล้ว โดยไม่เปลี่ยนการตั้งค่า
modeเจ้าของเลือกส่งอย่างเดียว ส่งต่อ หรือรับช่วงตรง ในหน้าของบริการ
webhook_setอัตโนมัติตั้ง URL ของ webhook เป็นบริการนี้และอ่านกลับมายืนยันแล้ว
webhook_activeเจ้าของเปิด "Use webhook" ใน LINE Developers และตรวจจับได้อัตโนมัติ
auto_replyเจ้าของปิดข้อความตอบกลับอัตโนมัติใน OA Manager และยืนยันในหน้าของบริการ
pairเจ้าของเพิ่มเพื่อนแล้วส่ง pairingCode
first_messageอัตโนมัติการตอบกลับข้อความจับคู่ได้รับการยอมรับ

ถ้าเลือกส่งอย่างเดียว webhook_set, webhook_active และ auto_reply จะเป็น skipped และ pair จะเปลี่ยนเป็นการวาง userId สำหรับทดสอบ ถ้าเลือกส่งต่อ จะข้าม auto_reply และการตั้งค่าของระบบเดิมคงเดิม

3. ส่งข้อความ#

เมธอดและพาธใช้ทำอะไร
POST /api/connections/{id}/messagesพุชข้อความถึงผู้ทดสอบที่จับคู่แล้ว
http
POST /api/connections/conn_9f3a1c2b4d5e/messages
Content-Type: application/json

{ "text": "คำสั่งซื้อของคุณจัดส่งแล้ว" }
json
{ "ok": true, "to": "paired test user" }

ถ้าการเชื่อมต่อยังไม่เผยแพร่ จะได้ 409 พร้อม nextStep

การพุชใช้โควตา

ข้อความพุชนับรวมโควตารายเดือนของบัญชีทางการ แต่การตอบกลับไม่นับ เมื่อผู้ทดสอบส่งข้อความถึงบัญชี Agent จะตอบด้วยการตอบกลับ และเปลี่ยนเป็นพุชก็ต่อเมื่อ reply token หมดอายุ

แซนด์บ็อกซ์#

ถ้ายังไม่มีบัญชีทางการ ลองด้วยแซนด์บ็อกซ์ที่ผู้ดูแลเตรียมไว้:

เมธอดและพาธใช้ทำอะไร
POST /api/sandboxรับรหัส join คืนค่า joinText (เช่น join blue-fox-42) และ account.addFriendUrl ของแซนด์บ็อกซ์
GET /api/sandbox/{id}อ่านสถานะแซนด์บ็อกซ์ ถ้า live เป็น true แสดงว่าข้อความแรกส่งถึงแล้ว

ส่ง addFriendUrl และ joinText ให้คน เมื่อเพิ่มเพื่อนและส่งบรรทัดนั้น มือถือจะผูกกับเวิร์กสเปซ แซนด์บ็อกซ์ส่งได้เฉพาะมือถือที่ join แล้ว และความเป็นเพื่อนไม่ย้ายไปบัญชีจริง

ออบเจ็กต์การเชื่อมต่อ#

ฟิลด์ความหมาย
idID ของการเชื่อมต่อ ใช้ในการเรียกครั้งต่อไปทั้งหมด
statekey ของขั้นปัจจุบัน หรือ live เมื่อทุกอย่างเสร็จ
liveเป็น true เมื่อข้อความแรกส่งถึงแล้ว
modepush_only, relay, direct หรือ null ถ้ายังไม่เลือก
accountbasicId, displayName และ addFriendUrl ของบัญชีทางการ เป็น null จนกว่าจะตรวจสุขภาพเสร็จ
pairingCodeรหัสจับคู่ที่ส่งจากมือถือ เช่น AL-7Q4K
testeruserId ของผู้ทดสอบที่จับคู่แล้ว
webhookUrlURL ของ webhook สำหรับการเชื่อมต่อนี้ บริการลงทะเบียนกับ LINE เอง
setupUrlหน้าแผงควบคุมที่ส่งให้คน
stepsทุกขั้นตอน แต่ละขั้นมี key, title, actor, status, doneWhen และอาจมี how, url, note
nextStepขั้นที่ต้องทำตอนนี้ เป็น null เมื่อทุกอย่างเสร็จ

ข้อผิดพลาด#

สถานะความหมายต้องทำอย่างไร
400คำขอไม่ถูกต้อง เช่น text ว่าง เหตุผลอยู่ใน errorแก้แล้วส่งใหม่
401ไม่มีโทเค็น โทเค็นผิด หรือถูกเพิกถอนแล้วตรวจ Authorization: Bearer <Agent token>
404ไม่พบการเชื่อมต่อหรือแซนด์บ็อกซ์นี้ตรวจ id
409การเชื่อมต่อยังไม่เผยแพร่ จึงส่งไม่ได้ทำต่อตาม nextStep ที่ได้รับ

Webhook#

POST /hooks/line/{id} สำหรับให้แพลตฟอร์ม LINE เรียก ไม่ต้องใช้ token แต่ทุกคำขอต้องผ่านการตรวจ x-line-signature ไม่เช่นนั้นจะได้ 401 บริการลงทะเบียน URL นี้กับ LINE เองในขั้น webhook_set ไม่ต้องวางด้วยมือ