ਗਿਆਨ ਅਧਾਰ ਡਿਵੈਲਪਰ
ਸੰਤੁਲਨ, ਟਾਪ-ਅੱਪ ਅਤੇ ਕੁੰਜੀਆਂ
ਕ੍ਰੈਡਿਟ ਕ੍ਰੈਡਿਟ ਕ੍ਰੈਡਿਟ ਕ੍ਰੈਡਿਟ ਕ੍ਰੈਡਿਟ ਕ੍ਰੈਡਿਟ ਕ੍ਰੈਡਿਟ ਕ੍ਰੈਡਿਟ
ਇਹ ਪੰਨਾ ਸਹੂਲਤ ਲਈ ਮਸ਼ੀਨ ਦੁਆਰਾ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਅੰਗਰੇਜ਼ੀ ਮੂਲ ਉਹ ਸੰਸਕਰਣ ਹੈ ਜੋ ਲਾਗੂ ਹੁੰਦਾ ਹੈ।
ਚੈੱਕ ਬਿਲਡਿੰਗ
ਤੁਹਾਡੇ ਦੋਵੇਂ ਸੰਤੁਲਨ, ਅਤੇ ਇਸ ਕੁੰਜੀ ਦੀ ਕੈਪ ਦੀ ਕਿੰਨੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
GET https://nymbot.ai/api/v1/credits/balance - ਇੱਕ API Key ਦੀ ਲੋੜ ਹੈ. POST ਇਹ ਵੀ ਕੰਮ ਕਰਦਾ ਹੈ, ਗਾਹਕ ਲਈ ਜੋ ਇਸ ਨੂੰ ਉਮੀਦ ਕਰਦਾ ਹੈ.
balance ਕੀ ਦੋਵੇਂ ਸੰਤੁਲਨ ਮੌਜੂਦਾ ਬਿਟਕੋਿਨ ਦੀ ਕੀਮਤ'ਤੇ ਡਾਲਰ ਵਿੱਚ ਇਕੱਠੇ ਹਨ, ਉਹਨਾਂ ਸਾਧਨਾਂ ਲਈ ਜੋ ਇੱਕ ਸਿੰਗਲ ਨੰਬਰ ਦੀ ਉਮੀਦ ਕਰਦੇ ਹਨ (null ਕ੍ਰੈਡਿਟ ਅਤੇ sats, ਜੋ ਕਿ ਕੀਮਤ ਨੂੰ ਅਸਲ ਵਿੱਚ ਰੱਖਿਆ ਜਾ ਰਿਹਾ ਹੈ. 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);
ਭੁਗਤਾਨ ਦੇ ਢੰਗ
ਤੁਹਾਨੂੰ ਕੀ ਕਰ ਸਕਦੇ ਹੋ, ਅਤੇ ਲੰਬਾਈ. Lightning ਇੱਕ ਸਿਰਫ ਤਰੀਕੇ ਹੈ.
GET https://nymbot.ai/api/v1/topup/payment-methods - ਕੋਈ ਕੁੰਜੀ ਦੀ ਲੋਡ਼ ਨਹੀਂ ਹੈ।
ਇੱਕ ਟਾਪ-ਅੱਪ 10 ਤੋਂ 1,000,000 ਸੈਟਸ ਹੈ; ਇੱਕ ਪ੍ਰੋ ਟਾਪ-ਅੱਪ ਨੂੰ ਘੱਟੋ ਘੱਟ ਇੱਕ ਪ੍ਰੋ ਕ੍ਰੈਡਿਟ ਖਰੀਦਣਾ ਪੈਂਦਾ ਹੈ, ਇਸ ਲਈ ਇਹ 100 ਸੈਟਸ ਤੋਂ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ। ਡਾਲਰ ਦੀਆਂ ਸੀਮਾਵਾਂ ਬਿਟਕੋਿਨ ਦੀ ਕੀਮਤ ਦੀ ਪਾਲਣਾ ਕਰਦੀਆਂ ਹਨ। bulk_bonus ਵੱਡੇ ਟਾਪ-ਅਪਸ ਉੱਤੇ ਵਾਧੂ ਕ੍ਰੈਡਿਟ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਐਪ ਵਿੱਚਃ 500,1,000 ਜਾਂ 5,000 ਸੈਟਾਂ ਤੋਂ ਸਟੈਂਡਰਡ ਟਾਪ-ਅਪਸ ਉੱਤੇ 10 ਪ੍ਰਤੀਸ਼ਤ, 15 ਪ੍ਰਤੀਸ਼ਤ ਜਾਂ 20 ਪ੍ਰਤੀਸ਼ਤ ਵਧੇਰੇ, ਅਤੇ 5,000,10,000 ਜਾਂ 50,000 ਸੈਟਾਂ ਤੋਂ ਪ੍ਰੋ ਟਾਪ-ਅਪਸ ਉੱਤੇ।
ਜਵਾਬ
{
"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);
ਚਾਨਣ 'ਤੇ ਉਚਾਈ
ਇੱਕ ਲਾਈਟਨਿੰਗ ਇਨਵੁਆਇਸ ਬਣਾਉਂਦਾ ਹੈ ਜੋ ਕੁੰਜੀ ਨਾਲ ਸਬੰਧਤ ਨਾਮ ਵਿੱਚ ਕ੍ਰੈਡਿਟ ਜੋਡ਼ਦਾ ਹੈ। ਇਸ ਨੂੰ ਕਿਸੇ ਵੀ ਲਾਈਟਨਿੰਗ ਵਾਲਿਟ ਤੋਂ ਭੁਗਤਾਨ ਕਰੋ, ਫਿਰ ਇਸ ਦੀ ਜਾਂਚ ਕਰੋ ਕ੍ਰੈਡਿਟ ਨੂੰ ਜੋਡ਼ਨਾ।
POST https://nymbot.ai/api/v1/topup/create/btc-lightning - ਇੱਕ API Key ਦੀ ਲੋੜ ਹੈ.
| ਫੀਲਡ | ਕਿਸਮ | ਦੀ ਲੋੜ | ਚਿੱਤਰ |
|---|---|---|---|
amount | ਨੰਬਰ | ਹਾਂ | ਕਿਸ ਹੈ, In currencyਇੱਕ ਸਾਰੀ ਨੰਬਰ ਲਈ sats. |
currency | ਸਟੀਲ | ਕੋਈ | SATS (ਉਦਾਹਰਨ ਲਈ) USD ਜਾਂ BTCਡਾਲਰ ਨੂੰ ਮੌਜੂਦਾ ਬਿਟਕੋਿਨ ਦੀ ਕੀਮਤ'ਤੇ ਬਦਲਿਆ ਜਾਂਦਾ ਹੈ। |
tier | ਸਟੀਲ | ਕੋਈ | pro (ਉਦਾਹਰਨ ਲਈ) or standard: ਕ੍ਰੈਡਿਟ ਦਾ ਭੁਗਤਾਨ ਕੀ ਕਰਨ ਲਈ ਹੈ. |
ਇੱਕ ਮਿਆਰੀ ਕ੍ਰੈਡਿਟ 10 sats ਹੈ ਅਤੇ ਇੱਕ ਪ੍ਰੋ ਕ੍ਰੈਡਿਟ 100 sats ਹੈ, ਪਲੱਸ ਕਿਸੇ ਵੀ ਬੋਰਡ ਬੋਨਸ;
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) ਜ tier, ਇੱਕ ਛੋਟੇ ਆਕਾਰ, ਜ ਘੱਟੋ ਘੱਟੋ ਘੱਟ ਆਕਾਰ (amount_too_small) ਤੋਂ ਵੱਧ 1 000 000 ਸਟੇਸ਼ਨ (amount_too_large) ਜ ਰਚਨਾਤਮਕ ਫੇਸਬੁੱਕ (amount_out_of_range). |
429 | ਇਸ ਐੱਨ. ਆਈ. ਐੱਮ. ਲਈ 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);
ਇੱਕ top-up ਚੈੱਕ ਕਰੋ
ਚੈੱਕ ਹੈ ਕਿ ਫੀਚਰ ਨੂੰ ਭੁਗਤਾਨ ਕੀਤਾ ਗਿਆ ਹੈ ਅਤੇ, ਇੱਕ ਵਾਰ ਇਸ ਨੂੰ ਹੈ, ਕ੍ਰੈਡਿਟ ਸ਼ਾਮਿਲ ਕਰਦਾ ਹੈ. ਚੈੱਕ ਹੈ ਕਿ ਕੀ ਕ੍ਰੈਡਿਟ ਇਸ ਨੂੰ ਹੈ, ਇਸ ਲਈ ਭੁਗਤਾਨ ਕਰਨ ਦੇ ਬਾਅਦ, ਚੈੱਕ ਹੈ, ਜੋ ਕਿ ਸਥਿਤੀ ਹੈ creditedਅੱਗੇ ਅੱਗੇ ਚੈੱਕ ਕਰਨ ਲਈ ਸੁਰੱਖਿਅਤ ਹੈ: ਕ੍ਰੈਡਿਟ ਇੱਕ ਵਾਰ ਛੇਤੀ ਹੈ, ਇਸ ਲਈ ਬਹੁਤ ਸਾਰੇ ਵਾਰ ਤੁਹਾਨੂੰ ਚਾਹੁੰਦੇ ਹੋ.
GET https://nymbot.ai/api/v1/topup/status/{invoice_id} - ਇੱਕ ਕੁੰਜੀ ਦੀ ਲੋੜ ਹੈ, ਜੋ ਕਿ ਫੀਚਰ ਬਣਾਇਆ ਹੈ.
status ਹੈ। pending (ਕ੍ਰੈਡਿਟ ਨਹੀ ਹੈ) paid (ਭੁਗਤਾਨ ਕੀਤਾ ਗਿਆ, ਪਰ ਅਜੇ ਤੱਕ ਕ੍ਰੈਡਿਟ ਨਹੀਂ ਕੀਤਾ ਗਿਆ; ਦੁਬਾਰਾ ਚੈੱਕ ਕਰੋ), credited (ਨੂੰ ਆਪਣੇ ਬਿਲਕੁਲ) ਜ expired (ਤਕੁਆਇੰਟ ਵਿੱਚ ਭੁਗਤਾਨ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ). ਬਿਲਡਿੰਗ ਫੇਸਬੁੱਕ ਨੂੰ ਹਿੱਸੇ ਦੇ ਲਈ ਹੈ, ਜੋ ਕਿ ਫੀਚਰ ਨੂੰ ਵਧਾਉਂਦਾ ਹੈ.
ਜਵਾਬ
{
"invoice_id": "b7d41e0c95a2f38e6c1d0e9a4b7f2c61d3e8a05f9b2c4d7e1a6f3b8c0d5e2a9f4",
"status": "credited",
"amount_sats": 10000,
"credits": 115,
"tier": "pro",
"expires_at": null,
"balance_credits": 523.33,
"balance_sats": 52333
}
| ਸਥਿਤੀ | ਕਦਮ |
|---|---|
400 | ਇਹ 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);
ਇਤਿਹਾਸ ਨੂੰ ਚਾਹੁੰਦੇ
ਪ੍ਰਤੀ ਬੇਨਤੀ ਇੱਕ ਕਤਾਰਃ ਇਹ ਕੀ ਸੀ, ਕਿਹਡ਼ਾ ਮਾਡਲ, ਕਿੰਨੇ ਟੋਕਨ ਅਤੇ ਇਸ ਦੀ ਕੀਮਤ ਕਿੰਨੀ ਹੈ। ਕੋਈ ਪ੍ਰੋਂਪਟ ਜਾਂ ਜਵਾਬ ਨਹੀਂ ਰੱਖੇ ਜਾਂਦੇ, ਇਸ ਲਈ ਕੋਈ ਵੀ ਵਾਪਸ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ। ਕਤਾਰਾਂ ਨੂੰ 90 ਦਿਨਾਂ ਲਈ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ, ਸਭ ਤੋਂ ਨਵਾਂ ਪਹਿਲਾਂ। ਇੱਕ ਕੁੰਜੀ ਜੋ ਆਪਣੀ ਕੈਪ ਤੱਕ ਪਹੁੰਚ ਗਈ ਹੈ ਉਹ ਅਜੇ ਵੀ ਆਪਣਾ ਇਤਿਹਾਸ ਪਡ਼੍ਹ ਸਕਦੀ ਹੈ।
GET https://nymbot.ai/api/v1/queries/history — ਇੱਕ API ਕੁੰਜੀ ਦੀ ਲੋੜ ਹੈ, ਜੋ ਕਿ ਇਸ ਦੇ ਪਸੰਦ ਨੂੰ ਵੇਖਦਾ ਹੈ, ਜ ਇੱਕ ਪ੍ਰਾਈਵੇਟ ਪੋਸਟ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰ
| ਫੀਲਡ | ਕਿਸਮ | ਦੀ ਲੋੜ | ਚਿੱਤਰ |
|---|---|---|---|
page | ਪੂਰਨ ਅੰਕ (ਪੁੱਛਗਿੱਛ) | ਕੋਈ | ਡਿਫਾਲਟ 1, ਵੱਧ ਤੋਂ ਵੱਧ 1,000 ਉੱਤੇ; ਇੱਕ ਉੱਚਾ ਪੰਨਾ ਹੈ 400 invalid_value. |
page_count | ਪੂਰਨ ਅੰਕ (ਪੁੱਛਗਿੱਛ) | ਕੋਈ | ਚਿੱਤਰ ਲਈ ਰੀਸ. ਮਿਆਰੀ 20, ਵੱਧ 100. |
start_dateend_date | ਕ੍ਰੈਡਿਟ (Query) | ਕੋਈ | ਆਈ. ਐੱਸ. ਓ. 8601 ਮਿਤੀਆਂ ਜਾਂ ਸਮਾਂ |
model | ਕ੍ਰੈਡਿਟ (Query) | ਕੋਈ | ਸਿਰਫ਼ ਇਸ ਮਾਡਲ ਨੂੰ. |
type | ਕ੍ਰੈਡਿਟ (Query) | ਕੋਈ | chat, responses, messages, image, video, speech, transcription ਜਾਂ embedding. |
all_keys | ਬੂਲੀਅਨ (ਪੁੱਛਗਿੱਛ) | ਕੋਈ | ਇੱਕ ਕੁੰਜੀ ਨਾਲ: true ਇੱਕੋ ਹੀ nym ਦੀ ਹਰ ਕੁੰਜੀ ਸ਼ਾਮਲ ਹੈ। ਡਿਫਾਲਟ false. |
key_id | ਕ੍ਰੈਡਿਟ (Query) | ਕੋਈ | ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰ 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);
ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾਸ
ਕੂਕੀਜ਼ ਬਣਾਉਣ, ਤਬਦੀਲ ਕਰਨ ਅਤੇ ਤਬਦੀਲ ਕਰਨ ਲਈ, ਕੂਕੀਜ਼ ਦੀ ਕਾਪੀਰਾਈਟ ਅਤੇ ਆਟੋਮੈਟਿਕ topp-ups ਇੱਕ API ਕੂਕੀਜ਼ ਨੂੰ ਲੈਣ ਲਈ ਨਹੀਂ ਹੈ. ਉਹ ਆਪਣੇ ਨਮ ਤੋਂ ਇੱਕ ਸਰਟੀਫਿਕੇਟ ਲੈਣ ਲਈ ਹਨ, ਇਸ ਲਈ ਇੱਕ ਲੱਕੜ ਕੂਕੀਜ਼ ਇਸ ਦੇ ਕੂਕੀਜ਼ ਤੋਂ ਵੱਧ ਭੁਗਤਾਨ ਕਰ ਸਕਦਾ ਹੈ, ਪਰ ਕੋਈ ਵੀ ਇੱਕ ਹੋਰ ਕੂਕੀਜ਼ ਬਣਾਉਣ ਜਾਂ ਇਸ ਦੇ ਆਪਣੇ ਕੂਕੀਜ਼ ਨੂੰ ਵਧਾਉਣ ਲਈ ਜਾ ਸਕਦਾ ਹੈ.
ਐਪਲੀਕੇਸ਼ਨ ਤੁਹਾਡੇ ਲਈ ਇਸ ਨੂੰ ਕਰਦੀ ਹੈ: ਸਭ ਨੂੰ ਇਸ ਦੇ ਫਲੈਟ ਸ਼ੀਟ ਇਹਨਾਂ ਅੰਤਮ ਬਿੰਦੂਆਂ ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ। ਤੁਹਾਨੂੰ ਸਿਰਫ ਆਪਣੇ ਕੋਡ ਤੋਂ ਕੁੰਜੀਆਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਲਈ ਇਸ ਭਾਗ ਦੀ ਜ਼ਰੂਰਤ ਹੈ।
ਦਸਤਖਤ ਕਿਸਮ 27235 (ਐੱਨ. ਆਈ. ਪੀ.-98) ਦੀ ਇੱਕ ਨੋਸਟਰ ਘਟਨਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਬੇਸ 64-ਇੰਕੋਡ ਕੀਤਾ ਗਿਆ ਹੈ।
Authorization Header ਨਾਲ Word 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ਇਹ HTTP ਵਿਧੀ ਹੈ।payloadਇੱਕ SHA-256 ਹੈ, ਜੋ ਕਿ ਸਰੀਰ ਸਰੀਰ ਦੀ ਸਰੀਰ ਦੀ ਸਰੀਰ ਹੈ, hex.POSTਅਤੇPATCH, ਅਤੇ ਤੁਹਾਨੂੰ ਭੇਜਣ ਦੀ ਸਰੀਰ ਹੈ, ਜੋ ਕਿ ਤੁਹਾਨੂੰ hashed ਹੈ, ਜੋ ਕਿ ਬਾਈਟ ਲਈ ਬਾਈਟ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ.created_atਸਰਵਰ ਦੇ ਘੰਟੇ ਦੇ 60 ਸਕਿੰਟ ਦੇ ਅੰਦਰ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ.- ਹਰ ਘਟਨਾ ਇੱਕ ਵਾਰ ਕੰਮ ਕਰਦੀ ਹੈ
GETਕਾਪੀਰਾਈਟ © 2018 ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰnonceਇੱਕ ਗਲਤੀ ਮੁੱਲ ਦੇ ਨਾਲ ਟੈਗ, ਇਸ ਲਈ ਦੋ ਰਜਿਸਟਰੇਸ਼ਨ, ਜੋ ਕਿ ਉਸੇ ਸਕਿੰਟ ਵਿੱਚ ਤਬਦੀਲ ਕੀਤਾ ਗਿਆ ਹੈ, ਇਹ ਵੀ ਵੱਖ ਹੈ. - ਇੱਕ ਸਰਟੀਫਿਕੇਸ਼ਨ ਦੇ ਸਰੀਰ ਨੂੰ ਵੱਧ 64 KB ਹੋ ਸਕਦਾ ਹੈ, ਅਤੇ ਇੱਕ ਸਰੀਰ ਦੀ ਲੋੜ ਹੈ
Content-Type: application/json.
ਹਿੱਸਾ ਲੈਣ ਵਾਲੇ ਕਾਰੋਬਾਰ ਨੂੰ ਵਾਪਸ 401 missing_nostr_authਇੱਕ ਜੋ ਬੁਰੀ ਤਰ੍ਹਾਂ ਬਣਿਆ ਹੋਇਆ ਹੈ, ਬੁਰੀ ਤਰ੍ਹਾਂ ਦਸਤਖਤ ਕੀਤਾ ਹੋਇਆ ਹੈ, ਬਹੁਤ ਪੁਰਾਣਾ ਹੈ, ਜਾਂ ਇੱਕ ਵੱਖਰੇ ਯੂਆਰਐਲ, ਵਿਧੀ ਜਾਂ ਬਾਡੀ ਰਿਟਰਨ ਲਈ ਹੈ
invalid_nostr_authਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰ
nostr_auth_replayedਇੱਕ ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ, ਜੋ ਕਿ ਇਹ ਹਿੱਸੇ 'ਤੇ ਭੇਜਿਆ ਗਿਆ ਹੈ, ਨੈੱਟਵਰਕ ਨੂੰ ਚੈੱਕ ਕੀਤਾ ਗਿਆ ਹੈ, ਅਤੇ ਕਿਸੇ ਵੀ ਐਡਰੈੱਸ ਨੂੰ ਇੱਕ ਮਿੰਟ ਵਿੱਚ 30 ਵਾਰ ਇਸ ਨੂੰ ਤਬਦੀਲ ਕਰ ਸਕਦਾ ਹੈ (IPv6 ਐਡਰੈੱਸ ਇਸ ਦੇ ਸਾਰੇ /64); ਫਿਰ ਇਸ ਨੂੰ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ 429 ਨਾਲ
Retry-After.
ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਸਿਰਫ Nymbot ਦੇ ਸਵੈ ਸਾਈਟਾਂ ਤੋਂ ਇਹ ਅੰਤਰਰਾਸ਼ਟਰੀ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਕਾਲ ਕਰ ਸਕਦੇ ਹੋ (https://nymbot.ai,
https://nymchat.app ਕਾਪੀਰਾਈਟ © 2018 ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀ
Originਇਸ ਨੂੰ ਨੈੱਟਵਰਕ ਨਹੀਂ ਹੈ.
ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰ nsecਕਾਪੀਰਾਈਟ © 2018 ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰ
ਸਾਡੇ ਉਤਪਾਦ ਜ pricelist ਬਾਰੇ ਪੁੱਛ-ਗਿੱਛ ਲਈ, ਸਾਡੇ ਲਈ ਆਪਣੇ ਈ-ਮੇਲ ਨੂੰ ਛੱਡ, ਕਿਰਪਾ ਕਰਕੇ ਹੈ ਅਤੇ ਸਾਨੂੰ ਸੰਪਰਕ ਵਿੱਚ 24 ਘੰਟੇ ਦੇ ਅੰਦਰ-ਅੰਦਰ ਹੋ ਜਾਵੇਗਾ. 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");
}
ਕਾਪੀਰਾਈਟ
ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਐਪਲੀਕੇਸ਼ਨ ਆਟੋਮੈਟਿਕ Top-Up ਸਥਾਪਨਾ, ਜ
null ਸਰਵਰ ਦੀ ਪੇਸ਼ਕਸ਼ ਨਹੀਂ ਕਰਦਾ ਹੈ.
GET https://nymbot.ai/api/v1/account ਇੱਕ ਦੀ ਲੋੜ ਹੈ ਪ੍ਰਾਈਵੇਟ ਪੋਸਟ.
ਜਵਾਬ
{
"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());
ਪ੍ਰਬੰਧਨ ਕੁੰਜੀਆਂ
ਐਪ ਦੀ ਕੁੰਜੀ ਸੂਚੀ ਦੇ ਪਿੱਛੇ ਅੰਤਮ ਬਿੰਦੂ. ਉਹਨਾਂ ਸਾਰਿਆਂ ਨੂੰ ਇੱਕ ਦੀ ਜ਼ਰੂਰਤ ਹੈ ਪ੍ਰਾਈਵੇਟ ਪੋਸਟਹਰ ਕੂਕੀਜ਼ ਇਸ ਫਾਰਮੈਟ ਵਿੱਚ, ISO 8601 ਵਿੱਚ ਟਾਈਮ ਅਤੇ sats ਵਿੱਚ ਆਕਾਰ ਦੇ ਨਾਲ ਡਾਊਨਲੋਡ ਕੀਤਾ ਗਿਆ ਹੈ:
ਮੁੱਖ 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 ਇੱਕ ਕੁੰਜੀ ਨੂੰ ਪਛਾਣਨ ਲਈ ਕਾਫ਼ੀ ਹੈ ਪਰ ਇਸ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਨਹੀਂ। ਕੁੰਜੀ ਆਪਣੇ ਆਪ ਵਿੱਚ ਸਿਰਫ ਇੱਕ ਵਾਰ ਵਾਪਸ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਜਦੋਂ ਇਹ ਬਣਾਈ ਜਾਂਦੀ ਹੈ।
ਚਿੱਤਰ Key
GET https://nymbot.ai/api/v1/keys ਪੋਸਟ ਕੀਤਾ
| ਫੀਲਡ | ਕਿਸਮ | ਦੀ ਲੋੜ | ਚਿੱਤਰ |
|---|---|---|---|
include_revoked | ਬੂਲੀਅਨ (ਪੁੱਛਗਿੱਛ) | ਕੋਈ | ਸ਼ਾਮਿਲ ਕਰੋ Revoked keys. Default 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 | ਨਿੱਜੀ | ਕੋਈ | ਸਾਡੇ ਉਤਪਾਦ ਜ pricelist ਬਾਰੇ ਪੁੱਛ-ਗਿੱਛ ਲਈ, ਸਾਡੇ ਲਈ ਆਪਣੇ ਈ-ਮੇਲ ਨੂੰ ਛੱਡ, ਕਿਰਪਾ ਕਰਕੇ ਹੈ ਅਤੇ ਸਾਨੂੰ ਸੰਪਰਕ ਵਿੱਚ 24 ਘੰਟੇ ਦੇ ਅੰਦਰ-ਅੰਦਰ ਹੋ ਜਾਵੇਗਾ. |
reset_period | ਸਟੀਲ | ਕੋਈ | daily, weekly ਜਾਂ monthly. ਜ਼ਰੂਰਤਾਂ limit_satsਇਸ ਨੂੰ ਇੱਕ ਟੋਪੀ ਲਈ ਛੱਡ ਦਿਓ ਜੋ ਕਦੇ ਵੀ ਰੀਸੈੱਟ ਨਹੀਂ ਹੁੰਦੀ। |
expire_at | ਸਤਰ ਜਾਂ ਪੂਰਨ ਅੰਕ | ਕੋਈ | ਜਦੋਂ ਕੁੰਜੀ ਕੰਮ ਕਰਨਾ ਬੰਦ ਕਰ ਦਿੰਦੀ ਹੈਃ ਇੱਕ ਆਈ. ਐੱਸ. ਓ. 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 | ਇਸ ਐੱਨ. ਆਈ. ਐੱਮ. ਦੁਆਰਾ 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);
1 ਕੂਕੀਜ਼
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 ਇੱਕ ਖੇਤਰ ਨੂੰ ਸਾਫ਼ ਕਰਦਾ ਹੈਃ ਕੋਈ ਕੈਪ ਨਹੀਂ, ਕੋਈ ਰੀਸੈੱਟ ਨਹੀਂ, ਕੋਈ ਮਿਆਦ ਖਤਮ ਨਹੀਂ। ਰੀਸੈੱਟ ਅਵਧੀ ਨੂੰ ਬਦਲਣਾ ਜ਼ੀਰੋ'ਤੇ ਇੱਕ ਨਵਾਂ ਪੀਰੀਅਡ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ। ਇੱਕ ਰੱਦ ਕੀਤੀ ਕੁੰਜੀ ਨੂੰ ਬਦਲਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ (400 key_revoked) ਵਾਪਸ
{"data": {…}} ਅੱਪਡੇਟ Key Object
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} ਪੋਸਟ ਕੀਤਾ
ਕੁੰਜੀ ਨੂੰ ਤੁਰੰਤ ਬੰਦ ਕਰ ਦਿੰਦਾ ਹੈ, ਚੰਗੇ ਲਈ। ਇਹ ਨਾਲ ਸੂਚੀ ਵਿੱਚ ਰਹਿੰਦਾ ਹੈ 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());
ਐੱਨ. ਡਬਲਿਊ. ਸੀ. ਆਟੋ-ਟਾਪ-ਅੱਪ
ਇੱਕ ਲਾਈਟਨਿੰਗ ਵਾਲਿਟ ਨੂੰ ਨੋਸਟਰ ਵਾਲਿਟ ਕਨੈਕਟ ਨਾਲ ਜੋਡ਼ੋ ਅਤੇ ਜਦੋਂ ਏ. ਪੀ. ਆਈ. ਖਰਚ ਇਸ ਨੂੰ ਘੱਟ ਚਲਾਉਂਦਾ ਹੈ ਤਾਂ ਨਿੰਬੋਟ ਆਪਣੇ ਆਪ ਵਿੱਚ ਇੱਕ ਸੰਤੁਲਨ ਨੂੰ ਵਧਾਉਂਦਾ ਹੈ। ਐਪ ਦੀ ਏ. ਪੀ. ਆਈ. ਸ਼ੀਟ ਵਿੱਚ ਇੱਕੋ ਜਿਹੀਆਂ ਸੈਟਿੰਗਾਂ ਹੁੰਦੀਆਂ ਹਨ; ਇਹ ਇਸ ਦੇ ਪਿੱਛੇ ਦੇ ਅੰਤਮ ਬਿੰਦੂ ਹਨ। ਉਹਨਾਂ ਸਾਰਿਆਂ ਨੂੰ ਇੱਕ ਸੰਤੁਲਨ ਦੀ ਜ਼ਰੂਰਤ ਹੁੰਦੀ ਹੈ। ਪ੍ਰਾਈਵੇਟ ਪੋਸਟ.
ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈਃ ਇੱਕ ਏਪੀਆਈ ਬੇਨਤੀ ਤੋਂ ਬਾਅਦ ਤੁਹਾਡੇ ਦੁਆਰਾ ਵੇਖਣ ਲਈ ਚੁਣੀ ਗਈ ਬਕਾਇਆ ਰਕਮ ਲਈ ਚਾਰਜ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਜੇ ਉਹ ਬਕਾਇਆ ਤੁਹਾਡੀ ਥ੍ਰੈਸ਼ਹੋਲਡ ਤੋਂ ਹੇਠਾਂ ਆ ਗਿਆ ਹੈ, ਤਾਂ ਨਿੰਬੋਟ ਤੁਹਾਡੀ ਟਾਪ-ਅਪ ਰਕਮ ਲਈ ਇੱਕ ਚਲਾਨ ਬਣਾਉਂਦਾ ਹੈ, ਤੁਹਾਡੇ ਬਟੂਏ ਨੂੰ ਇਸ ਦਾ ਭੁਗਤਾਨ ਕਰਨ ਲਈ ਕਹਿੰਦਾ ਹੈ ਅਤੇ ਕ੍ਰੈਡਿਟ ਜੋਡ਼ਦਾ ਹੈ। ਇਹ ਹਰੇਕ ਨਿੰਮ ਅਤੇ ਬਕਾਇਆ ਲਈ ਵੱਧ ਤੋਂ ਵੱਧ ਹਰ 5 ਮਿੰਟ ਵਿੱਚ ਇੱਕ ਵਾਰ ਉੱਪਰ ਉੱਠਦਾ ਹੈ, ਇਸ ਲਈ ਬੇਨਤੀਆਂ ਦਾ ਇੱਕ ਧਮਾਕਾ ਬਟੂਏ ਨੂੰ ਖਤਮ ਨਹੀਂ ਕਰ ਸਕਦਾ। ਐਪਸ ਵਿੱਚ ਖਰਚ ਕਰਨਾ ਇਸ ਨੂੰ ਚਾਲੂ ਨਹੀਂ ਕਰਦਾ। ਆਖਰੀ ਟਾਪ-ਅਪ ਦਾ ਸਮਾਂ ਅਤੇ ਆਕਾਰ, ਅਤੇ ਆਖਰੀ ਗਲਤੀ, ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਹਨ; ਜੇ ਭੁਗਤਾਨ ਇੱਕ ਗਲਤੀ ਤੋਂ ਬਾਅਦ ਹੋਇਆ ਹੈ, ਤਾਂ ਇਸ ਦੇ ਚਲਾਨ ਦੀ ਜਾਂਚ ਕਰੋ ਸਿਖਰ ਦੀ ਸਥਿਤੀ ਇਹ ਕ੍ਰੈਡਿਟ
Nymbot ਇਸ ਨੂੰ ਕ੍ਰੈਡਿਟ ਕੀਤਾ ਹੈ ਅਤੇ ਸਿਰਫ ਕਿਸੇ ਵੀ ਵਾਰ ਇਸ ਨੂੰ ਇਸ ਦੇ ਆਪਣੇ ਆਪ ਹੀ-ਅੱਪ-ਅੱਪ ਫੀਚਰ ਨੂੰ ਭੁਗਤਾਨ ਕਰਨ ਲਈ ਵਰਤਦਾ ਹੈ, ਪਰ ਇਸ ਲਈ ਸਿਰਫ ਇੱਕ ਸੰਪਰਕ ਬਣਾਉਣ ਲਈ, ਆਪਣੇ ਫੇਸਬੁੱਕ ਵਿੱਚ ਇੱਕ ਭੁਗਤਾਨ ਬੁਨਿਆਦ ਦੇ ਨਾਲ, ਇਸ ਲਈ ਸਭ ਨੂੰ ਇਸ ਨੂੰ ਕਿਸੇ ਵੀ ਵਾਰ ਭੁਗਤਾਨ ਕਰ ਸਕਦਾ ਹੈ ਇੱਕ ਨੰਬਰ ਤੁਹਾਨੂੰ ਚੁਣਿਆ ਹੈ. pay_invoice.
ਇੱਕ Wallet ਨੂੰ ਸੰਪਰਕ ਕਰੋ
POST https://nymbot.ai/api/v1/nwc-auto-topup/connect ਪੋਸਟ ਕੀਤਾ
| ਫੀਲਡ | ਕਿਸਮ | ਦੀ ਲੋੜ | ਚਿੱਤਰ |
|---|---|---|---|
nwc_url | ਸਟੀਲ | ਹਾਂ | ਸੰਪਰਕ ਲੰਬਾਈ, ਸ਼ੁਰੂ nostr+walletconnect://. Nymbot ਪੈਕੇਜ ਦੀ ਲੋੜ ਹੈ get_info ਇਸ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਲਈ, ਅਤੇ ਇਸ ਨੂੰ ਕ੍ਰੈਡਿਟ ਕਰਨ ਲਈ. |
threshold_sats | ਨਿੱਜੀ | ਹਾਂ | ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰ |
topup_sats | ਨਿੱਜੀ | ਹਾਂ | ਹਰ ਵਾਰ ਕੀ ਸ਼ਾਮਿਲ ਕਰੋ. 1,000 ਤੋਂ 1,000,000 sats. |
tier | ਸਟੀਲ | ਕੋਈ | pro (ਉਦਾਹਰਨ ਲਈ) or 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); ਫੇਸਬੁੱਕ ਆਪਣੇ ਰੀਲੇਅ 'ਤੇ ਜਵਾਬ ਨਹੀਂ ਕੀਤਾ (nwc_unreachable) ਜ ਚੈੱਕ ਨੂੰ ਰਜਿਸਟਰ ਕੀਤਾ (nwc_rejected); ਲਾਈਨ ਫੀਚਰ ਭੁਗਤਾਨ ਨਾ ਕਰ ਸਕਦਾ ਹੈ (nwc_missing_permission); ਜ ਲਾਈਨ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਦਾ ਆਕਾਰ. |
501 | ਆਟੋਮੈਟਿਕ Top-ups ਇਸ ਸਰਵਰ ਲਈ ਇੰਸਟਾਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ (nwc_unavailable). ਇਹ ਵੀ ਹੋਰ ਦੋ endpoints ਲਈ ਲਾਗੂ ਹੁੰਦਾ ਹੈ. |
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());
ਚੈੱਕ Settings
GET https://nymbot.ai/api/v1/nwc-auto-topup ਪੋਸਟ ਕੀਤਾ
ਫੈਬਰਿਕ ਫੈਬਰਿਕ ਫੈਬਰਿਕ 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 ਪੋਸਟ ਕੀਤਾ
ਕਾਪੀਰਾਈਟ © 2018 ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰ
ਜਵਾਬ
{ "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());
ਭੁਗਤਾਨ ਕਰਨ ਲਈ ਕੋਈ ਸ਼ਿਪਿੰਗ ਨਹੀਂ
ਫਾਰਮੈਟ ਕੀਮਤ endpoints, Lightning 'ਤੇ ਇੱਕ ਵਾਰ ਇੱਕ ਰਜਿਸਟਰ ਲਈ ਭੁਗਤਾਨ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਕੋਈ ਕੁੰਜੀ, ਕੋਈ ਖਾਤੇ ਅਤੇ ਕੋਈ ਬਿਲਡਿੰਗ ਦੇ ਨਾਲ: POST /images/generations, POST /images/edits,
POST /videos, POST /audio/speech, POST /audio/transcriptions,
POST /audio/translations ਅਤੇ POST /embeddingsਗੱਲਬਾਤ, ਜਵਾਬ ਅਤੇ ਸੰਦੇਸ਼ਾਂ ਲਈ ਹਮੇਸ਼ਾ ਇੱਕ ਕੁੰਜੀ ਦੀ ਜ਼ਰੂਰਤ ਹੁੰਦੀ ਹੈ। ਇੱਕ ਬੇਨਤੀ ਜਿਸ ਵਿੱਚ ਇੱਕ ਕੁੰਜੀ ਹੁੰਦੀ ਹੈ, ਨੂੰ ਆਮ ਵਾਂਗ ਬਕਾਇਆ ਬਿੱਲ ਵਿੱਚ ਬਿੱਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ; ਭੁਗਤਾਨ ਦਾ ਪ੍ਰਵਾਹ ਉਦੋਂ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਕੋਈ ਕੁੰਜੀ ਨਹੀਂ ਭੇਜੀ ਜਾਂਦੀ।
Nymbot ਇੱਕ ਹੈ, ਇੱਕ backend: Lightning Labs 'ਤੇ ਇੱਕ ਵੀ ਵਿਚਾਰ ਦੇ ਦੋ ਵਰਜਨ ਦਾ ਦੌਰਾ ਕਰਦਾ ਹੈ
L402 (ਇਸ ਵੀ ਇਸ ਦੇ ਆਧੁਨਿਕ ਨਾਮ 'ਤੇ ਪ੍ਰਾਪਤ ਕੀਤਾ ਗਿਆ ਹੈ, LSAT) ਅਤੇ IETF ਪ੍ਰੋਜੈਕਟ
ਵਿਕਰੀ ਨਾਲ HTTP ਪ੍ਰਮਾਣਿਕਤਾ ਸਕੀਮ lightning ਤਰੀਕੇ ਅਤੇ
charge ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰ
ਭੁਗਤਾਨ ਕਰਨ ਲਈ ਕੋਈ ਕੁੰਜੀ ਨਹੀਂ ਹੈ ਸਿਰਫ ਜਦ API_L402_SECRET ਹੈਕਸ (64 ਅੱਖਰ) ਜਾਂ ਬੇਸ 64 (44) ਦੇ ਰੂਪ ਵਿੱਚ ਘੱਟੋ-ਘੱਟ 32 ਰੈਂਡਮ ਬਾਈਟ ਰੱਖੋ। openssl rand -hex 32. ਇੱਕ ਛੋਟੇ ਜ ਸੰਕਟਕਾਲੀਨ ਕੀਮਤ ਫੀਚਰ ਨੂੰ ਬੰਦ ਕਰਦੀ ਹੈ ਅਤੇ ਇਸ ਲਈ ਲੋਗ ਕਰਦੀ ਹੈ. ਇਸ ਨੂੰ ਤਬਦੀਲ ਕਰਨ ਲਈ, ਆਧੁਨਿਕ ਕੀਮਤ ਨੂੰ API_L402_SECRET_PREVIOUS ਇੱਕ ਦਿਨ ਲਈਃ ਪ੍ਰਮਾਣ ਪੱਤਰ, ਸਥਿਤੀ ਯੂਆਰਐਲ ਅਤੇ ਇਸ ਦੇ ਤਹਿਤ ਕੀਤੀਆਂ ਗਈਆਂ ਚੁਣੌਤੀਆਂ ਉਦੋਂ ਤੱਕ ਕੰਮ ਕਰਦੀਆਂ ਰਹਿੰਦੀਆਂ ਹਨ ਜਦੋਂ ਤੱਕ ਉਨ੍ਹਾਂ ਦੀ ਮਿਆਦ ਖਤਮ ਨਹੀਂ ਹੋ ਜਾਂਦੀ।
ਫੇਸਬੁੱਕ
ਪੋਸਟ ਕਰਨ ਲਈ No Authorization ਸਿਰਲੇਖ। ਜੇ ਇਹ ਸਹੀ ਹੈ, ਤਾਂ ਕੁਝ ਵੀ ਨਹੀਂ ਚੱਲਦਾ, ਅਤੇ ਤੁਸੀਂ ਪ੍ਰਾਪਤ ਕਰਦੇ ਹੋ 402 Payment Required ਇੱਕ ਫੀਚਰ ਦੇ ਨਾਲ, ਜੋ ਕਿ ਖਰੀਦਣ ਦੀ ਕੀਮਤ ਦੀ ਸ਼ੁੱਧਤਾ ਲਈ ਹੈ: ਇੱਕ ਕੁੰਜੀ ਦੀ ਇੱਕ ਵੀ ਕੀਮਤ ਭੁਗਤਾਨ ਕਰੇਗਾ, ਇੱਕ ਮਿਆਰੀ ਕ੍ਰੈਡਿਟ ਲਈ 10 sats ਜ 100 sats ਇੱਕ ਪ੍ਰੋ ਕ੍ਰੈਡਿਟ 'ਤੇ ਤਬਦੀਲ ਕੀਤਾ ਗਿਆ ਹੈ ਅਤੇ ਇੱਕ ਪੂਰਾ sat (ਅਤੇ ਘੱਟੋ ਘੱਟੋ ਘੱਟੋ ਘੱਟ 1 sat, ਅਤੇ ਘੱਟੋ ਘੱਟੋ ਘੱਟੋ ਘੱਟ 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":"..."}}.
ਇੱਕ ਤਜਰਬੇ ਨੂੰ ਆਯੋਜਿਤ ਕੀਤਾ ਗਿਆ ਹੈ endpoint, ਨੂੰ Content-Type (ਇਸ ਦੇ ਮੀਡੀਆ ਦੀ ਕਿਸਮ ਅਤੇ, multipart ਲਈ, ਇਸ ਦੇ ਲੰਬਾਈ) ਅਤੇ SHA-256 ਨੂੰ ਅਸਲ ਸਰੀਰ ਦੇ ਬਾਈਟਸ ਤੁਹਾਨੂੰ ਪੋਸਟ ਕੀਤਾ ਹੈ, ਅਤੇ 15 ਮਿੰਟ ਦੀ ਲੰਬਾਈ ਹੈ. ਭੁਗਤਾਨ ਦੇ ਬਾਅਦ, ਇੱਕੋ ਜਿਹਾ ਰਜਿਸਟਰੇਸ਼ਨ: ਇਹ ਵੀ
Content-Type ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰ/images/edits, /audio/transcriptions, /audio/translations) ਇੱਕੋ ਸੀਮਾ ਦੇ ਨਾਲ ਇੱਕੋ ਮਲਟੀਪਾਰਟ ਬਾਡੀ। ਜ਼ਿਆਦਾਤਰ HTTP ਲਾਇਬ੍ਰੇਰੀਆਂ ਹਰ ਵਾਰ ਇੱਕ ਫਾਰਮ ਨੂੰ ਇੰਕੋਡ ਕਰਨ ਵੇਲੇ ਇੱਕ ਨਵੀਂ ਸੀਮਾ ਚੁਣਦੀਆਂ ਹਨ, ਇਸ ਲਈ ਇਸ ਨੂੰ ਇੱਕ ਵਾਰ ਇੰਕੋਡ ਕਰੋ ਅਤੇ ਉਹਨਾਂ ਬਾਈਟਾਂ ਨੂੰ ਦੋ ਵਾਰ ਭੇਜੋ।
ਸਾਡੇ ਉਤਪਾਦ ਜ pricelist ਬਾਰੇ ਪੁੱਛ-ਗਿੱਛ ਲਈ, ਸਾਡੇ ਲਈ ਆਪਣੇ ਈ-ਮੇਲ ਨੂੰ ਛੱਡ, ਕਿਰਪਾ ਕਰਕੇ ਹੈ ਅਤੇ ਸਾਨੂੰ ਸੰਪਰਕ ਵਿੱਚ 24 ਘੰਟੇ ਦੇ ਅੰਦਰ-ਅੰਦਰ ਹੋ ਜਾਵੇਗਾ. 429 ਨਾਲ Retry-Afterਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰ - ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰ - ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰ - ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰ - ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰ - ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰ - ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰ - ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰ - ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰ - ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰ - ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰ Content-Type ਕੋਈ application/json (ਅਤੇ
multipart/form-data ਕ੍ਰੈਡਿਟ ਲਈ) ਰਜਿਸਟਰ ਕੀਤਾ ਗਿਆ ਹੈ 415 ਅਤੇ ਕੋਈ ਵੀ ਫੀਚਰ ਨਹੀਂ ਪ੍ਰਾਪਤ ਕਰੋ.
ਬਿਲਡਿੰਗ ਦਾ ਕੀਮਤ ਇੰਪੁੱਟ ਵਿੱਚ ਟੈਕਨ ਦੀ ਇੱਕ ਮਿਆਦ ਦੇ ਨਾਲ ਹੈ, ਇੱਕ 1.5× ਮਿਆਦ ਦੇ ਨਾਲ ਹੈ, ਕਿਉਕਿ ਅਸਲ ਕੁੱਲ ਸਿਰਫ ਬਾਅਦ ਜਾਣਿਆ ਗਿਆ ਹੈ. ਤੁਹਾਨੂੰ ਅਸਲ ਵਿੱਚ ਵਰਤਿਆ ਟੈਕਨ ਲਈ ਭੁਗਤਾਨ ਕਰ ਰਹੇ ਹਨ, ਅਤੇ ਭੁਗਤਾਨ ਦਾ ਨਿੱਜੀ ਹਿੱਸਾ ਇੱਕ ਦੇ ਤੌਰ ਤੇ ਵਾਪਸ ਆਉਂਦਾ ਹੈ ਰਿਫੰਡ ਟੋਕਨ.
ਭੁਗਤਾਨ ਭੇਜਣਾ
ਫੀਚਰ ਨੂੰ ਕਿਸੇ ਵੀ 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
Object ਕੋਈ ਬਿਲਡਿੰਗ ਫੇਸਬੁੱਕ ਹੈ: {"payment": "l402", "tier": "pro", "paid_sats": 237,
"charged_sats": 237}ਅਤੇ ਇੱਥੇ ਕੋਈ ਨਹੀਂ ਹੈ X-Nymbot-Balance-Sats header. A request paid with the Payment scheme also gets a Payment-Receipt header (base64url JSON with the challenge id, ਫੀਚਰ hash as reference, status ਅਤੇ
timestamp). ਪੇਸ਼ਾਵਰ ਸਵਾਲ ਕਿਸੇ ਵੀ ਨਾਈਮ ਦੇ ਨਾਲ ਜੁੜਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ, ਇਸ ਲਈ ਉਹ ਸਵਾਲ ਦੀ ਇਤਿਹਾਸ ਵਿੱਚ ਨਿੱਜੀ ਨਹੀਂ ਹੁੰਦੇ ਹਨ.
| ਸਥਿਤੀ | ਕਦਮ |
|---|---|
402 payment_already_used | ਸਾਡੇ ਉਤਪਾਦ ਜ pricelist ਬਾਰੇ ਪੁੱਛ-ਗਿੱਛ ਲਈ, ਸਾਡੇ ਲਈ ਆਪਣੇ ਈ-ਮੇਲ ਨੂੰ ਛੱਡ, ਕਿਰਪਾ ਕਰਕੇ ਹੈ ਅਤੇ ਸਾਨੂੰ ਸੰਪਰਕ ਵਿੱਚ 24 ਘੰਟੇ ਦੇ ਅੰਦਰ-ਅੰਦਰ ਹੋ ਜਾਵੇਗਾ. lnget ਬੁਨਿਆਦ ਨੂੰ ਬੁਨਿਆਦ ਨੂੰ ਬੁਨਿਆਦ ਨੂੰ |
402 payment_mismatch | ਪ੍ਰਮਾਣ ਪੱਤਰ ਇੱਕ ਹੋਰ ਅੰਤਮ ਬਿੰਦੂ ਲਈ ਜਾਰੀ ਕੀਤਾ ਗਿਆ ਸੀ, Content-Type ਜ ਸਰੀਰ ਨੂੰ, ਜ ਇਸ ਸਰੀਰ ਨੂੰ ਹੁਣ ਕੀਮਤ ਤੋਂ ਘੱਟ ਭੁਗਤਾਨ ਕਰਦਾ ਹੈ. ਇਸ ਸਰੀਰ ਦੇ ਲਈ ਇੱਕ ਨਵ ਤਜਰਬਾ ਇਸ ਸਰੀਰ ਦੇ ਨਾਲ ਆਇਆ ਹੈ; ਜੇ ਭੁਗਤਾਨ ਬਹੁਤ ਹੀ ਛੋਟਾ ਸੀ, ਜੇ, ਤੁਹਾਨੂੰ ਭੁਗਤਾਨ ਕੀਤਾ ਗਿਆ ਹੈ, ਜੋ ਕਿ ਇੱਕ ਭੁਗਤਾਨ ਦੇ ਤੌਰ ਤੇ ਭੁਗਤਾਨ ਕੀਤਾ ਗਿਆ ਹੈ ਰਿਫੰਡ ਟੋਕਨ (refund_token ਅਤੇ refund_sats ਸਰੀਰ ਵਿੱਚ ) |
402 payment_expired | ਸਾਡੇ ਉਤਪਾਦ ਜ pricelist ਬਾਰੇ ਪੁੱਛ-ਗਿੱਛ ਲਈ, ਸਾਡੇ ਲਈ ਆਪਣੇ ਈ-ਮੇਲ ਨੂੰ ਛੱਡ, ਕਿਰਪਾ ਕਰਕੇ ਹੈ ਅਤੇ ਸਾਨੂੰ ਸੰਪਰਕ ਵਿੱਚ 24 ਘੰਟੇ ਦੇ ਅੰਦਰ-ਅੰਦਰ ਹੋ ਜਾਵੇਗਾ. ਰਿਫੰਡ ਟੋਕਨ (refund_token ਅਤੇ refund_sats ਸਰੀਰ ਵਿੱਚ), ਇੱਕ ਵਾਰ; ਪ੍ਰਮਾਣ ਪੱਤਰ ਫਿਰ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। |
401 invalid_preimage | ਪ੍ਰੀਇਮੇਜ ਇਨਵੁਆਇਸ ਦੇ ਭੁਗਤਾਨ ਹੈਸ਼ ਨੂੰ ਹੈਸ਼ ਨਹੀਂ ਕਰਦਾ ਹੈ। ਭੁਗਤਾਨ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕੀਤੀ ਗਈ ਹੈ। |
401 invalid_payment_credential | ਇਹ ਕ੍ਰੈਡਿਟ ਫਾਰਮੈਟ ਕੀਤਾ ਗਿਆ ਹੈ, Nymbot ਇਸ ਨੂੰ ਪ੍ਰਦਾਨ ਕਰਨ ਦੇ ਬਾਅਦ ਤਬਦੀਲ ਕੀਤਾ ਗਿਆ ਹੈ, ਜਾਂ Nymbot ਕੋਈ ਵੀ ਫਾਰਮੈਟ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ, ਜੋ ਕਿ ਇੱਕ ਭੁਗਤਾਨ ਹੈਕ ਦਾ ਨਾਮ ਹੈ. ਇੱਕ macaroon ਦੇ ਨਾਲ ਇੱਕ caveat Nymbot ਪਤਾ ਨਹੀ ਹੈ, ਜ ਸੰਕਟਕਾਲੀਨ caveats ਦੇ ਨਾਲ, ਰਜਿਸਟਰ ਕੀਤਾ ਗਿਆ ਹੈ. |
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 ਇੱਕ Lightning ਤਰੀਕੇ ਨਾਲ, ਭੁਗਤਾਨ ਦਾ ਤਜਰਬਾ ਆਪਣੇ ਆਪ ਨੂੰ ਕਰ ਸਕਦੇ ਹੋ; ਉਹ ਅੰਤ ਪਿੰਟ 'ਤੇ ਹੈ ਅਤੇ ਉਹ ਭੁਗਤਾਨ ਕਰ ਸਕਦੇ ਹੋ.
ਵੀਡੀਓ
ਭੁਗਤਾਨ POST /videos ਜਵਾਬ 202 ਇੱਕ keyed one ਦੇ ਤੌਰ ਤੇ, ਪਲੱਸ a
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..."
}
}
ਰੱਖੋ। refund_token ਇਸ ਤਰੀਕੇ ਨਾਲ: ਇਸ ਨੂੰ ਸਿਰਫ ਇੱਥੇ ਪ੍ਰਦਰਸ਼ਿਤ ਕੀਤਾ ਗਿਆ ਹੈ. ਇਸ ਨੂੰ ਬੁਰਸ਼ ਹੈ, ਜਦਕਿ ਵੀਡੀਓ ਰੀਡਿੰਗ (GET /api/v1/l402/refunds ਜਵਾਬ "status": "pending"); ਜੇ ਰੈਂਡਰ ਬਿਨਾਂ ਬਿੱਲ ਦੇ ਫੇਲ੍ਹ ਹੋ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਭੁਗਤਾਨ ਇਸ ਉੱਤੇ ਆ ਜਾਂਦਾ ਹੈ। ਸਥਿਤੀ URL ਦਰਸਾਉਂਦਾ ਹੈ
refund_sats ਇੱਕ ਤਬਦੀਲ ਕਰੀਏ ਲਈ, ਪਰ ਕੋਈ ਵੀ ਟੈਕਨ ਨੂੰ, ਇਸ ਲਈ ਸਥਿਤੀ URL ਨੂੰ ਹਿੱਸਾ ਲੈਣ ਲਈ ਇੱਕ ਤਬਦੀਲ ਕਰੀਏ ਨੂੰ ਹਿੱਸਾ ਲੈਣ ਲਈ ਨਹੀਂ ਹੈ. ਟੈਕਨ ਨੂੰ ਚੈੱਕ ਕਰਨ ਲਈ ਵੀ ਇੱਕ ਤਬਦੀਲ ਕਰੀਏ ਨੂੰ ਹਿੱਸਾ ਲੈਣ ਲਈ ਹੈ, ਜੋ ਕਿ ਕੋਈ ਵੀ ਖੋਜ ਕੀਤਾ ਗਿਆ ਸੀ.
ਫੀਚਰ
ਜੇ ਇੱਕ ਭੁਗਤਾਨ ਦੀ ਸਹਾਇਤਾ ਤਬਦੀਲ ਕੀਤਾ ਗਿਆ ਹੈ ਅਤੇ ਸਪਲਾਇਰ ਤਬਦੀਲ ਕਰਨ ਲਈ 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"
}
}
ਨੈੱਟਵਰਕ ਹਿੱਸੇ ਨੂੰ ਇੱਕ ਵੀ ਤਰੀਕੇ ਨਾਲ ਅੱਗੇ ਪ੍ਰਾਪਤ ਕਰੋ: ਜੇ ਤੁਸੀਂ ਦੋ ਚਿੱਤਰ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰ ਰਹੇ ਹੋ ਅਤੇ ਇੱਕ ਨੈੱਟਵਰਕ ਨਹੀਂ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਸਫਲਤਾ ਦਾ ਜਵਾਬ nymbot ਆਟੋਮੈਟਿਕ ਡਿਸਪਲੇਅ ਨੂੰ ਇੱਕ ਭੁਗਤਾਨ ਟੈਕਨ ਹੈ, ਜੋ ਕਿ ਇੱਕ ਭੁਗਤਾਨ ਟੈਕਨ ਹੈ; ਇੱਕ ਟੈਕਨ ਹੈ, ਜੋ ਕਿ ਲੰਬਾਈ ਅੱਗੇ ਚੈੱਕ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਜੋ ਕਿ ਲੰਬਾਈ ਹੈ, ਫਾਇਲ ਦੀ ਲੰਬਾਈ ਦੇ ਤੌਰ ਤੇ ਕੀਮਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ (ਕੁਜੇ ਵੀ 30 ਮਿੰਟ ਵੱਧ ਹੈ), ਅਤੇ ਭੁਗਤਾਨ ਟੈਕਨ ਦੇ ਤੌਰ ਤੇ ਭੁਗਤਾਨ ਟੈਕਨ ਹੈ, ਜੋ ਕਿ ਭੁਗਤਾਨ ਟੈਕਨ ਹੈ; ਜੇ ਇਸ ਨੂੰ 30 ਮਿੰਟ ਵੱਧ ਹੈ, ਤਾਂ ਇਸ ਨੂੰ ਭੁਗਤਾਨ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ. 413
ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ
ਇੱਕ ਤਬਦੀਲੀ ਟੈਕਨ ਇੱਕ ਤਬਦੀਲੀ 256-ਬਿੱਟ ਕੋਡ ਹੈ. Nymbot ਸਿਰਫ ਇਸ ਦੇ ਹੈਸ਼ ਨੂੰ ਸਟੋਰੇਜ਼ ਕਰਦੀ ਹੈ, ਅਤੇ ਇਸ ਨੂੰ 30 ਦਿਨ ਦੇ ਬਾਅਦ ਤਬਦੀਲ ਕਰਦੀ ਹੈ. ਇਹ ਇੱਕ ਸਟੀਟ ਬਾਲਗ ਹੈ, ਅਤੇ ਤੁਹਾਨੂੰ ਕਰ ਸਕਦੇ ਹੋ:
- ਇਸ ਦੇ ਨਾਲ ਭੁਗਤਾਨ. ਭੇਜੋ।
Authorization: Bearer REFUND-…ਉੱਪਰ ਦਿੱਤੇ ਕਿਸੇ ਵੀ ਅੰਤਮ ਬਿੰਦੂ ਉੱਤੇ (ਇੱਕ ਓਪਨਏਆਈ ਐੱਸਡੀਕੇ ਇਸ ਨੂੰ ਆਪਣੀ ਏਪੀਆਈ ਕੁੰਜੀ ਵਜੋਂ ਲੈਂਦਾ ਹੈ)। ਕੀਮਤ ਟੋਕਨ ਤੋਂ ਆਉਂਦੀ ਹੈ ਅਤੇ ਜੋ ਬਚਿਆ ਹੈ ਉਹ ਇਸ ਉੱਤੇ ਰਹਿੰਦਾ ਹੈ (refund_token_satsਬਾਲਗnymbotਆਬਜੈਕਟ). ਬੇਨਤੀ ਦੇ ਜਵਾਬਾਂ ਨਾਲੋਂ ਘੱਟ ਮੁੱਲ ਦਾ ਇੱਕ ਟੋਕਨ402refund_insufficientਇੱਕ ਬੇਲੋਡ਼ੀ ਅਸਫਲਤਾ ਸੈਟਸ ਨੂੰ ਉਸੇ ਟੋਕਨ ਉੱਤੇ ਵਾਪਸ ਰੱਖਦੀ ਹੈ। - ਇਸ ਨੂੰ ਚੈੱਕ
GET /api/v1/l402/refundsਇੱਕੋ ਸਿਰਲੇਖ ਨਾਲ ਵਾਪਸ ਆਉਂਦਾ ਹੈ{"sats": 237, "status": "open", "expires_at": "..."}. - ਇੱਕ ਟੋਕਨ ਇੱਕ ਮਿੰਟ ਵਿੱਚ ਵੱਧ ਤੋਂ ਵੱਧ 60 ਵਾਰ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ।
- ਇਸ ਨੂੰ ਇੱਕ ਐੱਨ. ਆਈ. ਐੱਮ. ਉੱਤੇ ਲੈ ਜਾਓ। ਪੇਸਟ ਕਰੋ ਇੱਕ ਤੋਹਫ਼ਾ ਪ੍ਰਾਪਤ ਕਰੋ ਨਿੰਬੋਟ ਐਪ ਵਿੱਚ, ਜਾਂ ਕਾਲ ਕਰੋ
POST /api/v1/l402/refunds/redeemਇੱਕ ਦੇ ਨਾਲ ਪ੍ਰਾਈਵੇਟ ਪੋਸਟ ਅਤੇ{"refund_token": "REFUND-...", "balance": "standard"}(ਅਤੇ"pro"ਕ੍ਰੈਡਿਟ ਕ੍ਰੈਡਿਟ ਬਿਲਡਿੰਗ ਲਈ ਜਾ ਰਿਹਾ ਹੈ (10 ਸਟਾਸ, ਪ੍ਰੋ ਲਈ 100); ਸਟਾਸ, ਜੋ ਕਿ API ਸਵਾਲਾਂ ਲਈ ਟੈਕਨ ਤੇ ਇੱਕ ਪੂਰੀ ਕ੍ਰੈਡਿਟ ਬਿਲਡਿੰਗ ਨਹੀਂ ਕਰਦੀ ਹੈ.
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 } }