Chuyển đến nội dung chính
Nhà phát triển

Tài liệu API

Đặt số, đọc mã và quản lý số thuê ngay từ mã nguồn của bạn. API dùng chung số dư và mức giá với bảng điều khiển, cho mọi sản phẩm.

  • REST và JSON qua HTTPS
  • Khóa API dạng Bearer
  • Callback có tự động thử lại
  • 100 yêu cầu mỗi phút
  • Cùng giá với bảng điều khiển

Bắt đầu

Mọi thứ bạn cần trước yêu cầu đầu tiên: địa chỉ, xác thực, định dạng phản hồi và các lỗi có thể gặp.

URL gốc

https://textverification.io/api/v1/users

Xác thực

Gửi khóa API dưới dạng Bearer token: Authorization: Bearer YOUR_API_KEY. Tạo khóa trong phần cài đặt tài khoản và chỉ lưu khóa trên máy chủ của bạn: bất kỳ ai có khóa đều có thể tiêu số dư của bạn.

Yêu cầu và phản hồi

Gửi phần thân yêu cầu dưới dạng JSON (trường form cũng được hỗ trợ). Mọi phản hồi đều là JSON gồm statusCode, success, message và data; giá tính bằng đô la Mỹ, ở dạng chuỗi với hai chữ số thập phân.

Bắt đầu nhanh

Đặt một số Pinpoint và đọc mã của số đó. Mọi sản phẩm khác đều hoạt động tương tự.

cURL
curl -X POST "https://textverification.io/api/v1/users/request-s2-service" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"serviceId":"1fe58df2"}'
Node.js
const API = "https://textverification.io/api/v1/users";
const headers = {
  Authorization: `Bearer ${process.env.API_KEY}`,
  "Content-Type": "application/json",
};

// 1. Order a number
const order = await fetch(`${API}/request-s2-service`, {
  method: "POST",
  headers,
  body: JSON.stringify({ serviceId: "1fe58df2" }),
}).then((res) => res.json());

// 2. Read the order (or set a callback URL instead of polling)
const { data } = await fetch(
  `${API}/number-details-s2?orderId=${order.data.orderId}`,
  { headers }
).then((res) => res.json());
Python
import os, requests

API = "https://textverification.io/api/v1/users"
headers = {"Authorization": f"Bearer {os.environ['API_KEY']}"}

# 1. Order a number
order = requests.post(f"{API}/request-s2-service",
                      json={"serviceId": "1fe58df2"}, headers=headers).json()

# 2. Read the order (or set a callback URL instead of polling)
details = requests.get(f"{API}/number-details-s2",
                       params={"orderId": order["data"]["orderId"]},
                       headers=headers).json()
print(details["data"]["status"], details["data"]["pin"])

Lỗi

Mã trạng tháiMô tả
400Yêu cầu không hợp lệ, hoặc số dư không đủ cho đơn hàng.
401Khóa API bị thiếu, không hợp lệ hoặc không hoạt động.
403Hiện không được phép, chẳng hạn do có quá nhiều đơn đang mở hoặc tài khoản bị hạn chế.
404Đơn hàng hoặc dịch vụ không tồn tại, hoặc không thuộc về bạn.
409Không thể thay đổi đơn hàng lúc này (đã hoàn tất hoặc đã hủy), hoặc giá vừa thay đổi.
422Một tùy chọn không hợp lệ, chẳng hạn mã vùng hoặc thời hạn thuê không xác định.
429Quá nhiều yêu cầu: hãy giảm tốc độ và thử lại sau giây lát.
503Sản phẩm hiện không khả dụng. Hãy thử lại sau hoặc dùng sản phẩm khác.

Nên dùng callback thay vì truy vấn định kỳ (polling): callback đến máy chủ của bạn ngay khi có mã. Nếu vẫn truy vấn định kỳ một đơn hàng, hãy chờ vài giây giữa các yêu cầu.

Giới hạn tần suất

Mỗi địa chỉ IP có thể gửi tối đa 100 yêu cầu mỗi phút, và mỗi khóa API tối đa 600 yêu cầu mỗi phút tính trên mọi địa chỉ. Mọi phản hồi đều có header RateLimit-Remaining và RateLimit-Reset. Yêu cầu vượt giới hạn sẽ nhận mã 429 kèm header Retry-After cho biết cần chờ bao nhiêu giây. Dùng callback giúp bạn luôn ở mức thấp hơn nhiều so với giới hạn này.

Giữ an toàn cho tích hợp của bạn

  • Chỉ lưu khóa API trên máy chủ của bạn: không bao giờ để trong ứng dụng di động, mã chạy trên trình duyệt hay kho mã công khai.
  • Nếu khóa có thể đã bị lộ, hãy tạo khóa mới trong phần cài đặt tài khoản. Khóa cũ sẽ ngừng hoạt động ngay lập tức.
  • URL callback phải dùng HTTPS. Hãy thêm một token khó đoán vào đường dẫn, và kiểm tra rằng mỗi orderId thuộc về một đơn hàng bạn đã đặt trước khi xử lý.
  • Khóa của bạn tiêu số dư của bạn: hãy kiểm tra số dư bằng endpoint số dư và nạp thêm tiền trước khi đặt số lượng lớn.

Kiểm tra số dư

Trả về số dư tài khoản của bạn bằng đô la Mỹ.

GET/balance
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/balance" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": "120.50",
  "message": "Request Successful!",
  "success": true
}

Prime

Số Mỹ có thể chọn bang, cùng yêu cầu Premium cho các dịch vụ đang hết số.

Liệt kê dịch vụ và giá

Liệt kê các dịch vụ của Prime kèm giá của bạn cho từng dịch vụ, sau chiết khấu.

GET/server1-pricing
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/server1-pricing" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": [
    {
      "serviceId": "2264119e",
      "serviceName": "WhatsApp",
      "price": "1.30"
    }
  ],
  "message": "Request Successful!",
  "success": true
}

Báo giá dịch vụ kèm tùy chọn

Trả về giá của bạn cho một dịch vụ với các tùy chọn bạn định đặt.

GET/server1-price
Tham sốKiểuBắt buộcMô tả
serviceIdstringCóID của dịch vụ, lấy từ danh sách dịch vụ.
areaCodestringKhôngMã vùng Mỹ gồm 3 chữ số, chẳng hạn "212", để nhận số thuộc mã vùng đó. Mã vùng được ưu tiên hơn bang và có thể làm tăng giá.
requestPremiumnumberKhôngMức Premium cho các dịch vụ đang hết số: đơn hàng sẽ ở trạng thái chờ và giành được số khi có số.
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/server1-price?serviceId=2264119e&areaCode=212&requestPremium=20" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "serviceId": "2264119e",
    "serviceName": "WhatsApp",
    "areaCode": "212",
    "requestPremium": 20,
    "price": "1.56"
  },
  "message": "Request Successful!",
  "success": true
}

Liệt kê các bang của Mỹ

Liệt kê các bang của Mỹ bạn có thể yêu cầu.

GET/us-states
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/us-states" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "CA": "CA",
    "FL": "FL",
    "NY": "NY",
    "TX": "TX"
  },
  "message": "Request Successful!",
  "success": true
}

Đặt số

Đặt một số Prime cho một dịch vụ và trừ tiền vào số dư của bạn.

POST/request-s1-service
Tham sốKiểuBắt buộcMô tả
serviceIdstringCóID của dịch vụ, lấy từ danh sách dịch vụ.
statestringKhôngMã bang của Mỹ, chẳng hạn "NY", để nhận số từ bang đó.
areaCodestringKhôngMã vùng Mỹ gồm 3 chữ số, chẳng hạn "212", để nhận số thuộc mã vùng đó. Mã vùng được ưu tiên hơn bang và có thể làm tăng giá.
requestPremiumnumberKhôngMức Premium cho các dịch vụ đang hết số: đơn hàng sẽ ở trạng thái chờ và giành được số khi có số.

Với Premium, đơn hàng hết số sẽ ở trạng thái chờ; bạn nhận được callback s1_win_premium_request khi đơn giành được số.

Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/request-s1-service" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"serviceId":"2264119e","state":"NY"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "55655059",
    "number": "12125550101",
    "serviceName": "WhatsApp",
    "status": "reserved",
    "state": "NY",
    "areaCode": "",
    "requestPremium": 0,
    "price": "1.30",
    "expiredIn": 900
  },
  "message": "Request Successful!",
  "success": true
}

Lấy thông tin đơn hàng

Trả về đơn hàng kèm trạng thái và mã, khi mã đã đến.

