Tham chiếu API
Xây dựng tích hợp tùy chỉnh với Asyntai REST 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 | Có | 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 | Có | 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_type là ai 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 |
|---|---|
| Starter | 300.000 |
| Standard | 1.500.000 |
| Pro | 6.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 | Có | Tiêu đề cho mục tri thức này |
content |
string | Có | 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 | Có | 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 | Có | 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 đó content là null 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 | Có | URL HTTPS để nhận yêu cầu POST webhook |
events |
array | Có | 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].