กลับไปที่แดชบอร์ด

เอกสาร

เรียนรู้วิธีใช้ Asyntai

ฟีเจอร์
การรวบรวมข้อมูลเว็บไซต์ ช่องว่างความรู้ การ์ดสินค้า การ์ดสินค้าแบบไดนามิก บริบทผู้ใช้ การติดตามแบบเรียลไทม์ Human Takeover การยกระดับ การแจ้งเตือน AI รายงานประจำวัน ฟีดข้อมูลแบบเรียลไทม์ ฟีดข้อมูลแบบเรียลไทม์ Max สมาชิกในทีม การลงชื่อเข้าใช้ครั้งเดียว รวมรูปภาพ การมองเห็นรูปภาพ วิดเจ็ตแปลภาษา การปรับให้เข้ากับท้องถิ่น ลูกค้าเป้าหมาย การจับลูกค้าเป้าหมายอัจฉริยะ ตั๋วสนับสนุน การจอง การฝัง ยกเว้นหน้า IP ที่ถูกบล็อก โมเดลที่ฉลาดกว่า เปิดใช้งานการคิดวิเคราะห์ คำแนะนำการตอบกลับ ข้อความติดตามผล เสียงเป็นข้อความ ดาวน์โหลดบันทึกการสนทนา แชทแบบฝังตัว

เอกสารอ้างอิง API

สร้างการเชื่อมต่อแบบกำหนดเองด้วย Asyntai REST API

รับคีย์ API

ต้องใช้แผนชำระเงิน: การเข้าถึง API มีให้ในแผน Starter, Standard และ Pro ดูราคา

ภาพรวม

Asyntai API ช่วยให้คุณเชื่อมต่อการสนับสนุนลูกค้าที่ขับเคลื่อนด้วย AI เข้ากับแอปพลิเคชันใดก็ได้ ส่งข้อความและรับการตอบสนองอัจฉริยะที่ฝึกจากเนื้อหาเว็บไซต์และฐานความรู้ของคุณ

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

คำขอ API ทั้งหมดต้องมีการยืนยันตัวตนโดยใช้คีย์ API ของคุณ คุณสามารถรับคีย์ API จากหน้าการตั้งค่า API

รวมคีย์ API ของคุณในคำขอโดยใช้วิธีใดวิธีหนึ่งต่อไปนี้:

  • ส่วนหัว Authorization (แนะนำ): Authorization: Bearer YOUR_API_KEY
  • ส่วนหัว X-API-Key: X-API-Key: YOUR_API_KEY

เก็บคีย์ API ของคุณเป็นความลับ ใครก็ตามที่มีคีย์ของคุณสามารถเข้าถึงบัญชีของคุณผ่าน API ได้ อย่าเปิดเผยในโค้ดฝั่งไคลเอนต์

URL พื้นฐาน

https://asyntai.com/api/v1/

เอนด์พอยท์

POST /chat/

ส่งข้อความและรับการตอบสนองที่สร้างโดย AI

เนื้อหาคำขอ

{
  "message": "What are your business hours?",
  "session_id": "user_123",      // optional
  "website_id": 1                 // optional
}
พารามิเตอร์ ประเภท จำเป็น คำอธิบาย
message string ใช่ ข้อความของผู้ใช้ที่จะส่งไปยัง AI
session_id string ไม่ ตัวระบุเฉพาะสำหรับการสนทนา ใช้ session_id เดียวกันเพื่อรักษาประวัติการสนทนา
website_id integer ไม่ ID เว็บไซต์เฉพาะ หากไม่ระบุ จะใช้เว็บไซต์หลักของคุณ

การตอบกลับ

{
  "success": true,
  "response": "Our business hours are Monday-Friday, 9 AM to 5 PM EST.",
  "session_id": "user_123"
}

ตัวอย่าง (cURL)

curl -X POST https://asyntai.com/api/v1/chat/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"message": "What are your business hours?", "session_id": "user_123"}'

ตัวอย่าง (Python)

import requests