GET/number-details-s1
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/number-details-s1?orderId=55655059" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "55655059",
    "number": "12125550101",
    "serviceName": "WhatsApp",
    "country": "United States",
    "state": "NY",
    "areaCode": "",
    "price": "1.30",
    "createdAt": "2026-10-09 12:44:00",
    "status": "completed",
    "message": "Your code is 482910",
    "pin": "482910"
  },
  "message": "Request Successful!",
  "success": true
}

Dùng lại số

Đặt lại cùng số đó để nhận mã khác, nếu dịch vụ cho phép.

POST/reuse-s1-service
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/reuse-s1-service" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"55655059"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "55655059",
    "number": "12125550101",
    "serviceName": "WhatsApp",
    "country": "United States",
    "state": "NY",
    "areaCode": "",
    "price": "1.30",
    "status": "reserved",
    "expiredIn": 600
  },
  "message": "Request Successful!",
  "success": true
}

Hủy số

Hủy số chưa nhận được mã và hoàn tiền vào số dư của bạn.

POST/reject-s1-service
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/reject-s1-service" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"55655059"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": null,
  "message": "Request Successful!",
  "success": true
}

Pinpoint

Số Mỹ với mã vùng và nhà mạng bạn chọn, nhận mã qua SMS hoặc qua cuộc gọi thoại (nếu có).

Liệt kê dịch vụ và giá

Liệt kê các dịch vụ của Pinpoint kèm giá của bạn cho từng dịch vụ, sau chiết khấu.

GET/server2-pricing
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/server2-pricing" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": [
    {
      "serviceId": "1fe58df2",
      "serviceName": "google"
    }
  ],
  "message": "Request Successful!",
  "success": true
}

Báo giá dịch vụ kèm tùy chọn

Trả về giá của bạn cho một dịch vụ với các tùy chọn bạn định đặt.

GET/server2-price
Tham sốKiểuBắt buộcMô tả
serviceIdstringCóID của dịch vụ, lấy từ danh sách dịch vụ.
areasstringKhôngCác mã vùng để chọn, phân tách bằng dấu phẩy (tối đa 10), ví dụ "212,646". Sẽ cộng thêm vào giá.
carrierstringKhôngCác nhà mạng để chọn, phân tách bằng dấu phẩy: tmo (T-Mobile), vz (Verizon), att (AT&T). Sẽ cộng thêm vào giá.
capabilitystringKhông"sms" (mặc định), hoặc "voice" để nhận mã qua cuộc gọi, ở nơi có hỗ trợ cuộc gọi thoại.
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/server2-price?serviceId=1fe58df2&areas=212%2C646&carrier=vz" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "serviceName": "google",
    "price": "1.53",
    "capability": "sms",
    "areaCode": true,
    "carrier": true
  },
  "message": "Request Successful!",
  "success": true
}

Liệt kê mã vùng

Liệt kê các mã vùng Mỹ bạn có thể yêu cầu, kèm bang tương ứng.

GET/server2-area-codes
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/server2-area-codes" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": [
    {
      "areaCode": "212",
      "state": "New York"
    },
    {
      "areaCode": "503",
      "state": "Oregon"
    }
  ],
  "message": "Request Successful!",
  "success": true
}

Đặt số

Đặt một số Pinpoint cho một dịch vụ và trừ tiền vào số dư của bạn.

POST/request-s2-service
Tham sốKiểuBắt buộcMô tả
serviceIdstringCóID của dịch vụ, lấy từ danh sách dịch vụ.
areasstringKhôngCác mã vùng để chọn, phân tách bằng dấu phẩy (tối đa 10), ví dụ "212,646". Sẽ cộng thêm vào giá.
carrierstringKhôngCác nhà mạng để chọn, phân tách bằng dấu phẩy: tmo (T-Mobile), vz (Verizon), att (AT&T). Sẽ cộng thêm vào giá.
capabilitystringKhông"sms" (mặc định), hoặc "voice" để nhận mã qua cuộc gọi, ở nơi có hỗ trợ cuộc gọi thoại.

Đơn thoại (capability "voice") được nhận bằng Voice SDK của Twilio và token từ endpoint token cuộc gọi thoại. Đơn hàng hoàn tất khi cuộc gọi đến, và chi tiết đơn hàng sẽ liệt kê cuộc gọi đó.

Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/request-s2-service" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"serviceId":"1fe58df2","areas":"212,646","carrier":"vz,att"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "lr_01K7ABC",
    "number": "12125550102",
    "serviceName": "google",
    "status": "reserved",
    "areas": "212,646",
    "carrier": "vz,att",
    "capability": "sms",
    "price": "1.53",
    "expiredIn": 600
  },
  "message": "Request Successful!",
  "success": true
}

Lấy thông tin đơn hàng

Trả về đơn hàng kèm trạng thái và mã, khi mã đã đến.

GET/number-details-s2
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/number-details-s2?orderId=lr_01K7ABC" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "lr_01K7ABC",
    "number": "12125550102",
    "serviceName": "google",
    "country": "United States",
    "areas": "212,646",
    "carrier": "vz,att",
    "capability": "sms",
    "price": "1.53",
    "createdAt": "2026-10-09 12:44:00",
    "status": "completed",
    "message": "Your code is 482910",
    "pin": "482910"
  },
  "message": "Request Successful!",
  "success": true
}

Dùng lại số

Đặt lại cùng số đó để nhận mã khác, nếu dịch vụ cho phép.

POST/reuse-s2-service
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/reuse-s2-service" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"lr_01K7ABC"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "lr_01K7ABC",
    "number": "12125550102",
    "serviceName": "google",
    "country": "United States",
    "areas": "212,646",
    "carrier": "vz,att",
    "capability": "sms",
    "price": "1.53",
    "status": "reserved",
    "expiredIn": 600
  },
  "message": "Request Successful!",
  "success": true
}

Hủy số

Hủy số chưa nhận được mã và hoàn tiền vào số dư của bạn.

POST/reject-s2-service
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/reject-s2-service" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"lr_01K7ABC"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": null,
  "message": "Request Successful!",
  "success": true
}

Lấy token cuộc gọi thoại

Trả về token ngắn hạn để nhận cuộc gọi của đơn thoại bằng Voice SDK của Twilio.

GET/s2-voice-token
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/s2-voice-token?orderId=lr_01K7ABC" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "lr_01K7ABC",
    "token": "eyJhbGciOi…",
    "expiresIn": 540
  },
  "message": "Request Successful!",
  "success": true
}

Tải bản ghi âm cuộc gọi

Trả về bản ghi âm cuộc gọi của đơn thoại, nếu bản ghi được lưu.

GET/s2-voice-recording
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
callIdstringCóID của cuộc gọi, lấy từ danh sách cuộc gọi của đơn hàng.
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/s2-voice-recording?orderId=lr_01K7ABC&callId=call_8f2" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
(audio file)

Flex

Nhiều mã vùng và một nhà mạng trong một đơn, tại Mỹ và các quốc gia khác đang có.

Liệt kê dịch vụ và giá

Liệt kê các dịch vụ của Flex kèm giá của bạn cho từng dịch vụ, sau chiết khấu.

GET/server3-pricing
Tham sốKiểuBắt buộcMô tả
countrystringKhôngMã quốc gia lấy từ danh sách quốc gia. Bỏ trống để dùng Mỹ (hoặc quốc gia đầu tiên đang bán).
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/server3-pricing" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": [
    {
      "serviceId": "9a1c55e0",
      "serviceName": "Telegram",
      "price": "0.40"
    }
  ],
  "message": "Request Successful!",
  "success": true
}

Liệt kê quốc gia

Liệt kê các quốc gia mà Flex có bán số, kèm mã của từng quốc gia.

GET/server3-countries
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/server3-countries" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": [
    {
      "code": "us",
      "name": "United States"
    }
  ],
  "message": "Request Successful!",
  "success": true
}

Đặt số

Đặt một số Flex cho một dịch vụ và trừ tiền vào số dư của bạn.

POST/request-s3-service
Tham sốKiểuBắt buộcMô tả
serviceIdstringCóID của dịch vụ, lấy từ danh sách dịch vụ.
areasstringKhôngCác mã vùng, phân tách bằng dấu phẩy (tối đa 10). Sẽ cộng thêm vào giá.
carrierstringKhông"att" hoặc "tmo". Sẽ cộng thêm vào giá.
countrystringKhôngMã quốc gia lấy từ danh sách quốc gia. Bỏ trống để dùng Mỹ (hoặc quốc gia đầu tiên đang bán).
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/request-s3-service" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"serviceId":"9a1c55e0","areas":"212,646","carrier":"tmo"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "48211973",
    "number": "16465550103",
    "serviceName": "Telegram",
    "country": "United States",
    "status": "reserved",
    "areas": "212,646",
    "carrier": "tmo",
    "price": "0.58",
    "expiredIn": 600
  },
  "message": "Request Successful!",
  "success": true
}

