Quay lại bảng điều khiển

Tài liệu

Tìm hiểu cách sử dụng Asyntai

Tham chiếu API

Xây dựng tích hợp tùy chỉnh với Asyntai REST API

Lấy Khóa API

Yêu cầu Gói Trả phí: Truy cập API có sẵn trên gói Starter, Standard và Pro. Xem bảng giá

Tổng quan

The Asyntai API allows you to integrate AI-powered customer support into any application. Send messages and receive intelligent responses grounded in your website content and knowledge base.

Xác thực

Tất cả yêu cầu API cần xác thực bằng khóa API của bạn. Bạn có thể lấy khóa API từ trang Cài đặt API.

Bao gồm khóa API của bạn trong yêu cầu bằng một trong các phương thức sau:

  • Header Authorization (khuyến nghị): Authorization: Bearer YOUR_API_KEY
  • Header X-API-Key: X-API-Key: YOUR_API_KEY

Giữ bí mật khóa API của bạn. Bất kỳ ai có khóa của bạn đều có thể truy cập tài khoản qua API. Không bao giờ để lộ nó trong mã phía client.

URL Cơ sở

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

Điểm cuối

POST /chat/

Gửi tin nhắn và nhận phản hồi do AI tạo.

Nội dung Yêu cầu

{
  "message": "What are your business hours?",
  "session_id": "user_123",      // optional
  "website_id": 1                 // optional
}
Tham số Loại Bắt buộc Mô tả
message string Tin nhắn của người dùng gửi đến AI
session_id string Không Mã định danh duy nhất cho cuộc trò chuyện. Sử dụng cùng session_id để duy trì lịch sử cuộc trò chuyện.
website_id integer Không ID website cụ thể. Nếu không được cung cấp, sẽ sử dụng website chính của bạn.

Phản hồi

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