response = requests.post(
    "https://asyntai.com/api/v1/chat/",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json"
    },
    json={
        "message": "What are your business hours?",
        "session_id": "user_123"
    }
)

data = response.json()
print(data["response"])

ตัวอย่าง (JavaScript)

const response = await fetch("https://asyntai.com/api/v1/chat/", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    message: "What are your business hours?",
    session_id: "user_123"
  })
});

const data = await response.json();
console.log(data.response);

GET /websites/

แสดงรายการเว็บไซต์ทั้งหมดที่เชื่อมโยงกับบัญชีของคุณ

การตอบกลับ

{
  "success": true,
  "websites": [
    {
      "id": 1,
      "name": "My Website",
      "domain": "example.com",
      "is_primary": true
    }
  ]
}

ตัวอย่าง (cURL)

curl https://asyntai.com/api/v1/websites/ \
  -H "Authorization: Bearer YOUR_API_KEY"

GET /conversations/

ดึงประวัติการสนทนาสำหรับเซสชันเฉพาะ

พารามิเตอร์คิวรี

พารามิเตอร์ ประเภท จำเป็น คำอธิบาย
session_id string ใช่ ID เซสชันที่จะดึงประวัติ
limit integer ไม่ จำนวนข้อความสูงสุดที่จะส่งคืน (ค่าเริ่มต้น: 50, สูงสุด: 100)

การตอบกลับ

{
  "success": true,
  "session_id": "user_123",
  "messages": [
    {
      "role": "user",
      "content": "What are your business hours?",
      "timestamp": "2024-01-15T10:30:00Z"
    },
    {
      "role": "assistant",
      "content": "Our business hours are Monday-Friday, 9 AM to 5 PM EST.",
      "timestamp": "2024-01-15T10:30:01Z"
    }
  ]
}

ตัวอย่าง (cURL)

curl "https://asyntai.com/api/v1/conversations/?session_id=user_123&limit=20" \
  -H "Authorization: Bearer YOUR_API_KEY"

GET /sessions/

แสดงรายการเซสชันแชทล่าสุดของคุณ ใช้เพื่อค้นหา ID เซสชัน ซึ่งคุณสามารถส่งไปยัง /conversations/ เพื่อดึงประวัติข้อความทั้งหมด

พารามิเตอร์คิวรี

พารามิเตอร์ ประเภท จำเป็น คำอธิบาย
limit integer ไม่ จำนวนเซสชันล่าสุดที่จะส่งคืน (ค่าเริ่มต้น: 20, สูงสุด: 100)
website_id string ไม่ กรองเซสชันตาม ID เว็บไซต์เฉพาะ
source string ไม่ กรองตามแหล่งที่มาของเซสชัน: widget, api, whatsapp, instagram, messenger, gorgias, freshchat, zapier

การตอบกลับ

{
  "success": true,
  "sessions": [
    {
      "session_id": "session_abc123def",
      "source": "widget",
      "message_count": 5,
      "first_message": "What are your business hours?",
      "first_message_at": "2024-01-15T10:30:00Z",
      "last_message_at": "2024-01-15T10:35:00Z",
      "website_domain": "example.com"
    }
  ]
}

ตัวอย่าง (cURL)

curl "https://asyntai.com/api/v1/sessions/?limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"

GET /leads/

ดึงข้อมูลลีดที่รวบรวม — ที่อยู่อีเมลและหมายเลขโทรศัพท์ที่ผู้เยี่ยมชมส่งระหว่างการสนทนาแชท

พารามิเตอร์คิวรี

พารามิเตอร์ ประเภท จำเป็น คำอธิบาย
limit integer ไม่ จำนวนลีดที่จะส่งคืน (ค่าเริ่มต้น: 50, สูงสุด: 100)
website_id string ไม่ กรองลีดตาม ID เว็บไซต์ที่ระบุ

การตอบกลับ