Lấy thông tin đơn hàng

Trả về đơn hàng kèm trạng thái và mã, khi mã đã đến.

GET/number-details-s3
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/number-details-s3?orderId=48211973" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "48211973",
    "number": "16465550103",
    "serviceName": "Telegram",
    "country": "United States",
    "price": "0.58",
    "createdAt": "2026-10-09 12:44:00",
    "status": "completed",
    "message": "Your code is 482910",
    "pin": "482910"
  },
  "message": "Request Successful!",
  "success": true
}

Dùng lại số

Đặt lại cùng số đó để nhận mã khác, nếu dịch vụ cho phép.

POST/reuse-s3-service
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/reuse-s3-service" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"48211973"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "48211973",
    "number": "16465550103",
    "serviceName": "Telegram",
    "country": "United States",
    "price": "0.58",
    "status": "reserved",
    "expiredIn": 600
  },
  "message": "Request Successful!",
  "success": true
}

Hủy số

Hủy số chưa nhận được mã và hoàn tiền vào số dư của bạn.

POST/reject-s3-service
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/reject-s3-service" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"48211973"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": null,
  "message": "Request Successful!",
  "success": true
}

Global

Số từ nhiều quốc gia: lấy danh sách quốc gia, rồi đặt số cho một dịch vụ tại một trong các quốc gia đó.

Liệt kê dịch vụ và giá

Liệt kê các dịch vụ của Global kèm giá của bạn cho từng dịch vụ, sau chiết khấu.

GET/server4-pricing
Tham sốKiểuBắt buộcMô tả
countrystringKhôngMã quốc gia lấy từ danh sách quốc gia. Bỏ trống để dùng Mỹ (hoặc quốc gia đầu tiên đang bán).
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/server4-pricing?country=gb" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": [
    {
      "serviceId": "c41e7a02",
      "serviceName": "WhatsApp",
      "price": "0.35"
    }
  ],
  "message": "Request Successful!",
  "success": true
}

Liệt kê quốc gia

Liệt kê các quốc gia mà Global có bán số, kèm mã của từng quốc gia.

GET/server4-countries
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/server4-countries" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": [
    {
      "code": "us",
      "name": "United States"
    },
    {
      "code": "gb",
      "name": "United Kingdom"
    }
  ],
  "message": "Request Successful!",
  "success": true
}

Lấy tùy chọn xác minh và nhà mạng

Cho biết dịch vụ có thể xác minh bằng FlashCall + SMS ở một quốc gia hay không, và các nhà mạng có thể cung cấp số, kèm giá của từng lựa chọn.

GET/server4-options
Tham sốKiểuBắt buộcMô tả
serviceIdstringCóID của dịch vụ, lấy từ danh sách dịch vụ.
countrystringKhôngMã quốc gia lấy từ danh sách quốc gia. Bỏ trống để dùng Mỹ (hoặc quốc gia đầu tiên đang bán).
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/server4-options?serviceId=c41e7a02&country=us" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "price": "2.70",
    "call": {
      "price": "3.00"
    },
    "carriers": {
      "surcharge": 20,
      "operators": [
        {
          "code": "at_t",
          "name": "AT&T"
        },
        {
          "code": "tmobile",
          "name": "T-Mobile"
        },
        {
          "code": "verizon",
          "name": "Verizon"
        }
      ],
      "price": "3.24",
      "callPrice": "3.60"
    }
  },
  "message": "Request Successful!",
  "success": true
}

Đặt số

Đặt một số Global cho một dịch vụ và trừ tiền vào số dư của bạn.

POST/request-s4-service
Tham sốKiểuBắt buộcMô tả
serviceIdstringCóID của dịch vụ, lấy từ danh sách dịch vụ.
countrystringKhôngMã quốc gia lấy từ danh sách quốc gia. Bỏ trống để dùng Mỹ (hoặc quốc gia đầu tiên đang bán).
verificationstringKhông"call" cho FlashCall + SMS: dịch vụ gọi đến số và số gọi đến là mã. Mặc định "sms".
operatorstringKhôngMã nhà mạng từ endpoint tùy chọn, để chỉ nhận số của nhà mạng đó. Có cộng phụ phí nhà mạng. Mặc định là nhà mạng bất kỳ.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/request-s4-service" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"serviceId":"c41e7a02","country":"us","operator":"tmobile"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "3311842",
    "number": "12125550142",
    "serviceName": "WhatsApp",
    "country": "United States",
    "status": "reserved",
    "price": "3.24",
    "expiredIn": 1200,
    "carrier": "T-Mobile"
  },
  "message": "Request Successful!",
  "success": true
}

Lấy thông tin đơn hàng

Trả về đơn hàng kèm trạng thái và mã, khi mã đã đến.

GET/number-details-s4
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/number-details-s4?orderId=3311842" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "3311842",
    "number": "12125550142",
    "serviceName": "WhatsApp",
    "country": "United States",
    "price": "3.24",
    "createdAt": "2026-10-09 12:44:00",
    "status": "completed",
    "message": "Your code is 482910",
    "pin": "482910"
  },
  "message": "Request Successful!",
  "success": true
}

Dùng lại số

Đặt lại cùng số đó để nhận mã khác, nếu dịch vụ cho phép.

POST/reuse-s4-service
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/reuse-s4-service" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"3311842"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "3311842",
    "number": "12125550142",
    "serviceName": "WhatsApp",
    "country": "United States",
    "price": "3.24",
    "status": "reserved",
    "expiredIn": 600
  },
  "message": "Request Successful!",
  "success": true
}

Hủy số

Hủy số chưa nhận được mã và hoàn tiền vào số dư của bạn.

POST/reject-s4-service
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/reject-s4-service" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"3311842"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": null,
  "message": "Request Successful!",
  "success": true
}

Smart

Số giá rẻ từ nhiều quốc gia, có mã vùng, chế độ ưu tiên và tối đa 5 số mỗi yêu cầu.

Liệt kê dịch vụ và giá

Liệt kê các dịch vụ của Smart kèm giá của bạn cho từng dịch vụ, sau chiết khấu.

GET/server5-pricing
Tham sốKiểuBắt buộcMô tả
countrystringKhôngMã quốc gia lấy từ danh sách quốc gia. Bỏ trống để dùng Mỹ (hoặc quốc gia đầu tiên đang bán).
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/server5-pricing" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": [
    {
      "serviceId": "7d0f3b11",
      "serviceName": "Telegram",
      "price": "0.12"
    }
  ],
  "message": "Request Successful!",
  "success": true
}

Liệt kê quốc gia

Liệt kê các quốc gia mà Smart có bán số, kèm mã của từng quốc gia.

GET/server5-countries
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/server5-countries" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": [
    {
      "code": "us",
      "name": "United States"
    }
  ],
  "message": "Request Successful!",
  "success": true
}

Lấy tùy chọn đặt số

Trả về các mã vùng có sẵn cho một dịch vụ tại một quốc gia, và mức cộng thêm vào giá của chúng.

GET/server5-options
Tham sốKiểuBắt buộcMô tả
serviceIdstringCóID của dịch vụ, lấy từ danh sách dịch vụ.
countrystringKhôngMã quốc gia lấy từ danh sách quốc gia. Bỏ trống để dùng Mỹ (hoặc quốc gia đầu tiên đang bán).
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/server5-options?serviceId=7d0f3b11&country=us" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "price": "0.12",
    "successRate": 61,
    "bestSuccess": {
      "price": "0.15",
      "successRate": 84
    },
    "areaCodes": {
      "surcharge": 20,
      "lines": [
        {
          "price": "0.17",
          "successRate": 84,
          "codes": [
            "212",
            "646"
          ]
        }
      ]
    }
  },
  "message": "Request Successful!",
  "success": true
}

Đặt số

Đặt một số Smart cho một dịch vụ và trừ tiền vào số dư của bạn.