Ví dụ (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"}'

Ví dụ (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"])

Ví dụ (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/

Liệt kê tất cả website liên kết với tài khoản của bạn.

Phản hồi

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

Ví dụ (cURL)

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

POST /websites/

Create a new AI agent. This does the same thing as adding a website in your dashboard: it makes the agent, reads your site, and writes the first draft of the AI instructions.

Use this to set up customers from your own software. You get back the widget ID and the code to put on the website.

Nội dung Yêu cầu

Trường Loại Mô tả
domain string Required. The website address, for example example.com
name string Optional. A display name for the agent. Useful when one website has several agents.
crawl boolean Optional, true by default. Set it to false to create the agent without reading the website. Nothing is crawled and no instructions are written.
force boolean Optional, false by default. Set it to true to add a website you already have. The copy is stored with a number after it.

Phản hồi

{
  "success": true,
  "website": {
    "id": 42,
    "domain": "example.com",
    "name": "Support agent",
    "widget_id": "asyntai_ab12cd34ef56",
    "is_primary": true,
    "crawl_started": true,
    "instructions_status": "generating",
    "job_id": "8f2c1e90-..."
  },
  "embed_code": "<script>...</script>"
}

Ví dụ (cURL)

curl -X POST https://asyntai.com/api/v1/websites/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domain": "example.com", "name": "Support agent"}'

Reading a website takes a few minutes, so this call answers straight away. Check when the agent is ready with the next endpoint.

Errors

Code Meaning
403 You have reached the number of websites your plan allows. The answer tells you the limit.
409 Your account already has this website. Send force as true to add it again.

GET /websites/{id}/

Get one website and see whether it is ready. Use this after you create an agent, to wait until the website has been read and the AI instructions are written.

Phản hồi

{
  "success": true,
  "website": {
    "id": 42,
    "domain": "example.com",
    "name": "Support agent",
    "widget_id": "asyntai_ab12cd34ef56",
    "is_primary": true,
    "created_at": "2026-08-11T09:12:00+00:00",
    "ready": true,
    "instructions": {
      "status": "completed",
      "has_instructions": true,
      "characters": 3421
    },
    "crawl": {
      "job_id": "8f2c1e90-...",
      "status": "completed",
      "pages_crawled": 47,
      "pages_found": 50,
      "max_pages": 50,
      "completed_at": "2026-08-11T09:15:31+00:00",
      "error": ""
    },
    "knowledge_items": 47
  },
  "embed_code": "<script>...</script>"
}

The ready field is true when nothing is still running. A crawl that failed also counts as ready, because it has finished. Look at the crawl status to see what happened.

Ví dụ (cURL)

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

GET PATCH /websites/{id}/settings/

Read or change the chat widget settings for one website. These are the same settings you see on the Customize page: colours, the name of the assistant, the first message, lead capture, and everything else.

Reading the settings

A GET request returns every setting with its current value, plus a locked list. Locked shows the settings your plan cannot change, and which plans they need.

{
  "success": true,
  "settings": {
    "ai_support_name": "AI Assistant",
    "widget_color": "#6366f1",
    "initial_message": "Hi, how can I help you?",
    "hide_branding": false,
    "...": "..."
  },
  "locked": {
    "hide_branding": ["pro", "enterprise"],
    "widget_style": ["pro", "enterprise"]
  }
}

Changing the settings

A PATCH request changes only the settings you send. Everything you leave out stays as it is.

curl -X PATCH https://asyntai.com/api/v1/websites/42/settings/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ai_support_name": "Ava", "widget_color": "#0f172a", "use_emoji": true}'
{
  "success": true,
  "updated": ["ai_support_name", "use_emoji", "widget_color"],
  "settings": { "...": "..." },
  "locked": { "...": "..." }
}

Plans

Each setting needs its own plan, the same as in the dashboard. For example, hiding the Asyntai branding needs the Pro plan, and voice input needs Standard.

Plan needed Cài đặt Examples
Any paid plan 25 widget_color, ai_support_name, initial_message
Starter trở lên 22 profile_picture, conversation_starters_enabled
Standard trở lên 25 speech_to_text_enabled, image_vision_enabled, escalation_enabled
Pro 6 hide_branding, widget_style

If you send a setting your plan does not allow, the whole request is refused with code 403 and nothing is saved. The same happens if any value is wrong, for example a colour that is not a hex code. Your settings never end up half changed.

GET PUT /websites/{id}/instructions/

Read or replace the AI instructions for one website. These are the rules that tell the assistant who it is, what it may say, and what it must not say. They are the same instructions you edit in the dashboard.

Reading

{
  "success": true,
  "instructions": "You are the support agent for Acme Tools...",
  "characters": 1979,
  "version": 7,
  "mode": "instructions",
  "ask_questions": true,
  "generation_status": "completed",
  "being_edited_by": null
}

Replacing

A PUT request replaces the whole text, the same as saving in the dashboard. There is no append mode. To add a paragraph, read the instructions, add your text, then write it back.

curl -X PUT https://asyntai.com/api/v1/websites/42/instructions/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"instructions": "You are the support agent for Acme Tools...", "version": 7}'

Nội dung Yêu cầu

Trường Loại Mô tả
instructions string Required. The complete new text. It replaces everything that was there.
version number Optional but recommended. The version you read. If somebody changed the instructions since then, your write is refused instead of overwriting their work.
mode string Optional. Either instructions or general.
ask_questions boolean Optional. Whether the assistant asks a follow-up question at the end of its answers.
force boolean Optional, false by default. Needed only when your new text is less than half the length of the current text.

How your instructions are protected

Instructions can take hours to write, so a write can be refused to protect them:

Code Meaning
400 Your new text is less than half the length of the current text. This catches a script that sends empty or cut-off text over instructions somebody spent hours on. Send force as true if you meant it.
409 The instructions changed after you read them. Read them again, apply your change, then write.
423 Somebody is editing the instructions in the dashboard right now. The answer tells you who. Try again in a couple of minutes.

Every change also saves a copy of the previous text, so an earlier version can always be restored from the dashboard.

GET /conversations/

Truy xuất lịch sử cuộc trò chuyện cho một phiên cụ thể.

Tham số Truy vấn

Tham số Loại Bắt buộc Mô tả
session_id string ID phiên để truy xuất lịch sử
limit integer Không Số tin nhắn tối đa trả về (mặc định: 50, tối đa: 100)

Phản hồi

{
  "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",
      "sender_type": "ai",
      "agent_name": null,
      "response_time_ms": 1840.5
    }
  ]
}

Câu hỏi và câu trả lời của nó được lưu trong cùng một bản ghi, nên cả hai mang cùng một timestamp. Đừng lấy cái này trừ cái kia để đo tốc độ trả lời, vì kết quả luôn bằng không. Hãy dùng response_time_ms, đây là thời gian thực mà câu trả lời mất, tính bằng mili giây.

sender_typeai khi chatbot trả lời, và là human khi một nhân viên của bạn tiếp quản cuộc trò chuyện. agent_name chứa tên hiển thị của nhân viên đó.

Ví dụ (cURL)

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

GET /sessions/

Liệt kê các phiên chat gần đây của bạn. Sử dụng để tìm ID phiên, sau đó bạn có thể truyền vào /conversations/ để truy xuất toàn bộ lịch sử tin nhắn.

Tham số Truy vấn

Tham số Loại Bắt buộc Mô tả
limit integer Không Số phiên gần đây trả về (mặc định: 20, tối đa: 100)
website_id string Không Lọc phiên theo ID website cụ thể
source string Không Lọc theo nguồn phiên: widget, api, whatsapp, instagram, messenger, gorgias, freshchat, zapier

Phản hồi

{
  "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",
      "first_response_time_ms": 1840.5,
      "first_human_response_at": null,
      "started_at": "2024-01-15T10:29:58Z",
      "ended_at": "2024-01-15T10:41:12Z",
      "taken_over_at": null,
      "website_domain": "example.com"
    }
  ]
}

