API ලේඛන
සංඛ්යාව, පණිවිඩ සහ සම්පූර්ණතාව, ඔබේ ක්රියාවලින් නියමයි.
එක ඉල්ලීමෙන් ආරම්භ කරන්න
ඔබේ ඩැෂ් බෝඩ් එකේ API යතුරක් නිර්මාණය කරන්න, සෑම තත්පර 20 පණිවිඩ සඳහා සංඛ්යාවක් පරීක්ෂාකරන්න. සංකේතයක් ලෙස SMS ලබාගැනීමට ගෙවිය ලැබෙනවා; ආයෙත් කියවන්න ඔබේ සම්බන්ධතාවට ප්රතික්රීතියක් නැත.
https://smscash.org/api/v1https://smscash.org/stubs/handler_api.phpcurl -X POST 'https://smscash.org/api/v1/activations' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: request-unique-001' \
-d '{"service":"go","country":86}'වෙනස් සම්බන්ධතා ලිපිනය: /handler_api.php. ඉදිරිපත් REST සංවිධානය දිගටම වැඩ කරනවා.
ඉල්ලීම් සාදනය
Idempotency-Key: UUID · POST · 8–128
ස්වයංක්රීය තේරීම: පසුගිය පැයේ, ඉන්පසු පැය 24 තුළ වැඩිම කේත. අංක නැත්නම් ඊළඟ සැපයුම්කරු.
curl --max-time 15 --fail-with-body -X POST 'https://smscash.org/api/v1/activations' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: request-unique-001' \
--data '{"service":"go","country":86}'package main
import (
"bytes"
"fmt"
"io"
"net/http"
"os"
"time"
)
func main() {
payload := []byte("{\"service\":\"go\",\"country\":86}")
req, err := http.NewRequest("POST", "https://smscash.org/api/v1/activations", bytes.NewReader(payload))
if err != nil { panic(err) }
req.Header.Set("Authorization", "Bearer " + os.Getenv("SMSCASH_API_KEY"))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Idempotency-Key", "request-unique-001")
client := &http.Client{Timeout: 15 * time.Second, CheckRedirect: func(_ *http.Request, _ []*http.Request) error { return http.ErrUseLastResponse }}
res, err := client.Do(req)
if err != nil { panic(err) } // Keep the same operation key after a network error.
defer res.Body.Close()
body, err := io.ReadAll(res.Body)
if err != nil { panic(err) }
if res.StatusCode >= 300 {
fmt.Fprintf(os.Stderr, "HTTP %d, request_id=%s\n%s\n", res.StatusCode, res.Header.Get("X-Request-ID"), body)
os.Exit(1)
}
fmt.Println(string(body))
}// Node.js 18+: set SMSCASH_API_KEY in your environment.
const response = await fetch("https://smscash.org/api/v1/activations", {
method: "POST",
headers: {
Authorization: 'Bearer ' + process.env.SMSCASH_API_KEY,
'Content-Type': 'application/json',
'Idempotency-Key': "request-unique-001",
},
body: JSON.stringify({
"service": "go",
"country": 86
}),
signal: AbortSignal.timeout(15000),
redirect: 'error',
});
const result = await response.json();
if (!response.ok) {
const error = result.error || {};
console.error(response.status, error.code, error.hint, error.request_id);
throw new Error(error.message || 'API error');
}
console.log(result);
// SMS codes are strings: keep leading zeros. Never retry writes automatically.import json
import os
import urllib.error
import urllib.request
class NoRedirect(urllib.request.HTTPRedirectHandler):
def redirect_request(self, req, fp, code, msg, headers, newurl):
return None
headers = {
'Authorization': 'Bearer ' + os.environ['SMSCASH_API_KEY'],
'Content-Type': 'application/json',
'Idempotency-Key': "request-unique-001",
}
request = urllib.request.Request(
"https://smscash.org/api/v1/activations",
headers=headers,
data="{\"service\":\"go\",\"country\":86}".encode('utf-8'),
method="POST",
)
try:
with urllib.request.build_opener(NoRedirect).open(request, timeout=15) as response:
result = json.load(response)
print(result)
except urllib.error.HTTPError as error:
details = json.load(error).get('error', {})
print(error.code, details.get('code'), details.get('hint'), details.get('request_id'))
raise
# No automatic retries; SMS codes remain strings.යතුර ගබඩා නොකෙරේ. මෙම පරීක්ෂාවෙන් අංක නිකුත් නොකෙරේ.
අලුත් සංවිධානය සඳහා
සේවා සහ රටවල්
සේවය හා රටයක් තෝරාගන්න. SMS එකට ගෙවීම රැස්වීමෙන් විශ්වාසවන්තයි.
GET /api/v1/catalog?service=go&country=86&page=1&page_size=100
Authorization: Bearer YOUR_API_KEY{
"rows": [
{
"offer_id": 42,
"service": "go",
"service_name": "Google",
"country_id": 86,
"country_name": "Italy",
"provider_id": 1,
"operator": 1,
"provider_name": "Operator 1",
"reward": "0.00300000",
"currency": "USD",
"accounting_precision": 8,
"earnings_hold_days": 45
}
],
"page": 1,
"page_size": 100,
"total": 1,
"pages": 1,
"has_more": false,
"accounting_precision": 8
}service · country · operator · q · page · page_size (1–100)
සංඛ්යාවක් ලබන්න
POST /api/v1/activations
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Idempotency-Key: request-unique-001
{
"service": "go",
"country": 86
}ස්වයංක්රීය තේරීම: පසුගිය පැයේ, ඉන්පසු පැය 24 තුළ වැඩිම කේත. අංක නැත්නම් ඊළඟ සැපයුම්කරු.
201: new session · 200: replay of the same operation
service + country OR offer_id · duration_minutes: 20
ref: software owner code (optional)
operator: public ID (e.g. 1 for Operator 1), optional · any/0: automatic
country: integer · service: string · SMS code: stringසංඛ්යාව විනාඩි 20ක් අවශ්යයි. සියලු තත්පර 20ට SMS පරීක්ෂා කර ඇත. ඔබට ඉක්මනින් ඉවත් කරන්න පුළුවන්.
අංක කිහිපයක් පරීක්ෂා කරන්න
GET /api/v1/activations/batch?ids=42,43
Authorization: Bearer YOUR_API_KEY{
"rows": [
{
"id": 42,
"found": true,
"phone": "12025550123",
"status": "received",
"service": "go",
"country_id": 86,
"provider_id": 1,
"operator": 1,
"expires_at": "2026-10-10T12:15:00Z",
"sms_count": 1,
"code": "001234",
"last_sms": {
"id": 101,
"code": "001234",
"sender": "Service",
"text": "Code: 001234",
"received_at": "2026-10-10T12:01:00Z"
}
},
{
"id": 43,
"found": false,
"error": {
"code": "NO_ACTIVATION",
"message": "Session not found."
}
}
],
"as_of": "2026-10-10T12:01:00Z",
"poll_interval_seconds": 20
}ids: 1–100 positive session IDs, separated by commas
Input order preserved · duplicates removed
Foreign, unavailable or out-of-scope IDs: found=false
Read only · no supplier requests · last_sms is the latest messageශේෂය · අත්හිටවූ මුදල්
GET /api/v1/balance
Authorization: Bearer YOUR_API_KEY{
"currency": "USD",
"accounting_precision": 8,
"balance": "12.00000000",
"held_balance": "34.50000001",
"balance_minor": "1200000000",
"held_minor": "3450000001",
"as_of": "2026-10-12T20:00:00Z",
"next_release_at": "2026-11-26T20:00:00Z"
}balance — ලබාගත හැකි; held_balance — අත්හිටවූ මුදල්. USD · 8
රඳවා ගැනීමේ කාලය අවසන් වූ මුදල් පමණක් ලබාගත හැක.
භාවිතයට සූදානම් සේවාලාභී වැඩසටහන්
import {SmScash, SmScashError} from './smscash.mjs';
import {randomUUID} from 'node:crypto';
const api = new SmScash(process.env.SMSCASH_API_KEY);
const catalog = await api.catalog({service: 'go', country: 86});
console.log(catalog.rows);
// Save this key before sending; keep it for retries of this operation.
const requestKey = randomUUID();
const session = await api.createNumber({service: 'go', country: 86}, requestKey);
// After 20 seconds:
const messages = await api.sms(session.id, {afterId: 0});
console.log(messages.sms);
const statuses = await api.batch([session.id]);
const held = await api.holdBalance();
console.log(held); // Exact USD stringimport os
import uuid
from smscash import SmScash, SmScashError
api = SmScash(os.environ['SMSCASH_API_KEY'])
catalog = api.catalog(service='go', country=86)
print(catalog['rows'])
# Save this key before sending; keep it for retries of this operation.
request_key = str(uuid.uuid4())
session = api.create_number({'service': 'go', 'country': 86}, request_key)
# After 20 seconds:
messages = api.sms(session['id'], after_id=0)
print(messages['sms'])
statuses = api.batch([session['id']])
held = api.hold_balance()
print(held) # Exact USD stringme() · balance() · holdBalance()/hold_balance() · catalog() · activation() · sms() · batch()
createNumber(parameters, requestKey) / create_number(parameters, request_key)
setStatus(id, "cancel") / set_status(id, "cancel")
setStatus(id, "retry", requestKey) / set_status(id, "retry", request_key)
Timeout: 15 s · no dependencies · no automatic retries
Error: code · status · hint · requestId/request_id · retryable
ALLOCATION_UNCERTAIN: contact support with request_id; never retry automatically.SMS-Activate / HeroSMS
https://smscash.org/sms-activate/stubs/handler_api.phphttps://smscash.org/hero-sms/stubs/handler_api.phpපරිශීලකයාගේ පුද්ගලික API යතුර.
සේවය හා රටයක් තෝරාගන්න. SMS එකට ගෙවීම රැස්වීමෙන් විශ්වාසවන්තයි.
| කේතය | විස්තරය |
|---|---|
getNumber / getNumberV2 | සංඛ්යාවක් ලබන්න |
getStatus / getStatusV2 | අලුත් කේඩ් ලබන්න |
setStatus / finishActivation / cancelActivation | සත්යය කළමණය කරන්න |
getPrices / getNumbersStatus | ලැබීම පරීක්ෂා කරන්න |
getRewards (SMScash) | SMS සඳහා ප්රයෝජන |
getServicesList / getServices | සේවා |
getCountries / getOperators | සේවා සහ රටවල් |
getActiveActivations | සැලසුම් |
getBalance | පරිශීලකයාගේ ශේෂය |
getHoldBalance (SMScash) | අත්හිටවූ මුදල් |
cost = 0 USD · activationCost = 0 USDreward — SMS සඳහා ප්රයෝජන
curl --get 'https://smscash.org/hero-sms/stubs/handler_api.php' \
--data-urlencode 'api_key=YOUR_API_KEY' \
--data-urlencode 'action=getNumberV2' \
--data-urlencode 'service=go' \
--data-urlencode 'country=86' \
-H 'Idempotency-Key: request-unique-001'{
"activationId": "42",
"phoneNumber": "393331234567",
"activationCost": 0,
"currency": 840,
"countryCode": 86,
"canGetAnotherSms": true,
"activationTime": "2026-10-11T12:00:00Z",
"activationEndTime": "2026-10-11T12:15:00Z",
"reward": "0.00300000"
}GET or POST application/x-www-form-urlencoded
api_key · action · service · country · ref (optional)
setStatus: 1 → ACCESS_READY · 3 → ACCESS_RETRY_GET
6 → ACCESS_ACTIVATION · 8 → ACCESS_CANCEL
getStatus: STATUS_WAIT_CODE · STATUS_OK:001234 · STATUS_CANCEL
getStatusV2: {"verificationType":1,"sms":null,"call":null}
getServicesList: {"status":"success","services":[{"code":"go","name":"Google"}]}
getCountries: {"86":{"id":86,"eng":"Italy","visible":1,"retry":1,"rent":0}}
getPrices: {"86":{"go":{"cost":0,"count":12,"reward":"0.00300000","currency":"USD"}}}
getRewards: {"59":{"vi":{"1":"0.01000000"}}}
getRewards filters: country · service · operator (optional); any/0: all permitted providers
getActiveActivations: start=0 · limit=1–100 · activeActivations / data
Business/key errors: HTTP 200 + plain text · server errors: HTTP 500
Availability: actual supplier pool, shared cache up to 20 s; not a reservation
No automatic retries after a transport error or ALLOCATION_UNCERTAIN.
Keep the original Idempotency-Key and parameters.
Unsupported: rent · calls · forwarding · multiple services per number · prolong
Unsupported options return BAD_REQUEST; unsupported actions return BAD_ACTION.
SMScash keys and country/service codes; configure this base URL in your software.සංඛ්යාව විනාඩි 20ක් අවශ්යයි. සියලු තත්පර 20ට SMS පරීක්ෂා කර ඇත. ඔබට ඉක්මනින් ඉවත් කරන්න පුළුවන්.
අවශ්යතාව හා ආයතනය
REST: ශීර්ෂකය Authorization: Bearer YOUR_API_KEY. සම්බන්ධ අන්තර්ගතය: පාරාමීටර api_key සහ actionHTTPS පාවිච්චි කරන්න.
API යතුරු පාලනය කිරීමට, ඔබේ ගිණුම ඇතුළත් කරන්න.
API ඉල්ලන පරීක්ෂණය සහ දුරකථන අංක සංඛ්යාව සීමාවක් නැත. දිනත් හෝ පැය ක්රියාත්මක කණ්ඩායමක් නෑ.
සංඛ්යාව විනාඩි 20ක් අවශ්යයි. සියලු තත්පර 20ට SMS පරීක්ෂා කර ඇත. ඔබට ඉක්මනින් ඉවත් කරන්න පුළුවන්.
රෙස්ට් වල, විශාල ක්රමයක් Idempotency-Key සංඛ්යාව සඳහා අවශ්යයි, නැවත පරිවර්තනය කිරීමට, retry ඒ වගේම ගෙවල් ලැබෙන ඉල්ලුම්. handler_api.php. යතුර නැවත භාවිත කරන්න නව ක්රියාත්මක සඳහා නවත්ව යතුරු භාවය කරන්න.
API යතුරු තැපැල්
ඔබට පුළුවන් විශේෂ සේවය, රට හා සඳහන් ලැයිස්තුවක් සඳහා අවසන් කරගන්න පුලුවන්. ලබා දෙන සියලු විකල්ප ලෙස හිස් ලියවිල්ලට අවශ්යයි.
{
"label": "මගේ මධ්යස්ථානය",
"policy": {
"services": [
"go"
],
"countries": [
86
],
"providers": [
1
]
}
}PATCH /api/v1/keys/{id} නම හා ප්රතිපත්ති සම්පූර්ණයෙන්ම වෙනස් කරයි. රහස් නිර්මාණය කිරීමට පමණයි.
සම්පූර්ණයෙන්ම 10%. 5% + 5% මෘදුකාංග කේඩ් සමඟ.
සංඛ්යාවක් ලබාගැනීමට, කරුණාකරලා සඳහන් කරන්න ref ප්රතික්රීතියේ ස්වාමිපුරුෂකය. ඉල්ලීම ක්රියාත්මකයෙකුගේ යතුරෙන් අවසර ලැබෙනවා. කේතය "රැප්රමාන්ත" කණ්ඩායමේ හා එහි GET /api/v1/referrals → software_ref.
| ඉල්ලීම | නමස්කාරය | සැලසුම් |
|---|---|---|
| රෙෆ් නැතිව | 10% | — |
| රෙෆ් එක්ක | 5% | 5% |
| රෙෆ් එක්ක, රේෆ්රේර් එකක් නෑ | — | 5% |
ප්ලට්රොෆ් එක බොනස් ගෙවනවා රැකියාව අඩු වෙලා නැතිව. මෘදුකාලීන මිනිස්සු හා රේෆ්රේරර් එකම පුද්ගලයෙක් වෙන්න පුළුවන්. වැඩකරුවෙක් තමන්ගේ කේඩ් පාවිච්චි කරන්න බෑ.
සැසියක් නිර්මාණය කරන විට වටහාගත හැකියි; කියවන්න SMS සහ retry ඒවා වෙනස් කරන්න එපා. ref අලුත් සැලැස්මක් සඳහා ආයෙත්. USD 0.003 දෙනවා USD 0.00015 සම්පූර්ණ බොනස් තමයි USD 0.00030.
API විධාන
11 XVBC ක්රියාත්මක මාර්ගයත් ඔබේ SMScash සමානව.
GETgetNumberසංඛ්යාවක් ලබන්න+
සත්යයක් නිර්මාණය කරමින් රැකියා සඳහා ලැබෙන අංකයක් ලබාගත හැකියි. ප්රයෝජන ගණන හා පරිවර්තනය ලෙස සඳහන් වෙනවා; සංකේතයක් සම්පූර්ණ SMS එකක් ඇතුළත් වෙලාවට ලොකු ලස්සන ලද ප්රාණය ස්ථිර කරයි.
පාරාමීටර
| පාරාමීටර් | වර්ගය | විස්තරය |
|---|---|---|
api_key* | string | පරිශීලකයාගේ පුද්ගලික API යතුර. |
service* | string | ලැබෙන සේවා කේඩු. පිළිතුරු API යතුරුගේ ප්රදේශයට සමහරයි. |
country* | integer | අරන්න ID එක්ක getCountries. |
operator | string | අරන්න ID එක්ක operators/getOperators (API). operator=1 · any/0 |
session_duration | integer | සත්යය විනාඩි 20ක් ඉදිරිපත් කරයි. 20 මාරු කරන්න හෝ මේ පැරාමීටර්ව අත්හරින්න. |
with_operator | integer | 1 මඟින් පිළිතුරට ක්රියාකරුගේ ID එක එකතු කරයි; 0 හෝ පරාමිතිය නොදීමෙන් කොටස් තුනක් ලැබේ. |
ref | string | මෘදුකාංග මිලියනවගේ ජාතික කේතය: 5% ඔහු වෙනුවෙන් සහ 5% අමතක කරන කෙනෙක්ට. ref - 10% ආරාධනාකාරයාට. |
* අවශ්ය පරාමාජිතය. සියලුම ඉල්ලම්වලත් ක්රියාව මාරු කරන්න=getNumber.
උදාහරණය
curl 'https://smscash.org/stubs/handler_api.php?action=getNumber&api_key=YOUR_API_KEY&service=go&country=86&with_operator=1' \
-H 'Idempotency-Key: request-unique-001'package main
import (
"fmt"
"io"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest("GET", "https://smscash.org/stubs/handler_api.php?action=getNumber&api_key=YOUR_API_KEY&service=go&country=86&with_operator=1", nil)
if err != nil { panic(err) }
req.Header.Set("Idempotency-Key", "request-unique-001")
client := &http.Client{Timeout: 15 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil { panic(err) }
fmt.Println(resp.StatusCode, string(body))
}const response = await fetch("https://smscash.org/stubs/handler_api.php?action=getNumber&api_key=YOUR_API_KEY&service=go&country=86&with_operator=1", {
headers: {"Idempotency-Key": "request-unique-001"}
});
const result = await response.text();
console.log(response.status, result);import requests
response = requests.get(
"https://smscash.org/stubs/handler_api.php?action=getNumber&api_key=YOUR_API_KEY&service=go&country=86&with_operator=1",
headers={"Idempotency-Key": "request-unique-001"},
timeout=15,
)
print(response.status_code, response.text)පිළිතුරු
ACCESS_NUMBER:42:380670000000:1EMPTY_POOL- ස්වයංක්රීය තේරීම: පසුගිය පැයේ, ඉන්පසු පැය 24 තුළ වැඩිම කේත. අංක නැත්නම් ඊළඟ සැපයුම්කරු.
- පාසන්න Idempotency-Key: එකම යතුරු සමඟම අවශ්යතාව පෙරනිමි සැසියාව පටන්ගත්තා. පරාමාජික කෝල් වෙනස්කරන්න IDEMPOTENCY_CONFLICT.
- සංඛ්යා රටක් EMPTY_POOL ලබා දෙනවා; වැරදි රැස්වීම BAD_COUNTRY.
- භාවිත කළ යතුරේ අවශ්යය: එම යතුරු සමඟ සංයුතිය නැවත ක්රියාත්මක කිරීම සඳහා SESION_CLOSED කලින් වෙනත් අංකය ලැබෙන්නේ නැත.
- සංඛ්යාත්මක ප්රතිඵලය තොරතුරු ලැබෙන්නේ නැත. ස්වයංක්රීය ආරම්භය අක්රියාවක් විය යුතුයි.
GETgetNumbersStatusලැබීම පරීක්ෂා කරන්න+
සේවය සහ රට මගින් දුරකථන අංකය ලැබෙනවා.
පාරාමීටර
| පාරාමීටර් | වර්ගය | විස්තරය |
|---|---|---|
api_key* | string | පරිශීලකයාගේ පුද්ගලික API යතුර. |
country* | integer | අරන්න ID එක්ක getCountries. |
* අවශ්ය පරාමාජිතය. සියලුම ඉල්ලම්වලත් ක්රියාව මාරු කරන්න=getNumbersStatus.
උදාහරණය
curl 'https://smscash.org/stubs/handler_api.php?action=getNumbersStatus&api_key=YOUR_API_KEY&country=86'package main
import (
"fmt"
"io"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest("GET", "https://smscash.org/stubs/handler_api.php?action=getNumbersStatus&api_key=YOUR_API_KEY&country=86", nil)
if err != nil { panic(err) }
client := &http.Client{Timeout: 15 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil { panic(err) }
fmt.Println(resp.StatusCode, string(body))
}const response = await fetch("https://smscash.org/stubs/handler_api.php?action=getNumbersStatus&api_key=YOUR_API_KEY&country=86");
const result = await response.json();
console.log(response.status, result);import requests
response = requests.get(
"https://smscash.org/stubs/handler_api.php?action=getNumbersStatus&api_key=YOUR_API_KEY&country=86",
timeout=15,
)
print(response.status_code, response.json())පිළිතුරු
{
"go_0": 0
}- _0 පූරණය තේරෙන්නේ විශේෂ ක්රියාකාරකයෙක් නැති තෝරාගැනීමක්.
- සංඛ්යාවක් ලබාගත් විට තෝරාගත් චැනල පරීක්ෂණය ලැබෙනවා.
GETgetStatusඅලුත් කේඩ් ලබන්න+
සත්යයේ තත්වය හා අවසාන SMS කේඩය සඳහා සරල ඉල්ලීම. කේතයේ ලෙස සූලයන් සුරක්ෂිත වෙනවා.
පාරාමීටර
| පාරාමීටර් | වර්ගය | විස්තරය |
|---|---|---|
api_key* | string | පරිශීලකයාගේ පුද්ගලික API යතුර. |
id* | integer | අංකය ලැබුණු විට ඔබේ සැසියාවේ ID ලබාගත්තා. |
* අවශ්ය පරාමාජිතය. සියලුම ඉල්ලම්වලත් ක්රියාව මාරු කරන්න=getStatus.
උදාහරණය
curl 'https://smscash.org/stubs/handler_api.php?action=getStatus&api_key=YOUR_API_KEY&id=42'package main
import (
"fmt"
"io"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest("GET", "https://smscash.org/stubs/handler_api.php?action=getStatus&api_key=YOUR_API_KEY&id=42", nil)
if err != nil { panic(err) }
client := &http.Client{Timeout: 15 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil { panic(err) }
fmt.Println(resp.StatusCode, string(body))
}const response = await fetch("https://smscash.org/stubs/handler_api.php?action=getStatus&api_key=YOUR_API_KEY&id=42");
const result = await response.text();
console.log(response.status, result);import requests
response = requests.get(
"https://smscash.org/stubs/handler_api.php?action=getStatus&api_key=YOUR_API_KEY&id=42",
timeout=15,
)
print(response.status_code, response.text)පිළිතුරු
STATUS_WAIT_CODESTATUS_OK:001234STATUS_CANCELNO_ACTIVATION- තත්පර 20ක් ගොඩනැඟුවා. පණිවිඩය කියවන්න වෙනත් ගෙවීමක් නිර්මාණය කරන්නේ නැහැ.
- පරණ කේතය නැවත ආරම්භ කිරීමට පස්සේ: getStatus ඊලඟ SMS වෙනුවෙන් බලා සිටිනවා.
- සංඛ්යාවක් නැතුව පස්සේ SMS මකන්න getStatus සහ getSms ආපහු STATUS_CANCEL; getSmsFull වහලු තත්වය, හිස් දුරකථනයක් සහ හිමිකමක් sms ලැයිස්තුව. REST /activations/{id} සහ /sms ආපහු 404 NO_ACTIVATION.
GETsetStatusසත්යය කළමණය කරන්න+
සම්පූර්ණ, අත්හරින්න හෝ අවසන් කරන්න SMS වෙනුවෙන් බලාපොරොත්තු වෙනවා. සත්යය අවසානයත් සමහරවිටම ඉන්නවා.
පාරාමීටර
| පාරාමීටර් | වර්ගය | විස්තරය |
|---|---|---|
api_key* | string | පරිශීලකයාගේ පුද්ගලික API යතුර. |
id* | integer | අංකය ලැබුණු විට ඔබේ සැසියාවේ ID ලබාගත්තා. |
status* | integer | 3 — ඊළඟ කේතය ඉදිරිපත් කරන්න. 6 — පසුව ඉවරයි SMS; 8 — ඉක්මනට අහන්න. |
* අවශ්ය පරාමාජිතය. සියලුම ඉල්ලම්වලත් ක්රියාව මාරු කරන්න=setStatus.
උදාහරණය
curl 'https://smscash.org/stubs/handler_api.php?action=setStatus&api_key=YOUR_API_KEY&id=42&status=3' \
-H 'Idempotency-Key: request-unique-001'package main
import (
"fmt"
"io"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest("GET", "https://smscash.org/stubs/handler_api.php?action=setStatus&api_key=YOUR_API_KEY&id=42&status=3", nil)
if err != nil { panic(err) }
req.Header.Set("Idempotency-Key", "request-unique-001")
client := &http.Client{Timeout: 15 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil { panic(err) }
fmt.Println(resp.StatusCode, string(body))
}const response = await fetch("https://smscash.org/stubs/handler_api.php?action=setStatus&api_key=YOUR_API_KEY&id=42&status=3", {
headers: {"Idempotency-Key": "request-unique-001"}
});
const result = await response.text();
console.log(response.status, result);import requests
response = requests.get(
"https://smscash.org/stubs/handler_api.php?action=setStatus&api_key=YOUR_API_KEY&id=42&status=3",
headers={"Idempotency-Key": "request-unique-001"},
timeout=15,
)
print(response.status_code, response.text)පිළිතුරු
ACCESS_RETRY_GETACCESS_ACTIVATIONACCESS_CANCEL- මූලික විනාඩි 20 තුළ ඊළඟ කේතය බලාපොරොත්තු කරන්න. ප්රශ්න හා අවසාන කාලය වෙනස් නොවෙයි.
- ස්ථානය සඳහා=3 භාවිතය Idempotency-Key: ඉල්ලීම නැවත නැවතුම් දැනටමත් ලැබුන නව කේතය නැවතින්නේ නැහැ. ඉතිහාසය SMS දිගටම ලැබෙනවා.
- ඉවත් කිරීම දැනටමත් ලැබෙන ප්රයෝජන ඉවත් කරන්නේ නැහැ.
- SMS කේතයක් සඳහා සංඛ්යාව පමණක් ඉතිහාසයේ තියාගන්නවා. කේඩ් නැතහොත් අංක ඉවත් වී ඇත.
GETgetRepeatNumberආයෙත් එම අංකය අදහස් කරන්න+
ඔබේ ඉතිහාසයේ විශේෂ සංඛ්යාවක් සමඟ අලුත් සැසියාව විවෘත කරයි. ඔබට එකම රටේ තවත් සේවය තෝරාගන්න පුළුවන්.
පාරාමීටර
| පාරාමීටර් | වර්ගය | විස්තරය |
|---|---|---|
api_key* | string | පරිශීලකයාගේ පුද්ගලික API යතුර. |
number* | string | ඔබේ පරණ සංඛ්යාව. අංකය විතරයි සහ විශේෂ ලේඛන + විය යුතුයි. |
service* | string | ලැබෙන සේවා කේඩු. පිළිතුරු API යතුරුගේ ප්රදේශයට සමහරයි. |
session_duration | integer | සත්යය විනාඩි 20ක් ඉදිරිපත් කරයි. 20 මාරු කරන්න හෝ මේ පැරාමීටර්ව අත්හරින්න. |
with_operator | integer | 1 මඟින් පිළිතුරට ක්රියාකරුගේ ID එක එකතු කරයි; 0 හෝ පරාමිතිය නොදීමෙන් කොටස් තුනක් ලැබේ. |
ref | string | මෘදුකාංග මිලියනවගේ ජාතික කේතය: 5% ඔහු වෙනුවෙන් සහ 5% අමතක කරන කෙනෙක්ට. ref - 10% ආරාධනාකාරයාට. |
operator | string | අරන්න ID එක්ක operators/getOperators (API). operator=1 · any/0 |
* අවශ්ය පරාමාජිතය. සියලුම ඉල්ලම්වලත් ක්රියාව මාරු කරන්න=getRepeatNumber.
උදාහරණය
curl 'https://smscash.org/stubs/handler_api.php?action=getRepeatNumber&api_key=YOUR_API_KEY&number=380670000000&service=go' \
-H 'Idempotency-Key: request-unique-001'package main
import (
"fmt"
"io"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest("GET", "https://smscash.org/stubs/handler_api.php?action=getRepeatNumber&api_key=YOUR_API_KEY&number=380670000000&service=go", nil)
if err != nil { panic(err) }
req.Header.Set("Idempotency-Key", "request-unique-001")
client := &http.Client{Timeout: 15 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil { panic(err) }
fmt.Println(resp.StatusCode, string(body))
}const response = await fetch("https://smscash.org/stubs/handler_api.php?action=getRepeatNumber&api_key=YOUR_API_KEY&number=380670000000&service=go", {
headers: {"Idempotency-Key": "request-unique-001"}
});
const result = await response.text();
console.log(response.status, result);import requests
response = requests.get(
"https://smscash.org/stubs/handler_api.php?action=getRepeatNumber&api_key=YOUR_API_KEY&number=380670000000&service=go",
headers={"Idempotency-Key": "request-unique-001"},
timeout=15,
)
print(response.status_code, response.text)පිළිතුරු
ACCESS_NUMBER:43:380670000000NUMBER_IN_USE- මුලින්ම, ඔබේ දැනටමත් සැලැස්ම අවසන් කරන්න හෝ අවශ්ය කරන්න. සංඛ්යා කාර්ය වුනොත්, නැවත සැකසීම ඉදිරිපත් නොවෙයි.
- නව සැලැස්මට නවත්ව ID හා දැනටමත් ටාරිෆ් එකක් ලැබෙනවා. පරණ SMS එහි පිටපත් කරන්නේ නැත. Ref ආයෙත් සැකසුවේ.
- SMScash මෙම ගිණුමේ ඉතිහාසයේ සංඛ්යාව පමණක් නැවත හැරෙනවා. රටේ අංකයෙන් හඳුන්වනවා.
- භාවිත කළ යතුරේ අවශ්යය: එම යතුරු සමඟ සංයුතිය නැවත ක්රියාත්මක කිරීම සඳහා SESION_CLOSED කලින් වෙනත් අංකය ලැබෙන්නේ නැත.
GETgetSmsFullJSON ලෙස SMS ලබාගන්න+
ID, යවන්නා, කේත, පෙළ සහ රට, සේවය හා ලැයිස්තුව දත්ත සඳහා සියලු පණිවිඩ ලෙස ඉතිහාසය නිර්මාණය කර ඇත.
පාරාමීටර
| පාරාමීටර් | වර්ගය | විස්තරය |
|---|---|---|
api_key* | string | පරිශීලකයාගේ පුද්ගලික API යතුර. |
id* | integer | අංකය ලැබුණු විට ඔබේ සැසියාවේ ID ලබාගත්තා. |
* අවශ්ය පරාමාජිතය. සියලුම ඉල්ලම්වලත් ක්රියාව මාරු කරන්න=getSmsFull.
උදාහරණය
curl 'https://smscash.org/stubs/handler_api.php?action=getSmsFull&api_key=YOUR_API_KEY&id=42'package main
import (
"fmt"
"io"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest("GET", "https://smscash.org/stubs/handler_api.php?action=getSmsFull&api_key=YOUR_API_KEY&id=42", nil)
if err != nil { panic(err) }
client := &http.Client{Timeout: 15 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil { panic(err) }
fmt.Println(resp.StatusCode, string(body))
}const response = await fetch("https://smscash.org/stubs/handler_api.php?action=getSmsFull&api_key=YOUR_API_KEY&id=42");
const result = await response.json();
console.log(response.status, result);import requests
response = requests.get(
"https://smscash.org/stubs/handler_api.php?action=getSmsFull&api_key=YOUR_API_KEY&id=42",
timeout=15,
)
print(response.status_code, response.json())පිළිතුරු
{
"success": true,
"session_id": 42,
"phone": "380670000000",
"status": 1,
"status_name": "received",
"sms_count": 1,
"sms": [
{
"id": 101,
"external_id": "message-101",
"sender": "Service",
"code": "001234",
"text": "Код подтверждения: 001234",
"received_at": "2026-10-09T12:00:00Z",
"country": {
"id": 86,
"name": "Italy"
},
"service": {
"code": "go",
"name": "Google"
},
"provider": {
"id": 1,
"name": "Оператор 1"
}
}
],
"expires_at": "2026-10-09T12:20:00Z"
}- නව පණිවිඩ පමණක් ක්රියාත්මක කිරීම සඳහා ප්රයෝජන ලැයිස්තුව. sms[].id මතක තියාගන්න.
- සංඛ්යාක තත්වය SMScash: 1 - සක්රීය, 6 - සම්පූර්ණ, 8 - නවතින්න හෝ අවසන් වුණා. status_name බලාපොරොත්තු, ලැබුවා, සම්පූර්ණයි, අවසන් වෙලා, ඉවරයි.
- ලැබෙන කේත ලබාගත යුතුයි. විශාල ගොඩනැඟීම සඳහා භාවිත කරන්න REST /activations/{id}/sms සමඟ after_id.
- සංඛ්යාවක් නැතුව පස්සේ SMS මකන්න getStatus සහ getSms ආපහු STATUS_CANCEL; getSmsFull වහලු තත්වය, හිස් දුරකථනයක් සහ හිමිකමක් sms ලැයිස්තුව. REST /activations/{id} සහ /sms ආපහු 404 NO_ACTIVATION.
GETgetSmsපෙළ පෙල ලෙස SMS ලබාගන්න+
සම්පූර්ණ SMS ඉතිහාසය ලැබෙන සේවාදායකයන් සඳහා පෙර සැකසුම් ලෙස සඳහන් කරයි.
පාරාමීටර
| පාරාමීටර් | වර්ගය | විස්තරය |
|---|---|---|
api_key* | string | පරිශීලකයාගේ පුද්ගලික API යතුර. |
id* | integer | අංකය ලැබුණු විට ඔබේ සැසියාවේ ID ලබාගත්තා. |
* අවශ්ය පරාමාජිතය. සියලුම ඉල්ලම්වලත් ක්රියාව මාරු කරන්න=getSms.
උදාහරණය
curl 'https://smscash.org/stubs/handler_api.php?action=getSms&api_key=YOUR_API_KEY&id=42'package main
import (
"fmt"
"io"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest("GET", "https://smscash.org/stubs/handler_api.php?action=getSms&api_key=YOUR_API_KEY&id=42", nil)
if err != nil { panic(err) }
client := &http.Client{Timeout: 15 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil { panic(err) }
fmt.Println(resp.StatusCode, string(body))
}const response = await fetch("https://smscash.org/stubs/handler_api.php?action=getSms&api_key=YOUR_API_KEY&id=42");
const result = await response.text();
console.log(response.status, result);import requests
response = requests.get(
"https://smscash.org/stubs/handler_api.php?action=getSms&api_key=YOUR_API_KEY&id=42",
timeout=15,
)
print(response.status_code, response.text)පිළිතුරු
STATUS_OK:2026-10-09T12:00:00Z|001234|Код подтверждения: 001234STATUS_WAIT_CODESTATUS_CANCEL- පණිවිඩ ලැයිස්තුව
- පෙළ SMS සමහරවිට ක්ලෝන් හා ලෝකීම් බාර සඳහන් වෙනවා. විශ්වාසවන්ත සාකච්ඡා කිරීම සඳහා, getSmsFull භාවිත කරන්න.
GETgetServicesසේවා+
ලැබෙන සේවා කේඩු. පිළිතුරු API යතුරුගේ ප්රදේශයට සමහරයි.
පාරාමීටර
| පාරාමීටර් | වර්ගය | විස්තරය |
|---|---|---|
api_key* | string | පරිශීලකයාගේ පුද්ගලික API යතුර. |
country | integer | අරන්න ID එක්ක getCountries. |
* අවශ්ය පරාමාජිතය. සියලුම ඉල්ලම්වලත් ක්රියාව මාරු කරන්න=getServices.
උදාහරණය
curl 'https://smscash.org/stubs/handler_api.php?action=getServices&api_key=YOUR_API_KEY'package main
import (
"fmt"
"io"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest("GET", "https://smscash.org/stubs/handler_api.php?action=getServices&api_key=YOUR_API_KEY", nil)
if err != nil { panic(err) }
client := &http.Client{Timeout: 15 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil { panic(err) }
fmt.Println(resp.StatusCode, string(body))
}const response = await fetch("https://smscash.org/stubs/handler_api.php?action=getServices&api_key=YOUR_API_KEY");
const result = await response.json();
console.log(response.status, result);import requests
response = requests.get(
"https://smscash.org/stubs/handler_api.php?action=getServices&api_key=YOUR_API_KEY",
timeout=15,
)
print(response.status_code, response.json())පිළිතුරු
{
"go": {
"name": "Google",
"code": "go"
}
}- සේවය ඩිරෙක්ටරිය ලබා දුරකථන ලෙස භාවිත කර ඇත. සංඛ්යා ලැබීම විතරක් නෙමෙයි පරීක්ෂණය කර තිබෙනවා.
GETgetCountriesරටවල්+
තෝරාගත් චැනලේ රටවලට කේඩ්, නම හා කෝඩු ලබා ගන්න.
පාරාමීටර
| පාරාමීටර් | වර්ගය | විස්තරය |
|---|---|---|
api_key* | string | පරිශීලකයාගේ පුද්ගලික API යතුර. |
* අවශ්ය පරාමාජිතය. සියලුම ඉල්ලම්වලත් ක්රියාව මාරු කරන්න=getCountries.
උදාහරණය
curl 'https://smscash.org/stubs/handler_api.php?action=getCountries&api_key=YOUR_API_KEY'package main
import (
"fmt"
"io"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest("GET", "https://smscash.org/stubs/handler_api.php?action=getCountries&api_key=YOUR_API_KEY", nil)
if err != nil { panic(err) }
client := &http.Client{Timeout: 15 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil { panic(err) }
fmt.Println(resp.StatusCode, string(body))
}const response = await fetch("https://smscash.org/stubs/handler_api.php?action=getCountries&api_key=YOUR_API_KEY");
const result = await response.json();
console.log(response.status, result);import requests
response = requests.get(
"https://smscash.org/stubs/handler_api.php?action=getCountries&api_key=YOUR_API_KEY",
timeout=15,
)
print(response.status_code, response.json())පිළිතුරු
{
"86": {
"id": 86,
"name": "Italy",
"phone_code": "39"
}
}GETgetOperatorsක්රියාකාරකයන්+
ලබාගත හැකි ක්රියාකරුවන්: API ID, නම සහ ත්යාග රඳවාගැනීමේ කාලය.
පාරාමීටර
| පාරාමීටර් | වර්ගය | විස්තරය |
|---|---|---|
api_key* | string | පරිශීලකයාගේ පුද්ගලික API යතුර. |
country | integer | අරන්න ID එක්ක getCountries. |
operator | string | අරන්න ID එක්ක operators/getOperators (API). operator=1 · any/0 |
* අවශ්ය පරාමාජිතය. සියලුම ඉල්ලම්වලත් ක්රියාව මාරු කරන්න=getOperators.
උදාහරණය
curl 'https://smscash.org/stubs/handler_api.php?action=getOperators&api_key=YOUR_API_KEY'package main
import (
"fmt"
"io"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest("GET", "https://smscash.org/stubs/handler_api.php?action=getOperators&api_key=YOUR_API_KEY", nil)
if err != nil { panic(err) }
client := &http.Client{Timeout: 15 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil { panic(err) }
fmt.Println(resp.StatusCode, string(body))
}const response = await fetch("https://smscash.org/stubs/handler_api.php?action=getOperators&api_key=YOUR_API_KEY");
const result = await response.json();
console.log(response.status, result);import requests
response = requests.get(
"https://smscash.org/stubs/handler_api.php?action=getOperators&api_key=YOUR_API_KEY",
timeout=15,
)
print(response.status_code, response.json())පිළිතුරු
{
"1": {
"id": 1,
"provider_id": 1,
"operator": 1,
"name": "Оператор 1",
"earnings_hold_days": 45
}
}- අරන්න ID එක්ක operators/getOperators (API).
GETgetRewardsSMS සඳහා ප්රයෝජන+
සියලු තැපැල් ගණනක් සඳහා සියල්ල ගෙවන්නේ SMS එකක්.
පාරාමීටර
| පාරාමීටර් | වර්ගය | විස්තරය |
|---|---|---|
api_key* | string | පරිශීලකයාගේ පුද්ගලික API යතුර. |
country | integer | අරන්න ID එක්ක getCountries. |
service | string | ලැබෙන සේවා කේඩු. පිළිතුරු API යතුරුගේ ප්රදේශයට සමහරයි. |
operator | string | අරන්න ID එක්ක operators/getOperators (API). operator=1 · any/0 |
* අවශ්ය පරාමාජිතය. සියලුම ඉල්ලම්වලත් ක්රියාව මාරු කරන්න=getRewards.
උදාහරණය
curl 'https://smscash.org/stubs/handler_api.php?action=getRewards&api_key=YOUR_API_KEY&country=59&service=vi'package main
import (
"fmt"
"io"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest("GET", "https://smscash.org/stubs/handler_api.php?action=getRewards&api_key=YOUR_API_KEY&country=59&service=vi", nil)
if err != nil { panic(err) }
client := &http.Client{Timeout: 15 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil { panic(err) }
fmt.Println(resp.StatusCode, string(body))
}const response = await fetch("https://smscash.org/stubs/handler_api.php?action=getRewards&api_key=YOUR_API_KEY&country=59&service=vi");
const result = await response.json();
console.log(response.status, result);import requests
response = requests.get(
"https://smscash.org/stubs/handler_api.php?action=getRewards&api_key=YOUR_API_KEY&country=59&service=vi",
timeout=15,
)
print(response.status_code, response.json())පිළිතුරු
{
"59": {
"vi": {
"1": "0.01000000",
"3": "0.00500000"
}
}
}{}- USD ටාරීප සංඛ්යාව නිවැරදි දසිමාලික ස්ථාන 8 සඳහා පිටපත් කරයි:
- ඔබේ යතුරට සක්රීය ලැබෙනවා.
- country ID → service code → operator ID → reward (USD)
GETgetBalanceපරිශීලකයාගේ ශේෂය+
SMScash එක්සත්කරණය: ලැබෙන සම්බන්ධතාවක් ලබාගැනීම, රැකියාව හා ගෙවල් ඉල්ලීම සඳහා අවශ්යයි.
පාරාමීටර
| පාරාමීටර් | වර්ගය | විස්තරය |
|---|---|---|
api_key* | string | පරිශීලකයාගේ පුද්ගලික API යතුර. |
* අවශ්ය පරාමාජිතය. සියලුම ඉල්ලම්වලත් ක්රියාව මාරු කරන්න=getBalance.
උදාහරණය
curl 'https://smscash.org/stubs/handler_api.php?action=getBalance&api_key=YOUR_API_KEY'package main
import (
"fmt"
"io"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest("GET", "https://smscash.org/stubs/handler_api.php?action=getBalance&api_key=YOUR_API_KEY", nil)
if err != nil { panic(err) }
client := &http.Client{Timeout: 15 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil { panic(err) }
fmt.Println(resp.StatusCode, string(body))
}const response = await fetch("https://smscash.org/stubs/handler_api.php?action=getBalance&api_key=YOUR_API_KEY");
const result = await response.text();
console.log(response.status, result);import requests
response = requests.get(
"https://smscash.org/stubs/handler_api.php?action=getBalance&api_key=YOUR_API_KEY",
timeout=15,
)
print(response.status_code, response.text)පිළිතුරු
ACCESS_BALANCE:0.00- getBalance ලැබෙන USD සම්බන්ධතාව ඩසිමාලික ස්ථාන 8ක් සමඟ පවතිනවා.
- රඳවා ගැනීමේ කාලය අවසන් වූ මුදල් පමණක් ලබාගත හැක.
GETgetHoldBalanceඅත්හිටවූ මුදල්+
SMS ලැබුණු පසු ආදායම සැපයුම්කරු නියම කළ කාලය සඳහා රඳවා තබනු ලැබේ. නියමිත දිනයේ එම මුදල ස්වයංක්රීයව ලබා ගැනීමට හැකි වේ.
පාරාමීටර
| පාරාමීටර් | වර්ගය | විස්තරය |
|---|---|---|
api_key* | string | පරිශීලකයාගේ පුද්ගලික API යතුර. |
* අවශ්ය පරාමාජිතය. සියලුම ඉල්ලම්වලත් ක්රියාව මාරු කරන්න=getHoldBalance.
උදාහරණය
curl 'https://smscash.org/stubs/handler_api.php?action=getHoldBalance&api_key=YOUR_API_KEY'package main
import (
"fmt"
"io"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest("GET", "https://smscash.org/stubs/handler_api.php?action=getHoldBalance&api_key=YOUR_API_KEY", nil)
if err != nil { panic(err) }
client := &http.Client{Timeout: 15 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil { panic(err) }
fmt.Println(resp.StatusCode, string(body))
}const response = await fetch("https://smscash.org/stubs/handler_api.php?action=getHoldBalance&api_key=YOUR_API_KEY");
const result = await response.text();
console.log(response.status, result);import requests
response = requests.get(
"https://smscash.org/stubs/handler_api.php?action=getHoldBalance&api_key=YOUR_API_KEY",
timeout=15,
)
print(response.status_code, response.text)පිළිතුරු
ACCESS_HOLD_BALANCE:34.50000001- SMScash · getHoldBalance · USD · 8
- රඳවා ගැනීමේ කාලය අවසන් වූ මුදල් පමණක් ලබාගත හැක.
ප්රතිචාර කේත සහ නැවත ආරක්ෂාව
handler_api.php ව්යාපාර ප්රතිඵලවල සාමාන්යයෙන් HTTP 200 සමඟ ඇතුළත් වෙනවා. පෙළ පෙල පරීක්ෂණය කරන්න. ඩිරෙක්ටරිය හා getSmsFull JSON ආරම්භ කරන්න සාර්ථක නම්; වැරැද්ද හැම වෙලාවකම පෙත.
| කේතය | HTTP | හේතුව සහ ඊළඟ පෙර |
|---|---|---|
TARIFF_NOT_CONFIGURED | 200 | තවමත් සැකසුම් නැතසංඛ්යාව අංකය ලෙස සැකසුම් ලැබෙන විට SMS ප්රයෝජන සැලසුම් කිරීමට පටන්ගත හැකියි. |
COUNTRY_BLOCKED | 200 | මෙම රටට සංඛ්යාවක් ලැබුවා.තවත් රටාව තෝරාගන්න. |
BAD_SERVICE | 200 | මෙම සේවා සඳහා සංඛ්යාව අන්තර්ජාලය අවශ්යයි.තවත් සේවාව තෝරාගන්න. |
PROVIDER_NOT_READY | 200 | සංඛ්යාව අංශය දිගටම නොහැකAPI කැටලෝගය පිරිසිදු කරන්න. |
BAD_KEY | 400 | api_key හෝ වැරදි ක්රමයක් නැත.ඉල්ලීමේ යතුර පරීක්ෂා කරන්න. |
INVALID_API_KEY | 401 | යතුරු නොදන්නා, නිදොස් කරන්න හෝ ගිණුම අක්රීයයි.වැරදි API යතුරක් නිර්මාණය කරන්න. |
BAD_COUNTRY | 400 | රට අතුරුදහස් වෙනවා නැත්නම් සැබෑ සංඛ්යාවක් නෑ.අරන්න ID එක්ක getCountries. |
BAD_SESSION_DURATION | 400 | දුරකථන අංක ඇතුළත් විනාඩි 20ක්.නිවැරදි session_duration. |
BAD_REQUEST | 400 | වැරදි පාරාමීටර් හෝ Idempotency-Key.කරුණාකරලා ඔයාගේ ඉල්ලීම නිවැරදි කරන්න. |
BAD_SERVICE / BAD_OPERATOR / INVALID_PROVIDER | 200 | නොදන්නා හෝ අක්රීය ඩිරෙක්ටරිය අයිතමය.API කැටලෝගය පිරිසිදු කරන්න. |
BAD_NUMBER | 200 | වැරදි අංක ක්රමය.අංකය දෙන්න. |
BAD_ACTION / BAD_STATUS | 200 | නොදන්නා විධානය, ID හෝ ක්රියාත්මක.සැකසුම් පරීක්ෂා කරන්න. |
EMPTY_POOL | 200 | දැන් දුරකථන අංකයක් ලැබෙන්නේ නැත.තත්පර 10-30 පස්සේ නැවත නැතහොත් පරිගණක වෙනස් කරන්න. |
NUMBER_IN_USE | 200 | සංඛ්යාවක් ක්රියාත්මක සැලැස්මක් ලබාගත යුතුයි.ඔබේ සේවය අවසන් කරන්න හෝ වෙනත් අංක තෝරාගන්න. |
NO_ACTIVATION | 200 | සැසියාව හෝ පෙරනිමි සංඛ්යාව ඔබේ ගිණුමට අයිති නැහැ.ID සහ යතුරු පරීක්ෂා කරන්න. |
SESSION_CLOSED / SMS_REQUIRED | 200 | ස්ථාන පරීක්ෂණය දැනට නොහැකියි.SMS තත්වය සහ ලැබීම පරීක්ෂා කරන්න. |
SCOPE_BLOCKED | 200 | සේවය, රට, හෝ විශාලකරුවන්ට අවසර ලැබෙන්නේ නැහැ.API යතුරු ස්ථානය යාවත්කාලීන කරන්න. |
IDEMPOTENCY_CONFLICT | 200 | මෙම ප්රශ්න යතුරු දැනටමත් වෙනත් පරාමිති සමඟ සම්බන්ධයි.නව ක්රියාත්මක සඳහා, තවත් නිර්මාණය කරන්න Idempotency-Key. |
BAD_REF / SELF_REF | 400 | මෙම තොරතුරු කේතය නොදන්නා, අක්රීයයි, හෝ රැකියාට අයිතියි.මෘදුකාලීනයේ ස්වාමිපුරුෂයාගේ කේඩ් එකට දාන්න. |
INTERNAL_ERROR | 500 | කාලකාලීන සේවාදායකය හෝ විකල්පක දෝෂය.අවසන් වෙලාවක් හා එකම ක්රියාත්මකව නැවත හැරෙන්න Idempotency-Key. |
ALLOCATION_PENDING | 200 | සංඛ්යාව සංග්රහණය දැනටමත් ඉදිරිපත් කර ඇත. එකම සමඟ ආරම්භ කරන්න Idempotency-Key.සංඛ්යාව සංග්රහණය දැනටමත් ඉදිරිපත් කර ඇත. එකම සමඟ ආරම්භ කරන්න Idempotency-Key. |
ALLOCATION_UNCERTAIN | 200 | සංඛ්යාත්මක ප්රතිඵලය තොරතුරු ලැබෙන්නේ නැත. ස්වයංක්රීය ආරම්භය අක්රියාවක් විය යුතුයි.සංඛ්යාත්මක ප්රතිඵලය තොරතුරු ලැබෙන්නේ නැත. ස්වයංක්රීය ආරම්භය අක්රියාවක් විය යුතුයි. |
REST අයිතමයක් පිටපත් කරන්න {"error":{"code":"…","message":"…"}} සහ සාමාන්ය HTTP තත්වය 400/401/403/404/409/503.
{
"error": {
"code": "BAD_REQUEST",
"message": "ඉල්ලන තැන පරීක්ෂා කරන්න.",
"request_id": "req_…",
"hint": "Use the documented JSON type; numbers must not be quoted.",
"retryable": false,
"details": {
"field": "country",
"expected": "integer"
}
}
}X-Request-ID: included in every API response
405: Allow lists the supported HTTP methods
ALLOCATION_PENDING: retryable=true · Retry-After=3 · same operation key
ALLOCATION_UNCERTAIN: retryable=false · contact support
Transport errors: check the operation before another write; keep the original key.අලුත් සංවිධානය සඳහා
USD ටාරීප සංඛ්යාව නිවැරදි දසිමාලික ස්ථාන 8 සඳහා පිටපත් කරයි: 0.00300000 USD.
සම්පූර්ණ මුදලය USDයි. පිළිතුරු ස්කේමා ලබාගත හැකියි OpenAPI.
/api/v1/catalogසේවා සහ රටවල්/api/v1/tariffsSMS ප්රයෝජන ගණන/api/v1/offersගණන හා ප්රයෝජන/api/v1/servicesබහලුම/api/v1/countriesබහලුම/api/v1/operatorsබහලුම/api/v1/availability?country=1අංකය ලැබීම/api/v1/activationsනව වාර්තාව/api/v1/activations/batch?ids=42,43අංක කිහිපයක් පරීක්ෂා කරන්න/api/v1/activationsඅලුත් 200 සැලසුම්: scope=history, බලාගෙන ඉන්න හෝ සියලුම/api/v1/activations/{id}සැසි හා පණිවිඩ/api/v1/activations/{id}/sms?after_id=0&limit=100කර්සර් සමඟ නව SMS/api/v1/activations/{id}/retrySMS සඳහා බලා සිටිනව/api/v1/activations/{id}/finishසම්පූර්ණ/api/v1/activations/{id}/cancelඅහෝසි කරන්න/api/v1/activations/repeatසංඛ්යාව නැවත ලැබීම/api/v1/keysAPI යතුරු/api/v1/keysයතුරක් නිර්මාණය කරන්න/api/v1/keys/{id}නම හෝ නියෝගය වෙනස් කරන්න/api/v1/keys/{id}යතුරු පිටපත් කරන්න/api/v1/referralsසඳහන් කේඩ් සහ රැකියාව/api/v1/summaryසමාන හා සංඛ්යාව/api/v1/balanceඅත්හිටවූ මුදල්/api/v1/ledgerලෙඩ් ලේජර්/api/v1/withdrawalsඅවශ්යය/api/v1/withdrawalsඉල්ලීමක් නිර්මාණය කරන්න/api/v1/statisticsසම්පූර්ණ පද්ධතිය/api/v1/earnings/holdsආදායම් රඳවා ගැනීමනව SMS ලැබීම විතරයි
GET /api/v1/activations/42/sms?after_id=0&limit=100
Authorization: Bearer YOUR_API_KEY{
"session_id": 42,
"sms": [
{
"id": 101,
"code": "001234",
"text": "කේතය: 001234",
"sender": "Service",
"received_at": "2026-10-09T12:00:00Z"
}
],
"next_cursor": 101,
"has_more": false
}සුරකින්න next_cursor එතකොට එය දිගටම දාන්න. after_id. has_more=true, ඊළඟ පිටුව ඉක්මනට කියවන්න පුළුවන්. සමීපය: 1–200. සත්යය සහ SMS ස්වාමිපුරුෂයාට පමණක් ලැබෙනවා.