{
  "success": true,
  "leads": [
    {
      "session_id": "session_abc123def",
      "email": "visitor@example.com",
      "phone": "+1234567890",
      "page_url": "https://example.com/pricing",
      "started_at": "2024-01-15T10:30:00Z"
    }
  ]
}
ฟิลด์ ประเภท คำอธิบาย
session_id string ID เซสชันแชท ส่งค่านี้ไปที่ /conversations/ เพื่อดูประวัติการแชทฉบับเต็ม
email สตริงหรือ null ที่อยู่อีเมลที่ผู้เยี่ยมชมให้มา หรือ null หากไม่ได้รวบรวม
phone สตริงหรือ null หมายเลขโทรศัพท์ที่ผู้เยี่ยมชมให้มา หรือ null หากไม่ได้รวบรวม
page_url สตริงหรือ null URL ของหน้าที่ผู้เยี่ยมชมกำลังแชท
started_at string เวลาประทับ ISO 8601 ของเวลาที่เซสชันแชทเริ่มต้น

ตัวอย่าง (cURL)

curl "https://asyntai.com/api/v1/leads/?limit=20" \
  -H "Authorization: Bearer YOUR_API_KEY"

ตัวอย่าง (Python)

import requests

response = requests.get(
    "https://asyntai.com/api/v1/leads/",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    params={"limit": 20}
)

leads = response.json()["leads"]
for lead in leads:
    print(f"{lead['email'] or ''} | {lead['phone'] or ''}")

GET /account/

รับข้อมูลบัญชีและสถิติการใช้งานของคุณ

การตอบกลับ

{
  "success": true,
  "account": {
    "email": "you@example.com",
    "plan": "starter",
    "messages_used": 150,
    "messages_limit": 2500
  }
}

ตัวอย่าง (cURL)

curl https://asyntai.com/api/v1/account/ \
  -H "Authorization: Bearer YOUR_API_KEY"

มีหลายเว็บไซต์? เอนด์พอยท์ฐานความรู้จะใช้เว็บไซต์หลักของคุณเป็นค่าเริ่มต้น หากคุณมีหลายเว็บไซต์ ให้ส่ง website_id เพื่อกำหนดเป้าหมายเว็บไซต์เฉพาะ คุณสามารถค้นหา ID เว็บไซต์ได้โดยใช้ GET /websites/.

ขีดจำกัดการอัปโหลดรายวัน: การอัปโหลดฐานความรู้ (ข้อความ, URL, สเปรดชีต) มีขีดจำกัดอักขระรายวันตามแผนของคุณ ซึ่งใช้กับเนื้อหาทั้งหมดที่อัปโหลดผ่านเอนด์พอยท์ฐานความรู้ทั้งหมดต่อวัน

แผน อักขระ/วัน
Starter100,000
Standard500,000
Pro2,000,000

GET /knowledge/

แสดงรายการฐานความรู้ของคุณ สิ่งเหล่านี้คือแหล่งเนื้อหาที่แชทบอท AI ของคุณใช้ในการตอบคำถาม

พารามิเตอร์คิวรี

พารามิเตอร์ ประเภท จำเป็น คำอธิบาย
limit integer ไม่ จำนวนรายการที่จะส่งคืน (ค่าเริ่มต้น: 50, สูงสุด: 100)
website_id string ไม่ กรองตาม ID เว็บไซต์ (ค่าเริ่มต้นคือเว็บไซต์หลักของคุณ)

การตอบกลับ

{
  "success": true,
  "entries": [
    {
      "id": "abc-123-def",
      "type": "text",
      "title": "Business Hours",
      "description": "Manual text content (150 words)",
      "created_at": "2024-01-15T10:30:00Z"
    },
    {
      "id": "ghi-456-jkl",
      "type": "url",
      "title": "About Us - Example",
      "description": "Content from https://example.com/about",
      "created_at": "2024-01-14T09:00:00Z"
    }
  ]
}

ตัวอย่าง (cURL)

curl "https://asyntai.com/api/v1/knowledge/?limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"

POST /knowledge/text/

เพิ่มเนื้อหาข้อความแบบกำหนดเองลงในฐานความรู้ของคุณ AI จะใช้สิ่งนี้เพื่อตอบคำถามของผู้เยี่ยมชม

เนื้อหาคำขอ

