Makosa ya serikali
Serikali API
Kutuma mstereani
Kundi la API unapewa kwenye mgonjwa wako mwenyewe kwa kifuniko chao cha siri. Thibitisha mizani, onyesha mizani, kuthibitisha, kuzalisha na kuzalisha kifuniko, kuzalisha mali kutoka kwa kifuniko chako, kuzalisha mabadiliko, kuchekesha mizani na onyesha mizani ya kawaida.
#Masharti ya kwanza
| Anwani ya kwanza | https://api.lialabs.org/api/apps/v1 |
| Kuthibitisha | Authorization: Bearer <your key>, maelekezo yako ya kuzigundua (lia_test_…) au kificho cha kutosha (lia_live_…) |
| Mipande | JSON na Content-Type: application/json |
| Kiasi | Katika $LIA, kama namba, kwa 6 nafasi ya desimali |
| Makala | Mili-sani kuanzia 1970 (UTC) |
Kumbuka kwa mteja wako tu. Kitambu chako ni sirri: usisame kwenye mstereani wako.
curl https://api.lialabs.org/api/apps/v1/pool \
-H "Authorization: Bearer $LIA_KEY"Mwana wa kifupi unavyotumia katika mfano uliopita:
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;
}#Siri na mifumo
Kifuniko kimoja kinaona tu kwa app yake mmoja, na kwa kipimo chake mmoja: kifuniko cha kuzalisha kinaona kuzalisha mizani, kifedha, mshirikiano na adi; kifuniko cha kusimama kinaona kusimama. Kipimo kimekosa kwa kipimo chini kimekosa not_found (au valid: false). Tazama Ukumbusho na kusimamia.
#Kosa
Kosa hujibu na kipimo 4xx na kifupi kinachotaja error mifano ya kodio, kwa kawaida na mitindo zaidi:
{ "error": "pool_empty", "pool": 3.5 }| Hali | Kodi | Wakati |
|---|---|---|
| 401 | bad_key | Hakuna kichwa, kichwa kikawa kichwa, kichwa kikamilifu, kichwa kikamilifu wakati mchana wako hana't kusimama, au yoyote kifuniko wakati'mwenyewe kushuka. |
Kila endpoint ina yake. Kila kodu ni katika Kosa kodi.
#Sesi
#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"
}'Kutafuta token ya mzunguko kwa Lia.init() au Lia.session(), na kusisimua wao ni mwenye
POST /api/apps/v1/session/verify
Authorization: Bearer lia_live_…
Content-Type: application/json
{ "session": "lias_eyJhcHAiOi…" }| Kifunzo | Aina | |
|---|---|---|
session | neno | Token kwenye mfumo. |
Jibu 200 kwa kila njia:
{ "valid": true, "playerId": "p_3f9c0a6d1b2e4f5a6b7c", "mode": "live", "exp": 1761998400000 }{ "valid": false }Kificho kina uwezo wakati Lia alikwenda, ina's kwa mfumo wako na siri yako'katika hali yake, na bado haija't ended (15 minutes after it was made).
#Vidokezo
#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"Nini app yako inayosell, kwa bei kwenye Lia'mwenyewe rekodi. Tu mali ya kushiriki, kwanza kwa kiasi cha chini.
{
"products": [
{ "id": "extra-lives", "name": "3 extra lives", "price": 5, "active": true },
{ "id": "gold-pack", "name": "Gold pack", "price": 25, "active": true }
]
}#Mali
Kumbukumbu ni moja ya kifedha kwenye Lia'mwenyewe kificho cha malipo. Tazama Malipo.
Kumbukumbu ya matokeo:
| Kifunzo | Aina | |
|---|---|---|
id | neno | Kama ch_9b1f…. |
playerId | neno | Nani alipokea. |
productId | neno | Nini wao waliwaharibu. |
amount | namba | Nini wao waliwaharibu, kwa $LIA. |
status | neno | paid, delivered au refunded. |
mode | neno | test au live. |
createdAt | namba | Kama ilikuwa iliyopokelewa. |
deliveredAt | namba au hakuna | Kama umekamata. |
refundedAt | namba au hakuna | Kama ilikuwa iliyopurudikwa. |
#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"Je hii ni mali ya kuvunjika, inayotolewa na mmoja? Kila wakati tazama hapa kabla ya kuzalisha: sikuwezi kuchukua peta's au webhook'neno kwa yote.
{
"charge": {
"id": "ch_9b1f4c2e7a0d5b8f3e6a1c4d",
"playerId": "p_3f9c0a6d1b2e4f5a6b7c",
"productId": "extra-lives",
"amount": 5,
"status": "paid",
"mode": "live",
"createdAt": 1761998400000,
"deliveredAt": null,
"refundedAt": null
}
}| Hali | Kodi | Wakati |
|---|---|---|
| 404 | not_found | Hakuna mshahara ya kijamii kwa app yako kwenye kichwa chako'chaguo. |
#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'Kumbukumbu ya kuchukua, kisha'amefunda mtu ambaye alipiga. Safe kuzalisha: kuzalisha kumbukumbu kimefanyika haina matokeo na kujibu kama alivyo. Haina mwanafunzi.
{ "charge": { "id": "ch_9b1f…", "status": "delivered", "deliveredAt": 1761998405000, "…": "…" } }| Hali | Kodi | Wakati |
|---|---|---|
| 404 | not_found | Hakuna mshahara kwenye kichwa chako'chaguo. |
| 409 | refunded | Imekumbwa, kwa hiyo haitakuwa't deliver it. The body has the charge pia. |
#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'Kutuma $LIA kwa mwanamazingo, wakati unaweza't deliver what they bought. Works on a paid or a delivered charge. Safe to repeat: refunding a refunded charge answers with it and pays nothing more. No body.
{ "charge": { "id": "ch_9b1f…", "status": "refunded", "refundedAt": 1761998410000, "…": "…" } }Jumla ya bei inapaswa kuzikwenda kwa mwanaharakati.'kutoka kwenye mstari, kwa mstari wa kutosha, kusindikiza Lia'mwenyewe sehemu na kiasi lako. A charge.refunded webhook inatoka.
| Hali | Kodi | Wakati |
|---|---|---|
| 404 | not_found | Hakuna mshahara kwenye kichwa chako'chaguo. |
#Kukusanyika
Tazama Kukusanyika kwa jumla.
#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"
}'Anayatuma mshahara kwa kifundo chako'kikosi cha mshahara, kila mmoja kwa siku.
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"
}| Kifunzo | Aina | |
|---|---|---|
playerId | neno | Mteja ambaye anapata mshiriki. |
amount | namba | Katika $LIA, zaidi ya 0 na hasi ya 10,000, kwa 6 nafasi ya desimali. |
key | neno | Wako, 1 kwa 128 ya mitandiko, mitume, _, ., : na -. Maelekezo anayopayuka kwa muda mmoja, kwa kawaida, bila yake, kwa Idempotency-Key header inatumia. |
reason | neno | Chaguo, hasa 80 maneno (kama kivumishi kimepangwa). Inashow kwenye mshahidi'kutoka kwenye mchezo wako'jina lako. |
Imepaidwa:
{ "status": "paid", "amount": 25, "pool": 975 }Kama kama kifuniko kikichukua kiasi, hajafunika na kujibu kama kifuniko kwanza kikichukua:
{ "status": "duplicate", "amount": 25, "pool": 975 }pool huanushirikishwa tena. Kwa's kushoto kwenye kifuniko chako baada yote. Katika mazingira ya kusimamia, kifuniko kimepiga: kifuniko kimepiga.'kukabili kwenye kifuniko kwa kifuniko cha siku na kifuniko cha siku cha kila mmoja hajafunzi't kuchukua.
| Hali | Kodi | Wakati |
|---|---|---|
| 400 | bad_amount | amount huanushirikishwa tena. Kwa't kama namba ya 0 na kwa upande wa 10,000. |
| 400 | bad_key_field | key sio uko au sio katika sura ya kawaida. |
| 404 | unknown_player | Hakuna mwanamazingo kwenye app yako. |
| 409 | pool_empty | Pool hajafunika't kusimamia amount. Kifunzo kina pool, nini's kushoto. |
| 429 | daily_limit | Hii itakuwa inayotoka kwa mwanachama kwa app yako'zilizopita kiasi cha kila siku kwa mmoja (kwenye $LIA, kwa kila UTC siku). Moyo ina dailyCapPerPlayer. |
A reward.paid webhook inatoka kwa kila mshirika uliopokelewa (sio kwa kila mshirika mmoja).
#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"Nini's kushoto kwenye kifuniko chako, na kikubwa ambacho mmoja mmoja anaweza kuzaliwa kwa siku.
{ "balance": 975, "dailyCapPerPlayer": 50, "mode": "live" }dailyCapPerPlayer ni 0 wakati wapi'jina lako mwingine haina kikomo cha siku moja. balance huanushirikishwa tena. Kwa
#Maelezo
Tazama Maelezo.
#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"
}'Tuma matokeo kwa mteja ambaye alipokea. Inaonyeshwa kwenye mifumo yako'jina lako na yafungua programu yako kwa jina lako 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" }| Kifunzo | Aina | |
|---|---|---|
playerId | neno | Nani kuhudhuria. |
text | neno | 1 kwa 180 herufi. Mabadiliko na mabadiliko ya miguu huwa kama miguu moja. Haina mchoro, namba ya simu au maneno ambayo hutumia kama kifanyabiashara. |
startParam | neno | Chaguo. 1 kwa 64 ya maneno, namba, _ na -. Mzunguko wako anapiga kutoka Lia.startParam. |
Tumia:
{ "sent": true, "pushed": true }pushed ni false wakati ituweza kufikia Lia'kutoka kwenye mstari kama simu (mwanachama anapewa Lia'mwenyewe kushiriki (kabla ya kushiriki).
| Hali | Kodi | Wakati |
|---|---|---|
| 400 | bad_text | Kamili, mrefu sana, au sio wasiwasi. Wakati'kama inasema maandishi, problem ni link, phone au scam. |
| 400 | bad_start_param | startParam huanushirikishwa tena. Kwa't kwa sura ya kutosha. |
| 403 | notifications_off | Mizani yako siwezi kushiriki mizani (idadi yake ya kila siku ni 0). |
| 403 | not_allowed | Mwanachama huu hajajishia't inatuhumia mifumo yako's ya maelekezo, au wakuruhusu. |
| 404 | unknown_player | Hakuna mwanamazingo, au sio mmoja kwenye kichwa chako'chaguo cha kusafisha (kifungu cha kusafisha kama kifungu cha kusafisha kwa wakilishi wako). |
| 429 | rate_limited | Kumbukumbu iliyopungua. Kwa app yako'yeye inatumia moyo wote retryAt, wakati unaweza kujaribu tena. |
#Ad
Tazama Ad.
#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"
}'Ililipwa ad hili kwa kina na kwa nani? Tazama kabla ya kutoa yoyote kwa video inayotafuta.
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 }| Kifunzo | Aina | |
|---|---|---|
adId | neno | Idi kutoka Lia.showAd(). |
playerId | neno | Mteja ambaye alikuwa ameshowna. Tazama hii'kawaida ya kushirikiana. |
format | neno au null | "rewarded", "rewardedInterstitial", "interstitial", "banner" au "native" (null kwa mifano kutoka kabla ya SDK 1.7). Tu "rewarded" na "rewardedInterstitial" hutegemeana kwa mshahidi. |
watched | boolean | Ililipwa kwa kamilifu (au kwa interstitial, banner au ad ya kawaida, iliyotolewa). |
watchedAt | namba au hakuna | Kama |
Tuma na siri ya mchango ambapo ad inayotumiwa: ad ya kusimamia (kwa kawaida moja ya Google'kawaida ya kuzigundua, sio kuchukua kwa kiasi cha kawaida) ni not_found kwa kifuniko cha kuvutia.
Lia sio't kuanzisha mafanikio kama unapakia, kwa kila mafanikio adId kwa muda mmoja mwenyewe (tumia ad:<adId> kama mshahidi wa mshahidi).
| Hali | Kodi | Wakati |
|---|---|---|
| 404 | not_found | Hakuna adi ya kijamii kwa app yako kwenye kichwa chako'chaguo. |
#Lobby
Maktaba ya kawaida ambayo yote wana wakati Lia wanaweza kupata. Lia inafanya tu kuchapisha: server yako inafanya maktaba. Tazama Maktaba ya kawaida.
Kifano cha mifano:
| Kifunzo | Aina | |
|---|---|---|
id | neno | Maktaba yako's id. |
game | neno | Mizani yako's id. |
host | kifundo | { name }: mteja's Lia. |
seats, taken | namba | Kusimamia mwanafunzi kote, na kushiriki. |
title | neno au null | Kama kila kitu ambacho watu wana kusoma kwenye Lia. |
stake, pot | namba | Katika LIA, kwa ujumla. |
createdAt, expiresAt | namba |
#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
}'Kumbukumbu mifumo ambao'imefungua kwa mshirika, au inatumia upya kificho (inachukua nafasi yake katika orodha). Tuma kificho tena wakati matokeo yao yanachangia.
{ "tableId": "t8k2d", "hostPlayerId": "p_3f9c0a6d1b2e4f5a6b7c", "seats": 2, "taken": 1, "title": "Quick game", "stake": 5, "expiresIn": 900 }| Kifunzo | Aina | |
|---|---|---|
tableId | neno | Wako, 1 kwa 57 ya mitandiko, mitume, _ na - (mara moja kama startParam lobby-<id>). |
hostPlayerId | neno | Mchezaji anayekuwa kwenye |
seats | namba | Chaguo. 2 kwa 10, 2 kwa default. |
taken | namba | Chaguo. Kikapu kimepangwa, mshahidi's kifuniko, 1 kwa seats, 1 kwa kawaida. |
title | neno | Chaguo, hasa 40 maneno. |
stake, pot | namba | Chaguo. Kwenye LIA, 0 kwa 10,000, inashow kwenye orodha tu. Lia si't kusimamia au kuchukua: kusimamia kama kama kazi yako. |
expiresIn | namba | Chaguo. Sekunde ambapo orodha inaendelea, 60 kwa 3600, 1800 kwa default. |
{ "listed": true, "tableId": "t8k2d", "seats": 2, "taken": 1, "expiresAt": 1761999300000 }Wakati taken inapita seats, kama tabia inaondolewa kwenye orodha, na jibu ni { "listed": false }.
| Hali | Kodi | Wakati |
|---|---|---|
| 400 | bad_table_id, bad_seats, bad_taken, bad_title, bad_amount, bad_expires_in | Sifa haitakuwa't fit. |
| 404 | unknown_player | Hakuna hosti kwenye app yako. |
| 429 | too_many_tables | Mkataba amekuwa na 3 tabia zilizopaswa katika app yako. Kifundo kina 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"Mizani yako's kuvunjika kwenye kichaguo chako'katika hali yake, mpya zaidi kwanza, hadi 200: kila mwenyeji'na block zilizochukuliwa (ambalo's kwa kila mshirika'yeye mazinga).
{ "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"
}'Kusimamia mwanafunzi kwenye meza iliyotajwa, kabla ya kushughulikia mwanafunzi kwenye server yako. Lia anatuma watu ambao waliwakiliza host au waliwakiliza host. Wakati meza ya kwanza inapokekana, meza inapoteza kutoka kwenye orodha.
{ "playerId": "p_8a1e0c4d2b7f9e3a5c6d" }{ "seated": true, "taken": 2, "seats": 2, "full": true }| Hali | Kodi | Wakati |
|---|---|---|
| 404 | unknown_player | Hakuna mwanamazingo kwenye app yako. |
| 404 | not_found | Kifano hajafunika't kushiriki, kumalizwa, au meneja na mteja wamekataa kinyume. |
| 409 | full | Kila kikapu kimepewa. |
| 409 | own_table | Mteja ni mshiriki. |
#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'Kununua majengo kwenye orodha, wakati mchezo unapakia au unapakia. Salama kusambaa.
{ "removed": true }removed ni false wakati ituweza si't kushiriki.
#Kutafuta tena
Kusoma kwa Idempotency-Key header kila POST, na kificho kimoja kwa kila usambazaji. Usambazaji kisha sio kufanyia kazi kwa muda mmoja, na kujibu kama kificho kwanza ilikuwa.
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." }- Kifadhi chenye yoyote, 1 kwa 128 ya harufu, namba,
_,-,.na:. UUID moja kwa kila operesheni inafaa. - Mchakato wa kwanza unapita. Kama inafanikiwa (2xx), jibu lote linalohifadhiwa kwa 24 saa, na kurejesha kwa kifuniko hicho na matokeo ya kifuniko hicho, na kifuniko cha kifuniko
Idempotent-Replayed: true. - Kukataa hakuhifadhi chochote (kutoka 4xx au 5xx), kwa hivyo unaweza kusahau saba na kuchukua tena kwa kichaguo hicho.
- Kifuniko kama kama na kifuniko kikichukua kikichanganyika ni
422 idempotency_key_reused. - Kifuniko kama kama wakati kifuniko kwanza hakuwa kushuka ni
409 idempotency_key_in_usenaRetry-After: 1. Mchakato tena, na unapokea mchakato wa kwanza'kutoka kwenye mstari. - Siri ni maelezo yako's yake mwenyewe, na kutosha na kutosha hujisifu kwa kila mmoja. Kificho kimoja kwenye endpoint mwingine ni kificho mwingine.
Bila kushirikiana na header, mengine ya endpoints hujui kusafisha: kusoma hajichangia kipato, kushirikiana na kurejeshwa ni kusafisha kusafisha, na mshirika unapokea kwa kila key. Mabarehe yana mabadiliko: bila kificho, mchakato unapokea mabarehe tena.
Kutafsiri kwa kawaida. Kiingereza kina maana ya kawaida. Kusoma kwa Kiingereza