Các trường dấu thời gian dùng cho báo cáo

Trường Mô tả
started_at Thời điểm khách truy cập mở cuộc trò chuyện. Chỉ có cho phiên của tiện ích, vì phiên tạo qua API không bao giờ mở tiện ích.
first_message_at Thời điểm tin nhắn đầu tiên của cuộc trò chuyện được lưu.
first_response_time_ms Câu trả lời đầu tiên mất bao lâu, tính bằng mili giây. Hãy dùng giá trị này cho thời gian phản hồi đầu tiên.
first_human_response_at Thời điểm một nhân viên của bạn gửi câu trả lời đầu tiên. Giá trị là null khi chatbot xử lý toàn bộ cuộc trò chuyện.
taken_over_at Thời điểm nhân viên tiếp quản cuộc trò chuyện từ chatbot.
last_message_at Thời điểm tin nhắn cuối cùng của cuộc trò chuyện được lưu.
ended_at Thời điểm khách truy cập rời cuộc trò chuyện. Cuộc trò chuyện không có trạng thái đã giải quyết hay đã đóng, vì khách truy cập luôn có thể quay lại và hỏi câu khác.

Mọi dấu thời gian đều theo UTC và dùng định dạng ISO 8601. Bạn không thể đổi múi giờ. Hãy chuyển đổi giá trị trong công cụ báo cáo của riêng bạn.

Ví dụ (cURL)

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

GET /leads/

Lấy danh sách khách hàng tiềm năng đã thu thập — địa chỉ email và số điện thoại được khách truy cập gửi trong các cuộc trò chuyện.

Tham số Truy vấn

Tham số Loại Bắt buộc Mô tả
limit integer Không Số lượng khách hàng tiềm năng cần trả về (mặc định: 50, tối đa: 100)
website_id string Không Lọc khách hàng tiềm năng theo ID trang web cụ thể

Phản hồi

