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.
የጥያቄ መፍጠሪያ
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 ደቂቃዎች ። SMS እያንዳንዱ የተመረጠ ነው 20 ሴኮንዶች. ብዙም ሳይቆይ ልታስወግድ ትችላለህ ።
ብዙ ቁጥሮችን ማረጋገጥ
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 | ክፍለ ጊዜ (_S) |
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 ደቂቃዎች ። SMS እያንዳንዱ የተመረጠ ነው 20 ሴኮንዶች. ብዙም ሳይቆይ ልታስወግድ ትችላለህ ።
አዲስ ዶሴ ፍጠር
REST: የገጽ አናት Authorization: Bearer YOUR_API_KEY. ሁኔታ፦ ገጾች api_key እና action. HTTPSን ተጠቀም ።
ለማስተካከል API ቁልፎች ፣ ቁጥርህ አስገባ
API በየዕለቱም ሆነ በሰዓት ቁጥር የለም ።
ቍጥሩ ተገቢ ነው 20 ደቂቃዎች ። SMS እያንዳንዱ የተመረጠ ነው 20 ሴኮንዶች. ብዙም ሳይቆይ ልታስወግድ ትችላለህ ።
በራሴት የተለየ ደረጃ 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% |
የተጠቃሚውን ገንዘብ ሳያቀርበው ቡኖስን ይሰጣል ። ሶፍተር ባለቤቱና ሪፍሬር አንድ ሰው ሊሆን ይችላል. ተጠቃሚዎች የራሳቸውን ኮድ መጠቀም አይችልም ።
ክፍል፦ s 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 ነው ።
- የጥቂት ክፍል ቁልፍ ይጠቀምበታል: ሴሲዮን_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 | ቍጥሩ በተወሰደበት ጊዜ የሰዓት አርእስት |
* የሚያስፈልገው ሚዛናዊ ፕሮግራም በሁሉም መጠየቂያ ተግባር=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 ሴኮንዶች. መልዕክቶችን እንደገና ማንበብ ሌላ አላፈጠርም
- በኋላ retry የቀድሞው ኮድ አልተመለሰም፦ getStatus የሚቀጥለውን ጠባይ SMS.
- ቁጥር ከሌላ በኋላ SMS አጥፉ getStatus እና getSms ተመልስ STATUS_CANCEL; getSmsFull ዝጋውን ሁኔታ ፣ ባዶ ስልክና ባዶ ይመለሳል sms ዝርዝር REST /activations/{id} እና /sms ተመልስ 404 NO_ACTIVATION.
GETsetStatusክፍለ ጊዜ (_S)+
ሁኔታ፦ SMS. ክፍል የመጨረሻው ሁኔታ ተመሳሳይ ነው ።
ፊደል(ሎች)
| አጠቃላይ | ዓይነት | መግለጫ |
|---|---|---|
api_key* | string | የተጠቃሚው የግል API ቁልፍ። |
id* | integer | ቍጥሩ በተወሰደበት ጊዜ የሰዓት አርእስት |
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 ከዚህ ዘገባ ታሪክ ውስጥ የሚገኙ ቁጥሮች ብቻ ናቸው ።
- የጥቂት ክፍል ቁልፍ ይጠቀምበታል: ሴሲዮን_CLOSED እንደገና አስጀምሩና ሌላ ቍጥር አይወስዱም።
GETgetSmsFullመግለጫ SMS እንደ JSON+
መልዕክቶችን በእውቀት ፣ በላክ ፣ በኮድ ፣ በጽሑፍና በአገር ፣ በአገልግሎትና በቅርብ ማድረግ ዳታ ያላቸው ሁሉ ታሪክ የተሠራ ነው ።
ፊደል(ሎች)
| አጠቃላይ | ዓይነት | መግለጫ |
|---|---|---|
api_key* | string | የተጠቃሚው የግል API ቁልፍ። |
id* | integer | ቍጥሩ በተወሰደበት ጊዜ የሰዓት አርእስት |
* የሚያስፈልገው ሚዛናዊ ፕሮግራም በሁሉም መጠየቂያ ተግባር=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"
}- ለአዲስ መልዕክቶች ብቻ ለማድረግ የምስል ስርዓት አስታውስ
- ቍጥር ሁኔታ 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 | ቍጥሩ በተወሰደበት ጊዜ የሰዓት አርእስት |
* የሚያስፈልገው ሚዛናዊ ፕሮግራም በሁሉም መጠየቂያ ተግባር=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 መለያ፣ ስም እና የእገዳ ጊዜ።
ፊደል(ሎች)
| አጠቃላይ | ዓይነት | መግለጫ |
|---|---|---|
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).
GETgetRewardsለሚሰጠው ዋጋ SMS+
ዋጋዎች በአገር ላይ የተመካ ነው ። 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 | አንድ ቁጥር በውስጣዊ ስብሰባ ላይ ይሠራል ።ክፍለ ጊዜ (_S) |
NO_ACTIVATION | 200 | ሴኔጋል ወይም የቀድሞው ቍጥር የመጀመሪያው ፋይልቁልፍ አጥፉ |
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 | ሁለተኛ ቍጥር እንዳልተካፈሉ አውቶማቲካዊ ሁኔታውን ለማድረግ ችግር ችሎታ ይኖርበታል ።ሁለተኛ ቍጥር እንዳልተካፈሉ አውቶማቲካዊ ሁኔታውን ለማድረግ ችግር ችሎታ ይኖርበታል ። |
አዲስ ዶሴ ፍጠር {"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ክፍለ ጊዜ (_S)/api/v1/activations/batch?ids=42,43ብዙ ቁጥሮችን ማረጋገጥ/api/v1/activationsየመጨረሻው 200 ክፍል:/api/v1/activations/{id}መልዕክቶች/api/v1/activations/{id}/sms?after_id=0&limit=100አዲስ SMS መግለጫ/api/v1/activations/{id}/retryሁኔታ፦ SMS/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ክፍለ ጊዜ (_S) SMS ለባለቤቱ ብቻ ይገኛል ።