{
  "title": "Return Policy",
  "content": "We offer a 30-day return policy on all items. Items must be unused and in original packaging. Refunds are processed within 5-7 business days.",
  "website_id": "123"
}
พารามิเตอร์ ประเภท จำเป็น คำอธิบาย
title string ใช่ ชื่อเรื่องสำหรับรายการความรู้นี้
content string ใช่ เนื้อหาข้อความ (อย่างน้อย 10 อักขระ)
website_id string ไม่ เว็บไซต์เป้าหมาย (ค่าเริ่มต้นคือเว็บไซต์หลักของคุณ)

การตอบกลับ

{
  "success": true,
  "id": "abc-123-def",
  "title": "Return Policy",
  "chunks_created": 1
}

ตัวอย่าง (cURL)

curl -X POST "https://asyntai.com/api/v1/knowledge/text/" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title": "Return Policy", "content": "We offer a 30-day return policy..."}'

POST /knowledge/url/

เพิ่มหน้าเว็บลงในฐานความรู้ของคุณ เนื้อหาจะถูกดึงและแยกออกโดยอัตโนมัติ

เนื้อหาคำขอ

{
  "url": "https://example.com/faq",
  "website_id": "123"
}
พารามิเตอร์ ประเภท จำเป็น คำอธิบาย
url string ใช่ URL ที่จะดึงเนื้อหา
website_id string ไม่ เว็บไซต์เป้าหมาย (ค่าเริ่มต้นคือเว็บไซต์หลักของคุณ)

การตอบกลับ

{
  "success": true,
  "id": "abc-123-def",
  "title": "FAQ - Example",
  "url": "https://example.com/faq",
  "chunks_created": 5
}

ตัวอย่าง (cURL)

curl -X POST "https://asyntai.com/api/v1/knowledge/url/" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/faq"}'

POST /knowledge/spreadsheet/

อัปโหลดสเปรดชีต CSV หรือ Excel (.xlsx) ลงในฐานความรู้ของคุณ แต่ละแถวจะกลายเป็นรายการความรู้แยกต่างหาก เหมาะสำหรับแคตตาล็อกสินค้า รายการคำถามที่พบบ่อย ตารางราคา และไดเรกทอรี

คำขอ

ส่งเป็น multipart/form-data (อัปโหลดไฟล์) ไม่ใช่ JSON

พารามิเตอร์ ประเภท จำเป็น คำอธิบาย
file file ใช่ ไฟล์ .csv หรือ .xlsx แถวแรกต้องเป็นหัวคอลัมน์ จำนวนแถวสูงสุดต่อการอัปโหลด: Starter 500, Standard 2,000, Pro 10,000 แถวที่เกินจะถูกตัดทิ้ง
website_id string ไม่ เว็บไซต์เป้าหมาย (ค่าเริ่มต้นคือเว็บไซต์หลักของคุณ)

การตอบกลับ

{
  "success": true,
  "id": "abc-123-def",
  "title": "products.csv",
  "rows_processed": 15,
  "chunks_created": 15
}

ตัวอย่าง (cURL)

curl -X POST "https://asyntai.com/api/v1/knowledge/spreadsheet/" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@products.csv"

DELETE /knowledge/{id}/

ลบรายการฐานความรู้ id สามารถค้นหาได้จากการตอบกลับ GET /knowledge/

การตอบกลับ

{
  "success": true,
  "message": "Knowledge base entry deleted"
}

ตัวอย่าง (cURL)

curl -X DELETE "https://asyntai.com/api/v1/knowledge/abc-123-def/" \
  -H "Authorization: Bearer YOUR_API_KEY"

เคล็ดลับ: คุณยังสามารถจัดการ webhooks ได้จาก การตั้งค่า API หน้าเว็บโดยไม่ต้องเขียนโค้ดใดๆ

GET /webhooks/

แสดงรายการ webhooks ที่ลงทะเบียนของคุณ

การตอบกลับ

{
  "success": true,
  "webhooks": [
    {
      "id": "abc-123-def",
      "url": "https://example.com/webhook",
      "events": ["message.received", "escalation.requested"],
      "is_active": true,
      "created_at": "2024-01-15T10:30:00Z"
    }
  ]
}

