Tài liệu API khách hàng
Điểm cuối API & Xác thực
Tất cả các lệnh gọi API của khách hàng đều sử dụng một điểm cuối <strong>HTTP POST duy nhất</strong>. Xác thực bằng <code>key</code> hoặc <code>apikey</code> (từ trang khóa API trong hồ sơ của bạn) cùng với <code>action</code> để chọn thao tác. Đường dẫn nằm ở <strong>gốc trang web</strong> dưới dạng <code>/api/v2</code> — không có tiền tố ngôn ngữ (ví dụ: không có <code>/en/</code> trước <code>/api</code>).
Gửi tham số dưới dạng <code>application/x-www-form-urlencoded</code> (ví dụ: <code>curl -d</code>) hoặc dưới dạng JSON với <code>Content-Type: application/json</code>.
{
"key": "YOUR_API_KEY",
"action": "categories"
}
<strong>Lưu ý:</strong> Thay thế <code>YOUR_API_KEY</code> bằng khóa của riêng bạn. Không bao giờ đặt khóa API trong URL, mã phía máy khách hoặc kho lưu trữ công khai. Các giá trị <code>action</code> được hỗ trợ: <code>categories</code>, <code>services</code>, <code>inventory</code>, <code>add</code>, <code>status</code>, <code>balance</code>.
API Kiểm thử
Chọn một hành động, nhập các tham số bắt buộc, sau đó nhấp vào <strong>Gửi yêu cầu</strong> để gọi API trực tiếp. Nếu bạn đã đăng nhập bằng khóa API, nó sẽ được điền bên dưới (ẩn).
Phản hồi
Customer API v2
Lấy Danh mục
Tất cả danh mục cha và tên danh mục con của chúng (để lọc <strong>Danh sách Dịch vụ</strong>).
Tham số Yêu cầu
| Tham số | Kiểu | Mô tả | Bắt buộc |
|---|---|---|---|
key / apikey | Chuỗi | Khóa API của bạn | Có |
action | Chuỗi | categories | Có |
Ví dụ yêu cầu
curl -X POST https://accplanet.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=categories"
Ví dụ phản hồi
{
"categories": [
{
"category": "Social",
"subcategories": ["Premium", "Standard"]
},
{
"category": "Digital goods",
"subcategories": []
}
]
}
Danh sách Dịch vụ
Các sản phẩm (dịch vụ) có sẵn với tồn kho. Bộ lọc tùy chọn sử dụng <strong>tên danh mục / danh mục con</strong> như được trả về bởi Lấy Danh mục, hoặc truyền <code>service</code> để lấy một sản phẩm theo id (<code>business_id</code> hoặc MongoDB id). Tham số <code>language</code> kiểm soát bản địa hóa của <code>name</code>, <code>description</code>, <code>category</code> và <code>subcategory</code> (xem bảng bên dưới). <code>limit=0</code> trả về tất cả các mục trong một phản hồi.
Tham số Yêu cầu
| Tham số | Kiểu | Mô tả | Bắt buộc |
|---|---|---|---|
key / apikey | Chuỗi | Khóa API của bạn | Có |
action | Chuỗi | services | Có |
page | Số | Số trang (mặc định <code>1</code>) khi <code>limit</code> > 0 | No |
limit | Số | Số mục trên mỗi trang; <code>0</code> = trả về tất cả (mặc định <code>0</code>) | No |
category | Chuỗi | Tên danh mục cha (từ Lấy Danh mục) | No |
subcategory | Chuỗi | Tên danh mục con (từ Lấy danh mục) | No |
service | Chuỗi | Chỉ trả về id dịch vụ / sản phẩm này (cùng id như trong danh sách mục) | No |
language | Chuỗi | Ngôn ngữ phản hồi — sử dụng mã từ danh sách Mã ngôn ngữ được hỗ trợ bên dưới (mặc định <code>en</code>) | No |
Mã ngôn ngữ được hỗ trợ (language)
Truyền một trong các giá trị này (không phân biệt chữ hoa chữ thường để so khớp). Nếu bỏ qua hoặc là <code>en</code>, các trường vẫn ở <strong>tiếng Anh</strong> (văn bản nguồn được lưu trữ). Bất kỳ mã nào khác bên dưới sẽ giải quyết bản dịch thông qua Aitranslator khi <code>AITRANSLATOR_BASE_URL</code> được cấu hình; các bản dịch bị thiếu sẽ quay lại tiếng Anh cho đến khi các bản dịch trong hàng đợi hoàn tất.
| Mã | Ngôn ngữ | Tên bản địa |
|---|---|---|
en |
English | English |
zh |
Chinese | 中文 |
es |
Spanish | Español |
fr |
French | Français |
de |
German | Deutsch |
ja |
Japanese | 日本語 |
ko |
Korean | 한국어 |
pt |
Portuguese | Português |
pt-BR |
Portuguese (Brazil) | Português (Brasil) |
ru |
Russian | Русский |
ar |
Arabic | العربية |
hi |
Hindi | हिन्दी |
vi |
Vietnamese | Tiếng Việt |
ur |
Urdu | اردو |
th |
Thai | ไทย |
tr |
Turkish | Türkçe |
bn-BD |
Bengali (Bangladesh) | বাংলা |
Cũng được chấp nhận (bí danh)
Các chuỗi này được chuẩn hóa về mã chính ở trên (cùng nhóm dịch):
| Bạn có thể gửi | Giải quyết thành |
|---|---|
zh-hans |
zh |
zh-cn |
zh |
zh-sg |
zh |
zh-hant |
zh |
zh-tw |
zh |
zh-hk |
zh |
zh-mo |
zh |
pt-br |
pt-BR |
pt_br |
pt-BR |
ptbr |
pt-BR |
bn-bd |
bn-BD |
bd |
bn-BD |
en-us |
en |
en-gb |
en |
<strong>Không được hỗ trợ:</strong> bất kỳ giá trị <code>language</code> nào khác đều được coi như tiếng Anh (không dịch). Chỉ sử dụng các mã chính xác hoặc bí danh được liệt kê ở đây.
Ví dụ yêu cầu
curl -X POST https://accplanet.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=services"
curl -X POST https://accplanet.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=services" \
-d "page=1" \
-d "limit=50"
curl -X POST https://accplanet.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=services" \
-d "category=Instagram"
curl -X POST https://accplanet.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=services" \
-d "service=10042" \
-d "language=zh"
Ví dụ phản hồi
<strong>Mặc định</strong> (<code>limit</code> bị bỏ qua hoặc <code>0</code>): tất cả dịch vụ trong một phản hồi.
{
"services": [
{
"service": 10042,
"name": "Example product A",
"description": "Product description (may be HTML)",
"type": "Default",
"category": "Social",
"subcategory": "Instagram",
"rate": "9.99",
"min": 1,
"max": 100,
"refill": false,
"cancel": false,
"stock": 100,
"entityType": "product",
"autoDelivery": true
}
],
"total": 2,
"page": 1,
"limit": 0,
"total_pages": 1
}
<strong>service</strong> là <code>business_id</code> dạng số của sản phẩm khi được đặt; nếu không thì là MongoDB id dưới dạng chuỗi. Sử dụng cùng giá trị cho <strong>Kiểm tra Tồn kho</strong> và <strong>Thêm Đơn hàng</strong>. <strong>category</strong> / <strong>subcategory</strong> khớp với tên từ <strong>Lấy Danh mục</strong> (<code>subcategory</code> trống khi sản phẩm chỉ được gắn với danh mục cấp cao nhất). <strong>description</strong> là mô tả đầy đủ của sản phẩm (có thể chứa HTML từ trình soạn thảo của nhà cung cấp).
Kiểm tra Tồn kho
Tồn kho cho một dịch vụ (cùng id <code>service</code> như trong Danh sách Dịch vụ).
Tham số Yêu cầu
| Tham số | Kiểu | Mô tả | Bắt buộc |
|---|---|---|---|
key / apikey | Chuỗi | Khóa API của bạn | Có |
action | Chuỗi | inventory | Có |
service | Chuỗi | Id dịch vụ / sản phẩm từ danh sách dịch vụ | Có |
Ví dụ yêu cầu
curl -X POST https://accplanet.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=inventory" \
-d "service=10042"
Ví dụ phản hồi
{
"service": 10042,
"stock": 42,
"available": true,
"entityType": "product",
"autoDelivery": true
}
Thêm Đơn hàng
Tạo một đơn hàng và thanh toán từ <strong>số dư tài khoản</strong>. <code>link</code> tùy chọn được chấp nhận để tương thích nhưng không được lưu trữ trên đơn hàng.
Tham số Yêu cầu
| Tham số | Kiểu | Mô tả | Bắt buộc |
|---|---|---|---|
key / apikey | Chuỗi | Khóa API của bạn | Có |
action | Chuỗi | add | Có |
service | Chuỗi | Id dịch vụ / sản phẩm từ danh sách dịch vụ | Có |
quantity | Số | Số lượng (mặc định <code>1</code>) | No |
link | Chuỗi | Tùy chọn (dự trữ / sử dụng trong tương lai) | No |
Ví dụ yêu cầu
curl -X POST https://accplanet.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=add" \
-d "service=10042" \
-d "quantity=1"
Ví dụ phản hồi
Trạng thái HTTP <code>201 Created</code>.
{
"order": "000000000000000000000001"
}
Giá trị <code>order</code> là MongoDB <code>ObjectId</code> (chuỗi). Sử dụng nó với <strong>Trạng thái Đơn hàng</strong> (<code>action=status</code>).
Trạng thái đơn hàng
Tham số Yêu cầu
| Tham số | Kiểu | Mô tả | Bắt buộc |
|---|---|---|---|
key / apikey | Chuỗi | Khóa API của bạn | Có |
action | Chuỗi | status | Có |
order | Chuỗi | Id đơn hàng được trả về bởi <code>add</code> | Có |
Ví dụ yêu cầu
curl -X POST https://accplanet.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=status" \
-d "order=000000000000000000000001"
Ví dụ phản hồi
{
"status": "In progress",
"charge": "75.00",
"start_count": 3,
"remains": 1,
"delivered_units": 2,
"currency": "USD",
"autoDelivery": true,
"entityType": "product"
}
{
"status": "Completed",
"charge": "50.00",
"start_count": 2,
"remains": 0,
"delivered_units": 2,
"currency": "USD",
"autoDelivery": true,
"entityType": "product",
"accounts": ["example_user:redacted", "example_user_2:redacted"]
}
Số dư
Tham số Yêu cầu
| Tham số | Kiểu | Mô tả | Bắt buộc |
|---|---|---|---|
key / apikey | Chuỗi | Khóa API của bạn | Có |
action | Chuỗi | balance | Có |
Ví dụ yêu cầu
curl -X POST https://accplanet.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=balance"
Ví dụ phản hồi
{
"balance": "100.00",
"currency": "USD"
}
Số dư là ví <strong>người dùng</strong> của bạn (được sử dụng cho các giao dịch mua).
Phản hồi Lỗi
Lỗi sử dụng một chuỗi <code>error</code> duy nhất. Thông tin xác thực API sai hoặc thiếu thường trả về HTTP <code>401</code> với <code>{"error": "Invalid API key"}</code>; các vấn đề xác thực thường trả về <code>400</code>.
{"error": "Invalid API key"}
{"error": "Invalid action"}
{"error": "Service ID is required"}
{"error": "Service not found"}
{"error": "Product not found."}
{"error": "This product is not available for purchase."}
{"error": "Invalid quantity."}
{"error": "Minimum quantity is 2."}
{"error": "Insufficient stock. Available: 10."}
{"error": "Insufficient balance. Please recharge your account."}
{"error": "Order not found"}
{"error": "Category not found"}
{"error": "Subcategory not found"}
{"error": "Subcategory not found in category"}