LiaWafanyikaji

Makosa ya serikali

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 kwanzahttps://api.lialabs.org/api/apps/v1
KuthibitishaAuthorization: Bearer <your key>, maelekezo yako ya kuzigundua (lia_test_…) au kificho cha kutosha (lia_live_…)
MipandeJSON na Content-Type: application/json
KiasiKatika $LIA, kama namba, kwa 6 nafasi ya desimali
MakalaMili-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:

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;
}

#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 }
HaliKodiWakati
401bad_keyHakuna 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"
}'
Fungua kwenye playground

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…" }
KifunzoAina
sessionnenoToken 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"
Fungua kwenye playground

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:

KifunzoAina
idnenoKama ch_9b1f….
playerIdnenoNani alipokea.
productIdnenoNini wao waliwaharibu.
amountnambaNini wao waliwaharibu, kwa $LIA.
statusnenopaid, delivered au refunded.
modenenotest au live.
createdAtnambaKama ilikuwa iliyopokelewa.
deliveredAtnamba au hakunaKama umekamata.
refundedAtnamba au hakunaKama 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"
Fungua kwenye playground

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
  }
}
HaliKodiWakati
404not_foundHakuna 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'
Fungua kwenye playground

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, "…": "…" } }
HaliKodiWakati
404not_foundHakuna mshahara kwenye kichwa chako'chaguo.
409refundedImekumbwa, 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'
Fungua kwenye playground

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.

HaliKodiWakati
404not_foundHakuna 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"
}'
Fungua kwenye playground

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"
}
KifunzoAina
playerIdnenoMteja ambaye anapata mshiriki.
amountnambaKatika $LIA, zaidi ya 0 na hasi ya 10,000, kwa 6 nafasi ya desimali.
keynenoWako, 1 kwa 128 ya mitandiko, mitume, _, ., : na -. Maelekezo anayopayuka kwa muda mmoja, kwa kawaida, bila yake, kwa Idempotency-Key header inatumia.
reasonnenoChaguo, 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.

HaliKodiWakati
400bad_amountamount huanushirikishwa tena. Kwa't kama namba ya 0 na kwa upande wa 10,000.
400bad_key_fieldkey sio uko au sio katika sura ya kawaida.
404unknown_playerHakuna mwanamazingo kwenye app yako.
409pool_emptyPool hajafunika't kusimamia amount. Kifunzo kina pool, nini's kushoto.
429daily_limitHii 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"
Fungua kwenye playground

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"
}'
Fungua kwenye playground

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" }
KifunzoAina
playerIdnenoNani kuhudhuria.
textneno1 kwa 180 herufi. Mabadiliko na mabadiliko ya miguu huwa kama miguu moja. Haina mchoro, namba ya simu au maneno ambayo hutumia kama kifanyabiashara.
startParamnenoChaguo. 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).

HaliKodiWakati
400bad_textKamili, mrefu sana, au sio wasiwasi. Wakati'kama inasema maandishi, problem ni link, phone au scam.
400bad_start_paramstartParam huanushirikishwa tena. Kwa't kwa sura ya kutosha.
403notifications_offMizani yako siwezi kushiriki mizani (idadi yake ya kila siku ni 0).
403not_allowedMwanachama huu hajajishia't inatuhumia mifumo yako's ya maelekezo, au wakuruhusu.
404unknown_playerHakuna mwanamazingo, au sio mmoja kwenye kichwa chako'chaguo cha kusafisha (kifungu cha kusafisha kama kifungu cha kusafisha kwa wakilishi wako).
429rate_limitedKumbukumbu 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"
}'
Fungua kwenye playground

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 }
KifunzoAina
adIdnenoIdi kutoka Lia.showAd().
playerIdnenoMteja ambaye alikuwa ameshowna. Tazama hii'kawaida ya kushirikiana.
formatneno au null"rewarded", "rewardedInterstitial", "interstitial", "banner" au "native" (null kwa mifano kutoka kabla ya SDK 1.7). Tu "rewarded" na "rewardedInterstitial" hutegemeana kwa mshahidi.
watchedbooleanIlilipwa kwa kamilifu (au kwa interstitial, banner au ad ya kawaida, iliyotolewa).
watchedAtnamba au hakunaKama

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).

HaliKodiWakati
404not_foundHakuna 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:

KifunzoAina
idnenoMaktaba yako's id.
gamenenoMizani yako's id.
hostkifundo{ name }: mteja's Lia.
seats, takennambaKusimamia mwanafunzi kote, na kushiriki.
titleneno au nullKama kila kitu ambacho watu wana kusoma kwenye Lia.
stake, potnambaKatika LIA, kwa ujumla.
createdAt, expiresAtnamba

#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
}'
Fungua kwenye playground

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 }
KifunzoAina
tableIdnenoWako, 1 kwa 57 ya mitandiko, mitume, _ na - (mara moja kama startParam lobby-<id>).
hostPlayerIdnenoMchezaji anayekuwa kwenye
seatsnambaChaguo. 2 kwa 10, 2 kwa default.
takennambaChaguo. Kikapu kimepangwa, mshahidi's kifuniko, 1 kwa seats, 1 kwa kawaida.
titlenenoChaguo, hasa 40 maneno.
stake, potnambaChaguo. Kwenye LIA, 0 kwa 10,000, inashow kwenye orodha tu. Lia si't kusimamia au kuchukua: kusimamia kama kama kazi yako.
expiresInnambaChaguo. 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 }.

HaliKodiWakati
400bad_table_id, bad_seats, bad_taken, bad_title, bad_amount, bad_expires_inSifa haitakuwa't fit.
404unknown_playerHakuna hosti kwenye app yako.
429too_many_tablesMkataba 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"
Fungua kwenye playground

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"
}'
Fungua kwenye playground

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 }
HaliKodiWakati
404unknown_playerHakuna mwanamazingo kwenye app yako.
404not_foundKifano hajafunika't kushiriki, kumalizwa, au meneja na mteja wamekataa kinyume.
409fullKila kikapu kimepewa.
409own_tableMteja 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'
Fungua kwenye playground

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_use na Retry-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

Aina kusoma kila mfumo, methodi na endpoint.