ตัวอย่าง (cURL)

curl "https://asyntai.com/api/v1/webhooks/" \
  -H "Authorization: Bearer YOUR_API_KEY"

POST /webhooks/

ลงทะเบียน webhook ใหม่เพื่อรับการแจ้งเตือนเหตุการณ์แบบเรียลไทม์

เหตุการณ์ที่มี

เหตุการณ์ คำอธิบาย
message.received ผู้เยี่ยมชมส่งข้อความและได้รับการตอบกลับ
conversation.started เซสชันแชทใหม่เริ่มต้นแล้ว
escalation.requested AI ทริกเกอร์การส่งต่อไปยังเจ้าหน้าที่
takeover.started เจ้าหน้าที่เข้าควบคุมเซสชันแชท

เนื้อหาคำขอ

{
  "url": "https://example.com/webhook",
  "events": ["message.received", "escalation.requested"],
  "website_id": "123"
}
พารามิเตอร์ ประเภท จำเป็น คำอธิบาย
url string ใช่ URL HTTPS สำหรับรับคำขอ POST ของ webhook
events array ใช่ รายการเหตุการณ์ที่จะสมัครรับ (ดูตารางด้านบน)
website_id string ไม่ เว็บไซต์เป้าหมาย (ค่าเริ่มต้นคือเว็บไซต์หลักของคุณ)

การตอบกลับ

{
  "success": true,
  "webhook": {
    "id": "abc-123-def",
    "url": "https://example.com/webhook",
    "events": ["message.received", "escalation.requested"],
    "secret": "whsec_abc123...",
    "created_at": "2024-01-15T10:30:00Z"
  }
}

การตรวจสอบ webhooks: แต่ละ webhook ประกอบด้วย secret (แสดงเฉพาะเมื่อสร้าง) ทุกการ POST ไปยัง URL ของคุณจะมี X-Webhook-Signature ส่วนหัว -- HMAC-SHA256 ของเนื้อหาคำขอที่ลงนามด้วยซีเคร็ตของคุณ

ตัวอย่าง (cURL)

curl -X POST "https://asyntai.com/api/v1/webhooks/" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/webhook", "events": ["message.received"]}'

DELETE /webhooks/{id}/

ลบ webhook id สามารถค้นหาได้จากการตอบกลับ GET /webhooks/

การตอบกลับ

{
  "success": true,
  "message": "Webhook deleted"
}

ตัวอย่าง (cURL)

curl -X DELETE "https://asyntai.com/api/v1/webhooks/abc-123-def/" \
  -H "Authorization: Bearer YOUR_API_KEY"

การตอบกลับข้อผิดพลาด

การตอบกลับข้อผิดพลาดทั้งหมดใช้รูปแบบนี้:

{
  "success": false,
  "error": "Error message describing what went wrong"
}
รหัสสถานะ คำอธิบาย
400 คำขอไม่ถูกต้อง - พารามิเตอร์ไม่ถูกต้องหรือขาดฟิลด์ที่จำเป็น
401 ไม่ได้รับอนุญาต - คีย์ API ไม่ถูกต้องหรือหายไป
429 คำขอมากเกินไป - ถึงขีดจำกัดข้อความสำหรับแผนของคุณแล้ว
503 บริการไม่พร้อมใช้งาน - บริการ AI ไม่พร้อมใช้งานชั่วคราว

ขีดจำกัดอัตรา

การใช้งาน API ถูกจำกัดตามแผนสมัครสมาชิกของคุณ:

  • Free: 100 ข้อความ/เดือน
  • Starter ($39/เดือน): 2,500 ข้อความ/เดือน
  • Standard ($139/เดือน): 15,000 ข้อความ/เดือน
  • Pro ($449/เดือน): 50,000 ข้อความ/เดือน

ต้องการความช่วยเหลือ?

หากคุณมีคำถามหรือพบปัญหา ติดต่อเราได้ที่ hello@asyntai.com.