POST/request-s5-service
Tham sốKiểuBắt buộcMô tả
serviceIdstringCóID của dịch vụ, lấy từ danh sách dịch vụ.
countrystringKhôngMã quốc gia lấy từ danh sách quốc gia. Bỏ trống để dùng Mỹ (hoặc quốc gia đầu tiên đang bán).
areaCodesstring[]KhôngCác mã vùng muốn nhận, hoặc muốn tránh khi dùng excludeAreaCodes: dạng danh sách hoặc phân tách bằng dấu phẩy, tối đa 10. Sẽ cộng thêm vào giá.
excludeAreaCodesbooleanKhôngtrue để tránh các mã vùng thay vì nhận số thuộc một trong các mã đó.
prioritystringKhông"price" (mặc định) để có giá thấp nhất, hoặc "success" để dùng tuyến có khả năng nhận mã của bạn cao nhất.
quantitynumberKhôngSố lượng số đặt cùng lúc, từ 1 đến 5. Mỗi số là một đơn riêng.
phoneNumberstringKhôngMột số cụ thể bạn từng dùng, gồm chữ số kèm mã quốc gia, nếu số đó đang trống.

Với số lượng lớn hơn 1, phản hồi sẽ liệt kê mọi đơn đã đặt; nếu đặt được ít hơn, phản hồi sẽ cho biết số lượng và lý do.

Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/request-s5-service" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"serviceId":"7d0f3b11","areaCodes":["212"],"priority":"success"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "AB12CD34",
    "number": "12125550105",
    "serviceName": "Telegram",
    "country": "United States",
    "status": "reserved",
    "price": "0.14",
    "expiredIn": 1200
  },
  "message": "Request Successful!",
  "success": true
}

Lấy thông tin đơn hàng

Trả về đơn hàng kèm trạng thái và mã, khi mã đã đến.

GET/number-details-s5
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/number-details-s5?orderId=AB12CD34" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "AB12CD34",
    "number": "12125550105",
    "serviceName": "Telegram",
    "country": "United States",
    "price": "0.14",
    "createdAt": "2026-10-09 12:44:00",
    "status": "completed",
    "message": "Your code is 482910",
    "pin": "482910"
  },
  "message": "Request Successful!",
  "success": true
}

Dùng lại số

Đặt lại cùng số đó để nhận mã khác, nếu dịch vụ cho phép.

POST/reuse-s5-service
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/reuse-s5-service" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"AB12CD34"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "AB12CD34",
    "number": "12125550105",
    "serviceName": "Telegram",
    "country": "United States",
    "price": "0.14",
    "status": "reserved",
    "expiredIn": 600
  },
  "message": "Request Successful!",
  "success": true
}

Hủy số

Hủy số chưa nhận được mã và hoàn tiền vào số dư của bạn.

POST/reject-s5-service
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/reject-s5-service" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"AB12CD34"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": null,
  "message": "Request Successful!",
  "success": true
}

Plus

Số từ nhiều quốc gia, mỗi dịch vụ có nhiều tuyến: đặt tuyến rẻ nhất, chọn một tuyến hoặc giới hạn số tiền bạn trả.

Liệt kê dịch vụ và giá

Liệt kê các dịch vụ của Plus kèm giá của bạn cho từng dịch vụ, sau chiết khấu.

GET/server6-pricing
Tham sốKiểuBắt buộcMô tả
countrystringKhôngMã quốc gia lấy từ danh sách quốc gia. Bỏ trống để dùng Mỹ (hoặc quốc gia đầu tiên đang bán).
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/server6-pricing?country=us" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": [
    {
      "serviceId": "5b2c9e41",
      "serviceName": "WhatsApp",
      "price": "0.68"
    }
  ],
  "message": "Request Successful!",
  "success": true
}

Liệt kê quốc gia

Liệt kê các quốc gia mà Plus có bán số, kèm mã của từng quốc gia.

GET/server6-countries
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/server6-countries" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": [
    {
      "code": "us",
      "name": "United States"
    },
    {
      "code": "gb",
      "name": "United Kingdom"
    }
  ],
  "message": "Request Successful!",
  "success": true
}

Liệt kê tuyến và giá

Liệt kê các tuyến bán một dịch vụ tại một quốc gia, từ rẻ nhất, kèm giá của bạn cho từng tuyến và tỷ lệ thành công khi đã có.

GET/server6-options
Tham sốKiểuBắt buộcMô tả
serviceIdstringCóID của dịch vụ, lấy từ danh sách dịch vụ.
countrystringKhôngMã quốc gia lấy từ danh sách quốc gia. Bỏ trống để dùng Mỹ (hoặc quốc gia đầu tiên đang bán).
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/server6-options?serviceId=5b2c9e41&country=us" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "price": "0.68",
    "lines": [
      {
        "lineId": "a91f03c2",
        "price": "0.68",
        "successRate": 92
      },
      {
        "lineId": "4e7d2b10",
        "price": "0.68",
        "successRate": null
      },
      {
        "lineId": "c03b5f77",
        "price": "1.08",
        "successRate": 97
      }
    ]
  },
  "message": "Request Successful!",
  "success": true
}

Đặt số

Đặt một số Plus cho một dịch vụ và trừ tiền vào số dư của bạn.

POST/request-s6-service
Tham sốKiểuBắt buộcMô tả
serviceIdstringCóID của dịch vụ, lấy từ danh sách dịch vụ.
countrystringKhôngMã quốc gia lấy từ danh sách quốc gia. Bỏ trống để dùng Mỹ (hoặc quốc gia đầu tiên đang bán).
lineIdstringKhôngMột tuyến trong danh sách tuyến. Bỏ trống để dùng tuyến rẻ nhất.
maxPricenumberKhôngSố tiền tối đa bạn sẽ trả, tính bằng đô la Mỹ. Giá cao hơn sẽ bị từ chối; nếu không có lineId, có thể dùng bất kỳ tuyến nào đến mức giá này.

Nếu không có lineId, tuyến rẻ nhất sẽ được dùng, và một tuyến khác cùng giá nếu tuyến đó hết số. Nếu một tuyến không gửi mã cho một dịch vụ, hãy từ chối số đó và đặt từ lineId khác.

Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/request-s6-service" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"serviceId":"5b2c9e41","country":"us","maxPrice":0.7}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "230698",
    "number": "15551230456",
    "serviceName": "WhatsApp",
    "country": "United States",
    "status": "reserved",
    "price": "0.68",
    "expiredIn": 1200,
    "lineId": "a91f03c2"
  },
  "message": "Request Successful!",
  "success": true
}

Lấy thông tin đơn hàng

Trả về đơn hàng kèm trạng thái và mã, khi mã đã đến.

GET/number-details-s6
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/number-details-s6?orderId=230698" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "230698",
    "number": "15551230456",
    "serviceName": "WhatsApp",
    "country": "United States",
    "price": "0.68",
    "lineId": "a91f03c2",
    "createdAt": "2026-10-09 12:44:00",
    "status": "completed",
    "message": "Your code is 482910",
    "pin": "482910"
  },
  "message": "Request Successful!",
  "success": true
}

Dùng lại số

Đặt lại cùng số đó để nhận mã khác, nếu dịch vụ cho phép.

POST/reuse-s6-service
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/reuse-s6-service" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"230698"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "230698",
    "number": "15551230456",
    "serviceName": "WhatsApp",
    "country": "United States",
    "price": "0.68",
    "lineId": "a91f03c2",
    "status": "reserved",
    "expiredIn": 600
  },
  "message": "Request Successful!",
  "success": true
}

Hủy số

Hủy số chưa nhận được mã và hoàn tiền vào số dư của bạn.

POST/reject-s6-service
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/reject-s6-service" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"230698"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": null,
  "message": "Request Successful!",
  "success": true
}

Express

Số Mỹ để nhận mã nhanh: đặt số cho một dịch vụ, rồi lấy mã từ chi tiết đơn hoặc qua callback trong 5 phút hoạt động của số.

Liệt kê dịch vụ và giá

Liệt kê các dịch vụ của Express kèm giá của bạn cho từng dịch vụ, sau chiết khấu.

GET/server7-pricing
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/server7-pricing" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": [
    {
      "serviceId": "3e7a91c0",
      "serviceName": "WhatsApp",
      "price": "0.75",
      "multiplePrice": "1.13",
      "smsModes": [
        "single",
        "multiple"
      ]
    },
    {
      "serviceId": "8b2c40d1",
      "serviceName": "Telegram",
      "price": "0.50",
      "multiplePrice": null,
      "smsModes": [
        "single"
      ]
    }
  ],
  "message": "Request Successful!",
  "success": true
}

Đặt số

Đặt một số Express cho một dịch vụ và trừ tiền vào số dư của bạn.

