ނޮލެޖް ބޭސް ޑިވެލޮޕަރުން
ބަލަންސް، ޓޮޕް-އަޕްސް އަދި ކީސް
ތިބާގެ ކައިރީގައި އޮތް މިންވަރު ބަލައިލާށެވެ، Lightning އާ través ޓޮޕް އަޕް ކުރާށެވެ، އަމިއްލަ ވޮލެޓުން އޮޓޯމެޓިކައިކްކަމަށް ޓޮޕް އަޕް ކުރާށެވެ، ކޮ Each request އަދަވާ މިންވަރު ބަލައިލާށެވެ، އަދި ކޯޑުން ކީސް މެނޭޖް ކުރާށެވެ.
މި ޞަފްޙާއަކީ ފަސޭހަ ކަމުގެ ގޮތުން މެޝިނުން ތަރުޖަމާކޮށްފައިވާ ޞަފްޙާއެކެވެ. އިނގިރޭސި އޮރިޖިނަލް އަކީ އެއަށް އަމަލުކުރާ ވަރޝަން އެވެ.
ބެލެންސް ޗެކްކުރުން
ތިބޭފުޅަބޭފުޅުންގެ ބެލެންސް ދެކަމުންވެސް، އަދި މި ކީގެ ކެޕްގެ ކޮ amount ބޭނުންވެފައިވާ ތަފްސީލް.
GET https://nymbot.ai/api/v1/credits/balance — އޭޕީއައި ކީއެއް (API key) ބޭނުންވެއެވެ. POST ކްލައިންޓުން މިއީ އެއްޗެއް އޮތް ކަމަށް އުއްމީދު ކުރާނަމަ، މިއީވެސް މަސައްކަތް ކުރާނެ އެއްޗެކެވެ.
balance މަދު ބެލަންސު ދެންނެވި އެއްބައިގައި، މިހާރުގެ ބިޓްކޮއިން އަގަށް ބަލައި ޑޮލަރުގައިވަނީ،
ނަންބަރު އެއްކަން އެކަނި އިންتޒާރުކުރާ ޓޫލްތަކަށް (null (ފިލާވަޅު ކިޔައިގަންނަން ނުވަތަ ނުކարriagesނުވާނަމަ). ބާކީ އެއްޗެހި ހިމުނުވަނީ ކްރެޑިޓްސް އަދި ސެޓްސްތަކެއްގައެވެ. ބެލަންސުތައް ހިފަހައްޓާނީ އެގޮތަށެވެ. key އެދިލެއްވި ކީއާ ބެހޭކަންހިތްގަނެވި މައުލޫމާތު ބަޔާން කරයි. ކީއެއްގެ މުއްދަތު ނުވަތަ ކެޕް އަރައިފި ނަމަވެސް، އޭގެ ބެލެންސް ބަލައިލެވޭނެއެވެ.
ޖަވާބު
{
"balance": 49.18,
"balance_sats": 42037,
"standard": { "credits": 120.4, "sats": 1204 },
"pro": { "credits": 408.33, "sats": 40833 },
"key": {
"id": "4f0c9a1be27d3856",
"name": "laptop scripts",
"limit_sats": 20000,
"period_used_sats": 3412,
"total_used_sats": 18230,
"reset_period": "monthly",
"reset_at": "2026-10-01T00:00:00Z"
}
}
| ހާލަތު | މިހާރު ކޮންމެވަގުތުވެސް |
|---|---|
401 | ތިނދަޅު (ކީ) ނުވަތަ ކީ އެތަނެއް ނެތް، ނުވަތަ ނޭނގޭ، ނުވަތަ ބާތިލުކޮށްފައިވާ ނުވަތަ މުއްދަތު ހަމަވެފައިވާ ކަމެކެވެ. |
cURL
curl https://nymbot.ai/api/v1/credits/balance \
-H "Authorization: Bearer $NYMBOT_API_KEY"
Python
import os
import requests
res = requests.get(
"https://nymbot.ai/api/v1/credits/balance",
headers={"Authorization": "Bearer " + os.environ["NYMBOT_API_KEY"]},
)
balance = res.json()
print(balance["standard"]["sats"], balance["pro"]["sats"])
JavaScript
const res = await fetch("https://nymbot.ai/api/v1/credits/balance", {
headers: { "Authorization": "Bearer " + process.env.NYMBOT_API_KEY },
});
const balance = await res.json();
console.log(balance.standard.sats, balance.pro.sats);
ސަލާމަތް ދެއްކުމުގެ ގޮތްތައް
ކިހިނެއް އެކައުންޓް ފުލްކުރެވޭނެކަން އަދި މಿತಿތައް. ލައިޓް닝 އީޒް ދ އޮންލީ މެތޑް.
GET https://nymbot.ai/api/v1/topup/payment-methods — ކީއެއް ނުބޭނުން.
ޓޮޕް-އަޕެއްގެ މިންވަރުަކީ 10 އިން 1,000,000 ސެޓްޝީގެ ދެމެނެވެ؛ ޕްރޯ ޓޮޕް-އަޕެއްގައި އެންމެހ least އެއް ޕްރޯ ކްރެޑިޓް ގަނެވުމަކީ ސިފައެވެ، އެހެންކަމުން އެއީ 100 ސެޓްޝީއިން ފެށޭ ކަމެކެވެ. ޑޮލަރުގެ މಿತಿތައް ބިޓްކޮއިންގެ އަގަށް අනුව ބަދަލުވެގެންދާނެއެވެ. bulk_bonus ބޮޑު ޓޮޕް-އަޕްތަކުގައި ލިބޭ އެކްސްޓްރާ ކްރެޑިޓްގެ އަދަދު އެޕްގައި އޮތް ފަދައިން މިތާ މިހީގެ ތެރޭގައި ހިމަނވާނީ: 500، 1,000 ނުވަތަ 5,000 ސެޓްސް އިން ފެށޭ އާދާ ޓޮޕް-އަޕްތަކުގައި 10%، 15% ނުވަތަ 20% އިތުރު، އަދި 5,000، 10,000 ނުވަތަ 50,000 ސެޓްސް އިން ފެށޭ Pro ޓޮޕް-އަޕްތަކުގައިވެސް އެފަދައިންނެވެ.
ޖަވާބު
{
"supported_methods": [
{
"method": "btc-lightning",
"display_name": "Bitcoin Lightning",
"supported_currencies": ["SATS", "USD", "BTC"],
"limits": {
"SATS": { "min": 10, "max": 1000000 },
"USD": { "min": 0.02, "max": 1170 },
"BTC": { "min": 1e-7, "max": 0.01 }
},
"tiers": ["standard", "pro"],
"default_tier": "pro",
"tier_min_sats": { "standard": 10, "pro": 100 },
"sats_per_credit": { "standard": 10, "pro": 100 },
"bulk_bonus": [
{ "bonus": 0.1, "standard_sats": 500, "pro_sats": 5000 },
{ "bonus": 0.15, "standard_sats": 1000, "pro_sats": 10000 },
{ "bonus": 0.2, "standard_sats": 5000, "pro_sats": 50000 }
]
}
]
}
cURL
curl https://nymbot.ai/api/v1/topup/payment-methods
Python
import requests
methods = requests.get("https://nymbot.ai/api/v1/topup/payment-methods").json()
print(methods["supported_methods"][0]["limits"])
JavaScript
const methods = await (await fetch("https://nymbot.ai/api/v1/topup/payment-methods")).json();
console.log(methods.supported_methods[0].limits);
Lightning މެދުވެރިކޮށް topped up ކުރުން
ލައިޓް닝 އިންވޮއިސްއެއް ތައްޔާރުކޮށް، އެ ކީއެއްގެp ނަމުގައިވާ އޮންޓް ކްރެޑިޓް އިތުރުކޮށްދޭނެއެވެ. އެއީ އެއްވެސް ލައިޓް닝 ވޯލެޓަކުން ފައިސާ ދައްކައި، ފަހުން ކާށު ކުރެވޭか ބަލާބަލަވާ ކްރެޑިޓް އިތުރުކުރުމަށްޓަކައި.
POST https://nymbot.ai/api/v1/topup/create/btc-lightning — އޭޕީއައި ކީއެއް (API key) ބޭނުންވެއެވެ.
| ކްޝެޓްރާ | ބާވަތް | އަސާސީ | ތަފްސީލު |
|---|---|---|---|
amount | ބީލުން | އާނ | ކިތެއް، ގައި currencyސެޓްސް އަށް ފުރިހަމަ ނަންބަރެއް. |
currency | ސްޓްރިންގު | ނޫން | SATS (ޑިފޯލްޓް), USD ނުވަތަ BTCޑޮލަރުތައް ބަދަލުކުރެނީ މިހާރުގެ ބިޓްކޮއިން އަގަށް ބިނ্যাসކޮށްފައެވެ. |
tier | ސްޓްރިންގު | ނޫން | pro (ޑިފޯލްޓް) ނުވަތަ standardކޮން ބެލެންސްއަކަށްތ로 ކްރެޑިޓް ފޮތްވަނީ. |
ސްޓޭންޑާޑް ކްރެޑިޓެއް އަކީ 10 ސެޓްސް، އަދި ޕްރޯ ކްރެޑިޓެއް އަކީ 100 ސެޓްސް، މީގެ އިތުރުން އެއްވެސް ބަލްކް ބޯނަސް އޮތްނަމަ އެއީ އެއެވެ;
credits މި އިންވޮއިސް އިންކްލޫޑް ކުރާނީ ކޮއީތޭކަން ބަޔާންކުރެއެވެ.
ޖަވާބު
{
"invoice_id": "b7d41e0c95a2f38e6c1d0e9a4b7f2c61d3e8a05f9b2c4d7e1a6f3b8c0d5e2a9f4",
"payment_request": "lnbc100u1p5...",
"amount_sats": 10000,
"credits": 115,
"tier": "pro",
"expires_at": "2026-09-30T09:27:00Z",
"status": "pending"
}
| ހާލަތު | މިހާރު ކޮންމެވަގުތުވެސް |
|---|---|
400 | މަގުގައިވާ އަނެއް މީތޮޑެއް (unsupported_method), ނޭނގޭ ފައިސާ އެއް (unsupported_currency) ނުވަތަ ޓިޔަރ، ނެތް އަދަދެއް، ނުވަތަ އެންމެ ކުޑަ އަދަދަށްވުރެ ކުޑަ އަދަދެއް (amount_too_small), 1,000,000 sats އަށްވުރެ މަތި (amount_too_large) ނުވަތަ ލައިޓްނިންގ ވޯލެޓުން ငြާސްކުރި (amount_out_of_range). |
429 | މި ނޭމް (nym) އަށް ގޮތުން 60 އަށްވުރެ ގިނަ އިންވޮއިސް، ނުވަތަ މި އެޑްރެސް އިން ގޮތުން އެއްގަޑިއެއްތެރޭގައި 120 އިންވޮއިސް (rate_limit_exceeded, އެކު Retry-After). |
502 | މިހާރު އިންވޮއިސް އެއްވެސް ނުނެރުއްވައިދެވޭނީ ނުވާ (invoice_unavailable, އެކު Retry-After). |
cURL
curl https://nymbot.ai/api/v1/topup/create/btc-lightning \
-H "Authorization: Bearer $NYMBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"amount": 10000, "currency": "SATS", "tier": "pro"}'
Python
import os
import requests
res = requests.post(
"https://nymbot.ai/api/v1/topup/create/btc-lightning",
headers={"Authorization": "Bearer " + os.environ["NYMBOT_API_KEY"]},
json={"amount": 10000, "currency": "SATS", "tier": "pro"},
)
invoice = res.json()
print(invoice["payment_request"])
JavaScript
const res = await fetch("https://nymbot.ai/api/v1/topup/create/btc-lightning", {
method: "POST",
headers: {
"Authorization": "Bearer " + process.env.NYMBOT_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({ amount: 10000, currency: "SATS", tier: "pro" }),
});
const invoice = await res.json();
console.log(invoice.payment_request);
ޓޮޕް-އަޕެއްޗެއް ޗެކްކުރުން
އިންވައިސް ވަނޑިފައިތޯ ސުވާލުކުރެއެވެ. ވަނޑިފަހު ކްރެޑިޓް އި로ނުކުރެއެވެ. ކްރެޑިޓް ކުރަނީ ކޮން އެއްޗަކުންތޯ ބަލައި see ކުރެއެވެ، އެހެންކަމުން ވަނޑިފަހު، ސްޓޭޓަސް ބަދަލުވާންދެން ބަލަހައްޓާށެވެ. creditedއަދިވެސް ކުލަވަޅަކަށް ޗެކްކުރުމަކީ ރައްކާތެރި ކަމެކެވެ: ކުލަވަޅު އެއްކޮށް އަޅާނީ، ތިބާ އެންމ 만큼 ފަހަރު އެދިއްも އެއްޗ}.
GET https://nymbot.ai/api/v1/topup/status/{invoice_id} — އިންވޮއިސް ތައްޔާރުކުރި nym އިން ކީއެއް ބޭނުންވެއެވެ.
status ތަޅުއެޅުން/ވެގެންދިއުން pending ( އަދި ފައިސާ ދައްކާފައެއް ނޫން) paid (ދައްކާފައޭ، ނަމަވެސް އަދި ވަސީލުނުވެފައޭ; އަލުން ފަހަކުން ފަހަކުން ޗެކް ކުރޭ), credited (ތިބާގެ ބެލެންçގައި) ނުވަތަ expired (ވަގުތުނުވަسައި) | ބާލަންސް ފީލްޑްތަކަކީ އިންވޮއިސް މග through top up ކުރާ ޓިއަރއަށް އެހެންނެވެ.
ޖަވާބު
{
"invoice_id": "b7d41e0c95a2f38e6c1d0e9a4b7f2c61d3e8a05f9b2c4d7e1a6f3b8c0d5e2a9f4",
"status": "credited",
"amount_sats": 10000,
"credits": 115,
"tier": "pro",
"expires_at": null,
"balance_credits": 523.33,
"balance_sats": 52333
}
| ހާލަތު | މިހާރު ކޮންމެވަގުތުވެސް |
|---|---|
400 | އައިޑީ އަކީ ކްރިއޭޓް ކޯލުން (create call) ފެންނަ 64 ކެރެކްޓަރ ވަން އައިޑީ ނޫން. |
404 | މި އައިޑީއަކަށް ތިޔަ ނަމަކަށް އެއްވެސް އިންވޮއައިސް އެއް ނުވަތަ ފޮއިސް އެއް ނުވަތ "invoice_not_found). |
cURL
curl https://nymbot.ai/api/v1/topup/status/$INVOICE_ID \
-H "Authorization: Bearer $NYMBOT_API_KEY"
Python
import os, time
import requests
headers = {"Authorization": "Bearer " + os.environ["NYMBOT_API_KEY"]}
url = "https://nymbot.ai/api/v1/topup/status/" + invoice["invoice_id"]
while True:
status = requests.get(url, headers=headers).json()["status"]
if status in ("credited", "expired"):
break
time.sleep(3)
print(status)
JavaScript
const headers = { "Authorization": "Bearer " + process.env.NYMBOT_API_KEY };
const url = "https://nymbot.ai/api/v1/topup/status/" + invoice.invoice_id;
let status;
do {
await new Promise((r) => setTimeout(r, 3000));
status = (await (await fetch(url, { headers })).json()).status;
} while (status !== "credited" && status !== "expired");
console.log(status);
ކުއަރީ ހިސްޓްރީ
ஒவ்வொரு கோரிக்கെയ്க்கும் එක් வரி: އެއީ ކޮން އެއްޗެއްか، ކޮން މޮޑެލްか، ހ 얼마나 ޓޯކަނ்கள் އަދި އެކަމަށް ހިނގާ ޚަރަދު. އެއްވެސް ପ୍ରޮމްޓްތަކެއް ނުވަތަ Jawābތަކެއް ބެލެހެއްޓުމެއް ނުކުރެވޭނެ، އެހެންކަމުން އެއްވެސް އެއްޗެއް އެނބުރި ނުލިބޭނެ. ލިޔެކިޔުންތައް 90 ދުވަހަކަށް ބެލެހެއްޓެވޭނެއެވެ، އެންމެ އަލި އެއްޗެހި ފުރަތަމަ ފެންނާނެ. މުއްދަތު ހަމަވެފައިވާ ކީއެއް (key) އަކަށް އަދިވެސް އޭގެ ތާރީޚު ކարդުމުގެ ފުރުސަތު އޮވެއެވެ.
GET https://nymbot.ai/api/v1/queries/history — އޭޕީއައި ކީއެއް (API key) ބޭނުންވެއެވެ، އެއީ އޭގެ އެކި ރިކުއެސްޓްތައް (requests) އޭނާ خود ފެންނަ ކަމެއް، ނުވަތަ ސޮއިކުރެll ރިކުއެސްޓް ކޮންމެ ކީއެއްވެސް ފަހުން ފެންނަ ކަލާގެ ނަމުން،
| ކްޝެޓްރާ | ބާވަތް | އަސާސީ | ތަފްސީލު |
|---|---|---|---|
page | އިންޓިޖަރ (ކުއަރީ) | ނޫން | ޑިފޯލޓަކީ 1، ގިނަވަ� އެންމެ 1,000; މީއަށްވުރެ ގިނަ ފެންނަނީ 400 invalid_value. |
page_count | އިންޓިޖަރ (ކުއަރީ) | ނޫން | ފަހު ފަހު ސަފުހާގައިވާ ރޯސްގެ އަދަދު. އާންމުކޮށް 20، ގިނަވެގެން 100. |
start_dateend_date | ސްޓްރިންގް (ކުއަރީ) | ނޫން | ISO 8601 ތާރީޚުތަކާއި ވަގުތުތައް. |
model | ސްޓްރިންގް (ކުއަރީ) | ނޫން | މި މޮޑެލް ނަމްބަރ އެކަނި. |
type | ސްޓްރިންގް (ކުއަރީ) | ނޫން | chat, responses, messages, image, video, speech, transcription ނުވަތަ embedding. |
all_keys | ބޫލިއަން (ކުއަރީ) | ނޫން | ތަޅުދަނޑެއްގެ চުއްޓަކާއެކު: true އެއް ނަމެއްގެ ހުރިހާ ކީއެއް ހިމަނާގަނެއެވެ. ޑިފޯލްޓް false. |
key_id | ސްޓްރިންގް (ކުއަރީ) | ނޫން | ސޮއިކުރެވިފައިވާ ވަރަދަކާއެކު، ނުވަތަ all_keys=trueމި ކީއޭ އެކަނި. |
ޖަވާބު
{
"data": [
{
"id": "q_71c4e9a0",
"timestamp": "2026-09-30T08:12:00Z",
"model": "anthropic/claude-sonnet-5",
"type": "chat",
"input_tokens": 1240,
"output_tokens": 380,
"cached_tokens": 0,
"cost_sats": 16.2,
"cost_usd": 0.01895,
"balance": "pro",
"key_id": "4f0c9a1be27d3856",
"web_search": false,
"status": "ok"
}
],
"pagination": { "page": 1, "page_count": 20, "total": 311, "total_pages": 16 }
}
cURL
curl "https://nymbot.ai/api/v1/queries/history?page_count=50&type=chat" \
-H "Authorization: Bearer $NYMBOT_API_KEY"
Python
import os
import requests
res = requests.get(
"https://nymbot.ai/api/v1/queries/history",
headers={"Authorization": "Bearer " + os.environ["NYMBOT_API_KEY"]},
params={"page_count": 50, "type": "chat"},
)
for row in res.json()["data"]:
print(row["timestamp"], row["model"], row["cost_sats"])
JavaScript
const res = await fetch("https://nymbot.ai/api/v1/queries/history?page_count=50&type=chat", {
headers: { "Authorization": "Bearer " + process.env.NYMBOT_API_KEY },
});
for (const row of (await res.json()).data) console.log(row.timestamp, row.model, row.cost_sats);
އެކައުންޓް ރިކުއެސްޓްތައް ސޮއިކުރުން
ކީސް އު로ވާލުން، ބަދަލުކުރުން އަދި റިވޯކްކުރުން، އެކައުންޓް ސަމަރީ އަދި އޮޓޯމެޓިކް ޓޮޕް-އަޕްތަކަށް API ކީއެއް ބޭނުން ނުވާނެއެވެ. އެކަން ކުރަންޖެހނީ ތިބާގެ nym އިންކު ވާ signatures ބޭނުންކޮށްގެނެވެ. އެހެންކަމުން، އާ ފޮ泄ވި ކީއަކީ އޭގެ ކެޕްގެ (cap) ނިމޭދެން ހިނގާނަމަވެސް، އެ ކީއަކަށް އަލި ކީއެއް އުފެއްދޭނެ ނުވަތަ އޭގެ ކެޕް އިތުރުކުރެވޭނެ ނަމެއް ނޫނެވެ.
މި އެޕް މީތައް ކޮންމެ އެއްޗެއް އޭގެ ތެރޭގައި ވަނީ ހިމެނޭ ގޮތަށް ތިބޭ ފަދަ ގޮތެއްގައި ކޮންމެ ކަމެއްވެސް ކޮންމެ މީހަކަށްވެސް ކޮށްދޭނެއެވެ: އޭޕީއައި ޝީޓް އިން މި އެންޑްޕޮއިންޓްތައް ބޭނުންކުރެއެވެ. ތިބާގެ އަމިއްލަ ކޯޑުން ކީސް މެނޭޖުކުރުމަށް މި ސެކްޝަން އެކަނި ބޭނުންވާނެއެވެ.
ސޮނިމޭޓަރަކީ kind 27235 (NIP-98) އިންވާލެންޓެއް، މިއީ base64-encoded ގޮތުގައި ފޮނުވާފައިވާ
Authorization ލަފުޒުހުރި ހެޑަރެއް Nostr އިސްމަތީގައި:
އެ ހަދިސާ
{
"kind": 27235,
"created_at": 1790726400,
"tags": [
["u", "https://nymbot.ai/api/v1/keys"],
["method", "POST"],
["nonce", "9c4e21f07a3b...16 random bytes in hex"],
["payload", "3f1a0d7c8e2b...sha256 of the exact request body in hex"]
],
"content": "",
"pubkey": "your public key in hex",
"id": "...",
"sig": "..."
}
uމިއީ ކުއަރީ Սޓްރިންގު ހިމަނައިގެން، އެދިލި ރިކުއެސްޓްގެ ފުލް URL، އެދެވުނު ގޮތަށް ފުރިހަމައ》。methodއީޗްޓީޕީ މެތައްޑްއެވެ.payloadމިއީ ރޯ ރެކުއެސްޓް ބޮޑީގެ SHA-256 އެވެ، ހެކްސަޑިމަލް ފޯމެޓުން. މިއީ ... އަށް ބޭނުންވަނީ.POSTއަދިPATCHއަދި ތިބާ ފޮނުވާ ބޮޑީއަކީ ބައިޓަކުން ބައިޓަކަށް ތިބާ ހޭޝްކުރި އެއްޗެވެ.created_atސާވަރެއްގެ ކްލޮކް އިންތީ 60 ސިކުންތުގެ ތެރޭގައި ހުންނަންވާނެއެވެ.- ހުރިހާ އިވެންޓަކީ އެއްކާ𝗿ޭ ޒާތެއް، އު
GETމެދުގައި ހިމަނާފައެއް، އެހެންކަމުން ކެޕްޗަރ ކުރެވޭ 헤ޑަރު (header) އަލުން ބޭނުންކުރަން (replay) ނުއްދެވޭނެ. ކޮންމެ ރިކުއެސްޓަކަށެކޭ އާ އެކަކެއް ސޮއިކުރޭށެވެ. އިތުރު ކުރޭnonceރޭންޑަމް ވަލިއެއްގެ އެކުގައި ޓެގް ކުރޭ އެހެންކަމުން އެއް ސިކަންތަކެއްގެ ތެރޭގައި ސައިން ކުރެވިފައިވާ ދެ ރެކުއެސްޓްވެސް ތަފާތުވާނެ. - ސޮއިކުރެވިފައިވާ ރިކުয়েސްޓެއްގެ ބޮޑީ ބޮޑުވެގެން 64 KB އެވެ، އަދި ބޮޑީއަކަށް ބޭނުމީ
Content-Type: application/json.
ނުލިބޭނެ ހާދިސާއެއް އަނބުރާ ይመައެއްޓެންވެއެވެ 401 missing_nostr_auth; އެއްވެސް ގޮތެއްގައި ރަނގަޅު ނުވާ، ރަނގަޅުކޮށް ސޮއިކުރެއްވި ނުވާ، މާ ގާއްލުވެފައިވާ، ނުވަތަ ވަކި އެހެން URL، މެތަޑް ނުވަތަ ބޮޑީއަކަށް ރައްކާތެރިކަމެއް ދޭ އެއްޗެއް ރީޓަންކުރެއެވެ
invalid_nostr_auth, މެސެޖުގައިވާ ސަބަބާއެކު; އަލުން ބޭނުންކުރެވިފައިވާ އެއްޗެއް އަލުން ይመައޭ
nostr_auth_replayedމި އެންޑްޕޮއިންޓްތަކަށް ފޮނުވާ API ކީއެއް އުއްދާފޫލުކުރެއެވެ. ބޮޑީ ކިޔާލުމުގެ ކުރިން ސިގްނެޗަރ ވަކިކުރެއެވެ، އަދި ކޮ Each އެޑްރެސްއަކަށް ވަގتަކު 30 ފަހަރު ފެއިލްވެދާނެއެވެ (IPv6 އެޑްރެސްއަކީ އޭގެ މުޅި /64 އެޑްރެސްގެ ގޮތުގައި ޝާމިލުވާނީއެވެ); އޭގެ ފަހު އޭނާގެ... 429 އެކު
Retry-After.
ބրաউޒަރުތަކަށް މި އެންޑްޕޮއިންޓްތަކަށް ގޮވާލެ่ވޭނީ Nymbot އަތުލުނު ސައިޓްތަކުންނެކެވެ (https://nymbot.ai,
https://nymchat.app އޭގެ ސަބްޑޯމަންތަކުންވެސް). އެހެން ސައިޓެއްގައިވާ އެއްވެސް ފެންނަ ފޭޖަކަށް CORS ހެޑަރުތައް ނުލިބޭނެ، އެހެންކަމުން އެއިން އެބޭނުންވާ މައުލޫމާތު ކարդައިލާނެ# އެއްވެސް ހެޑަރެއް ނުފޮނުވާ,] ஸ்க்ރިޕްޓްތަކާއި ނެޓިވް އެޕްތައް،
Origin, އަސަރު ނުވަނީ އެކަމެވެ.
ސޮއިކުރުމަށް ކަމާބެހޭ ނައިމްގެ ސިކްރެޓް ކީ (the nsec), އަޅުގަނޑުމެންގެ ހުރިހާ ކަމެއް ކޮންޓްރޯލް ކުރާ އެއްޗަކީ: ތިބާގެ އައިޑެންޓިޓީ، ތިބާގެ ތާރީޚު އަދި ތިބާގެ ބެލެންސް އެވެ. މި އެއްޗަކީ ތިބާގެp އިތުބާރު ކުރެވޭ މެޝިނެއްގައިވާ ސްކްރިޕްޓަކުންނެވީ، އެކަން ސިފަކޮށްލައިގެން ބޭނުންކުރަންވާނެއެވެ. އެއީ ފައިލެއްގައި ލިޔެ އެއްޗެއް ނޫނެވެ، އެކަމަކީ އެންވައިރަނަމަންޓުން ކިޔައިގަންނާ އެއްޗެކެވެ. އަދި ކުރެވޭނެހިނަމަ އެޕް ބޭނުންކުރުމަށް އިސްކަން ދިނުން މާ މާދަމާ އެކަމަކީ އެކަމެވެ.
މި އެހީތެރިވޭ ފަންކشنތަކުން ހެޑަރ ބިލްޑްކުރެއެވެ. މި ސަފުހާގައިވާ ފަހުސުންވާ މިސާލުތަކުގައި އެ它们 ބޭނުންކުރެވެއެވެ. އެ它们 ހެކްސް ފޯމެޓުންވާ ސެކްރެޓް ކީ อ่านކުރަނީ NOSTR_SECRET_HEX; cURL ބޭނުންކުރާ އެއްވަގުތު ބޭނުންކުރަނީ
ބޭނުން ކޮމަންޑް-ލައިން ޓޫލެއް، އޭގައި nsec ނުވަތަ hex
ކީއެއް ހިފާފައި، އަދި sha256sum (macOS އަށް، shasum -a 256).
cURL
nostr_auth() {
method="$1"; url="$2"; body="$3"
nonce=$(openssl rand -hex 16)
if [ -n "$body" ]; then
hash=$(printf '%s' "$body" | sha256sum | cut -d' ' -f1)
event=$(nak event --sec "$NOSTR_SECRET_HEX" -k 27235 -t "u=$url" -t "method=$method" -t "nonce=$nonce" -t "payload=$hash")
else
event=$(nak event --sec "$NOSTR_SECRET_HEX" -k 27235 -t "u=$url" -t "method=$method" -t "nonce=$nonce")
fi
printf 'Nostr %s' "$(printf '%s' "$event" | base64 | tr -d '\n')"
}
Python
# pip install coincurve requests
import base64, hashlib, json, os, time
from coincurve import PrivateKey, PublicKeyXOnly
SECRET = bytes.fromhex(os.environ["NOSTR_SECRET_HEX"])
def nostr_auth(method, url, body=b""):
pubkey = PublicKeyXOnly.from_secret(SECRET).format().hex()
tags = [["u", url], ["method", method], ["nonce", os.urandom(16).hex()]]
if body:
tags.append(["payload", hashlib.sha256(body).hexdigest()])
created_at = int(time.time())
serialized = json.dumps([0, pubkey, created_at, 27235, tags, ""], separators=(",", ":"), ensure_ascii=False)
event_id = hashlib.sha256(serialized.encode()).digest()
event = {
"id": event_id.hex(),
"pubkey": pubkey,
"created_at": created_at,
"kind": 27235,
"tags": tags,
"content": "",
"sig": PrivateKey(SECRET).sign_schnorr(event_id).hex(),
}
return "Nostr " + base64.b64encode(json.dumps(event).encode()).decode()
JavaScript
// npm install nostr-tools
import { createHash, randomBytes } from "node:crypto";
import { finalizeEvent } from "nostr-tools/pure";
const secret = Buffer.from(process.env.NOSTR_SECRET_HEX, "hex");
export function nostrAuth(method, url, body = "") {
const tags = [["u", url], ["method", method], ["nonce", randomBytes(16).toString("hex")]];
if (body) tags.push(["payload", createHash("sha256").update(body).digest("hex")]);
const event = finalizeEvent(
{ kind: 27235, created_at: Math.floor(Date.now() / 1000), tags, content: "" },
secret,
);
return "Nostr " + Buffer.from(JSON.stringify(event)).toString("base64");
}
ހިސާބުގެ ޚުލާސާ
އެޕްގެ API ޝީޓްގެ އެންމެ މަތީގައި ފެންނަނީ: ތިބާގެ ފަބްލިކް ކީ، ދެ ބެލެންސް، އެކްޓިވްކޮށް ހުރި ކީގެ އަދަދު (ރިވޯކު ނުވަތަ އެކްސްޕައިރްނުވެފައިވާ) އަދި އޮޓޮމެޓިކް ޓޮޕް-އަޕް ސެޓިންގްސް، ނުވަތަ
null ސާރވަރުން އެކަން އެއްވެ ނުދޭނެ ވަގުތު.
GET https://nymbot.ai/api/v1/account — ބޭނުންވަނީ ސޮއިކުރެll ރިކުއެސްޓް.
ޖަވާބު
{
"data": {
"pubkey": "3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d",
"balances": {
"standard": { "credits": 120.4, "sats": 1204 },
"pro": { "credits": 408.33, "sats": 40833 }
},
"keys_active": 3,
"nwc_auto_topup": {
"connected": true, "threshold_sats": 5000, "topup_sats": 20000, "tier": "pro",
"last_topup_at": null, "last_topup_sats": null, "last_error": null
}
}
}
cURL
URL=https://nymbot.ai/api/v1/account
curl "$URL" -H "Authorization: $(nostr_auth GET "$URL")"
Python
import requests
url = "https://nymbot.ai/api/v1/account"
print(requests.get(url, headers={"Authorization": nostr_auth("GET", url)}).json())
JavaScript
const url = "https://nymbot.ai/api/v1/account";
const res = await fetch(url, { headers: { "Authorization": nostrAuth("GET", url) } });
console.log(await res.json());
ކީސް ބެލެހެއްޓުން
އެޕްގެ ކީ ލިސްޓްގެ ފަހުގަ ހުންނަ އެންޑްޕޮއިންޓްތައް. އެ ހުރިހާ ކަމަކަށް ފުރިހަމަކުރުން ބޭނުންވެއެވެ ސޮއިކުރެll ފޮނުވާ އެދިލުން. ކޮންމެ ކީއެއް މި ފޯމުގައި އެނބުރި ފޮނުވާނީ، ވަގުތުތައް ISO 8601 އިން އަދި އަދަދުތައް sats އިންނެވެ:
Key object
{
"id": "4f0c9a1be27d3856",
"name": "laptop scripts",
"hint": "sk-nymbot-Qm7x…c2Lw",
"limit_sats": 20000,
"reset_period": "monthly",
"reset_at": "2026-10-01T00:00:00Z",
"expire_at": null,
"period_used_sats": 3412,
"total_used_sats": 18230,
"created_at": "2026-08-14T09:21:07Z",
"updated_at": "2026-09-02T17:40:55Z",
"last_used_at": "2026-09-30T08:12:00Z",
"revoked_at": null
}
hint ކީއެއް ވަކިކުރަން އެކުވާނަމަވެސް، އެކަން އެކީ ބޭނުންކުރަން ބޭނުންނެއް ނެތް. ކީއެއް އެކަމަކީ އެކަން އުފެއްދިވަމުންދާ ފުރަތަމަ ފަހty އެކަނި އެނގޭނެ އެއްޗެކެވެ.
ކީސްތައް ލިސްޓްކުރުން
GET https://nymbot.ai/api/v1/keys — ސޮއިކުރެވިފައި.
| ކްޝެޓްރާ | ބާވަތް | އަސާސީ | ތަފްސީލު |
|---|---|---|---|
include_revoked | ބޫލިއަން (ކުއަރީ) | ނޫން | ފުގެ ބާތުލުކޮށްލެވިފައިވާ ކީސް ހިމަނވާނެކަން. ডিފޯލްޓް false. |
ޖަވާބު
{ "data": [ { "id": "4f0c9a1be27d3856", "name": "laptop scripts", "hint": "sk-nymbot-Qm7x…c2Lw", "...": "..." } ] }
cURL
URL=https://nymbot.ai/api/v1/keys
curl "$URL" -H "Authorization: $(nostr_auth GET "$URL")"
Python
import requests
url = "https://nymbot.ai/api/v1/keys"
for key in requests.get(url, headers={"Authorization": nostr_auth("GET", url)}).json()["data"]:
print(key["id"], key["name"], key["period_used_sats"], key["limit_sats"])
JavaScript
const url = "https://nymbot.ai/api/v1/keys";
const { data } = await (await fetch(url, { headers: { "Authorization": nostrAuth("GET", url) } })).json();
for (const key of data) console.log(key.id, key.name, key.period_used_sats, key.limit_sats);
ޗަބީހެއް ތައްޔާރުކުރުން
POST https://nymbot.ai/api/v1/keys — ސޮއިކުރެވިފައި. އަނބުރާ ފޮނުވާނީ 201.
| ކްޝެޓްރާ | ބާވަތް | އަސާސީ | ތަފްސީލު |
|---|---|---|---|
name | ސްޓްރިންގު | އާނ | 1 އިން 40 ކ্যަރެކްޓަރާ ހަމައަށް، ތިބާގެ އެހެނިހެން އެކްޓިވް ކީސްތަކާ ތ로 މުއްސަފާކޮށް (ކޭސް ބަލައިނުގަނެ). |
limit_sats | އިންޓިޖަރ | ނޫން | ސެޓްސްގެ ކުދިކުރަންވީ ހުރިހާ މިންވަރު، އެންމެދެކުmniej 1. މಿತಿ ނެތްކަން ބޭނުމިނަމަ އެކަން ފယ်ކާލާށެވެ. |
reset_period | ސްޓްރިންގު | ނޫން | daily, weekly ނުވަތަ monthlyތަފާތު ކަންތައްތަކުގެ ބޭނުންތައް limit_satsކިއްޔެއް ނުފުރާ ކެޕެއްގެ ތެރޭގައި އެއްވެސް ތާ deފަ އަކާ ނެތty އެއްގޮތަށް ބޭ Leaving it out for a cap that never resets. |
expire_at | ސްޓްރިންގު ނުވަތަ އިންޓިޖަރ | ނޫން | ކީއި ދުއްވާ ވަގުތު: ISO 8601 ވަގުތެއް، ނުވަތަ 1970 އިން ފެށިގެން ދުއްވާ މިލީސިކަންތަރުގެ އަދަދެއް. |
ޖަވާބު (201)
{
"data": {
"id": "4f0c9a1be27d3856",
"name": "laptop scripts",
"hint": "sk-nymbot-Qm7x…c2Lw",
"limit_sats": 20000,
"reset_period": "monthly",
"key": "sk-nymbot-Qm7x...c2Lw",
"...": "the rest of the key object"
}
}
| ހާލަތު | މިހާރު ކޮންމެވަގުތުވެސް |
|---|---|
400 | ނަން ނެތް ނުވަތަ ވަރަށް ދިގު ނަމެއް؛ މިހާރުވެސް ބޭނުންކުރަމުންދާ ނަމެއް (duplicate_name); ቢያንስ 1 އިން ފެށޭ، މުޅި ނަންބަރެއް ނޫން ކެޕެއް; ކެޕެއް ނެތް ރިސެޓް ޕީރިއޑެއް; މާޒީގައި ހަމަޖެހިފައިވާ އެކްސްޕައިރީއެއް; ނޭނގޭ ފީލްޑެއް (unknown_parameter); ނުވަތަ 25 އާކްޓިވް ކީސް މިހާރުވެސް (`too_many_keys). |
429 | މި ނޭމަކީ (nym) އިން ތައްޔާރުކުރެވިފައިވާ ކީސް 60 އަށްވުރެ ގިނަ، ނުވަތަ މި އެޑްރެހ్އިން ގަޑިއަކީ އެއްގޮތަށް 120 ކީސް (rate_limit_exceeded, އެކު Retry-After). |
cURL
URL=https://nymbot.ai/api/v1/keys
BODY='{"name":"laptop scripts","limit_sats":20000,"reset_period":"monthly"}'
curl "$URL" \
-H "Authorization: $(nostr_auth POST "$URL" "$BODY")" \
-H "Content-Type: application/json" \
-d "$BODY"
Python
import json
import requests
url = "https://nymbot.ai/api/v1/keys"
body = json.dumps({"name": "laptop scripts", "limit_sats": 20000, "reset_period": "monthly"}).encode()
res = requests.post(
url,
data=body,
headers={"Authorization": nostr_auth("POST", url, body), "Content-Type": "application/json"},
)
print(res.json()["data"]["key"])
JavaScript
const url = "https://nymbot.ai/api/v1/keys";
const body = JSON.stringify({ name: "laptop scripts", limit_sats: 20000, reset_period: "monthly" });
const res = await fetch(url, {
method: "POST",
headers: { "Authorization": nostrAuth("POST", url, body), "Content-Type": "application/json" },
body,
});
console.log((await res.json()).data.key);
އެއް ކީއެއް ކިޔައިގަތުން
GET https://nymbot.ai/api/v1/keys/{id} — ސޮއިކުރެވިފައި.
↩ުލުން {"data": {…}} ކީއެއްގެ އޮބްޖެކްޓާ އެކު، ނުވަތަ 404
key_not_found ތިބާގެ އެއްވެސް ކީއެއްގައި އެފަދަ އައިޑީއެއް ނުވާނަމަ.
cURL
URL=https://nymbot.ai/api/v1/keys/4f0c9a1be27d3856
curl "$URL" -H "Authorization: $(nostr_auth GET "$URL")"
Python
import requests
url = "https://nymbot.ai/api/v1/keys/4f0c9a1be27d3856"
print(requests.get(url, headers={"Authorization": nostr_auth("GET", url)}).json()["data"])
JavaScript
const url = "https://nymbot.ai/api/v1/keys/4f0c9a1be27d3856";
console.log((await (await fetch(url, { headers: { "Authorization": nostrAuth("GET", url) } })).json()).data);
ކީއެއް ބަދަލުކުރުން
PATCH https://nymbot.ai/api/v1/keys/{id} — ސޮއިކުރެވިފައި.
ތިރީގައިވާ އެއްޗެއް ފޮނުވާލަވާނުވާ name, limit_sats, reset_period އަދި
expire_atކީއެއް ތައްޔާރުކުރާ 때 ފަދަ ގަވާއިދުތަކާއެކު، null ކަps، ރިސެޓެއް، އެކްސްޕައިރީއެއް ނެތty. ރިސެޓް ކުރާ މުއްދަތު ބަދަލުކުރުމުން އާ މުއްދަތެއް ޒީރޯ އިން ފެށޭނެއެވެ. އޮފްވާ ކީއެއް ބަދަލުކުރެވިދާނެ નથી (400 key_revoked). ދައްކައިދެއެވެ
{"data": {…}} އާޕްޑޭޓް ކުރެވިފައިވާ ކީ އޮބްޖެކްޓާއެކު.
cURL
URL=https://nymbot.ai/api/v1/keys/4f0c9a1be27d3856
BODY='{"limit_sats":50000,"expire_at":null}'
curl -X PATCH "$URL" \
-H "Authorization: $(nostr_auth PATCH "$URL" "$BODY")" \
-H "Content-Type: application/json" \
-d "$BODY"
Python
import json
import requests
url = "https://nymbot.ai/api/v1/keys/4f0c9a1be27d3856"
body = json.dumps({"limit_sats": 50000, "expire_at": None}).encode()
res = requests.patch(
url,
data=body,
headers={"Authorization": nostr_auth("PATCH", url, body), "Content-Type": "application/json"},
)
print(res.json()["data"])
JavaScript
const url = "https://nymbot.ai/api/v1/keys/4f0c9a1be27d3856";
const body = JSON.stringify({ limit_sats: 50000, expire_at: null });
const res = await fetch(url, {
method: "PATCH",
headers: { "Authorization": nostrAuth("PATCH", url, body), "Content-Type": "application/json" },
body,
});
console.log((await res.json()).data);
ކީއެއް ވަކިކުރުން
DELETE https://nymbot.ai/api/v1/keys/{id} — ސޮއިކުރެވިފައި.
ތަޅުލީ ކީ (key) ވަዲያውኑ، އެއްވެސް ދެން ނުވަތަ ދާއިމީކޮށް ހުއްޓުވައިލުން. އެއީ އޭގެ ބާކީވާ ތަޅުލީގެ ތList އަކުން ނުފެންނަ ގޮތުގައިstay much... revoked_at ހަމަޖެހިފައިވާ، އަދި ... އާއެކު ފެންނަން އެކުވަތް include_revoked=trueލިބިފައިވާ ކީއެއް އަލުން ރިቮކް ކުރުމުން އެކަހެން ނަތީޖާއެއް ނުލިބެއެވެ. ރިቮކް ކުރެވިފައިވާ އެންމެ އަލި ދުވަސްތަކުގެ ކީ 50 އެކަނި ބެހައްޓެވެ؛ އާ ކީއެއް ރިቮކް ކޮށްލުމުން ކުރީގެ ކީތަކެއް ފޮޅައިލެއެވެ.
ޖަވާބު
{ "data": { "id": "4f0c9a1be27d3856", "revoked": true } }
cURL
URL=https://nymbot.ai/api/v1/keys/4f0c9a1be27d3856
curl -X DELETE "$URL" -H "Authorization: $(nostr_auth DELETE "$URL")"
Python
import requests
url = "https://nymbot.ai/api/v1/keys/4f0c9a1be27d3856"
print(requests.delete(url, headers={"Authorization": nostr_auth("DELETE", url)}).json())
JavaScript
const url = "https://nymbot.ai/api/v1/keys/4f0c9a1be27d3856";
const res = await fetch(url, { method: "DELETE", headers: { "Authorization": nostrAuth("DELETE", url) } });
console.log(await res.json());
NWC އޯޓޯ-ޓޮޕް-އަޕް
Nostr Wallet Connect އާ ގުޅާލާލާ Lightning ވޮލެޓެއް ބޭނުންކޮށް، API ބޭނުންކުރުމުން ބެލެންސް މަދުވެއްbed އެވަқыत Nymbot އިން އަމިއްލައަށް ބެލެންސް އިތުރުކޮށްދެއެވެ. އެޕްގެ API ޝީޓުގައި އެކަދަ ސެޓިންގްސް ހުރިތީ އެތީގައިވާ އެންޑްޕޮއިންޓްތަކެވެ. އެންމެހާ އެއްޗެއްަކީ... ސޮއިކުރެll ރިކުއެސްޓް.
މިއީ ކިހިނެއް މަސައްކަތްތަން ކުރާތies: API ރިކުއެސްޓެއް ތިބޭ ފަންޑުއަރާތަކުން ކަނޑައަ로ލާ ގޮތުގެ މަތިން ކޮށްލުމަށްފަހު، އެ ފަންޑުއަރާ ތިބޭ މިންވަރަށްވުރެ މަދުވެއްޖެނަމަ، Nymbot އިން ތިބާ ކުރަންޖެހޭ ޓޮޕް-އަޕް އަދަދަށް އިންވޮއީސް އެއް ތައްޔާރުކޮށް، އެއަށް ފައިސާ ދެއްކުމަށް ތިބާގެ ވޮލެޓަށް އެދި، އެ ކްރެޑިޓް އިތުރުކޮށްދެއެވެ. ކޮ Each nym އަދި balance އަކަށް 5 މިނެޓުންފަހު އެންމެހާ އެއް ފަހter ވެހީ ޓޮޕް-އަޕް ކުރެވޭނެއެވެ. އެހެންކަމުން ރިކުއެސްޓްތަކެއް ވަރަށް އަވަހަށް އަންނުމުން ވޮލެޓުން ފައިސާ ހިނގާލޭނެ ގޮތެއް ނެތެވެ. އެޕްތަކުގައި ޚަރčުކުރުމުން މިކަން ހިނގާނެ ނޫން. އެންމެ ފަހު ޓޮޕް-އަޕް ކުރި ވަގުތު އަދި އަދަދު، އަދި އެންމެ ފަހު ވެއްދާފައިވާ ކަންތައްތަކެއް ސެޓިންގްސްގައި ހުރިއެވެ; މައްސަލައެއް ދިމާވެފައިވުމަށްފަހު ފައިސާ ދެއްކުމުގެ މައްސަލައެއް ހިނގާފަހު، އޭގެ އިންވޮއީސް ބަލައިލުމަށް... ޓޮޕް-އަޕްގެ ހާލަތު އެކަން މަތިލާ ދޭއެވެ.
ކޮންނެކްޝަން Strinɡ<br>އެއް ބޭނުންކުރެވޭ ފަރާތަކަށް އެއީ ކޮންނެކްޝަން Strinɡ<br>އެންމެންނަށް ތިބާގެ ވޯލެޓުން ފައިސާ ދައްކަން އެދޭނެ ގޮތެއް ކަމަށްވެއެވެ. Nymbot<br>މިއީ އެކަން އެންކްރިޕްޓްކޮށް ރައްކާތެރިކޮށް ބެހައްޓާލާ ކަމެކެވެ. އަދި މިއީ އޭގެ އަމިއްލަ Top-up Invoices<br>ދައްކާލުމަށް ފަހުން އެކަން ބޭނުންކުރާނެއެވެ. ނަމަވެސް، މިއީ މި ކަމަށްޓަކައި އެކަނި ހދާ ކޮންނެކްޝަން<br>އެކެވެ. ތިބާގެ ވޯލެޓުން ހިނގާނެ މިންވަރެއް ކަނޑައަޅާލުމުން، އެއަށް އެންމެ ބޮޑަށް ދައްކާލެވޭނެ އަދަދަކީ ތިބާ ކަނޑައަޅާފައިވާ އަދަދެވެ. ވޯލެޓުން މި ފަންކްޝަން<br>ތަގުގީލު ކުރަންޖެހެއެވެ pay_invoice.
ވޯލެޓެއް ކަނެކްޓްކުރުން
POST https://nymbot.ai/api/v1/nwc-auto-topup/connect — ސޮއިކުރެވިފައި.
| ކްޝެޓްރާ | ބާވަތް | އަސާސީ | ތަފްސީލު |
|---|---|---|---|
nwc_url | ސްޓްރިންގު | އާނ | ކަނެކްޝަން Strinɡ، ފެށުން nostr+walletconnect://. Nymbot ވަލެޓަށް އެދިވަނީ get_info ދެން ސޭވް ކުރަން ކުރިން، އެކަން އެންކްރިޕްޓްކޮށް ރައްކާތެރިކޮށް ރައްކާތެރިކޮށް ހުދާގޯތު ކުރެއެވެ. |
threshold_sats | އިންޓިޖަރ | އާނ | ބެލެންސް މިހާ ގިނަ ސެޓްސްއަށްވުރެ ކެނޑިއްޖެނަމަ ފުރިހަމަކުރޭ. ވެންމެ ކުޑަ 1,000 އިން. |
topup_sats | އިންޓިޖަރ | އާނ | އިންސާފުކުރަންޖެހޭ އަދަދު. 1,000 އިން 1,000,000 ސެޓްތަކަށް. |
tier | ސްޓްރިންގު | ނޫން | pro (ޑިފޯލްޓް) ނުވަތަ standardބަލަންވީ އަދި ޓޮޕް-އަޕް ކުރަންވީ ބެލன்ஸ். |
ޖަވާބު
{
"data": {
"connected": true,
"threshold_sats": 5000,
"topup_sats": 20000,
"tier": "pro",
"last_topup_at": null,
"last_topup_sats": null,
"last_error": null
}
}
| ހާލަތު | މިހާރު ކޮންމެވަގުތުވެސް |
|---|---|
400 | ކޮންނެކްޝަން ސްޓްރިންގެއް ނޫން (invalid_nwc_url); ވޮލެޓް އޭގެ ރிலேއެއްގެ މެދުވެރިކޮށް އެއްވެސް Jawābެއް ދެއްފުނު (nwc_unreachable) ނުވަތަ ޗެކް ބަލައިގަނެବା އުކޫފުކުރިއިރު (nwc_rejected); ކޮންކްޝަން އަށް އިންވޮއިސްތައް ފުރިހަމަކުރުމުގެ ގާބިލުކަމެއް ނެތް (nwc_missing_permission); ނުވަތަ މަގުދަނޑިތަކުން ބޭރުވާ އަދަދެއް. |
501 | މި ސަރ্ভަރަށް އޮޓޯމެޓިކް ޓޮޕް-އަޕްސް ހެދިފައެއް ނުވެއެވެ (nwc_unavailable). އަދި މިއީ އަދި ދެ އެންޑްޕޮއިންޓްތަކަށްވެސް އެއްގޮތަށް އަމަލުކުރަންވާނެ ކަމެކެވެ. |
cURL
URL=https://nymbot.ai/api/v1/nwc-auto-topup/connect
BODY='{"nwc_url":"nostr+walletconnect://...","threshold_sats":5000,"topup_sats":20000,"tier":"pro"}'
curl "$URL" \
-H "Authorization: $(nostr_auth POST "$URL" "$BODY")" \
-H "Content-Type: application/json" \
-d "$BODY"
Python
import json, os
import requests
url = "https://nymbot.ai/api/v1/nwc-auto-topup/connect"
body = json.dumps({
"nwc_url": os.environ["NWC_URL"],
"threshold_sats": 5000,
"topup_sats": 20000,
"tier": "pro",
}).encode()
res = requests.post(
url,
data=body,
headers={"Authorization": nostr_auth("POST", url, body), "Content-Type": "application/json"},
)
print(res.json())
JavaScript
const url = "https://nymbot.ai/api/v1/nwc-auto-topup/connect";
const body = JSON.stringify({
nwc_url: process.env.NWC_URL,
threshold_sats: 5000,
topup_sats: 20000,
tier: "pro",
});
const res = await fetch(url, {
method: "POST",
headers: { "Authorization": nostrAuth("POST", url, body), "Content-Type": "application/json" },
body,
});
console.log(await res.json());
ސެޓިންގްސް ކարդަނީ
GET https://nymbot.ai/api/v1/nwc-auto-topup — ސޮއިކުރެވިފައި.
ކަނެކްޓްކުރާ އެއް Ogjbekt- އެއް ނުވަތަ އެއްގޮތެއްގައި ރިޓަންކުރެއެވެ، އޭގެ ބޭނުންތަކާއެކު connected: false އަދި އަދި ސހީ ފީލްޑްތައް
null ވޯލެޓެއް ކޮންެކްޓްކޮށްފައި ނުވާނީ ހިނދު། ކޮންެކްޝަން ಸ್ಟްރިންގު އަމިއްލައޭ އަނބުރާ ނުލިބެއެވެ.
cURL
URL=https://nymbot.ai/api/v1/nwc-auto-topup
curl "$URL" -H "Authorization: $(nostr_auth GET "$URL")"
Python
import requests
url = "https://nymbot.ai/api/v1/nwc-auto-topup"
print(requests.get(url, headers={"Authorization": nostr_auth("GET", url)}).json())
JavaScript
const url = "https://nymbot.ai/api/v1/nwc-auto-topup";
console.log(await (await fetch(url, { headers: { "Authorization": nostrAuth("GET", url) } })).json());
ކަނެކްޓް ވަނީ ނުވަތަ ވަކިވަނީ
DELETE https://nymbot.ai/api/v1/nwc-auto-topup/connection — ސޮއިކުރެވިފައި.
ސޭވްކޮށްފައިވާ ކޮންނެކްޝަން ސްޓްރިންގް ފျက်ުވައިލުން. މީގެ ފަހު އިތުރު ފައިސާ އެޅުން (top-ups) ކުރިއަށް ނުވާނެ. މީގެ އިތުރުން،pކަށަވަރުކުރުމަށްޓަކައި، ތިބާގެ ވޮލެޓުން ކޮންނެކްޝަން ރިቮކް ކުރެވިދާނެއެވެ.
ޖަވާބު
{ "data": { "connected": false, "threshold_sats": null, "topup_sats": null, "tier": null, "last_topup_at": null, "last_topup_sats": null, "last_error": null } }
cURL
URL=https://nymbot.ai/api/v1/nwc-auto-topup/connection
curl -X DELETE "$URL" -H "Authorization: $(nostr_auth DELETE "$URL")"
Python
import requests
url = "https://nymbot.ai/api/v1/nwc-auto-topup/connection"
print(requests.delete(url, headers={"Authorization": nostr_auth("DELETE", url)}).json())
JavaScript
const url = "https://nymbot.ai/api/v1/nwc-auto-topup/connection";
const res = await fetch(url, { method: "DELETE", headers: { "Authorization": nostrAuth("DELETE", url) } });
console.log(await res.json());
ކީއެއް ނެތި އެކި ވަގުތު އެދިއްޔާ ދައްކަން ދޭ އިލްތިމާސް އުސޫލު
ލައިޓްނިންގ މެދުވެރިކޮށް، ކީއެއް ނުވަތަ އެކައުންޓެއް ނުވަތަ ބެލެންސެއް ނެތި، ފިކްސްޑް-ޕްރައިސް އެންޑްޕޮއިންޓްތަކަށް އެކި އެކި ވަގުތުތަކުގައި ކޮންމެ ރިކުއެސްޓަކަށް ވަކިން ފައިސާ ދައްކައިދެވިދާނެއެވެ: POST /images/generations, POST /images/edits,
POST /videos, POST /audio/speech, POST /audio/transcriptions,
POST /audio/translations އަދި POST /embeddings. ޗެޓް، ރެސްޕޮންސES އަދި
މެސެޖেসތަކަށް އަބަދުވެސް ކީއެއް ބޭނުންވެއެވެ. ކީއެއް ހިމެނޭ ރެކުއެސްޓަކީ އާދައިގެ ގޮތުގައި ބެލެންސްއިން ކަނޑައަޅާ ރެކުއެސްޓެކެވެ;
ޕޭމަންޓް ފްލޯ އެބުރتނީ ކީއެއް ނުފޮނުވާނަމަ އެވެ.
Nymbot އަކީ އެއް ބެކްއެންޑެއްގައި އިންސާފުކޮށްގެން, އެއް ފިކުރެއްގެ ދެ ވަ𝙧ޝަންތައް ދައްކައިދޭ އެއްޗެކެވެ: Lightning Labs'
L402 (ކުރިން އޮތް ނަމުންވެސް ಅಂಗీކାରされており، LSAT) އަދި IETF ޑްރާފްޓް
ދައްކައިދިނުން HTTP އޮތަންޓިކޭޝަން ޝީމް އޭގެ އެކު lightning މިންގަނޑާއި އަދި
charge ނިޔަތު. ކަބުލްވާ ފަރާތްތެރިންތެރެއިން އެންމެ ފަސޭހައިންނެކޭ އެއްޗެއް ބޭނުންކުރ|$.
ކީއެއް ނެތި އެ Payކުރުމަކީ ހަމައެކަނި އޮންނަނީ ކޮން ހާލަތެއްގައか API_L402_SECRET ހެކްސް (64 ކެރެކްޓަރ) ނުވަތަ ބޭސް64 (44) އިން،
އިތުރަށްވާން 32 ރޭންޑަމް ބައިޓްސް ހިމެނުން ބައްދަލުކުރެވޭނެއެވެ. އުފެއްދެދީފަ އުފެއްދުމަކީ openssl rand -hex 32ކުރު ނުވަތަ ಊހާލެވޭ އަގަކީ މި ފީޗަރު އOffކޮ로ލައިޓްކޮ로ލައިޓްކޮ로ލައިޓްކޮ로ލައިޓްކޮ로ލައިޓްކޮ로ލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކޮރޮލައިޓްކ API_L402_SECRET_PREVIOUS ދުވަހަކަށް: ކްރެޑެންޝަލްސް، ސްޓޭޓަސް URLތަކާއި
ދަށުން ކުރެވޭ ޗެލެންޖেসތައް މުއްދަތު ހަމަވާންދެން މަސައްކަތް ކުރަމުންދާނެއެވެ.
ތަކުންނޫޓު
އެއްޗެއް ނެތty ރިކުއެސްޓް ފޮނުވާލާށެވެ. Authorization header. އޭގެ މައްޗަށް އެކަން ސާބިތުވެއްޖެނަމަ، އެއްވެސް އެއްޗެއް ރަންނާނެއް ނުވާނaz، އަދި
ތިނބޭނުނީ 402 Payment Required އެދިލާ އެއްޗަށް ކުރާ ހިސާބު އެއްޗެހި، އެއީ އެହି ރިކުއެސްޓްގެ ފަރާތުން ދައްކަންޖެހޭ ރަމްވަޅު އެއްޗެހި:
ސްޓޭންޑާޑް ކްރެޑިޓަކަށް 10 ᱥެޓްސް ނުވަތަ ޕްރޯ ކްރެޑިޓަކަށް 100 ސްެޓްސްގެ އަގު ބަދަލުކޮށްގެން، ކީއެއް ދައްކަންޖެހޭ އަގު އެއްވަރެވެ
އަދި އެކަން އެއް ފުރިހަމަ ᱥެޓަކަށް މައްޗަށް ބޮޑުކޮށްލައިފައެވެ (އިލްތިމާދަކަށް 1 ᱥެޓްސް، އަދި ޑިމިނަމް އަކީ 0.05 ކްރެޑިޓެވެ).
ޖަވާބުގައި ތިން...” WWW-Authenticate އެކަހާނަ އިންވޮއިސްއަކަށް ކުރިމަތިވާ ގޮންޖެހުންތައް:
HTTP/1.1 402 Payment Required
Content-Type: application/problem+json; charset=utf-8
Cache-Control: no-store
WWW-Authenticate: L402 macaroon="AgJC...", invoice="lnbc2370n1..."
WWW-Authenticate: LSAT macaroon="AgJC...", invoice="lnbc2370n1..."
WWW-Authenticate: Payment id="kM9x...", realm="nymbot", method="lightning", intent="charge",
request="eyJhbW91bnQiOiIyMzciLC...", description="Nymbot API POST /images/generations (237 sats)",
digest="sha-256=:X48E9qOokqqrvdts8nOJRJN3OWDUoyWxBf7kbu9DBPE=:", expires="2026-09-30T12:15:00.000Z",
opaque="eyJlbmRwb2ludCI6IlBPU1QgL2ltYWdlcy9nZW5lcmF0aW9ucyJ9"
{
"type": "https://paymentauth.org/problems/payment-required",
"title": "Payment Required",
"status": 402,
"detail": "This request costs 237 sats. Pay the Lightning invoice, then send the identical request again ...",
"challengeId": "kM9x...",
"amount_sats": 237,
"invoice": "lnbc2370n1...",
"payment_hash": "9db1370f...",
"expires_at": "2026-09-30T12:15:00.000Z",
"error": { "message": "This request costs 237 sats. ...", "type": "payment_required", "code": "payment_required", "param": null }
}
ދައްކާލުން request ޕެރާމީޓަރަކީ base64url JSON އެވެ:
{"amount":"237","currency":"sat","methodDetails":{"invoice":"lnbc...","network":"mainnet","paymentHash":"..."}}.
ޗަލެންޖެއްއަކީ އެންޑްޕޮއިންޓްތަކާ ގުޅިފައިވާ ކަމެއް، އެކަމަށް... Content-Type (މީގެ މީޑިއާ ޓައިޕް އަދި، މޯލްޓިޕާޓް ކަމަށްވާނަމަ، އޭގެ ބައުންޑަރީ) އަދި ތިބާ ފޮނުވި ބޮޑީ ބައިޓްތަކުގެ ސީދާ SHA-256 އަށްވެސް، އަދި މިއީ 15 މިނެޓެއްގެ މުއްދަތެއް ދެނީއެވެ. ފައިސާ ދައްކައިފުމަށްފަހު، ... ފޮނުވާލައްވާށެވެ. އެއްވަރު އިތުރަށް އެދި އެއްވަގުތު އެއްޗެހި: އެއްވަގު</strong>
Content-Type އަދި އެ މާނައީ JSON ބައިޓްތައް، ނުވަތަ މުލްޓިޕާޓް އެންޑްޕޮއިންޓްތަކަށް
(/images/edits, /audio/transcriptions, /audio/translations)
އެއްވަ로 މުލްޓިޕާޓް ބޮޑީއަކީ އެއްވަރަ ބައުންޑަރީއެއް ބޭނުންކޮށްގެން ފުރިހަމަވާ ބޮޑީއެކެވެ. ގިނަ ބައިވަންތި HTTP ލައިބްރެރީތަކުން ފޯމެއް އެންކޯޑްކުރާ ކޮންމެ ފަހަރަކު އައު ބައުންޑަރީއެއް އިޚްތިޔާރު ކުރެއެވެ. އެހެންކަމުން، އެކަން އެއްފަހަރު އެންކޯޑްކޮށް، އެ ބައިޓްތައް ދެފަހަރު ފޮނުވާށެވެ.
އިތުރު ކޮންމެ އެޑްރެސްއަކުން ވަންތީގެ ތެރެއިން މިނެޓަކު 30 ވަނަޗެލެންޖަކަށް އެދޭނެއެވެ (IPv6 އެޑްރެސްއަކީ އޭގެ ފުރިހަމަ /64 އަކަށް އެޑްރެސްއެކެވެ).
އެޑްރެސް ނޭނގޭ ރިކުއެސްޓްތަކަށް މިނެޓަކު 10 އިން މާ ބޮޑު ކަޑައެއް ކުރެވޭނެއެވެ، އަދި ހުރިހާ އެޑްރެސްތަކުގެ މެދުވެރިކޮށް Nymbot އިން ދ出的 ވަނަޗެލެންޖުތަކުގެ މައްޗަށް އެއްގޮތަށް ކަނޑައެޅިފައިވާ މಿತಿ އޮވެއެވެ؛ ވަނަޗެލެންޖެއް ނުކުރެވޭ ކުރިން ބޭކާރު ކޮށްލެވޭ ރިކުއެސްޓަކީ (މިސާލަކަށް ޖޭސަން (JSON) ނުވަ้ย ރަނގަޅު ނުވާ ބޮޑީއެއް ހިމެނޭ ރިކުއެސްޓެއް) އެ މಿತުގެ ތެރެއަށް ހިސާބގައި ނުގަނެއެވެ. އެއަށްވުރެ އިތުރުކޮށް ސުވާލު ކުރާނެ އަންނަ ޖަވާބަކީ 429 އެކު Retry-After, ބޮޑީ ކարդުއްވާ ފަހު ކުރިން ފޮނުވާލެވޭ. ކީއެއް ނުވަތަ ކްރެޑެންޝަލެއް ނެތި ގޮވާލާ އެންޑްޕޮއިންޓްތަކުން، އެޑްރެސްއަކަށް މިނެޓަކު 120 އުނއޮތޯތިކައެއްގެ އެކްސެސް މಿತಿ އުނއޮތޯތިކައަށް ގުނާލުން ކުރެވޭނެ. ކްރެޑެންޝަލެއް ބަލައިލާނީ ބޮޑީ ކարդުއްވާ ފަހު، އަދި ކޮންމެ ރިކުއެސްޓެއް ހިމެނޭ... Content-Type ނުވީ application/json (އިތާނު
multipart/form-data އަޕްލޯޑްތަކަށް) އޭގެ އިތުރުން ރިފިއުޒްވެފައިވަނީ 415 އަދި އަދި އެއްވެސް އިންވޮއಿಸ್ nothingއެއް ނުލިބޭނެ.
Embbedings ތަކުގެ އަގު ކަނޑައަޅާނީ އިންޕުޓްގައި ހުންނަ ޓޯކަންތަކުގެ އަދަދުން ތަފާތު 1.5x މާޖިންއެއްގެ މައްޗަށެވެ. އެއީ ހަގީގީ އަދަދު އެނގިވަނީ އެކަން ކުރިއަށް ގެންދެގެންފަހުގައެވެ. ކޮށްލެވޭ ޓޯކަންތަކަށް އެހީގައި އަގު ދައްކަންޖެހޭނެއެވެ. ބޭނުންނުނުވި ފައިސާގެ ބާވަތް އަނބުރި ލިބިގެންދާނީ ރިފަންޑް ޓޯކަން.
ޕޭމަންޓް ފޮނުވަމުންދެމުންވަނީ
އިނވޮއިސްއަށް އެކޮންމެއަކުވެސް Lightning wallet އަކީން ފައިސާ ދައްކާލައްވާށެވެ. ވެލެޓުން ਤੁਹਾਨੂੰ preimage، 64 hex characters ދޭނެއެވެ. އޭގެފަހު މި ތަކެތިން އެއްކޮޅެއް ބޭނުންކޮށްގެން އެދިއްތަވާ އެދެމުން އެކަހެން ވަңގައެއް ފޮނުވާލައްވާށެވެ:
| އިލްކާ/ރިހާޒުލް އޮޕަރޭޝަން | ހެޑަރ |
|---|---|
| L402 | Authorization: L402 <macaroon>:<preimage> (LSAT މިއީވެސް މަސައްކަތް ކުރާނެ) |
| ދައްކައިދިނުން | Authorization: Payment <base64url JSON>, JSON އެތަނެއްގައިވަނީ ކޮބާ {"challenge": {every parameter of the challenge, as sent}, "payload": {"preimage": "<hex>"}} |
ކީއެއް ބޭނުންކޮށްގެން ކުރާ ރިކުއެސްޓަކާ އެއްވަ로، ފައިސާ ދައްކާފައިވާ ރިކުއެސްޓަކީވެސް އެފަދައިންނެކެވެ، ނަމަވެސް އެއީ nymbot
އޮބްޖެކްޓްގައި ބަލަން斯 ފީލްޑްސް ނުވަތަ ބެލެންސް ފީލްޑްސް ނެތް: {"payment": "l402", "tier": "pro", "paid_sats": 237,
"charged_sats": 237}, އަދި އެއްވެސް އެއްޗެއް ނެތް X-Nymbot-Balance-Sats ހެޑަރ. ޕޭމަންޓް ޝީމް ބޭނުންކޮށްގެން ދައްކާފައިވާ ރިކުয়েސްޓަކަށްވެސް ... އެއް ލިބެއެވެ. Payment-Receipt ހެޑަރު (base64url
challeng id އާއެކު JSON، ފައިމަންޓް ހޭޝްގެ ގޮތުގައި reference, status އަދި
timestamp). ފައިދަވާ އެދުންތަކަކީ އެއްވެސް ނަމެއްތަކާ ގުޅުންގަދަ އެއްޗެއް ނޫންނެވެ، އެހެންކަމުން އެ它们 ކުއަރީ ހިސްޓަރީގައި ފެންނަން ނުވާނެއެވެ.
| ހާލަތު | މިހާރު ކޮންމެވަގުތުވެސް |
|---|---|
402 payment_already_used | ފާޑު ކޮންމެ ފައިމަންޓަކީ އެއް ރިކުއުސްޓަކަށް ދައްކާ ފައިމަންޓެކެވެ. މީގެ މറുސާލީ ޖަވާބަކީ މި ރިކުއުސްޓަށް އައު ގޮންޖެހުމެކެވެ. އެހެންކަމުން، އޭގެ އެންމެ ފަހުގެ ކްރެޑެންޝަލް ކޭsh ކުރާ ކްލައިންޓަކީ (as lnget ފަހުން އަލުން ފައިސާ ދައްކައެވެ. |
402 payment_mismatch | މި ކްރެޑެންޝިއަލް ނެރުއްޖެ އެހެން އެންޑްޕޮއިންޓަކަށް، Content-Type އޮރ ބޮޑީ، އޮރ ފައިސް लेस ތަންދިސް ރިކުއެސްޓް ނައު ކޮސްޓްސް. އެ ފްރެsh ޗެލެންޖް ފޮރި ތިސް ރިކުއެސްޓް ކަމްސް ވިތް އިޓް; އިފް ދަ ޕޭމަންޓް ވާސް ޓޫ ސްމޯލް، ވަޓް ޔޫ ޕޭޑް ކަމްސް ބެކް އެޒް އެ ރިފަންޑް ޓޯކަން (refund_token އަދި refund_sats ބޭއްޓީގައި (in the body). |
402 payment_expired | ޗެލެންޖު ފެށިގެން 15 މިނެޓަށްވުރެ ގިނަ ވަގުތުވެއްޖެއެވެ. އާ ޗެލެންޖެއް އޭގެ އެކުވެގެން އަންނާނީއެވެ. އကယ် Spook އިން ދައްކައިދޭނީ ތިބާ ފައިސާ ދައްކާފައިވާ މަންިފަތެއްނަމަ، ތިބާ ދައްކައިފީ އެ amount އެއްގެ ގޮތުގައި އަނބުރާ އަންނާނީއެވެ. ރިފަންޑް ޓޯކަން (refund_token އަދި refund_sats ބޮޑީގެ ތެރޭގައި، އެއް ފަހter; އެއަށްފަހު އެ ކްރެޑެންޝަލް ބޭނުންކޮށް ނިންމާލެވޭނެއެވެ. |
401 invalid_preimage | ޕްރީއިމޭޖް އިންވޮއިސްގެ ފައިމަންޓް ހޭޝްއަށް ހޭޝް ނުވަނީއެވެ. ޕޭމަންޓް ނިމިފައެއް ނުވަނީއެވެ. |
401 invalid_payment_credential | މައުލޫމާތު ހުށަހަޅާފައިވަނީ އުނދަގޫ ގޮތެއްގައެވެ، ނުވަތަ ނީމްބޯޓް (Nymbot) އިން މައުލޫމާތު ނެރެފައެއްގެ ފަހުން ބަދަލުކުރެވިފައިވާ، ނުވަތަ ނީމްބޯޓް އިން އިންވޮއިސް ނެރިފައިނުވާ ޕްރޮސެސް ހޭޝެއް އަމާޒުކޮށްފައިވާ މައުލޫމާތެކެވެ. ނީމްބޯޓް ނޭނގޭ ކަވެއެޓެއް (caveat) ހިމެނޭ ނުވަތަ ކުލަފުވާ ކަވެއެޓްތަކެއް ހިމެނޭ މެކަރޫން (macaroon) އަކީ ބަލައިނުގަންނާނެ އެއްޗެކެވެ. |
429 rate_limit_exceeded | މި އެޑްރެހުން މިނެޓަކީ ކްރެޑެންޝަލްސް ނުވަތަ ކީސް ވަނަވަރު ކަށަވަރުކުރުމުގައި ފެލުނު 30 އަށްވުރެ ގިނަ ވަނަވަރު އައިީ، ނުވަތަ އެއް ރިފަންޑް ޓޯކަން މިނެޓަކީ 60 އަށްވުރެ ގިނަ ފަހަރު ފޮނުވާފައިވެއެވެ. މަޑުކުރޭ... Retry-After. |
cURL
BODY='{"model":"nano-banana","prompt":"a lighthouse at dusk","response_format":"b64_json"}'
URL=https://nymbot.ai/api/v1/images/generations
# 1. Get the challenge
CH=$(curl -s -D - -o /dev/null "$URL" -H "Content-Type: application/json" -d "$BODY" | grep -i '^www-authenticate: L402')
MAC=$(echo "$CH" | sed -E 's/.*macaroon="([^"]+)".*/\1/')
INVOICE=$(echo "$CH" | sed -E 's/.*invoice="([^"]+)".*/\1/')
# 2. Pay $INVOICE with your wallet and copy the preimage
PREIMAGE=...
# 3. Send the identical request with the credential
curl "$URL" -H "Content-Type: application/json" -H "Authorization: L402 $MAC:$PREIMAGE" -d "$BODY"
lnget
# lnget (Lightning Labs) pays L402 challenges from your own lnd node and retries for you
lnget -X POST -H "Content-Type: application/json" \
-d '{"model":"nano-banana","prompt":"a lighthouse at dusk","response_format":"b64_json"}' \
https://nymbot.ai/api/v1/images/generations
Python
import base64, json, re
import requests
url = "https://nymbot.ai/api/v1/images/generations"
body = json.dumps({"model": "nano-banana", "prompt": "a lighthouse at dusk", "response_format": "b64_json"}).encode()
headers = {"Content-Type": "application/json"}
challenge = requests.post(url, data=body, headers=headers)
assert challenge.status_code == 402
info = challenge.json()
print("Pay", info["amount_sats"], "sats:", info["invoice"])
preimage = pay_with_your_wallet(info["invoice"]) # 64 hex characters
# L402
mac = re.search(r'L402 macaroon="([^"]+)"', challenge.headers["WWW-Authenticate"]).group(1)
res = requests.post(url, data=body, headers={**headers, "Authorization": f"L402 {mac}:{preimage}"})
print(res.json()["nymbot"])
JavaScript
const url = "https://nymbot.ai/api/v1/images/generations";
const body = JSON.stringify({ model: "nano-banana", prompt: "a lighthouse at dusk", response_format: "b64_json" });
const headers = { "Content-Type": "application/json" };
const challenge = await fetch(url, { method: "POST", headers, body });
const www = challenge.headers.get("www-authenticate");
// The Payment scheme: echo every challenge parameter back with the preimage
const start = www.indexOf("Payment ");
const params = Object.fromEntries([...www.slice(start + 8).matchAll(/(\w+)="((?:[^"\\]|\\.)*)"/g)].map((m) => [m[1], m[2]]));
const { invoice } = JSON.parse(Buffer.from(params.request, "base64url").toString()).methodDetails;
const preimage = await payWithYourWallet(invoice);
const credential = Buffer.from(JSON.stringify({ challenge: params, payload: { preimage } })).toString("base64url");
const res = await fetch(url, { method: "POST", headers: { ...headers, Authorization: `Payment ${credential}` }, body });
console.log((await res.json()).nymbot, res.headers.get("payment-receipt"));
ކްލައިންޓުން ބިލްޑްކޮށްފައިވަނީ އުފެއްދިފައިވާ mppx ލައިޓްނިންގ މެތަޑަކީ ފައިސާ ދެއްކުމުގެ ގޮންޖެހުން އެމީހުންނเอง ހައްލުކުރާނެއެވެ; އެމީހުންނަށް އެންޑްޕޮއިންޓަށް ދިރުވާލާފައި ފައިސާ ދެއްކޭނެ ކަމަށް ކުރޭނެއެވެ.
ވީޑިއޯތައް
ދައްކާފައިވާ POST /videos ޖަވާބުތައް 202 ކީއެއް ހުރި އެއްޗެއް ފަދައިން، އަދި...
status_url: GET މަސައްކަތް ކުރިއަށް ގެންދިއުމަށް އެއްވެސް ތަޅުކޭއް ނެތި، އެކަމަކީ ސޮއިކުރެވިފައިވާ އަދި މަސައްކަތް ކުރިއަށް ގެންދިއަ ނ만큼، 24 ގަޑިއިރު ވަ 동안 މަގުފަހިވާ އެއްޗެކެވެ.
{
"id": "vid_...",
"status": "in_progress",
"status_url": "https://nymbot.ai/api/v1/videos/vid_...?exp=1790000000&sig=...",
"nymbot": {
"payment": "l402", "tier": "pro", "paid_sats": 4800, "charged_sats": 4800,
"refund_token": "REFUND-5E0B..."
}
}
ބަދަލުނުކޮށް ބެހެއްޓޭ</h1> refund_token މިޖަވާބުން ބަލާލާއިރު: މިއީ މިތަނުގައި އެކަނި ފެންނަ އެއްޗެކެވެ. ވީޑިއޯ ރެންޑަރުވާ ވަގުތު މިއީ އުފުލާ ނުފުރި އެއްޗެކެވެ. (GET /api/v1/l402/refunds ޖަވާބުތައް "status": "pending");
އަދި ރެންޑަރވުމުގައި މާލު ނުލިބިނެރެ އެއްވެއްbedނުވާނަމަ، އެ ክፍބަދަލު އެއަށް ލިބޭނެއެވެ. ސްޓޭޓަސް URL އިން ދައްކައިދީނީ
refund_sats ރިފަންޑް ކުރެވިފައިވާ މަސައްކަތަކަށް، ނަމަވެސް ޓޯކަން (token) ލިބިފައިވާ ކަމެއް ނުވަތަ ނުލިބިފައިވާ ކަމެއް ނޭނގި، އެހެންކަމުން ސްޓޭޓަސް URL ހިއްސާކުރުމުން ރިފަންޑުކުރިކަން އެނގޭނޭ نہیں۔ ޓޯކަން ޗެކްކުރުމުން، އެކޮޅު، އެކޮޅު ވަކި މީހަކުވެސް ޗެކްނުކުރި ފެލިފައިވާ މަސައްކަތެއް ހައްލުވެއެވެ.
ވަރިކޮށްދިނުން
މާލުކުރެވޭ އެދުމެއް ފެއިލްވެއްbed އަދި އެ މަގާމު ފޯރުކޮށްދޭ ފަރާތުން އެ ሙސާރާއަށްޓަކައި Nymbot އަށް ފައިސާ ނެގިފަހާނە، އެ ފައިސާ ބޭނުންކުރެވޭނެއެވެ. އަދި އެ އުފެދޭ ކުދިކުދި މައްސަލަ ނުވަތަ އުނދަގޫތަކުގެ މައުލޫމާތު އެކަން ފާހަގަކޮށްދޭނެއެވެ، އޭގެ އިތުރުން charged_sats, ކީޑް ކުރެވިފައިވާ ރިކުއެސްޓަކަށް އޮތް ފަދައިން ސީދާ. އެއާފަޅުވާނަމަ، ފީ ނުދައްކައި، އެ ಎರަރަކީ ރިފަންޑް ޓޯކަން ދައްކާފައިވާ އަގަށް ލިބޭ މިންވަރު:
{
"error": {
"message": "The image generator failed. Nothing was charged. Please try again. The 237 sats you paid are on refund token REFUND-...",
"type": "api_error",
"code": "upstream_error",
"refund_token": "REFUND-0C15DBED145D59131BA70298A413ADEB3D9B9AB082C476EA70A5BD38FCA5DE6D",
"refund_sats": 237,
"refund_expires_at": "2026-10-30T12:00:00.000Z"
}
}
އުނބުރާ ބޭނުންނު parts އަންނާނީ އެގޮތަށই: ކަމិនបើ ތިބާ ދެ ފޮޓޯ އެދި، އެކަކު ބިލުނުގޮތަށް ފޮޓޯ ނުލިބިއްޖެނަމަ،
succeeded response ގެ nymbot ނެތްތަކަށް ރިފަންޑް ޓޯކަން އޮތް އެއްޗެއް;
ކުރިން ދި length އެ ކިޔައިގަންނަން ނުވީ ޓްރާންސްކްރިޕްޝަނެއްގެ އަގު ކަނޑައަޅާނީ އެ ފައިލް އެންމެ ދިގުވެގެންދާނެ ގޮތަށް (ކިހާވެސް ދިގުވެފައި ހުއްޓަސް 30 މިނެޓަށްވުރެ ގިނަ ނުވާނެ)، އަދި ހަގީގީ ދިގުކަމާއި އެ ދިގުކަމުގެ ދެމެދުގައިވާ 差 (difference) ރިފަންޑް ޓޯކަންގެ ގޮތުގައި އަނބުރި ލިބެއިދޭ؛ ވީމާ، އެއީ 30 މިނެޓަށްވުރެ ދިގު ކަމެއް ކަމif ހަމަވައިފިނަމަ، އެއީ އަންނަގޮތުން އުއް로ކުރުވާނީ 413
އޭނާގެ ފައިސާގެ ކުރިމަތީގައި އެއްވެސް ބަދަލެއް ނުލިބެއެވެ. އެމްބެޑިންގްސް އިން ދަނީ އެސްޓިމޭޓްގައި ފެންނަން އޮތް ކަންތައްތަކެއް އަނބުރާ ދައްކައިދިނުމަށެވެ. ފެއިލްވި ވީޑިއޯއަކަށް، އެއީ އޭގެ ސަބަބުން ރިފަންޑް ކުރެވޭ ޓޯކަން އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެއްޗެހި އެ
ރިފަންޑް ޓޯކަނަކީ ރޭންޑަމް 256-bit ކޯޑެކެވެ. ނިއަމްބޮޓް ރައްކާތެރިކޮށް ބަހައްޓާނީ އޭގެ ހޭsh އެކަންމެހި އެކަނި، އަދި މިއީ 30 ދުވަހުން މުއްދަތު ހަމަވާ އެއްޗެކެވެ. މީގައި ސެޓް (sat) ބެލަންސް ހުރި අතර، ތިބާ ކުރެވޭނީ:
- އެއިން ފައިސާ ދައްކާލާށެވެ. ފޮނުވާށެވުން
Authorization: Bearer REFUND-…މައްސަލަވީ މަތީގައިވާ އެންމެން އެންޑްޕޮއިންޓްތަކުން އެއްމەޗުންނެވެ (OpenAI SDK އަކީ މިއީ އޭގެ API key އެއްގެ ގޮތުގައި ބޭނުންކުރާ އެއްޗެކެވެ). އަދި އަގު ބޭނުންވަނީ ޓޯކަނުންނެވެ، އަދި އޮތް ބާކީ އެތަނަށ로 މնެއެވެ (refund_token_satsމިނުލުގައުnymbotއޮބްޖެކްޓް). އެ ވަށި އެދިފައިވާ ކަމަށްވުރެ އަގުތక్కువ ފޮނުކޮޅެއް އެންސަރ ދޭނެއެވެ402refund_insufficient; ބިލުނުކުރެވިފައިވާ ފެއިލްޔަރެއްގައި ސެޓްތައް އަލުން އެކަސް ޓޯކަނުގެ މައްޗަށް އަންނާނެއެވެ. - ޗެކް ކުރޭށެވެ.
GET /api/v1/l402/refundsތަފާތު ނުކޮށް އެއްވަ로 ހެޑަރުއާއެކު ނަތީޖާ ދޭނެއެވެ{"sats": 237, "status": "open", "expires_at": "..."}. - އެއް ޓޮކަން އެންމެ ގިނަވެސް މިނެޓަކު 60 ފަހި ބޭނުންކުރެވިދާނެއެވެ.
- މަހުވެރިކަމަށް ބަދަލުކުރޭ. އެކުލަވާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލާލ ހިތްދިނުމެއް (gift) ބޭނުންކުރޭ Nymbot އެޕްގައި ނުވަތަ ފޯނު ކުރޭ
POST /api/v1/l402/refunds/redeemއެކު ސޮއިކުރެll ރިކުއެސްޓް އަދި{"refund_token": "REFUND-...", "balance": "standard"}(އިތާނު"pro"). މުޅި ކްރެޑިޓްސް ބަލަން ހިފާ ވަގުތު (standard އިން ކޮންމެކަށަކު 10 sats، Pro އިން 100 sats)؛ މުޅި ކްރެޑިޓެއް ނުވާ satis، API requests އަށްޓަކައި ޓޯކަންގައި ބާއްވާލުން ކުރެވޭނެ.
cURL
URL=https://nymbot.ai/api/v1/l402/refunds/redeem
BODY='{"refund_token":"REFUND-...","balance":"standard"}'
curl "$URL" \
-H "Authorization: $(nostr_auth POST "$URL" "$BODY")" \
-H "Content-Type: application/json" \
-d "$BODY"
ޖަވާބު
{ "data": { "credited": 23, "tier": "standard", "balance_credits": 123, "remaining_sats": 7 } }