Sari la conținut

Esențialul API-ului

O cheie pentru integrarea ta.

Autentifică cererile și păstrează-ți credențialele private.

Fiecare endpoint de date se autentifică cu o cheie API. Trimite-o în oricare dintre headere — cel care se potrivește clientului tău:

Exemplu de cod
curl https://api.lottevo.com/v1/lotteries \
  -H 'Authorization: Bearer lv_a1b2c3d4e5f6_…'

curl https://api.lottevo.com/v1/lotteries \
  -H 'X-Api-Key: lv_a1b2c3d4e5f6_…'

O cheie arată ca lv_{prefix}_{secret} (o cheie de sandbox: lv_test_{prefix}_{secret}). Prefixul este public intenționat: identifică cheia în jurnale și în cererile de suport fără să dezvăluie jumătatea secretă. Cheia completă există doar în răspunsul care a emis-o — după aceea se păstrează doar hash-ul ei, așa că o cheie pierdută trebuie înlocuită.

Emiterea unei chei

Creează-ți un cont, apoi generează o cheie cu permisiunile de care ai nevoie. Câteva reguli merită știute înainte să ajungi la formular:

  • Planul aparține contului, nu cheii. Prima ta cheie (alta decât una de sandbox) pornește o perioadă de probă gratuită de 14 zile; după aceea, fiecare cheie funcționează pe planul pe care îl cumperi din Facturare. Dacă perioada de probă se încheie fără un plan, cheile de plan răspund la orice cerere cu 402 subscription_required (cheile de sandbox continuă să funcționeze).
  • Perioada de probă acoperă un singur joc. Îl alege prima cheie: orice joc, inclusiv cele din țara ta, cu excepția celor extrase la 30 de minute sau mai des (Keno și similare). Rămâne jocul perioadei de probă până la final, orice s-ar întâmpla cu cheia; subscription.trial_lottery_code din profil arată care e.
  • Un plan cu limită de loterii nu are varianta „tot catalogul". La Developer și Starter cheia trebuie să numească jocurile pe care le acoperă, iar o cheie fără loterii alese este refuzată, nu tratată tacit ca acoperind întregul catalog.
  • O cheie poate avea o dată de expirare, după care nu mai funcționează, în loc să rămână activă la nesfârșit.

Chei în browser

O cheie poate fi legată de o listă de origini. O astfel de cheie poate avea doar permisiuni de citire, și asta nu e o preferință de interfață — verificarea originii e o curtoazie pe care un apelant din afara browserului o ocolește omițând headerul, așa că o cheie legată de browser nu trebuie să poată modifica nimic.

Chiar și așa, o cheie dintr-o pagină e o cheie pe care orice vizitator o poate citi și consuma. Pentru orice dincolo de o demonstrație, apelează API-ul de pe propriul server.

Verifică dacă o cheie funcționează

Exemplu de cod
curl https://api.lottevo.com/v1/account -H 'X-Api-Key: lv_a1b2c3d4e5f6_…'
Exemplu de cod
{
  "data": {
    "key": { "name": "Production", "prefix": "a1b2c3d4e5f6", "sandbox": false, "scopes": ["catalog:read", "draws:read"], "lottery_codes": ["EU-001"], "history_from": "2026-06-22T09:30:00+00:00", "history_until": null, "expires_at": null },
    "plan": { "name": "trial", "requests_per_day": 1000, "requests_per_minute": 30, "history_days": 90, "history_delay_days": null, "history_draws": null, "trial_ends_at": "2026-10-01T08:12:00+00:00" },
    "usage": { "date": "2026-09-20", "requests": 42, "remaining": 958, "resets_at": "2026-09-21T00:00:00+00:00" }
  }
}

lottery_codes este null când cheia acoperă tot catalogul și o listă când nu îl acoperă. Diferența contează: null nu înseamnă „niciuna".