Liaविकासकर्ता

सर्वर संदर्भ

अपने एप्प के अपने सर्वर कॉल के साथ API। सत्र की पुष्टि करें, उत्पादों की सूची, पुष्टि, वितरण और रिफंड चार्ज करें, अपने पूल से पुरस्कार भुगतान करें, सूचनाएं भेजें, विज्ञापन जांचें और सार्वजनिक तालिकाएं सूचीबद्ध करें।

#बुनियादी बातें

आधार एड्रेसhttps://api.lialabs.org/api/apps/v1
प्रमाणीकरणAuthorization: Bearer <your key>, आपका परीक्षण कुंजी (lia_test_…या लाइव कुंजी (lia_live_…)
शरीरJSON, साथ में Content-Type: application/json
राशि$LIA में, संख्याओं के रूप में, 6 दशमलव स्थानों तक
समयसे मिलीसेकंड 1970 (UTC)

केवल अपने सर्वर से इसे कॉल करें। आपकी कुंजी एक रहस्य है: इसे कभी भी अपने पृष्ठ में न डालें।

curl https://api.lialabs.org/api/apps/v1/pool \
  -H "Authorization: Bearer $LIA_KEY"

नीचे दिए गए उदाहरणों में उपयोग किया जाने वाला एक छोटा सहायक:

lia.js
const LIA = "https://api.lialabs.org/api/apps/v1";

export async function lia(method, path, body) {
  const res = await fetch(LIA + path, {
    method,
    headers: { Authorization: `Bearer ${process.env.LIA_KEY}`, "Content-Type": "application/json" },
    body: body === undefined ? undefined : JSON.stringify(body),
  });
  const data = await res.json();
  if (!res.ok) throw Object.assign(new Error(data.error), { status: res.status, data });
  return data;
}

#कुंजी और मोड

एक कुंजी केवल अपने एप्प को देखती है, और केवल अपने ही मोड: परीक्षण कुंजी परीक्षण सत्र, भुगतान, खिलाड़ी और विज्ञापन देखती है; लाइव कुंजी लाइव वालों को देखती है। किसी अन्य मोड से कुछ भी not_found (या valid: false. देखें परीक्षण और जीवंत.

#त्रुटियां

त्रुटियां 4xx स्थिति के साथ उत्तर देती हैं और एक बॉडी के साथ error कोड, कभी-कभी अधिक क्षेत्रों के साथ:

{ "error": "pool_empty", "pool": 3.5 }
स्थितिकोडजब
401bad_keyकोई कुंजी, गलत आकार की कुंजी, अज्ञात कुंजी, जब आपका एप नहीं है'लाइव नहीं है, या इसके दौरान कोई भी कुंजी दबाएं'आपके रोक दिया गया है।

प्रत्येक एंडपॉइंट अपनी सूची रखता है। प्रत्येक कोड अपने अंदर होता है त्रुटि कोड.

#सत्र

#POST/session/verify

# Set LIA_KEY on your server. Reuse Idempotency-Key only for the same request.
curl --request POST 'https://api.lialabs.org/api/apps/v1/session/verify' \
  --header "Authorization: Bearer $LIA_KEY" \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: example-request-1' \
  --data-raw '{
  "session": "lias_example_session"
}'
प्लेयग्राउंड में खोलें

एक सत्र टोकन की जांच करता है Lia.init() या Lia.session(), और आपको बताता है कि यह किसका है।

POST /api/apps/v1/session/verify
Authorization: Bearer lia_live_…
Content-Type: application/json

{ "session": "lias_eyJhcHAiOi…" }
क्षेत्रप्रकार
sessionस्ट्रिंगपृष्ठ से टोकन।

उत्तर 200 किसी भी तरह से:

{ "valid": true, "playerId": "p_3f9c0a6d1b2e4f5a6b7c", "mode": "live", "exp": 1761998400000 }
{ "valid": false }

एक टोकन तब वैध होता है जब Lia द्वारा हस्ताक्षरित किया गया होता है, यह'के लिए आपके एप्स और आपके कुंजी'मोड, और यह नहीं है'तब समाप्त हो गया है (जब इसे बनाया गया था 15 मिनट बाद)।

#उत्पाद

#GET/products

# Set LIA_KEY on your server. Reuse Idempotency-Key only for the same request.
curl --request GET 'https://api.lialabs.org/api/apps/v1/products' \
  --header "Authorization: Bearer $LIA_KEY"
प्लेयग्राउंड में खोलें

जो आपके एप से बेचा जाता है, Lia में कीमतों पर'के रिकॉर्ड। केवल सक्रिय उत्पाद, सबसे सस्ता पहले।

{
  "products": [
    { "id": "extra-lives", "name": "3 extra lives", "price": 5, "active": true },
    { "id": "gold-pack", "name": "Gold pack", "price": 25, "active": true }
  ]
}

#शुल्क

एक चार्ज Lia पर एक भुगतान है'के पेमेंट शीट। देखें भुगतान.

शुल्क ऑब्जेक्ट:

क्षेत्रप्रकार
idस्ट्रिंगपसंद करें ch_9b1f….
playerIdस्ट्रिंगकौन भुगतान करता है।
productIdस्ट्रिंगजिसके लिए वे भुगतान करते हैं।
amountसंख्याजिसके लिए वे भुगतान करते हैं, $LIA में।
statusस्ट्रिंगpaid, delivered या refunded.
modeस्ट्रिंगtest या live.
createdAtसंख्याजब यह भुगतान किया गया था।
deliveredAtसंख्या या nullजब आपने इसे डिलीवर कर दिया।
refundedAtसंख्या या nullजब यह वापस कर दिया गया था।

#GET/charges/:id

# Set LIA_KEY on your server. Reuse Idempotency-Key only for the same request.
curl --request GET 'https://api.lialabs.org/api/apps/v1/charges/id_example' \
  --header "Authorization: Bearer $LIA_KEY"
प्लेयग्राउंड में खोलें

क्या यह शुल्क वास्तविक, भुगतान किया गया है और किसका है? डिलीवर करने से पहले हमेशा यहां जांचें: कभी भी पृष्ठ को ले लो'या एक वेबहुक'राज्य के लिए शब्द।

{
  "charge": {
    "id": "ch_9b1f4c2e7a0d5b8f3e6a1c4d",
    "playerId": "p_3f9c0a6d1b2e4f5a6b7c",
    "productId": "extra-lives",
    "amount": 5,
    "status": "paid",
    "mode": "live",
    "createdAt": 1761998400000,
    "deliveredAt": null,
    "refundedAt": null
  }
}
स्थितिकोडजब
404not_foundआपके कुंजी में आपके एप के लिए कोई शुल्क नहीं'मोड।

#POST/charges/:id/deliver

# Set LIA_KEY on your server. Reuse Idempotency-Key only for the same request.
curl --request POST 'https://api.lialabs.org/api/apps/v1/charges/id_example/deliver' \
  --header "Authorization: Bearer $LIA_KEY" \
  --header 'Idempotency-Key: example-request-1'
प्लेयग्राउंड में खोलें

एक भुगतान वितरित करता है, जब आप'आपने व्यक्ति को जो वे खरीदे थे, दे दिया। दोहराने के लिए सुरक्षित: डिलीवर किए गए चार्ज को डिलीवर करना कुछ भी नहीं बदलता है और एक ही उत्तर देता है। कोई भी शरीर नहीं।

{ "charge": { "id": "ch_9b1f…", "status": "delivered", "deliveredAt": 1761998405000, "…": "…" } }
स्थितिकोडजब
404not_foundआपके कुंजी में कोई शुल्क नहीं'मोड।
409refundedइसे वापस कर दिया गया था, इसलिए नहीं'तब इसे डिलीवर करें। शरीर में इसके साथ है charge भी।

#POST/charges/:id/refund

# Set LIA_KEY on your server. Reuse Idempotency-Key only for the same request.
curl --request POST 'https://api.lialabs.org/api/apps/v1/charges/id_example/refund' \
  --header "Authorization: Bearer $LIA_KEY" \
  --header 'Idempotency-Key: example-request-1'
प्लेयग्राउंड में खोलें

जब आप उसे वापस कर सकते हैं, तो $LIA को व्यक्ति को वापस कर दें।'तब वे खरीदे गए चीजों को डिलीवर करें। भुगतान या डिलीवर किए गए शुल्क पर काम करता है। दोहराना सुरक्षित है: एक वापसी शुल्क की वापसी इसके साथ उत्तर देता है और कुछ अधिक भुगतान नहीं करता। कोई शरीर नहीं।

{ "charge": { "id": "ch_9b1f…", "status": "refunded", "refundedAt": 1761998410000, "…": "…" } }

पूरी कीमत वापस व्यक्ति को जाती है'अपने बैलेंस, लाइव मोड में, Lia से बाहर'आपके हिस्सा और आपका हिस्सा। एक charge.refunded वेबहुक भेजा गया।

स्थितिकोडजब
404not_foundआपके कुंजी में कोई शुल्क नहीं'मोड।

#पुरस्कार

देखो पुरस्कार जमा.

#POST/rewards

# Set LIA_KEY on your server. Reuse Idempotency-Key only for the same request.
curl --request POST 'https://api.lialabs.org/api/apps/v1/rewards' \
  --header "Authorization: Bearer $LIA_KEY" \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: example-request-1' \
  --data-raw '{
  "playerId": "player_example",
  "amount": 1,
  "key": "reward-example-1",
  "reason": "Level completed"
}'
प्लेयग्राउंड में खोलें

अपने एप्स से खिलाड़ी को भुगतान करता है'के पुरस्कार पूल, प्रति कुंजी।

POST /api/apps/v1/rewards
Authorization: Bearer lia_live_…
Content-Type: application/json

{
  "playerId": "p_3f9c0a6d1b2e4f5a6b7c",
  "amount": 25,
  "key": "tournament-2026-11-01:p_3f9c0a6d1b2e4f5a6b7c",
  "reason": "Weekly tournament, 1st place"
}
क्षेत्रप्रकार
playerIdस्ट्रिंगभुगतान करने वाला खिलाड़ी।
amountसंख्या$LIA में, 0 से अधिक और अधिकतम 10,000, से 6 दशमलव स्थान।
keyस्ट्रिंगआपका, 1 से 128 अक्षर, अंक, _, ., : और -. एक कुंजी एक बार भुगतान करती है, हमेशा के लिए। इसके बिना, दुनिया में Idempotency-Key हैडर का उपयोग किया जाता है।
reasonस्ट्रिंगवैकल्पिक, अधिकतम 80 अक्षर (लंबा काट दिया जाता है)। खिलाड़ी में दिखाया जाता है'से अपने एप्लिकेशन के नीचे गतिविधि'अपना नाम।

भुगतान:

{ "status": "paid", "amount": 25, "pool": 975 }

समान कुंजी फिर से कुछ नहीं भुगतान करती है और पहले वाले द्वारा भुगतान किए गए के बराबर उत्तर देती है:

{ "status": "duplicate", "amount": 25, "pool": 975 }

pool क्या है'आपके पूल में बचा हुआ है। परीक्षण मोड में पुरस्कार केवल कल्पना है: पूल नहीं है'तेज उपयोग किया गया है और दैनिक सीमा नहीं't लागू करें।

स्थितिकोडजब
400bad_amountamount नहीं't 0 से ऊपर एक संख्या और 10,000. तक
400bad_key_fieldkey कमी है या सही आकार में नहीं है।
404unknown_playerआपके एप में कोई ऐसा खेलकर आईडी नहीं।
409pool_emptyपूल नहीं है'तब रखें amount. शरीर में pool, क्या'बचा हुआ।
429daily_limitयह खिलाड़ी आपके एप्प के पार ले जाएगा'के दैनिक सीमा प्रति खिलाड़ी (में $LIA, प्रति UTC दिन)। शरीर है dailyCapPerPlayer.

A reward.paid हर पुरस्कार के लिए वेबहुक भेजा जाता है (डुप्लिकेट के लिए नहीं)।

#GET/pool

# Set LIA_KEY on your server. Reuse Idempotency-Key only for the same request.
curl --request GET 'https://api.lialabs.org/api/apps/v1/pool' \
  --header "Authorization: Bearer $LIA_KEY"
प्लेयग्राउंड में खोलें

क्या'आपके पुरस्कार पूल में बचा हुआ है, और एक दिन में एक खिलाड़ी इससे अधिकतम क्या प्राप्त कर सकता है।

{ "balance": 975, "dailyCapPerPlayer": 50, "mode": "live" }

dailyCapPerPlayer है 0 जब वहां'कोई दैनिक सीमा नहीं। balance है लाइव पूल, जब आप अपने परीक्षण कुंजी के साथ पूछते हैं तो भी।

#अपडेट

देखो अपडेट.

#POST/notifications

# Set LIA_KEY on your server. Reuse Idempotency-Key only for the same request.
curl --request POST 'https://api.lialabs.org/api/apps/v1/notifications' \
  --header "Authorization: Bearer $LIA_KEY" \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: example-request-1' \
  --data-raw '{
  "playerId": "player_example",
  "text": "Ready for another round?",
  "startParam": "round_2"
}'
प्लेयग्राउंड में खोलें

एक खिलाड़ी को जिसने उन्हें अनुमति दी है। यह आपके एप के नीचे दिखाई देता है'अपना नाम खोलता है आपके साथ अपने startParam.

POST /api/apps/v1/notifications
Authorization: Bearer lia_live_…
Content-Type: application/json

{ "playerId": "p_3f9c0a6d1b2e4f5a6b7c", "text": "It's your move against @amara.", "startParam": "match-8k2d" }
क्षेत्रप्रकार
playerIdस्ट्रिंगकिसे सूचित करें।
textस्ट्रिंग1 से 180 अक्षर। अंतराल और नई पंक्तियां एकल अंतराल बन जाते हैं। कोई लिंक, फोन नंबर या धोखाधड़ी में उपयोग किए गए शब्द नहीं।
startParamस्ट्रिंगवैकल्पिक। 1 से 64 अक्षर, अंक, _ और -. आपकी पृष्ठ इसे बाहर से पढ़ती है Lia.startParam.

भेजा गया:

{ "sent": true, "pushed": true }

pushed है false जब यह Lia तक पहुंचा'अपने घंटी लेकिन फोन नहीं (व्यक्ति के पास Lia है'के बाहर बंद कर देता है।

स्थितिकोडजब
400bad_textखाली, बहुत लंबा, या अनुमति नहीं है। जब यह'राज्य के टेक्स्ट के अनुसार, problem है link, phone या scam.
400bad_start_paramstartParam नहीं'तब सही आकार में।
403notifications_offआपके एप्प को नोटिफिकेशन भेजने की अनुमति नहीं हो सकती है (इसकी दैनिक संख्या 0 है।)
403not_allowedइस खिलाड़ी के पास नहीं है't आपके एप्प के लिए अनुमति दी गई है'सूचनाएं, या उन्हें रोक दिया गया।
404unknown_playerआपके कुंजी में कोई ऐसा खेलकर आईडी नहीं, या नहीं है'मोड तक पहुंचता है (एक परीक्षण कुंजी केवल आपके परीक्षकों तक पहुंचती है)।
429rate_limitedएक सीमा पहुंच गई। आपके एप्प के लिए'अपनी सीमा शरीर में है retryAt, जब आप पुनः प्रयास कर सकते हैं।

#विज्ञापन

देखो विज्ञापन.

#POST/ads/verify

# Set LIA_KEY on your server. Reuse Idempotency-Key only for the same request.
curl --request POST 'https://api.lialabs.org/api/apps/v1/ads/verify' \
  --header "Authorization: Bearer $LIA_KEY" \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: example-request-1' \
  --data-raw '{
  "adId": "ad_example"
}'
प्लेयग्राउंड में खोलें

क्या यह विज्ञापन वास्तव में देखा गया था, और किसने देखा? प्रोत्साहित वीडियो के लिए कुछ भी देने से पहले जांचें।

POST /api/apps/v1/ads/verify
Authorization: Bearer lia_live_…
Content-Type: application/json

{ "adId": "ad_8e1c4b0f2a9d47c6b3e15a07" }
{ "adId": "ad_8e1c4b0f2a9d47c6b3e15a07", "playerId": "p_3f9c0a6d1b2e4f5a6b7c", "format": "rewarded", "watched": true, "watchedAt": 1761998400000 }
क्षेत्रप्रकार
adIdस्ट्रिंगआईडी से Lia.showAd().
playerIdस्ट्रिंगखिलाड़ी जिसे दिखाया गया था। इसकी जांच करें'राज्य के एक पूछता है।
formatस्ट्रिंग या नल"rewarded", "rewardedInterstitial", "interstitial", "banner" या "native" (SDK 1.7 से पहले विज्ञापनों के लिए शून्य)। केवल "rewarded" और "rewardedInterstitial" एक पुरस्कार के बराबर हैं।
watchedबूलियनअंत तक देखा गया (या, एक इंटरसिशियल, बैनर या नैविव विज्ञापन के लिए, दिखाया गया)।
watchedAtसंख्या या nullजब

एक टेस्ट मोड वाले विज्ञापन में जिस मोड में विज्ञापन दिखाया गया था उसके कुंजी के साथ: हमेशा गूगल में से एक'राज्य परीक्षण विज्ञापन, कमाई के लिए गिने नहीं जाते) है not_found लाइव कुंजी के लिए।

Lia कर सकता है नहीं'आप इसे सत्यापित करते समय एक विज्ञापन को उपयोग किया गया चिह्नित करें, इसलिए प्रत्येक के लिए भुगतान करें adId अपने आप के लिए (उपयोग करें ad:<adId> पुरस्कार कुंजी के रूप में।

स्थितिकोडजब
404not_foundआपके कुंजी में आपके एप के लिए कोई विज्ञापन नहीं'मोड।

#लॉबी

सार्वजनिक टेबल जो कोई भी Lia पर पाएगा। Lia केवल सूची रखता है: आपका सर्वर टेबल चलाता है। देखें सार्वजनिक टेबल.

तालिका ऑब्जेक्ट:

क्षेत्रप्रकार
idस्ट्रिंगआपकी तालिका'आईडी।
gameस्ट्रिंगआपका एप्प'आईडी।
hostवस्तु{ name }: होस्ट'से Lia उपयोगकर्ता नाम।
seats, takenसंख्यासभी में सीटें, और ले लिए गए।
titleस्ट्रिंग या नलसभी लोगों द्वारा Lia पर पढ़े गए जैसे फ़िल्टर किया गया।
stake, potसंख्याLIA में, दिखाने के लिए।
createdAt, expiresAtसंख्या

#POST/lobby/tables

# Set LIA_KEY on your server. Reuse Idempotency-Key only for the same request.
curl --request POST 'https://api.lialabs.org/api/apps/v1/lobby/tables' \
  --header "Authorization: Bearer $LIA_KEY" \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: example-request-1' \
  --data-raw '{
  "tableId": "table_example",
  "hostPlayerId": "player_example",
  "seats": 2,
  "taken": 1,
  "title": "A friendly game",
  "stake": 1,
  "pot": 1,
  "expiresIn": 1800
}'
प्लेयग्राउंड में खोलें

एक टेबल की सूची जो'राज्य खिलाड़ियों की प्रतीक्षा कर रहा है, या इसकी सूची अपडेट करता है (यह सूची में अपनी जगह बनाए रखता है)। जब भी इसकी सीटें बदलती हैं, इसे फिर से सूचीबद्ध करें।

{ "tableId": "t8k2d", "hostPlayerId": "p_3f9c0a6d1b2e4f5a6b7c", "seats": 2, "taken": 1, "title": "Quick game", "stake": 5, "expiresIn": 900 }
क्षेत्रप्रकार
tableIdस्ट्रिंगआपका, 1 से 57 अक्षर, अंक, _ और - या इतना छोटा हो कि startParam में फिट हो जाए lobby-<id>).
hostPlayerIdस्ट्रिंगखिलाड़ी होस्टिंग कर रहा है।
seatsसंख्यावैकल्पिक। 2 से 10, 2 डिफ़ॉल्ट।
takenसंख्यावैकल्पिक। सीटें भर गई हैं, होस्ट'शामिल हैं: 1 से seats, 1 डिफ़ॉल्ट के रूप में।
titleस्ट्रिंगवैकल्पिक, अधिकतम 40 अक्षर।
stake, potसंख्यावैकल्पिक। LIA में, 0 से 10,000, केवल सूची में दिखाए जाते हैं। Lia है'तब इन्हें रखें या ले जाएं: अपने उत्पाद के साथ चार्ज स्टेक।
expiresInसंख्यावैकल्पिक। सूची के अवधि के सेकंड, 60 से 3600, 1800 डिफ़ॉल्ट।
{ "listed": true, "tableId": "t8k2d", "seats": 2, "taken": 1, "expiresAt": 1761999300000 }

जब taken पहुंचता है seats, तालिका सूची से बाहर ले ली जाती है, और उत्तर है { "listed": false }.

स्थितिकोडजब
400bad_table_id, bad_seats, bad_taken, bad_title, bad_amount, bad_expires_inएक क्षेत्र नहीं है'तब फिट हो जाए।
404unknown_playerआपके एप में कोई ऐसा होस्ट नहीं है।
429too_many_tablesहोस्ट के पास आपके एप्प में 3 खुले टेबल हैं। बॉडी में है max.

#GET/lobby/tables

# Set LIA_KEY on your server. Reuse Idempotency-Key only for the same request.
curl --request GET 'https://api.lialabs.org/api/apps/v1/lobby/tables' \
  --header "Authorization: Bearer $LIA_KEY"
प्लेयग्राउंड में खोलें

आपका एप्प'आपके कुंजी में खुले टेबल'मोड, नवीनतम पहले, अप से 200: प्रत्येक होस्ट'लिखता है, ब्लॉक्स के साथ छोड़ दिया गया (जिसके लिए'के लिए प्रति खिलाड़ी'अपने दृष्टिकोण)।

{ "tables": [{ "id": "t8k2d", "game": "your-app", "host": { "name": "amara" }, "seats": 2, "taken": 1, "title": "Quick game", "stake": 5, "pot": 0, "createdAt": 1761998400000, "expiresAt": 1761999300000 }] }

#POST/lobby/tables/:id/sit

# Set LIA_KEY on your server. Reuse Idempotency-Key only for the same request.
curl --request POST 'https://api.lialabs.org/api/apps/v1/lobby/tables/id_example/sit' \
  --header "Authorization: Bearer $LIA_KEY" \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: example-request-1' \
  --data-raw '{
  "playerId": "player_example"
}'
प्लेयग्राउंड में खोलें

अपने सर्वर द्वारा उन्हें आमंत्रित करने से पहले एक सूचीबद्ध मेज पर एक खिलाड़ी को बैठाता है। Lia अक्सर ब्लॉक किए गए लोगों या जिन्होंने मेजबान को ब्लॉक किया है, उन्हें अस्वीकृत कर देता है। जब अंतिम सीट ले ली जाती है, तो मेज सूची से बाहर हो जाती है।

{ "playerId": "p_8a1e0c4d2b7f9e3a5c6d" }
{ "seated": true, "taken": 2, "seats": 2, "full": true }
स्थितिकोडजब
404unknown_playerआपके एप में कोई ऐसा खेलकर आईडी नहीं।
404not_foundतालिका नहीं है'अस्तित्व में नहीं है, समाप्त हो गया है, या होस्ट और खिलाड़ी एक दूसरे को ब्लॉक कर दिया है।
409fullहर सीट ली गई है।
409own_tableखिलाड़ी होस्ट है।

#DELETE/lobby/tables/:id

# Set LIA_KEY on your server. Reuse Idempotency-Key only for the same request.
curl --request DELETE 'https://api.lialabs.org/api/apps/v1/lobby/tables/id_example' \
  --header "Authorization: Bearer $LIA_KEY" \
  --header 'Idempotency-Key: example-request-1'
प्लेयग्राउंड में खोलें

जब इसका खेल शुरू होता है या बंद होता है तो एक तालिका सूची से बाहर आ जाती है। दोहराना सुरक्षित है।

{ "removed": true }

removed है false जब यह नहीं है'अस्तित्व में नहीं है।

#पुनः प्रयास कर रहा है

एक भेजें Idempotency-Key हर POST, और उसी एक के साथ प्रत्येक पुनः प्रयास पर। एक पुनः प्रयास फिर कभी-भी कुछ भी दो बार नहीं करता है, और पहले मामले के समान जवाब देता है।

POST /api/apps/v1/notifications
Authorization: Bearer lia_live_…
Content-Type: application/json
Idempotency-Key: 6f1c2a9e-0b7d-4c35-9e1a-2d8f4b7c3a10

{ "playerId": "p_3f9c0a6d1b2e4f5a6b7c", "text": "It's your move." }
  • कोई भी कुंजी जो आप चाहें, 1 अक्षर, अंक, से 128 _, -, . और :. प्रत्येक ऑपरेशन के लिए एक UUID सही है।
  • पहला अनुरोध चल रहा है। अगर यह सफल होता है (2xx), तो इसका उत्तर 24 घंटे के लिए रखा जाता है, और उसी कुंजी और उसी शरीर के साथ एक पुनः प्रयास उसी उत्तर के साथ फिर से मिलता है, हेडर के साथ Idempotent-Replayed: true.
  • एक अस्वीकृति कुछ भी नहीं रखती (4xx या 5xx), इसलिए आप कारण को ठीक कर सकते हैं और उसी कुंजी के साथ पुनः प्रयास कर सकते हैं।
  • अलग बॉडी के साथ एक ही कुंजी है 422 idempotency_key_reused.
  • पहले के साथ एक ही कुंजी जब तक वह अभी भी चल रहा है है 409 idempotency_key_in_use साथ में Retry-After: 1. पुनः प्रयास करें, और आपको पहला मिलता है'उत्तर।
  • कुंजी आपके एप्प हैं'अपना, और जीवित और परीक्षण अपने अलग-अलग रखते हैं। दूसरे एंडपॉइंट पर एक ही कुंजी एक अन्य कुंजी है।

हेडर के बिना, अधिकांश एंडपॉइंट अभी भी पुनः प्रयास करने के लिए सुरक्षित हैं: पढ़ना कुछ भी बदल नहीं सकता, डिलीवरिंग और रिफंड करना दोहराने के लिए सुरक्षित है, और पुरस्कार प्रति key. सूचनाएं अपवाद हैं: हेडर के बिना, एक पुनः प्रयास सूचना फिर से भेजता है।

स्वचालित अनुवाद। अंग्रेजी सत्य का स्रोत है। अंग्रेजी में पढ़ें

किसी भी पृष्ठ, विधि और एंडपॉइंट के लिए खोजने के लिए प्रकार।