POST/request-s7-service
Tham sốKiểuBắt buộcMô tả
serviceIdstringCóID của dịch vụ, lấy từ danh sách dịch vụ.
smsModestringKhông"multiple" để nhận mọi SMS gửi đến số khi số còn hoạt động (5 phút), mỗi tin được chuyển ngay khi đến, theo multiplePrice của dịch vụ. Chỉ dành cho dịch vụ có smsModes chứa "multiple". Mặc định là "single", hoặc "multiple" với dịch vụ chỉ bán theo cách đó.

Số Express hoạt động trong 5 phút. Nếu không có mã trong thời gian đó, đơn sẽ bị hủy và được hoàn tiền tự động. Không thể dùng lại số Express. Với smsMode "multiple", số tiếp tục nhận mã trong 5 phút của nó: mỗi mã mới gửi thêm một callback s7_otp_received, và chi tiết đơn liệt kê mọi mã, mã mới nhất ở pin.

Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/request-s7-service" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"serviceId":"3e7a91c0","smsMode":"multiple"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "9f2c41ab07d3e815",
    "number": "12125550142",
    "serviceName": "WhatsApp",
    "country": "United States",
    "status": "reserved",
    "price": "1.13",
    "expiredIn": 300,
    "smsMode": "multiple"
  },
  "message": "Request Successful!",
  "success": true
}

Lấy thông tin đơn hàng

Trả về đơn hàng kèm trạng thái và mã, khi mã đã đến.

GET/number-details-s7
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/number-details-s7?orderId=9f2c41ab07d3e815" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "9f2c41ab07d3e815",
    "number": "12125550142",
    "serviceName": "WhatsApp",
    "country": "United States",
    "price": "1.13",
    "smsMode": "multiple",
    "codes": [
      {
        "code": "318204",
        "message": "Your code is 318204",
        "receivedAt": "2026-10-09 12:44:00"
      },
      {
        "code": "482910",
        "message": "Your code is 482910",
        "receivedAt": "2026-10-09 12:44:00"
      }
    ],
    "createdAt": "2026-10-09 12:44:00",
    "status": "completed",
    "message": "Your code is 482910",
    "pin": "482910"
  },
  "message": "Request Successful!",
  "success": true
}

Hủy số

Hủy số chưa nhận được mã và hoàn tiền vào số dư của bạn.

POST/reject-s7-service
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/reject-s7-service" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"9f2c41ab07d3e815"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": null,
  "message": "Request Successful!",
  "success": true
}

Thuê Pinpoint

Giữ một số Mỹ cho một dịch vụ từ 1 ngày đến một năm, có gia hạn và tự động gia hạn.

Liệt kê dịch vụ thuê và giá

Liệt kê các dịch vụ của Thuê Pinpoint kèm giá của bạn cho từng thời hạn thuê.

GET/rental-services
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/rental-services" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": [
    {
      "serviceId": "rg5e1d20",
      "serviceName": "whatsapp"
    }
  ],
  "message": "Request Successful!",
  "success": true
}

Báo giá thuê số

Trả về giá của bạn cho từng thời hạn thuê của một dịch vụ, có hoặc không có mã vùng.

GET/rental-prices
Tham sốKiểuBắt buộcMô tả
serviceIdstringCóID của dịch vụ, lấy từ danh sách dịch vụ.
areasstringKhôngCác mã vùng, phân tách bằng dấu phẩy (tối đa 10). Sẽ cộng thêm vào giá.

Không phải dịch vụ nào cũng có mọi thời hạn: endpoint này trả về các thời hạn mà một dịch vụ có thể thuê.

Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/rental-prices?serviceId=rg5e1d20" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": [
    {
      "label": "oneDay",
      "days": 1,
      "price": "2.85"
    },
    {
      "label": "thirtyDay",
      "days": 30,
      "price": "7.20"
    },
    {
      "label": "oneYear",
      "days": 365,
      "price": "72.00"
    }
  ],
  "message": "Request Successful!",
  "success": true
}

Thuê số

Thuê một số qua Thuê Pinpoint cho một dịch vụ và trừ vào số dư phí của toàn bộ thời hạn thuê.

POST/request-rental
Tham sốKiểuBắt buộcMô tả
serviceIdstringCóID của dịch vụ, lấy từ danh sách dịch vụ.
durationstringCóThời hạn thuê: oneDay, threeDay, sevenDay, fourteenDay, thirtyDay, ninetyDay hoặc oneYear.
areasstringKhôngCác mã vùng, phân tách bằng dấu phẩy (tối đa 10). Sẽ cộng thêm vào giá.
autoRenewbooleanKhôngtrue để gia hạn lượt thuê bằng số dư vài giờ trước khi hết hạn.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/request-rental" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"serviceId":"rg5e1d20","duration":"thirtyDay","autoRenew":true}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "6702f1c4e2",
    "number": "12125550104",
    "serviceName": "WhatsApp",
    "country": "United States",
    "price": "7.20",
    "status": "reserved",
    "canRefund": true,
    "autoRenew": true,
    "purchased": "2026-10-09 12:44:00",
    "expires": "2026-11-08 12:44:00",
    "period": "thirtyDay",
    "duration": 30,
    "renewals": 0
  },
  "message": "Request Successful!",
  "success": true
}

Đọc tin nhắn của số thuê

Trả về các tin nhắn số thuê đã nhận, mới nhất trước.

GET/rental-messages
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
page / limitnumberKhôngSố trang và kích thước trang (tối đa 100).
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/rental-messages?orderId=6702f1c4e2" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "messages": [
      {
        "id": "66f0a1",
        "orderId": "6702f1c4e2",
        "number": "12125550104",
        "service": "WhatsApp",
        "sender": "WhatsApp",
        "message": "Your WhatsApp code: 551-204",
        "pin": "551204",
        "timestamp": "2026-10-09 12:44:00"
      }
    ],
    "pagination": {
      "total": 1,
      "page": 1,
      "limit": 10,
      "totalPages": 1
    }
  },
  "message": "Request Successful!",
  "success": true
}

Lấy giá gia hạn

Liệt kê các thời hạn có thể gia hạn cho lượt thuê đang hoạt động, kèm giá của bạn cho từng thời hạn.

GET/rental-renew-options
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/rental-renew-options?orderId=6702f1c4e2" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "6702f1c4e2",
    "number": "12125550104",
    "serviceName": "whatsapp",
    "periods": [
      {
        "period": "thirtyDay",
        "days": 30,
        "price": "7.20"
      }
    ]
  },
  "message": "Request Successful!",
  "success": true
}

Gia hạn thuê

Gia hạn lượt thuê đang hoạt động và trừ tiền vào số dư. Nếu không chỉ định kỳ hạn, lượt thuê được gia hạn với đúng thời hạn ban đầu.

POST/renew-rental
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
periodstringKhôngThời hạn gia hạn (cùng giá trị với duration). Bỏ trống để gia hạn với đúng thời hạn của lượt thuê.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/renew-rental" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"6702f1c4e2","period":"thirtyDay"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "6702f1c4e2",
    "number": "12125550104",
    "serviceName": "WhatsApp",
    "country": "United States",
    "price": "14.40",
    "status": "reserved",
    "canRefund": false,
    "autoRenew": true,
    "purchased": "2026-10-09 12:44:00",
    "expires": "2026-11-08 12:44:00",
    "period": "thirtyDay",
    "duration": 30,
    "renewals": 1
  },
  "message": "Request Successful!",
  "success": true
}

Bật hoặc tắt tự động gia hạn

Thiết lập việc lượt thuê đang hoạt động có được gia hạn bằng số dư vài giờ trước khi hết hạn hay không.

POST/rental-auto-renew
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
enabledbooleanCótrue để bật tự động gia hạn, false để tắt.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/rental-auto-renew" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"6702f1c4e2","enabled":false}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "6702f1c4e2",
    "autoRenew": false
  },
  "message": "Request Successful!",
  "success": true
}

Hủy thuê

Hủy lượt thuê vẫn còn được hoàn tiền (trước tin nhắn đầu tiên) và hoàn tiền vào số dư của bạn.

POST/release-rental
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/release-rental" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"6702f1c4e2"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": null,
  "message": "Request Successful!",
  "success": true
}

Thuê Flex

Giữ một số Mỹ từ 1 đến 30 ngày, có tự động gia hạn và kích hoạt lại số đã hết hạn.

Liệt kê dịch vụ thuê và giá

Liệt kê các dịch vụ của Thuê Flex kèm giá của bạn cho từng thời hạn thuê.

