Xem đặc tả OpenAPI·Xuất bộ sưu tập Postman
Một khóa giữ chỗ được dùng ở mọi nơi trên trang này — đăng nhập để sao chép các yêu cầu và đoạn mã bằng khóa API thật của riêng bạn.
Chọn một phương thức để bắt đầu
Mọi tham số, phản hồi trực tiếp và mọi thành công/lỗi đã ghi lại đều nằm trên một màn hình.
getNumber
V1
GET / POST
Mua một số điện thoại cho một dịch vụ/quốc gia.
Chấp nhận các giá trị phân tách bằng dấu phẩy — tính năng độc quyền của Tiger SMS.
Được chấp nhận nhưng hiện đang bị bỏ qua (không có quy tắc xác thực, âm thầm loại bỏ, không báo lỗi): operator, phoneException, minPrice.
Không hỗ trợ tự động phát hiện quốc gia (ví dụ `country=any`): `country` phải là mã số quốc gia — một country không phải số hoặc không xác định sẽ trả về BAD_COUNTRY.
Danh sách phân tách bằng dấu phẩy trên phương thức này chỉ được hỗ trợ cho providerIds/exceptProviderIds. `service`/`country` ở cấp cao nhất không chấp nhận danh sách dấu phẩy ở đây — khả năng đó sắp ra mắt chỉ trên các phương thức tra cứu giá (getPrices/getFreePrices/getPricesV2/getPricesV3).
getNumberTest hoạt động giống hệt getNumber, nhưng là cách được ghi chép để truyền activationType/testParams một cách rõ ràng.
Đây là một yêu cầu thật — một lời gọi thành công có thể trừ tiền trong số dư của bạn hoặc thay đổi một lượt kích hoạt thật.
Đăng nhập để thực thi yêu cầu này bằng khóa API của riêng bạn.
Đăng nhậpĐăng ký
Tất cả các phản hồi đã được ghi lại
setStatus
V1
GET / POST
Thay đổi trạng thái của một lượt kích hoạt (ready/retry/cancel/complete).
Phản hồi luôn là một token trạng thái thuần, không bao giờ là phong bì JSON — hãy dùng setStatusV2 nếu bạn cần JSON.
Đăng nhập để thực thi yêu cầu này bằng khóa API của riêng bạn.
Đăng nhậpĐăng ký
Tất cả các phản hồi đã được ghi lại
getStatus
V1
GET / POST
Kiểm tra định kỳ trạng thái/mã của một lượt kích hoạt.
Đăng nhập để thực thi yêu cầu này bằng khóa API của riêng bạn.
Đăng nhậpĐăng ký
Tất cả các phản hồi đã được ghi lại
getPrices
V1
GET / POST
Bảng giá/số lượng phẳng theo quốc gia và dịch vụ.
Chấp nhận các giá trị phân tách bằng dấu phẩy — tính năng độc quyền của Tiger SMS.
Một mã service/country không xác định hoặc đã bị gỡ sẽ trả về BAD_SERVICE/BAD_COUNTRY. Một mã hợp lệ nhưng đơn giản là không có biến thể nào được cung cấp cho cặp đó vẫn cho kết quả rỗng (khóa bị bỏ qua).
Danh sách phân tách bằng dấu phẩy (khi được bật): mỗi token được xác thực theo cùng cách như một giá trị đơn; nếu không có mã nào trong danh sách tồn tại, sẽ trả về BAD_SERVICE/BAD_COUNTRY.
Đăng nhập để thực thi yêu cầu này bằng khóa API của riêng bạn.
Đăng nhậpĐăng ký
Tất cả các phản hồi đã được ghi lại
getFreePrices
V2
GET / POST
Bảng chi tiết nhóm giá (price => count, cờ multi-SMS) theo quốc gia/dịch vụ.
Chấp nhận các giá trị phân tách bằng dấu phẩy — tính năng độc quyền của Tiger SMS.
Đăng nhập để thực thi yêu cầu này bằng khóa API của riêng bạn.
Đăng nhậpĐăng ký
Tất cả các phản hồi đã được ghi lại
getPricesV2
V2
GET / POST
Bí danh của getFreePrices.
Chấp nhận các giá trị phân tách bằng dấu phẩy — tính năng độc quyền của Tiger SMS.
Đăng nhập để thực thi yêu cầu này bằng khóa API của riêng bạn.
Đăng nhậpĐăng ký
Tất cả các phản hồi đã được ghi lại
getBalance
V1
GET / POST
Số dư tài khoản hiện tại.
BAD_KEY (HTTP 401) được trả về trước khi phương thức này chạy, bất cứ khi nào khóa API bị thiếu hoặc không hợp lệ — điều này áp dụng cho mọi phương thức, không chỉ riêng phương thức này.
Đăng nhập để thực thi yêu cầu này bằng khóa API của riêng bạn.
Đăng nhậpĐăng ký
Tất cả các phản hồi đã được ghi lại
getServiceNumbersCount
V1
GET / POST
Số lượng số khả dụng cho một dịch vụ/quốc gia.
Đăng nhập để thực thi yêu cầu này bằng khóa API của riêng bạn.
Đăng nhậpĐăng ký
Tất cả các phản hồi đã được ghi lại
getProviders
V1
GET / POST
Danh sách nhà cung cấp công khai (id/name/numbers_count/delivery_percent/number_lifetime, không có giá).
Đăng nhập để thực thi yêu cầu này bằng khóa API của riêng bạn.
Đăng nhậpĐăng ký
Tất cả các phản hồi đã được ghi lại
getNumberV2
V2Mới
GET / POSTapi_get_number_v2_enabled
Purchase a phone number, full typed JSON success/error envelope.
Chấp nhận các giá trị phân tách bằng dấu phẩy — tính năng độc quyền của Tiger SMS.
Đây là một yêu cầu thật — một lời gọi thành công có thể trừ tiền trong số dư của bạn hoặc thay đổi một lượt kích hoạt thật.
Đăng nhập để thực thi yêu cầu này bằng khóa API của riêng bạn.
Đăng nhậpĐăng ký
Tất cả các phản hồi đã được ghi lại
getStatusV2
V2Mới
GET / POSTapi_get_status_v2_enabled
Activation status as JSON (verificationType + sms block).
Đăng nhập để thực thi yêu cầu này bằng khóa API của riêng bạn.
Đăng nhậpĐăng ký
Đăng nhập để thực thi yêu cầu này bằng khóa API của riêng bạn.
Đăng nhậpĐăng ký
Tất cả các phản hồi đã được ghi lại
getPricesV3
V3Mới
GET / POSTapi_prices_v3_enabled
Price/count map with a per-provider price breakdown.
Chấp nhận các giá trị phân tách bằng dấu phẩy — tính năng độc quyền của Tiger SMS.
Khác với mọi phương thức JSON khác trong nhóm này, một lỗi nội bộ bất ngờ ở đây sẽ trả về phản hồi BAD_ACTION dạng văn bản thuần thay vì một phần thân JSON — điều này là cố ý, để một client phân tích JSON không bao giờ nhận được một phần thân JSON dở dang.
Danh sách phân tách bằng dấu phẩy (sắp ra mắt): sẽ kích hoạt khi service hoặc country chứa dấu phẩy; mỗi token được xác thực giống như một giá trị đơn lẻ, và mỗi danh sách bị giới hạn tối đa 50 mục với tổng cộng 100 tổ hợp country×service.
Đăng nhập để thực thi yêu cầu này bằng khóa API của riêng bạn.
Đăng nhậpĐăng ký
Tất cả các phản hồi đã được ghi lại
getOffers
V3Mới
GET / POSTapi_offers_enabled
Combined price+stock showcase: default/retail/min price, counts and the full price-bucket map, by service and country.
Requires the same price-bucket data as getFreePrices/getPricesV3 — when that data isn't available for this account, this method returns an empty `data: {}` rather than falling back to catalog prices.
There is no `counts.physical` field: our provider module does not currently expose a physical stock figure separate from `counts.total`, and this method does not invent one. It may be added later if that data becomes available.
Never exposes providers, cost, or purchase price — none of those exist in this response by design.
Đăng nhập để thực thi yêu cầu này bằng khóa API của riêng bạn.
Đăng nhậpĐăng ký
Tất cả các phản hồi đã được ghi lại
getServicesList
V1Mới
GET / POSTapi_catalog_enabled
Catalog of services (code + name), optionally localized.
Chế độ thất bại duy nhất của phương thức này là một phản hồi thành công 200 với danh sách services rỗng — không có phản hồi lỗi riêng.
Đăng nhập để thực thi yêu cầu này bằng khóa API của riêng bạn.
Đăng nhậpĐăng ký
Tất cả các phản hồi đã được ghi lại
getCountries
V1Mới
GET / POSTapi_catalog_enabled
Catalog of countries (id + localized names).
Khi gặp lỗi bất ngờ, trả về một mảng JSON rỗng `[]` thay vì một phản hồi lỗi.
Đăng nhập để thực thi yêu cầu này bằng khóa API của riêng bạn.
Đăng nhậpĐăng ký
Tất cả các phản hồi đã được ghi lại
getActiveActivations
V1Mới
GET / POSTapi_active_activations_enabled
List of currently active activations for the key owner.
Không bao giờ báo lỗi khi gặp sự cố bất ngờ (cùng triết lý với getServicesList/getCountries) — quay về một danh sách `data: []` rỗng với status vẫn là "success".
Các giá trị activationStatus: 1=WAIT_CODE, 2=WAIT_ACCEPTING, 3=WAIT_NEXT_SMS, 6=OK, 7=REFUND, 8=CANCEL — cách đánh số này là riêng của chúng tôi và có thể khác với các API SMS khác mà bạn đã dùng.
Đăng nhập để thực thi yêu cầu này bằng khóa API của riêng bạn.
Đăng nhậpĐăng ký
Tất cả các phản hồi đã được ghi lại
Webhook SMS đến
Nhận SMS đến được đẩy tới endpoint HTTPS của riêng bạn ngay khi có, thay vì phải liên tục gọi getStatus/getStatusV2.
Ví dụ payload
POSTapplication/json
Một POST cho mỗi đoạn SMS nhận được, gửi tới URL bạn đã đăng ký. Chỉ phản hồi HTTP 200 mới được coi là đã chấp nhận; các chuyển hướng không được đi theo.
activationId ID kích hoạt, cùng giá trị với tham số `id` dùng trong getStatus/getStatusV2.
service Mã dịch vụ kiểu sms_activate mà số đã được mua cho.
code Đoạn mã được trích xuất từ SMS, cùng giá trị mà getStatus trả về sau dấu hai chấm.
text Toàn bộ văn bản SMS khi nhà cung cấp có cung cấp, nếu không thì giống hệt `code`.
country Mã quốc gia dạng số (sms_activate_code), hoặc null nếu quốc gia của lượt kích hoạt chưa được đặt.
receivedAt Dấu thời gian ISO 8601 (UTC) khi SMS được nhận.
Xác minh chữ ký
X-SignatureHMAC-SHA256
Giá trị HMAC-SHA256 dạng hex của phần thân yêu cầu JSON thô, được ký bằng khóa bí mật webhook của bạn. Hãy tính lại theo cùng cách ở phía bạn và so sánh trước khi tin tưởng dữ liệu.
Chính sách thử lại
Tối đa 3 lần thử: cách nhau 5 giây, rồi 30 giây, rồi 120 giây. Mỗi lần thử hết hạn sau 10 giây. Nếu tất cả các lần thử đều thất bại, sự kiện sẽ bị âm thầm loại bỏ — không có hàng đợi dead-letter hay cảnh báo nào.
Endpoint của bạn phải là một URL HTTPS công khai; các địa chỉ private, loopback, link-local và các địa chỉ nội bộ khác đều bị từ chối cả khi bạn lưu URL lẫn ở mỗi lần thử gửi (DNS được phân giải lại và cố định cho từng yêu cầu để ngăn chặn rebinding).
Khóa bí mật ký được tạo tự động một lần và lưu theo từng tài khoản; đó là cùng một khóa bí mật cho mọi lần gửi cho đến khi bộ phận hỗ trợ thay đổi nó.