URL cơ sở https://snsverify.com/api/v1
Mọi đường dẫn trên trang này đều tương đối với nó. Số tiền được tính bằng đô la Mỹ dưới dạng chuỗi với hai chữ số thập phân, thời gian là UTC (ISO 8601).
Hai định dạng, một tài khoản
Trang này mô tả REST API với JSON. Nếu công cụ của bạn đã hỗ trợ định dạng kích hoạt SMS thông thường (handler_api.php với tham số action=), hãy sử dụng API kích hoạt SMS. Cả hai đều dùng chung API key, giá cả, kích hoạt mở và hoàn tiền.
Tổng quan
Một API xác minh SMS cho phép phần mềm của bạn mua một số điện thoại cho một ứng dụng, chờ SMS xác minh và đọc mã, mà không cần mở trang web. Mỗi đơn hàng là một lần kích hoạt: một dịch vụ, một quốc gia, một số điện thoại và cửa sổ 20 phút. Các đơn hàng không có mã sẽ được hoàn tiền đầy đủ khi cửa sổ kết thúc.
Yêu cầu sử dụng GET để đọc và POST để thực hiện hành động. Nội dung POST có thể là các trường biểu mẫu hoặc JSON. Câu trả lời thành công là các đối tượng JSON; lỗi có cùng hình dạng ở mọi nơi: {"error":{"code":"...","message":"..."}}.
Xác thực
Tạo khóa API trong bảng điều khiển dưới mục Khóa API. Nó chỉ được hiển thị một lần; chúng tôi chỉ giữ một bản sao đã được mã hóa. Gửi nó trong tiêu đề Authorization dưới dạng mã thông báo bearer. Một tham số key cũng được chấp nhận cho các công cụ không thể đặt tiêu đề.
Authorization: Bearer vfk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Tạo một khóa mới sẽ thay thế khóa cũ ngay lập tức. Các điểm cuối dịch vụ, quốc gia và giá cả hoạt động mà không cần khóa.
Lỗi
| HTTP | Ý nghĩa |
|---|---|
| 400 | Thiếu hoặc sai trường (missing_filter, bad_json). |
| 401 | Không có khóa hoặc khóa sai (no_key, bad_key). |
| 402 | Không đủ số dư (no_balance). |
| 404 | Dịch vụ, quốc gia, đơn hàng hoặc điểm cuối không xác định. |
| 409 | Đơn hàng không thể thực hiện điều đó ngay bây giờ (has_code, not_ready, too_many_open, no_numbers). |
| 429 | Hơn 300 yêu cầu trong một phút (rate_limited). |
Bắt đầu nhanh
Đặt một số WhatsApp UK với curl, sau đó kiểm tra đơn hàng mỗi vài giây cho đến khi mã xuất hiện.
curl -X POST https://snsverify.com/api/v1/orders \ -H "Authorization: Bearer $SNSVERIFY_KEY" \ -d service=whatsapp -d country=gb
Python
import os, time, requests
API = "https://snsverify.com/api/v1"
H = {"Authorization": f"Bearer {os.environ['SNSVERIFY_KEY']}"}
order = requests.post(f"{API}/orders", headers=H,
data={"service": "whatsapp", "country": "gb"}).json()["order"]
print("Use this number:", order["phone"])
while True:
o = requests.get(f"{API}/orders/{order['id']}", headers=H).json()["order"]
if o["code"] or o["status"] in ("refunded", "canceled"):
break
time.sleep(4)
print("Code:", o["code"])Node.js
const API = "https://snsverify.com/api/v1";
const H = { Authorization: `Bearer ${process.env.SNSVERIFY_KEY}` };
const { order } = await fetch(`${API}/orders`, {
method: "POST", headers: H,
body: new URLSearchParams({ service: "telegram", country: "nl" }),
}).then((r) => r.json());
console.log("Use this number:", order.phone);
let o = order;
while (!o.code && !["refunded", "canceled"].includes(o.status)) {
await new Promise((r) => setTimeout(r, 4000));
({ order: o } = await fetch(`${API}/orders/${order.id}`, { headers: H }).then((r) => r.json()));
}
console.log("Code:", o.code);Giới hạn tốc độ
300 yêu cầu mỗi phút cho mỗi khóa và tối đa 20 đơn hàng mở mỗi tài khoản. Kiểm tra đơn hàng mỗi 3 đến 5 giây là đủ: hầu hết mã đến trong vòng một phút.
Trạng thái đơn hàng
waitingSố điện thoại đang mở và chưa có mã nào đến.receivedÍt nhất một mã đã đến; yêu cầu mã khác với resend trong khi cửa sổ còn mở.finishedĐóng sau khi có mã, bởi bạn hoặc khi cửa sổ kết thúc.refundedCửa sổ kết thúc mà không có mã; toàn bộ số tiền được trả lại vào số dư của bạn.canceledBạn đã hủy trước khi có mã; toàn bộ số tiền được trả lại vào số dư của bạn.
Điểm cuối
GET/services
Mọi mã dịch vụ với tên, danh mục và giá thấp nhất. Không cần khóa.
{"services":[{"code":"whatsapp","name":"WhatsApp","category":"social","from":"0.31"}]}GET/countries
Mọi mã quốc gia (ISO, chữ thường) với tên và mã quay số. Không cần khóa.
{"countries":[{"code":"gb","name":"United Kingdom","dial_code":"44"}]}GET/prices?service=whatsapp&country=gb
Giá bằng USD. Lọc theo dịch vụ, quốc gia hoặc cả hai. Không cần khóa.
{"prices":[{"service":"whatsapp","country":"gb","price":"0.94"}]}GET/balance
Số dư của bạn bằng USD.
{"balance":"25.00","currency":"USD"}POST/orders
Mua một số điện thoại (HTTP 201). Trả về đơn hàng với số điện thoại và thời gian cửa sổ kết thúc.
Nội dung: service=whatsapp&country=gb
{"order":{"id":"AC-7K2M9QX4PB","service":"whatsapp","country":"gb","phone":"+447700900123","price":"0.94","status":"waiting","code":null,"expires_at":"2026-11-04T12:20:00.000Z"},"window_minutes":20}GET/orders/AC-7K2M9QX4PB
Một đơn hàng với trạng thái và mọi mã đã nhận. Trạng thái: waiting, received, finished, refunded, canceled.
{"order":{"id":"AC-7K2M9QX4PB","status":"received","code":"482915","sms":"Your WhatsApp code: 482-915"}}GET/orders?status=open
Các đơn hàng mở của bạn; status=all trả về 100 đơn hàng gần nhất.
{"orders":[{"id":"AC-7K2M9QX4PB","status":"waiting"}]}POST/orders/AC-7K2M9QX4PB/resend
Yêu cầu một mã khác trên cùng số điện thoại sau mã đầu tiên, trong khi cửa sổ còn mở. Không tính phí thêm.
{"order":{"status":"received","waiting_for_resend":true}}POST/orders/AC-7K2M9QX4PB/finish
Đóng một đơn hàng đã nhận mã.
{"order":{"status":"finished"}}POST/orders/AC-7K2M9QX4PB/cancel
Hủy trước khi mã đến. Toàn bộ số tiền được trả lại vào số dư của bạn.
{"order":{"status":"canceled","refunded":"0.94"}}