{
  "success": true,
  "leads": [
    {
      "session_id": "session_abc123def",
      "email": "[email protected]",
      "phone": "+1234567890",
      "page_url": "https://example.com/pricing",
      "started_at": "2024-01-15T10:30:00Z"
    }
  ]
}
Trường Loại Mô tả
session_id string ID phiên trò chuyện. Truyền giá trị này cho /conversations/ để xem toàn bộ lịch sử trò chuyện.
email chuỗi hoặc null Địa chỉ email do khách truy cập cung cấp, hoặc null nếu không được thu thập
phone chuỗi hoặc null Số điện thoại do khách truy cập cung cấp, hoặc null nếu không được thu thập
page_url chuỗi hoặc null URL trang mà khách truy cập đang trò chuyện
started_at string Dấu thời gian ISO 8601 khi phiên trò chuyện bắt đầu

Ví dụ (cURL)

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

Ví dụ (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/

Lấy thông tin tài khoản và thống kê sử dụng của bạn.

Phản hồi

{
  "success": true,
  "account": {
    "email": "[email protected]",
    "plan": "starter",
    "messages_used": 150,
    "messages_limit": 2500
  }
}

Ví dụ (cURL)

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

Nhiều website? Điểm cuối cơ sở tri thức mặc định là website chính của bạn. Nếu bạn có nhiều website, truyền website_id để nhắm mục tiêu một website cụ thể. Bạn có thể tìm ID website bằng cách sử dụng GET /websites/.

Giới hạn tải lên hàng ngày: Việc tải lên cơ sở tri thức (văn bản, URL, bảng tính) bị giới hạn ký tự hàng ngày dựa trên gói của bạn. Điều này áp dụng cho tổng nội dung được tải lên trên tất cả điểm cuối cơ sở tri thức mỗi ngày.

Gói Ký tự/ngày
Starter300.000
Standard1.500.000
Pro6.000.000

GET /knowledge/

Liệt kê các mục cơ sở tri thức của bạn. Đây là các nguồn nội dung mà chatbot AI của bạn sử dụng để trả lời câu hỏi.

Tham số Truy vấn

Tham số Loại Bắt buộc Mô tả
limit integer Không Số mục trả về (mặc định: 50, tối đa: 100)
website_id string Không Lọc theo ID website (mặc định là website chính của bạn)

Phản hồi

{
  "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"
    }
  ]
}

Ví dụ (cURL)

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

POST /knowledge/text/

Thêm nội dung văn bản tùy chỉnh vào cơ sở tri thức của bạn. AI sẽ sử dụng nội dung này để trả lời câu hỏi của khách truy cập.

Nội dung Yêu cầu

{
  "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"
}
Tham số Loại Bắt buộc Mô tả
title string Tiêu đề cho mục tri thức này
content string Nội dung văn bản (tối thiểu 10 ký tự)
website_id string Không Website mục tiêu (mặc định là website chính của bạn)

Phản hồi

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