GET/s3-rental-services
Tham sốKiểuBắt buộcMô tả
countrystringKhôngMã quốc gia lấy từ danh sách quốc gia. Bỏ trống để dùng Mỹ (hoặc quốc gia đầu tiên đang bán).
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/s3-rental-services" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": [
    {
      "serviceId": "1f3aa214",
      "serviceName": "Amazon",
      "prices": [
        {
          "period": "1d",
          "days": 1,
          "price": "2.88"
        },
        {
          "period": "30d",
          "days": 30,
          "price": "5.76"
        }
      ]
    }
  ],
  "message": "Request Successful!",
  "success": true
}

Liệt kê quốc gia

Liệt kê các quốc gia mà Thuê Flex có bán số, kèm mã của từng quốc gia.

GET/s3-rental-countries
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/s3-rental-countries" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": [
    {
      "code": "us",
      "name": "United States"
    }
  ],
  "message": "Request Successful!",
  "success": true
}

Thuê số

Thuê một số qua Thuê Flex cho một dịch vụ và trừ vào số dư phí của toàn bộ thời hạn thuê.

POST/request-s3-rental
Tham sốKiểuBắt buộcMô tả
serviceIdstringCóID của dịch vụ, lấy từ danh sách dịch vụ.
periodstringCóThời hạn thuê, lấy từ danh sách dịch vụ, chẳng hạn "7d".
areasstringKhôngCác mã vùng, phân tách bằng dấu phẩy (tối đa 10). Sẽ cộng thêm vào giá.
autoRenewbooleanKhôngtrue để gia hạn lượt thuê bằng số dư vài giờ trước khi hết hạn.
countrystringKhôngMã quốc gia lấy từ danh sách quốc gia. Bỏ trống để dùng Mỹ (hoặc quốc gia đầu tiên đang bán).
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/request-s3-rental" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"serviceId":"1f3aa214","period":"7d","autoRenew":true}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "6702f1c4e2",
    "number": "12125550104",
    "serviceName": "WhatsApp",
    "country": "United States",
    "price": "3.20",
    "status": "reserved",
    "canRefund": true,
    "autoRenew": true,
    "purchased": "2026-10-09 12:44:00",
    "expires": "2026-11-08 12:44:00",
    "period": "7d",
    "duration": 7,
    "renewPrice": "3.20"
  },
  "message": "Request Successful!",
  "success": true
}

Lấy thông tin lượt thuê

Trả về lượt thuê kèm trạng thái, ngày kết thúc và cài đặt gia hạn.

GET/s3-rental-details
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/s3-rental-details?orderId=6702f1c4e2" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "6702f1c4e2",
    "number": "12125550104",
    "serviceName": "WhatsApp",
    "country": "United States",
    "price": "3.20",
    "status": "active",
    "canRefund": false,
    "autoRenew": true,
    "purchased": "2026-10-09 12:44:00",
    "expires": "2026-11-08 12:44:00",
    "period": "7d",
    "duration": 7
  },
  "message": "Request Successful!",
  "success": true
}

Đọc tin nhắn của số thuê

Trả về các tin nhắn số thuê đã nhận, mới nhất trước.

GET/s3-rental-messages
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
page / limitnumberKhôngSố trang và kích thước trang (tối đa 100).
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/s3-rental-messages?orderId=6702f1c4e2" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "messages": [
      {
        "id": "66f0a1",
        "orderId": "6702f1c4e2",
        "number": "12125550104",
        "service": "WhatsApp",
        "sender": "WhatsApp",
        "message": "Your WhatsApp code: 551-204",
        "pin": "551204",
        "timestamp": "2026-10-09 12:44:00"
      }
    ],
    "pagination": {
      "total": 1,
      "page": 1,
      "limit": 10,
      "totalPages": 1
    }
  },
  "message": "Request Successful!",
  "success": true
}

Gia hạn thuê

Gia hạn lượt thuê đang hoạt động và trừ tiền vào số dư. Nếu không chỉ định kỳ hạn, lượt thuê được gia hạn với đúng thời hạn ban đầu.

POST/renew-s3-rental
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/renew-s3-rental" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"6702f1c4e2"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "6702f1c4e2",
    "number": "12125550104",
    "serviceName": "WhatsApp",
    "country": "United States",
    "price": "6.40",
    "status": "reserved",
    "canRefund": false,
    "autoRenew": true,
    "purchased": "2026-10-09 12:44:00",
    "expires": "2026-11-08 12:44:00",
    "period": "7d",
    "duration": 7
  },
  "message": "Request Successful!",
  "success": true
}

Bật hoặc tắt tự động gia hạn

Thiết lập việc lượt thuê đang hoạt động có được gia hạn bằng số dư vài giờ trước khi hết hạn hay không.

POST/s3-rental-auto-renew
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
enabledbooleanCótrue để bật tự động gia hạn, false để tắt.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/s3-rental-auto-renew" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"6702f1c4e2","enabled":true}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "6702f1c4e2",
    "autoRenew": true
  },
  "message": "Request Successful!",
  "success": true
}

Hủy thuê

Hủy lượt thuê vẫn còn được hoàn tiền (trước tin nhắn đầu tiên) và hoàn tiền vào số dư của bạn.

POST/cancel-s3-rental
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/cancel-s3-rental" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"6702f1c4e2"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": null,
  "message": "Request Successful!",
  "success": true
}

Lấy giá kích hoạt lại

Liệt kê các thời hạn có thể kích hoạt lại số của lượt thuê đã hết hạn, kèm giá của bạn cho từng thời hạn.

GET/s3-rental-retake-options
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/s3-rental-retake-options?orderId=6702f1c4e2" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "6702f1c4e2",
    "number": "12125550104",
    "serviceName": "Amazon",
    "periods": [
      {
        "period": "7d",
        "days": 7,
        "price": "4.80"
      }
    ]
  },
  "message": "Request Successful!",
  "success": true
}

Kích hoạt lại số đã hết hạn

Thuê lại số của lượt thuê đã hết hạn cho cùng dịch vụ, khi số vẫn còn trống.

POST/retake-s3-rental
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
periodstringCóThời hạn thuê, lấy từ danh sách dịch vụ, chẳng hạn "7d".
autoRenewbooleanKhôngtrue để gia hạn lượt thuê bằng số dư vài giờ trước khi hết hạn.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/retake-s3-rental" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"6702f1c4e2","period":"7d"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "6702f9a811",
    "number": "12125550104",
    "serviceName": "WhatsApp",
    "country": "United States",
    "price": "4.80",
    "status": "reserved",
    "canRefund": true,
    "autoRenew": true,
    "purchased": "2026-10-09 12:44:00",
    "expires": "2026-11-08 12:44:00",
    "period": "7d",
    "duration": 7
  },
  "message": "Request Successful!",
  "success": true
}

Thuê Global

Thuê số tại nhiều quốc gia, gia hạn với bất kỳ thời hạn nào có sẵn, hoặc để tự động gia hạn.

Liệt kê dịch vụ thuê và giá

Liệt kê các dịch vụ của Thuê Global kèm giá của bạn cho từng thời hạn thuê.

GET/s4-rental-services
Tham sốKiểuBắt buộcMô tả
countrystringKhôngMã quốc gia lấy từ danh sách quốc gia. Bỏ trống để dùng Mỹ (hoặc quốc gia đầu tiên đang bán).
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/s4-rental-services" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": [
    {
      "serviceId": "c41e7a02",
      "serviceName": "WhatsApp",
      "prices": [
        {
          "period": "1d",
          "days": 1,
          "price": "0.90"
        },
        {
          "period": "30d",
          "days": 30,
          "price": "9.60"
        }
      ]
    }
  ],
  "message": "Request Successful!",
  "success": true
}

Liệt kê quốc gia

Liệt kê các quốc gia mà Thuê Global có bán số, kèm mã của từng quốc gia.

GET/s4-rental-countries
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/s4-rental-countries" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": [
    {
      "code": "us",
      "name": "United States"
    }
  ],
  "message": "Request Successful!",
  "success": true
}

Thuê số

Thuê một số qua Thuê Global cho một dịch vụ và trừ vào số dư phí của toàn bộ thời hạn thuê.

