Base URL https://snsverify.com/api/v1
Ang bawat path sa pahinang ito ay nauugnay dito. Ang mga halaga ay sa US dollars bilang mga string na may dalawang decimal, ang mga oras ay sa UTC (ISO 8601).
Dalawang format, isang account
Inilalarawan ng pahinang ito ang REST API na may JSON. Kung ang iyong tool ay gumagamit na ng common SMS activation format (handler_api.php na may action= parameters), gamitin ang SMS activation API. Parehong gumagamit ng iyong API key, presyo, bukas na activations, at refunds.
Pangkalahatang-ideya
Ang SMS verification API ay nagbibigay-daan sa iyong software na bumili ng numero ng telepono para sa isang app, maghintay para sa verification SMS, at basahin ang code, nang hindi binubuksan ang website. Ang bawat order ay isang activation: isang service, isang bansa, isang numero, at isang 20 minutong window. Ang mga order na walang code ay binibigyan ng buong refund sa pagtatapos ng window.
Ang mga request ay gumagamit ng GET para sa pagbabasa at POST para sa mga aksyon. Ang mga POST body ay maaaring mga form field o JSON. Ang mga matagumpay na sagot ay JSON objects; ang mga error ay may parehong hugis sa lahat ng dako: {"error":{"code":"...","message":"..."}}.
Pagpapatunay
Gumawa ng API key sa console sa ilalim ng API key. Ito ay ipinapakita minsan; nagtatago lamang kami ng scrambled copy. Ipadala ito sa Authorization header bilang bearer token. Ang key parameter ay tinatanggap din para sa mga tool na hindi makapag-set ng headers.
Authorization: Bearer vfk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Ang paggawa ng bagong key ay agad na papalitan ang lumang key. Ang mga services, countries, at prices endpoints ay gumagana nang walang key.
Mga Error
| HTTP | Kahulugan |
|---|---|
| 400 | Nawawala o maling field (missing_filter, bad_json). |
| 401 | Walang key o maling key (no_key, bad_key). |
| 402 | Hindi sapat na credit (no_balance). |
| 404 | Hindi kilalang service, bansa, order, o endpoint. |
| 409 | Ang order ay hindi maaaring gawin iyon ngayon (has_code, not_ready, too_many_open, no_numbers). |
| 429 | Higit sa 300 request sa isang minuto (rate_limited). |
Mabilisang Simula
Mag-order ng UK WhatsApp number gamit ang curl, pagkatapos ay i-poll ang order bawat ilang segundo hanggang sa dumating ang code.
curl -X POST https://snsverify.com/api/v1/orders \ -H "Authorization: Bearer $SNSVERIFY_KEY" \ -d service=whatsapp -d country=gb
Python
import os, time, requests
API = "https://snsverify.com/api/v1"
H = {"Authorization": f"Bearer {os.environ['SNSVERIFY_KEY']}"}
order = requests.post(f"{API}/orders", headers=H,
data={"service": "whatsapp", "country": "gb"}).json()["order"]
print("Use this number:", order["phone"])
while True:
o = requests.get(f"{API}/orders/{order['id']}", headers=H).json()["order"]
if o["code"] or o["status"] in ("refunded", "canceled"):
break
time.sleep(4)
print("Code:", o["code"])Node.js
const API = "https://snsverify.com/api/v1";
const H = { Authorization: `Bearer ${process.env.SNSVERIFY_KEY}` };
const { order } = await fetch(`${API}/orders`, {
method: "POST", headers: H,
body: new URLSearchParams({ service: "telegram", country: "nl" }),
}).then((r) => r.json());
console.log("Use this number:", order.phone);
let o = order;
while (!o.code && !["refunded", "canceled"].includes(o.status)) {
await new Promise((r) => setTimeout(r, 4000));
({ order: o } = await fetch(`${API}/orders/${order.id}`, { headers: H }).then((r) => r.json()));
}
console.log("Code:", o.code);Mga Limitasyon sa Rate
300 request kada minuto kada key, at hanggang 20 bukas na order kada account. Ang pag-poll ng order bawat 3 hanggang 5 segundo ay sapat na: karamihan sa mga code ay dumating sa loob ng isang minuto.
Mga Katayuan ng Order
waitingAng numero ay bukas at wala pang code na dumating.receivedKahit isang code ay dumating; humingi ng isa pa gamit ang resend habang bukas pa ang window.finishedIsinara pagkatapos ng code, ng iyo o sa pagtatapos ng window.refundedNatapos ang window nang walang code; ang buong halaga ay ibinalik sa iyong credit.canceledIkaw ay nag-cancel bago dumating ang code; ang buong halaga ay ibinalik sa iyong credit.
Endpoints
GET/services
Bawat service code kasama ang pangalan, kategorya, at pinakamababang presyo. Hindi kailangan ng key.
{"services":[{"code":"whatsapp","name":"WhatsApp","category":"social","from":"0.31"}]}GET/countries
Bawat country code (ISO, lower case) kasama ang pangalan at dial code. Hindi kailangan ng key.
{"countries":[{"code":"gb","name":"United Kingdom","dial_code":"44"}]}GET/prices?service=whatsapp&country=gb
Mga presyo sa USD. Filter ayon sa service, bansa, o pareho. Hindi kailangan ng key.
{"prices":[{"service":"whatsapp","country":"gb","price":"0.94"}]}GET/balance
Ang iyong credit sa USD.
{"balance":"25.00","currency":"USD"}POST/orders
Bumili ng numero (HTTP 201). Nagbabalik ng order kasama ang numero ng telepono at oras ng pagtatapos ng window.
Body: service=whatsapp&country=gb
{"order":{"id":"AC-7K2M9QX4PB","service":"whatsapp","country":"gb","phone":"+447700900123","price":"0.94","status":"waiting","code":null,"expires_at":"2026-11-04T12:20:00.000Z"},"window_minutes":20}GET/orders/AC-7K2M9QX4PB
Isang order kasama ang status nito at bawat code na natanggap. Mga status: waiting, received, finished, refunded, canceled.
{"order":{"id":"AC-7K2M9QX4PB","status":"received","code":"482915","sms":"Your WhatsApp code: 482-915"}}GET/orders?status=open
Ang iyong bukas na mga order; status=all ay nagbabalik ng huling 100.
{"orders":[{"id":"AC-7K2M9QX4PB","status":"waiting"}]}POST/orders/AC-7K2M9QX4PB/resend
Humihingi ng isa pang code sa parehong numero pagkatapos ng unang code, habang bukas pa ang window. Walang dagdag na bayad.
{"order":{"status":"received","waiting_for_resend":true}}POST/orders/AC-7K2M9QX4PB/finish
Isinara ang order na nakatanggap ng code nito.
{"order":{"status":"finished"}}POST/orders/AC-7K2M9QX4PB/cancel
Nag-cancel bago dumating ang code. Ang buong halaga ay ibinalik sa iyong credit.
{"order":{"status":"canceled","refunded":"0.94"}}