Ví dụ (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/

Thêm trang web vào cơ sở tri thức của bạn. Nội dung sẽ được tải và trích xuất tự động.

Nội dung Yêu cầu

{
  "url": "https://example.com/faq",
  "website_id": "123"
}
Tham số Loại Bắt buộc Mô tả
url string URL để tải nội dung từ
website_id string Không Website mục tiêu (mặc định là website chính của bạn)

Phản hồi

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

Ví dụ (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/

Tải lên bảng tính CSV hoặc Excel (.xlsx) vào cơ sở tri thức của bạn. Mỗi hàng trở thành một mục tri thức riêng biệt, lý tưởng cho danh mục sản phẩm, danh sách câu hỏi thường gặp, bảng giá và danh bạ.

Yêu cầu

Gửi dưới dạng multipart/form-data (tải lên tệp), không phải JSON.

Tham số Loại Bắt buộc Mô tả
file file Tệp .csv hoặc .xlsx. Hàng đầu tiên phải là tiêu đề cột. Số hàng tối đa mỗi lần tải: Starter 500, Standard 2.000, Pro 10.000. Các hàng thừa sẽ bị cắt bớt.
website_id string Không Website mục tiêu (mặc định là website chính của bạn)

Phản hồi

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

Ví dụ (cURL)

curl -X POST "https://asyntai.com/api/v1/knowledge/spreadsheet/" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "[email protected]"

GET /knowledge/{id}/

Đọc một mục trong cơ sở tri thức, bao gồm cả văn bản được lưu cho mục đó. Giá trị id lấy từ phản hồi của GET /knowledge/.

Nội dung được trả về cho những mục do bạn thêm vào: văn bản, tệp, bảng tính, URL đơn lẻ và video. Kết quả thu thập trang web vẫn được liệt kê, nhưng các trang của nó không được trả về, vì nguồn là trang web công khai của chính bạn. Khi đó contentnull và trường reason giải thích lý do.

Phản hồi

{
  "success": true,
  "id": "abc-123-def",
  "type": "text",
  "title": "Business Hours",
  "description": "Manual text content (150 words)",
  "created_at": "2024-01-15T10:30:00Z",
  "chunks_count": 3,
  "content": "We are open Monday to Friday, 9am to 5pm...",
  "content_available": true,
  "char_count": 43
}

Ví dụ (cURL)

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

DELETE /knowledge/{id}/

Xóa một mục cơ sở tri thức. id có thể tìm thấy từ phản hồi GET /knowledge/.

Phản hồi

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

Ví dụ (cURL)

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

Mẹo: Bạn cũng có thể quản lý webhooks từ Cài đặt API trang mà không cần viết bất kỳ mã nào.

GET /webhooks/

Liệt kê các webhook đã đăng ký của bạn.

Phản hồi

{
  "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"
    }
  ]
}

Ví dụ (cURL)

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

POST /webhooks/

Đăng ký webhook mới để nhận thông báo sự kiện theo thời gian thực.

Sự kiện Có sẵn

Sự kiện Mô tả
message.received Khách truy cập đã gửi tin nhắn và nhận được phản hồi
conversation.started Một phiên chat mới đã được bắt đầu
escalation.requested AI đã kích hoạt chuyển tiếp cho nhân viên hỗ trợ
takeover.started Nhân viên hỗ trợ đã tiếp quản phiên chat

Nội dung Yêu cầu

{
  "url": "https://example.com/webhook",
  "events": ["message.received", "escalation.requested"],
  "website_id": "123"
}
Tham số Loại Bắt buộc Mô tả
url string URL HTTPS để nhận yêu cầu POST webhook
events array Danh sách sự kiện để đăng ký (xem bảng trên)
website_id string Không Website mục tiêu (mặc định là website chính của bạn)

Phản hồi

{
  "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"
  }
}

Xác minh webhooks: Mỗi webhook bao gồm một secret (chỉ hiển thị khi tạo). Mỗi POST đến URL của bạn bao gồm một X-Webhook-Signature header — HMAC-SHA256 của nội dung yêu cầu được ký bằng khóa bí mật của bạn.

Ví dụ (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}/

Xóa một webhook. id có thể tìm thấy từ phản hồi GET /webhooks/.

Phản hồi

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

Ví dụ (cURL)

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

Phản hồi Lỗi

Tất cả phản hồi lỗi theo định dạng này:

{
  "success": false,
  "error": "Error message describing what went wrong"
}
Mã Trạng thái Mô tả
400 Yêu cầu không hợp lệ - Tham số không hợp lệ hoặc thiếu các trường bắt buộc
401 Không được phép - Khóa API không hợp lệ hoặc bị thiếu
429 Quá nhiều yêu cầu - Đã đạt giới hạn tin nhắn cho gói của bạn
503 Dịch vụ Không khả dụng - Dịch vụ AI tạm thời không khả dụng

Giới hạn Tốc độ

Việc sử dụng API bị giới hạn theo gói đăng ký của bạn:

  • Free: 100 tin nhắn/tháng
  • Starter ($39/tháng): 2.500 tin nhắn/tháng
  • Standard ($139/tháng): 15.000 tin nhắn/tháng
  • Pro ($449/tháng): 50.000 tin nhắn/tháng

Cần Trợ giúp?

Nếu bạn có bất kỳ câu hỏi nào hoặc gặp vấn đề, hãy liên hệ chúng tôi tại [email protected].