POST/request-s4-rental
Tham sốKiểuBắt buộcMô tả
serviceIdstringCóID của dịch vụ, lấy từ danh sách dịch vụ.
periodstringCóThời hạn thuê, lấy từ danh sách dịch vụ, chẳng hạn "7d".
autoRenewbooleanKhôngtrue để gia hạn lượt thuê bằng số dư vài giờ trước khi hết hạn.
countrystringKhôngMã quốc gia lấy từ danh sách quốc gia. Bỏ trống để dùng Mỹ (hoặc quốc gia đầu tiên đang bán).
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/request-s4-rental" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"serviceId":"c41e7a02","period":"30d","country":"us"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "6702f1c4e2",
    "number": "12125550104",
    "serviceName": "WhatsApp",
    "country": "United States",
    "price": "9.60",
    "status": "reserved",
    "canRefund": true,
    "autoRenew": true,
    "purchased": "2026-10-09 12:44:00",
    "expires": "2026-11-08 12:44:00",
    "period": "30d",
    "duration": 30
  },
  "message": "Request Successful!",
  "success": true
}

Lấy thông tin lượt thuê

Trả về lượt thuê kèm trạng thái, ngày kết thúc và cài đặt gia hạn.

GET/s4-rental-details
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/s4-rental-details?orderId=6702f1c4e2" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "6702f1c4e2",
    "number": "12125550104",
    "serviceName": "WhatsApp",
    "country": "United States",
    "price": "9.60",
    "status": "active",
    "canRefund": false,
    "autoRenew": true,
    "purchased": "2026-10-09 12:44:00",
    "expires": "2026-11-08 12:44:00",
    "period": "30d",
    "duration": 30
  },
  "message": "Request Successful!",
  "success": true
}

Đọc tin nhắn của số thuê

Trả về các tin nhắn số thuê đã nhận, mới nhất trước.

GET/s4-rental-messages
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
page / limitnumberKhôngSố trang và kích thước trang (tối đa 100).
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/s4-rental-messages?orderId=6702f1c4e2" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "messages": [
      {
        "id": "66f0a1",
        "orderId": "6702f1c4e2",
        "number": "12125550104",
        "service": "WhatsApp",
        "sender": "WhatsApp",
        "message": "Your WhatsApp code: 551-204",
        "pin": "551204",
        "timestamp": "2026-10-09 12:44:00"
      }
    ],
    "pagination": {
      "total": 1,
      "page": 1,
      "limit": 10,
      "totalPages": 1
    }
  },
  "message": "Request Successful!",
  "success": true
}

Lấy giá gia hạn

Liệt kê các thời hạn có thể gia hạn cho lượt thuê đang hoạt động, kèm giá của bạn cho từng thời hạn.

GET/s4-rental-renew-options
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/s4-rental-renew-options?orderId=6702f1c4e2" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "6702f1c4e2",
    "number": "12125550104",
    "serviceName": "WhatsApp",
    "periods": [
      {
        "period": "30d",
        "days": 30,
        "price": "9.60"
      }
    ]
  },
  "message": "Request Successful!",
  "success": true
}

Gia hạn thuê

Gia hạn lượt thuê đang hoạt động và trừ tiền vào số dư. Nếu không chỉ định kỳ hạn, lượt thuê được gia hạn với đúng thời hạn ban đầu.

POST/renew-s4-rental
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
periodstringKhôngThời hạn gia hạn, lấy từ giá gia hạn. Bỏ trống để gia hạn với đúng thời hạn của lượt thuê.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/renew-s4-rental" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"6702f1c4e2","period":"30d"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "6702f1c4e2",
    "number": "12125550104",
    "serviceName": "WhatsApp",
    "country": "United States",
    "price": "19.20",
    "status": "reserved",
    "canRefund": false,
    "autoRenew": true,
    "purchased": "2026-10-09 12:44:00",
    "expires": "2026-11-08 12:44:00",
    "period": "30d",
    "duration": 30
  },
  "message": "Request Successful!",
  "success": true
}

Bật hoặc tắt tự động gia hạn

Thiết lập việc lượt thuê đang hoạt động có được gia hạn bằng số dư vài giờ trước khi hết hạn hay không.

POST/s4-rental-auto-renew
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
enabledbooleanCótrue để bật tự động gia hạn, false để tắt.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/s4-rental-auto-renew" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"6702f1c4e2","enabled":true}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "6702f1c4e2",
    "autoRenew": true
  },
  "message": "Request Successful!",
  "success": true
}

Hủy thuê

Hủy lượt thuê vẫn còn được hoàn tiền (trước tin nhắn đầu tiên) và hoàn tiền vào số dư của bạn.

POST/cancel-s4-rental
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/cancel-s4-rental" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"6702f1c4e2"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": null,
  "message": "Request Successful!",
  "success": true
}

Lấy giá kích hoạt lại

Liệt kê các thời hạn có thể kích hoạt lại số của lượt thuê đã hết hạn, kèm giá của bạn cho từng thời hạn.

GET/s4-rental-retake-options
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/s4-rental-retake-options?orderId=6702f1c4e2" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "6702f1c4e2",
    "number": "12125550104",
    "serviceName": "WhatsApp",
    "periods": [
      {
        "period": "30d",
        "days": 30,
        "price": "9.60"
      }
    ]
  },
  "message": "Request Successful!",
  "success": true
}

Kích hoạt lại số đã hết hạn

Thuê lại số của lượt thuê đã hết hạn cho cùng dịch vụ, khi số vẫn còn trống.

POST/retake-s4-rental
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
periodstringCóThời hạn thuê, lấy từ danh sách dịch vụ, chẳng hạn "7d".
autoRenewbooleanKhôngtrue để gia hạn lượt thuê bằng số dư vài giờ trước khi hết hạn.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/retake-s4-rental" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"6702f1c4e2","period":"30d"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "6702f9a811",
    "number": "12125550104",
    "serviceName": "WhatsApp",
    "country": "United States",
    "price": "9.60",
    "status": "reserved",
    "canRefund": true,
    "autoRenew": true,
    "purchased": "2026-10-09 12:44:00",
    "expires": "2026-11-08 12:44:00",
    "period": "30d",
    "duration": 30
  },
  "message": "Request Successful!",
  "success": true
}

Thuê Plus

Thuê số của một quốc gia theo tháng để nhận tin nhắn của mọi dịch vụ, gia hạn hoặc để tự động gia hạn.

Liệt kê quốc gia

Liệt kê các quốc gia mà Thuê Plus có bán số, kèm mã của từng quốc gia.

GET/s6-rental-countries
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/s6-rental-countries" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": [
    {
      "code": "ca",
      "name": "Canada"
    },
    {
      "code": "us",
      "name": "United States"
    }
  ],
  "message": "Request Successful!",
  "success": true
}

Liệt kê thời hạn thuê và giá

Liệt kê các thời hạn thuê số Thuê Plus tại một quốc gia, kèm giá của bạn cho từng thời hạn.

GET/s6-rental-plans
Tham sốKiểuBắt buộcMô tả
countrystringKhôngMã quốc gia lấy từ danh sách quốc gia. Bỏ trống để dùng Mỹ (hoặc quốc gia đầu tiên đang bán).
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/s6-rental-plans?country=us" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "country": {
      "code": "us",
      "name": "United States"
    },
    "plans": [
      {
        "period": "1m",
        "months": 1,
        "days": 30,
        "price": "7.50"
      },
      {
        "period": "3m",
        "months": 3,
        "days": 90,
        "price": "21.00"
      }
    ]
  },
  "message": "Request Successful!",
  "success": true
}

Thuê số

Thuê một số qua Thuê Plus cho một dịch vụ và trừ vào số dư phí của toàn bộ thời hạn thuê.

POST/request-s6-rental
Tham sốKiểuBắt buộcMô tả
periodstringCóThời hạn thuê theo tháng, từ danh sách thời hạn: "1m", "2m", "3m", "6m" hoặc "12m".
autoRenewbooleanKhôngtrue để gia hạn lượt thuê bằng số dư vài giờ trước khi hết hạn.
countrystringKhôngMã quốc gia lấy từ danh sách quốc gia. Bỏ trống để dùng Mỹ (hoặc quốc gia đầu tiên đang bán).

Số Thuê Plus không gắn với một dịch vụ: số nhận tin nhắn của mọi dịch vụ. Có thể hủy và được hoàn tiền trong vòng 20 phút sau khi thuê, trước tin nhắn đầu tiên.

Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/request-s6-rental" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"period":"1m","country":"us","autoRenew":true}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "9c41e2b7",
    "number": "15143080170",
    "serviceName": "Any service",
    "anyService": true,
    "country": "United States",
    "period": "1m",
    "months": 1,
    "duration": 30,
    "price": "7.50",
    "status": "reserved",
    "canRefund": true,
    "autoRenew": true,
    "purchased": "2026-10-09 12:44:00",
    "expires": "2026-11-08 12:44:00",
    "remainingTime": 2591940
  },
  "message": "Request Successful!",
  "success": true
}

