API Nokos Server 3
Dokumentasi khusus Server 3 — penyedia multi-negara untuk cadangan saat Server 1 penuh atau tidak tersedia. Harga dihitung dari kurs USD, saldo & API Key tetap satu akun dengan bot.
Multi
Cakupan Negara
Stok dari banyak negara untuk cadangan Server 1.
USD
Dasar Harga
Harga provider dikonversi ke Rupiah + profit.
Bearer
Autentikasi API Key
Header, X-API-Key, atau query parameter.
Pengenalan Server 3
Server 3 dipakai sebagai cadangan ketika
Server 1 penuh atau kehabisan nomor. Alur tetap sama: pilih negara & layanan, buat order, lalu polling status hingga OTP diterima.
Perbedaan utamanya: negara & operator memakai ID milik Server 3, dan order dimulai dengan status
PENDING.
Kapan pakai Server 3?
Saat Server 1 mengembalikan NO_NUMBER, atau kamu butuh negara yang tidak tersedia di Server 1.
Satu akun, satu saldo
API Key & saldo sama seperti Server 1. Cukup ubah nilai server menjadi 3.
Penting: setiap order memotong saldo sesuai harga nomor Server 3. Stok Server 3 cepat berubah — selalu cek /v1/products sebelum order.
Deposit & API Key
API Key & saldo dibuat lewat Bot Telegram — sama persis untuk Server 1 dan Server 3.
-
1
Buka Bot Telegram
Mulai bot lalu cek saldo akunmu.
-
2
Deposit via QRIS
Scan QRIS, saldo masuk otomatis setelah pembayaran terkonfirmasi.
-
3
Generate API Key
Jalankan perintah berikut di bot. API Key berupa 64 karakter hex.
Telegram/API generate server3 /API list /API revoke <api_key>
Base URL & Server
Endpoint sama seperti Server 1, hanya nilainya yang berbeda: kirim server=3 di query/body.
Dokumentasi Server 1 ada di halaman terpisah.
| Server | Param | Base URL | Tipe |
|---|---|---|---|
| Server 1 | server=1 | https://tai.vxe.biz.id/v1 | Primary |
| Server 3 | server=3 | https://tai.vxe.biz.id/v1 | Backup |
Catatan: ID negara & kode layanan Server 3 berbeda dengan Server 1. Ambil daftarnya dari
/v1/countries?server=3 dan /v1/services?server=3.
Autentikasi
Setiap request wajib menyertakan API Key. Tiga cara didukung — pilih salah satu (header paling aman).
Praktis untuk pengujian cepat, kurang aman untuk production.
Contoh autentikasi pada endpoint cek saldo:
curl -X GET "https://tai.vxe.biz.id/v1/balance" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
const res = await fetch('https://tai.vxe.biz.id/v1/balance', {
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json'
}
});
const data = await res.json();
console.log(data);
import requests
resp = requests.get(
"https://tai.vxe.biz.id/v1/balance",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=15
)
print(resp.json())
Jangan pernah membagikan API Key di sisi client (browser/mobile publik) atau menyimpannya di repository.
Daftar Negara (Server 3)
Mengambil daftar negara Server 3. ID negara berupa angka dan berbeda dari ID Server 1.
/v1/countries?server=3
JSON
curl -X GET "https://tai.vxe.biz.id/v1/countries?server=3" \
-H "Authorization: Bearer YOUR_API_KEY"
const res = await fetch('https://tai.vxe.biz.id/v1/countries?server=3', {
headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
});
const { data } = await res.json();
console.log(data);
import requests
r = requests.get(
"https://tai.vxe.biz.id/v1/countries",
params={"server": 3},
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=15
)
print(r.json()["data"])
Contoh Response
{
"success": true,
"server": 3,
"data": [
{ "id": "6", "name": "Indonesia", "code": null, "dial_code": null },
{ "id": "2", "name": "Kazakhstan", "code": null, "dial_code": null },
{ "id": "15", "name": "Vietnam", "code": null, "dial_code": null }
]
}
Daftar Layanan (Server 3)
Mengambil kode layanan Server 3. Nilai id dipakai sebagai nilai service saat order.
/v1/services?server=3&country=6
JSON
| Parameter | Wajib | Deskripsi |
|---|---|---|
| server | Opsional | Set 3 untuk Server 3. |
| country | Wajib | ID negara Server 3 dari endpoint countries. |
curl -X GET "https://tai.vxe.biz.id/v1/services?server=3&country=6" \
-H "Authorization: Bearer YOUR_API_KEY"
const res = await fetch('https://tai.vxe.biz.id/v1/services?server=3&country=6', {
headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
});
const { data } = await res.json();
import requests
r = requests.get(
"https://tai.vxe.biz.id/v1/services",
params={"server": 3, "country": 6},
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=15
)
print(r.json()["data"])
Contoh Response
{
"success": true,
"server": 3,
"country": "Indonesia",
"data": [
{ "id": "wa", "name": "WhatsApp", "price": null, "stock": null },
{ "id": "tg", "name": "Telegram", "price": null, "stock": null },
{ "id": "go", "name": "Google", "price": null, "stock": null }
]
}
Cek Harga & Stok (Server 3)
Mengambil daftar produk Server 3 (provider + harga + stok) untuk sebuah layanan. Harga provider dihitung dalam USD lalu dikonversi ke Rupiah. Nilai operator = ID provider Server 3.
/v1/products?server=3&country=6&service=wa
JSON
curl -X GET "https://tai.vxe.biz.id/v1/products?server=3&country=6&service=wa" \
-H "Authorization: Bearer YOUR_API_KEY"
const url = 'https://tai.vxe.biz.id/v1/products?server=3&country=6&service=wa';
const res = await fetch(url, {
headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
});
const { data } = await res.json();
console.log(data.products);
import requests
r = requests.get(
"https://tai.vxe.biz.id/v1/products",
params={"server": 3, "country": 6, "service": "wa"},
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=15
)
print(r.json()["data"]["products"])
Contoh Response
{
"success": true,
"server": 3,
"data": {
"country": "Indonesia",
"service": "WhatsApp",
"products": [
{ "id": "1107", "operator": "1107", "name": "WhatsApp", "price": 3400, "stock": 12 },
{ "id": "1109", "operator": "1109", "name": "WhatsApp", "price": 4100, "stock": 5 }
]
}
}
Buat Order Server 3 (Beli Nomor)
Membuat order Server 3 dan mengembalikan nomor virtual. Saldo langsung terpotong. Order Server 3 dimulai dengan status PENDING.
/v1/order
JSON
| Body | Wajib | Deskripsi |
|---|---|---|
| server | Wajib | Set 3 untuk Server 3. |
| country | Wajib | ID negara Server 3. |
| service | Wajib | Kode layanan Server 3, contoh: wa. |
| operator | Opsional | ID provider Server 3. Kosong = provider termurah. |
| max_price | Opsional | Batasi harga maksimum (Rupiah). |
curl -X POST "https://tai.vxe.biz.id/v1/order" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"server": 3,
"country": 6,
"service": "wa"
}'
const res = await fetch('https://tai.vxe.biz.id/v1/order', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({ server: 3, country: 6, service: 'wa' })
});
const data = await res.json();
console.log(data.data.phone_number);
import requests
r = requests.post(
"https://tai.vxe.biz.id/v1/order",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"server": 3, "country": 6, "service": "wa"},
timeout=30
)
order = r.json()["data"]
print(order["order_id"], order["phone_number"])
Response Sukses
{
"success": true,
"data": {
"order_id": "VY-3-1A2B3C4D",
"server": 3,
"server_name": "Server 3",
"country": "Indonesia",
"service": "WhatsApp",
"phone_number": "628123456789",
"status": "PENDING",
"price": 3400,
"balance_after": 46600,
"expires_at": null
}
}
Response Error
{
"success": false,
"error": {
"code": "NO_NUMBER",
"message": "Stok nomor habis untuk layanan ini."
}
}
Ambil OTP / Cek Status (Server 3)
Polling status order Server 3 hingga kode OTP masuk. Disarankan polling setiap 3–5 detik.
/v1/order/{order_id}
JSON
| Status | Arti |
|---|---|
| PENDING | Order dibuat, nomor sedang disiapkan Server 3. |
| ACTIVE | Nomor aktif, menunggu SMS masuk. |
| OTP_RECEIVED | Kode OTP sudah diterima. |
| CANCELED | Dibatalkan / kedaluwarsa. |
curl -X GET "https://tai.vxe.biz.id/v1/order/VY-3-1A2B3C4D" \
-H "Authorization: Bearer YOUR_API_KEY"
async function pollOtp(orderId, interval = 4000) {
while (true) {
const res = await fetch(`https://tai.vxe.biz.id/v1/order/${orderId}`, {
headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
});
const { data } = await res.json();
if (data.status === 'OTP_RECEIVED') return data.otp;
await new Promise(r => setTimeout(r, interval));
}
}
import time, requests
headers = {"Authorization": "Bearer YOUR_API_KEY"}
while True:
r = requests.get(
"https://tai.vxe.biz.id/v1/order/VY-3-1A2B3C4D",
headers=headers, timeout=15
)
data = r.json()["data"]
if data["status"] == "OTP_RECEIVED":
print("OTP:", data["otp"])
break
time.sleep(4)
Response — OTP Diterima
{
"success": true,
"data": {
"order_id": "VY-3-1A2B3C4D",
"status": "OTP_RECEIVED",
"otp": "482913",
"otp_message": null,
"phone_number": "628123456789",
"expires_in": null
}
}
Response — Masih Menunggu
{
"success": true,
"data": {
"order_id": "VY-3-1A2B3C4D",
"status": "PENDING",
"otp": null,
"phone_number": "628123456789",
"expires_in": null
}
}
Resend OTP
Meminta sistem mengirim ulang SMS ke nomor yang sama tanpa membuat order baru.
/v1/order/{order_id}/resend
JSON
curl -X POST "https://tai.vxe.biz.id/v1/order/VY-3-1A2B3C4D/resend" \
-H "Authorization: Bearer YOUR_API_KEY"
const res = await fetch('https://tai.vxe.biz.id/v1/order/VY-3-1A2B3C4D/resend', {
method: 'POST',
headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
});
const data = await res.json();
import requests
r = requests.post(
"https://tai.vxe.biz.id/v1/order/VY-3-1A2B3C4D/resend",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30
)
print(r.json())
Contoh Response
{
"success": true,
"data": {
"order_id": "VY-3-1A2B3C4D",
"status": "ACTIVE",
"message": "Permintaan kirim ulang OTP berhasil."
}
}
Selesaikan Order
Menandai order Server 3 selesai setelah OTP diterima, agar nomor dilepas kembali ke stok.
/v1/order/{order_id}/finish
JSON
curl -X POST "https://tai.vxe.biz.id/v1/order/VY-3-1A2B3C4D/finish" \
-H "Authorization: Bearer YOUR_API_KEY"
await fetch('https://tai.vxe.biz.id/v1/order/VY-3-1A2B3C4D/finish', {
method: 'POST',
headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
});
import requests
requests.post(
"https://tai.vxe.biz.id/v1/order/VY-3-1A2B3C4D/finish",
headers={"Authorization": "Bearer YOUR_API_KEY"}, timeout=30
)
Contoh Response
{
"success": true,
"data": {
"order_id": "VY-3-1A2B3C4D",
"status": "COMPLETED"
}
}
Batalkan Order
Membatalkan order Server 3 yang belum menerima OTP. Saldo dikembalikan (refund) bila pembatalan disetujui penyedia.
/v1/order/{order_id}/cancel
JSON
curl -X POST "https://tai.vxe.biz.id/v1/order/VY-3-1A2B3C4D/cancel" \
-H "Authorization: Bearer YOUR_API_KEY"
const res = await fetch('https://tai.vxe.biz.id/v1/order/VY-3-1A2B3C4D/cancel', {
method: 'POST',
headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
});
const data = await res.json(); // data.refunded: true / false
import requests
r = requests.post(
"https://tai.vxe.biz.id/v1/order/VY-3-1A2B3C4D/cancel",
headers={"Authorization": "Bearer YOUR_API_KEY"}, timeout=30
)
print(r.json()["data"])
Contoh Response
{
"success": true,
"data": {
"order_id": "VY-3-1A2B3C4D",
"status": "CANCELED",
"refunded": true,
"balance_after": 50000
}
}
Cek Saldo
Mengambil saldo akun yang dipakai untuk membeli nomor Server 3 (sama dengan Server 1).
/v1/balance
JSON
Contoh Response
{
"success": true,
"data": {
"user_id": 123456789,
"balance": 50000,
"currency": "IDR"
}
}
Error & Status Code
Semua error selalu memakai format success: false,termasuk error dari Server 3.
| HTTP | Code | Deskripsi |
|---|---|---|
| 400 | BAD_REQUEST | Parameter tidak lengkap atau tidak valid. |
| 400 | PRICE_TOO_HIGH | Harga melebihi max_price. |
| 401 | INVALID_API_KEY | API Key tidak valid atau sudah dicabut. |
| 402 | INSUFFICIENT_BALANCE | Saldo tidak cukup untuk membuat order. |
| 404 | NO_NUMBER | Stok nomor Server 3 habis untuk layanan/negara tersebut. |
| 404 | ORDER_NOT_FOUND | Order ID tidak ditemukan. |
| 409 | ORDER_NOT_ACTIVE | Order sudah selesai/dibatalkan. |
| 429 | RATE_LIMITED | Terlalu banyak request. Coba lagi beberapa saat. |
| 502 | PROVIDER_ERROR | Gagal menghubungi Server 3. |
| 500 | SERVER_ERROR | Kesalahan internal pada server. |
Contoh Error Response
{
"success": false,
"error": {
"code": "NO_NUMBER",
"message": "Stok nomor habis untuk layanan ini."
}
}
Butuh saldo atau API Key?
Deposit dan generate API Key dilakukan melalui Bot Telegram — sama untuk Server 1 dan Server 3.
Lihat cara deposit