Lấy thông tin lượt thuê

Trả về lượt thuê kèm trạng thái, ngày kết thúc và cài đặt gia hạn.

GET/s6-rental-details
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/s6-rental-details?orderId=9c41e2b7" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "9c41e2b7",
    "number": "15143080170",
    "serviceName": "Any service",
    "anyService": true,
    "country": "United States",
    "period": "1m",
    "months": 1,
    "duration": 30,
    "price": "7.50",
    "status": "active",
    "canRefund": false,
    "autoRenew": true,
    "purchased": "2026-10-09 12:44:00",
    "expires": "2026-11-08 12:44:00",
    "remainingTime": 2591940
  },
  "message": "Request Successful!",
  "success": true
}

Đọc tin nhắn của số thuê

Trả về các tin nhắn số thuê đã nhận, mới nhất trước.

GET/s6-rental-messages
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
page / limitnumberKhôngSố trang và kích thước trang (tối đa 100).
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/s6-rental-messages?orderId=9c41e2b7" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "messages": [
      {
        "id": "66f0a1",
        "orderId": "9c41e2b7",
        "number": "15143080170",
        "service": "Any service",
        "sender": "",
        "message": "Your WhatsApp code: 551-204",
        "pin": "551204",
        "timestamp": "2026-10-09 12:44:00"
      }
    ],
    "pagination": {
      "total": 1,
      "page": 1,
      "limit": 10,
      "totalPages": 1
    }
  },
  "message": "Request Successful!",
  "success": true
}

Lấy giá gia hạn

Liệt kê các thời hạn có thể gia hạn cho lượt thuê đang hoạt động, kèm giá của bạn cho từng thời hạn.

GET/s6-rental-renew-options
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/s6-rental-renew-options?orderId=9c41e2b7" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "9c41e2b7",
    "number": "15143080170",
    "serviceName": "Any service",
    "anyService": true,
    "periods": [
      {
        "period": "1m",
        "months": 1,
        "days": 30,
        "price": "7.50"
      },
      {
        "period": "3m",
        "months": 3,
        "days": 90,
        "price": "21.00"
      }
    ]
  },
  "message": "Request Successful!",
  "success": true
}

Gia hạn thuê

Gia hạn lượt thuê đang hoạt động và trừ tiền vào số dư. Nếu không chỉ định kỳ hạn, lượt thuê được gia hạn với đúng thời hạn ban đầu.

POST/renew-s6-rental
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
periodstringKhôngThời hạn gia hạn, từ bảng giá gia hạn, ví dụ "1m". Bỏ trống để gia hạn theo thời hạn của chính lượt thuê.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/renew-s6-rental" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"9c41e2b7","period":"3m"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "9c41e2b7",
    "number": "15143080170",
    "serviceName": "Any service",
    "anyService": true,
    "country": "United States",
    "period": "1m",
    "months": 1,
    "duration": 30,
    "price": "28.50",
    "status": "reserved",
    "canRefund": false,
    "autoRenew": true,
    "purchased": "2026-10-09 12:44:00",
    "expires": "2027-02-09 12:44:00",
    "remainingTime": 2591940
  },
  "message": "Request Successful!",
  "success": true
}

Bật hoặc tắt tự động gia hạn

Thiết lập việc lượt thuê đang hoạt động có được gia hạn bằng số dư vài giờ trước khi hết hạn hay không.

POST/s6-rental-auto-renew
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
enabledbooleanCótrue để bật tự động gia hạn, false để tắt.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/s6-rental-auto-renew" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"9c41e2b7","enabled":true}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "9c41e2b7",
    "autoRenew": true
  },
  "message": "Request Successful!",
  "success": true
}

Hủy thuê

Hủy lượt thuê vẫn còn được hoàn tiền (trước tin nhắn đầu tiên) và hoàn tiền vào số dư của bạn.

POST/cancel-s6-rental
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/cancel-s6-rental" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"9c41e2b7"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": null,
  "message": "Request Successful!",
  "success": true
}

Lấy giá kích hoạt lại

Liệt kê các thời hạn có thể kích hoạt lại số của lượt thuê đã hết hạn, kèm giá của bạn cho từng thời hạn.

GET/s6-rental-retake-options
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
Ví dụ yêu cầu
curl "https://textverification.io/api/v1/users/s6-rental-retake-options?orderId=9c41e2b7" \
  -H "Authorization: Bearer YOUR_API_KEY"
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "9c41e2b7",
    "number": "15143080170",
    "serviceName": "Any service",
    "anyService": true,
    "periods": [
      {
        "period": "1m",
        "months": 1,
        "days": 30,
        "price": "7.50"
      }
    ]
  },
  "message": "Request Successful!",
  "success": true
}

Kích hoạt lại số đã hết hạn

Thuê lại số của lượt thuê đã hết hạn cho cùng dịch vụ, khi số vẫn còn trống.

POST/retake-s6-rental
Tham sốKiểuBắt buộcMô tả
orderIdstringCóID của đơn hàng, được trả về khi bạn đặt.
periodstringCóThời hạn thuê theo tháng, từ danh sách thời hạn: "1m", "2m", "3m", "6m" hoặc "12m".
autoRenewbooleanKhôngtrue để gia hạn lượt thuê bằng số dư vài giờ trước khi hết hạn.

Kích hoạt lại sẽ gia hạn chính lượt thuê đó, giữ nguyên orderId và số. Có thể thực hiện trong vài ngày sau khi lượt thuê kết thúc.

Ví dụ yêu cầu
curl -X POST "https://textverification.io/api/v1/users/retake-s6-rental" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderId":"9c41e2b7","period":"1m"}'
Ví dụ phản hồi
{
  "statusCode": 200,
  "data": {
    "orderId": "9c41e2b7",
    "number": "15143080170",
    "serviceName": "Any service",
    "anyService": true,
    "country": "United States",
    "period": "1m",
    "months": 1,
    "duration": 30,
    "price": "15.00",
    "status": "reserved",
    "canRefund": false,
    "autoRenew": true,
    "purchased": "2026-10-09 12:44:00",
    "expires": "2026-11-08 12:44:00",
    "remainingTime": 2591940
  },
  "message": "Request Successful!",
  "success": true
}

Callback

Đặt URL callback trong phần cài đặt tài khoản. Mỗi khi có mã hoặc tin nhắn của số thuê, chúng tôi sẽ gửi đến URL đó bằng một yêu cầu HTTP POST có phần thân JSON chứa event và data.

  • Phản hồi bằng mã trạng thái 2xx trong vòng 5 giây để xác nhận đã nhận.
  • Nếu máy chủ của bạn không phản hồi kịp hoặc trả về mã trạng thái khác, chúng tôi sẽ thử lại sau 2 giây, rồi sau 4 giây: tổng cộng 3 lần.
  • Cùng một sự kiện có thể đến nhiều lần: dùng orderId để bỏ qua các lần trùng lặp.

Sự kiện

Sự kiệnGửi khi
s1_otp_receivedSố Prime nhận được mã.
s1_win_premium_requestYêu cầu Premium của Prime giành được số.
s2_otp_receivedSố Pinpoint nhận được mã.
s3_otp_receivedSố Flex nhận được mã.
s4_otp_receivedSố Global nhận được mã.
s5_otp_receivedSố Smart nhận được mã.
s6_otp_receivedSố Plus nhận được mã.
s7_otp_receivedSố Express nhận được mã.
rental_otp_receivedSố thuộc Thuê Pinpoint nhận được tin nhắn.
s3_rental_otp_receivedSố thuộc Thuê Flex nhận được tin nhắn.
s4_rental_otp_receivedSố thuộc Thuê Global nhận được tin nhắn.
s6_rental_otp_receivedSố thuộc Thuê Plus nhận được tin nhắn.

Payload

data.orderId
Đơn hàng mà mã thuộc về.
data.timestamp
Thời điểm chúng tôi nhận được (UTC).
data.number
Số điện thoại đã nhận tin nhắn.
data.service
Dịch vụ mà số được đặt cho.
data.message
Toàn bộ tin nhắn.
data.otp
Mã được tìm thấy trong tin nhắn.
Ví dụ callback
{
  "event": "s2_otp_received",
  "data": {
    "orderId": "lr_01K7ABC",
    "timestamp": "2026-10-09 12:44:00",
    "number": "12125550102",
    "service": "google",
    "message": "G-482910 is your Google verification code.",
    "otp": "482910"
  }
}

Gặp khó khăn khi tích hợp? Liên hệ đội ngũ của chúng tôi.