Libri REST API — Dokumentacija
Libri API omogoča partnerjem integracijo dodeljevanja, porabe in poizvedovanja zlatnikov v lastne sisteme. Vsi klici zahtevajo API ključ, ki ga najdete v Partner portalu → Nastavitve.
Avtentikacija
Vsak zahtevek mora vsebovati glavo X-API-Key: VAŠ_API_KLJUČ. Ključ ne sme biti del URL-ja. API ključ najdete in regenerirate v Partner portalu.
curl -X GET https://libri.one/wp-json/libri/v1/[email protected] -H X-API-Key: vaš_api_ključ
Osnovna URL
https://libri.one/wp-json/libri/v1/
Endpointov pregled
| Metoda | Endpoint | Opis |
|---|---|---|
| GET | /balance | Stanje zlatnikov kupca |
| POST | /earn | Dodeli zlatnike po nakupu |
| POST | /spend | Porabi zlatnike kupca |
| POST | /award | Ročno dodeli zlatnike |
| GET | /transactions | Zgodovina transakcij |
| GET | /profile | Profil kupca |
| GET | /user/lookup | Poizvedba po emailu ali LBR-ID |
GET /balance
Vrne stanje zlatnikov za podanega kupca.
GET /wp-json/libri/v1/[email protected]
X-API-Key: vaš_api_ključ
// Odgovor 200:
{
or: 1500,
libri: 1.5,
eur_value: 37.5
}
POST /earn
Dodeli zlatnike kupcu po zaključenem nakupu. Sistem samodejno izračuna višino dodelitve glede na earn rate partnerja.
POST /wp-json/libri/v1/earn
X-API-Key: vaš_api_ključ
Content-Type: application/json
{
email: [email protected],
amount_eur: 49.90,
order_id: ORD-12345
}
// Odgovor 200:
{
success: true,
earned_or: 50,
new_balance_or: 1550,
libri: 1.55
}
POST /spend
Porabi zlatnike kupca kot popust pri nakupu. Preden izvedete ta klic, preverite stanje z /balance.
POST /wp-json/libri/v1/spend
X-API-Key: vaš_api_ključ
Content-Type: application/json
{
email: [email protected],
amount_or: 500,
order_id: ORD-12345
}
// Odgovor 200:
{
success: true,
spent_or: 500,
eur_discount: 12.5,
new_balance_or: 1000
}
// Odgovor 400 (nezadostno stanje):
{
code: insufficient_balance,
message: Insufficient balance,
data: { balance: 300 }
}
POST /award
Ročno dodelite zlatnike kupcu — za nagrade, akcije, kompenzacije. Odbitku iz kvote sledi neposredno.
POST /wp-json/libri/v1/award
X-API-Key: vaš_api_ključ
Content-Type: application/json
{
email: [email protected],
amount_or: 200,
note: Nagrada za anketo
}
GET /transactions
GET /wp-json/libri/v1/[email protected]&limit=10
X-API-Key: vaš_api_ključ
// Odgovor 200:
[
{
id: 42,
type: earn,
amount_or: 50,
balance_after: 1550,
merchant_name: Moja Trgovina,
ref_order_id: ORD-12345,
created_at: 2026-04-26 14:00:00
}
]
GET /user/lookup
Poiščite uporabnika po emailu ali LBR-ID pred izvedbo transakcije.
GET /wp-json/libri/v1/user/[email protected]
// ali: ?q=LBR-AB12CD34
// Odgovor:
{
exists: true,
first_name: Ana,
lbr_id: LBR-AB12CD34,
email: [email protected]
}
Kode napak
| HTTP | Koda | Pomen |
|---|---|---|
| 401 | no_api_key | Manjka glava X-API-Key |
| 403 | invalid_api_key | Neveljaven API ključ |
| 404 | user_not_found | Kupec z navedenim emailom ne obstaja |
| 400 | insufficient_balance | Premalo zlatnikov za spend |
| 400 | invalid_amount | Neveljaven znesek |
Varnostna priporočila
- API ključ nikoli ne vključujte v JavaScript na strani odjemalca — klice izvedite z backend strežnika.
- Ključ shranite v okoljsko spremenljivko ali secrets manager, ne v izvorno kodo.
- Pri sumu kompromitacije takoj regenerirajte ključ v Partner portalu.
- Vsak klic
/spendpreverite z/balancepreden sprejmete plačilo. - Shranite
order_idza vsak klic — prepreča podvojene transakcije.
Vprašanja glede integracije: [email protected]
Prenos zlatnikov (Wallet-to-Wallet)
Omogoča prenos zlatnikov med Libri računi. Zahteva prijavljenega uporabnika (WP nonce auth).
Preveri prejemnika
GET /libri/v1/transfer/[email protected]
Authorization: X-WP-Nonce: {nonce}
Response 200:
{
"email": "[email protected]",
"lbr_id": "LBR-A1B2C3D4",
"tier": "premium"
}
Izračun provizije
GET /libri/v1/transfer/fee?amount_or=5000
Authorization: X-WP-Nonce: {nonce}
Response 200:
{
"flat": 10,
"pct": 100,
"total": 110,
"tier": "standard",
"rate": "2%"
}
Izvedi prenos
POST /libri/v1/transfer
Authorization: X-WP-Nonce: {nonce}
Content-Type: application/json
{
"email": "[email protected]",
"amount_or": 500,
"note": "Hvala za pogostitev"
}
Response 200:
{
"success": true,
"sent": 500,
"fee": 20,
"deducted": 520,
"tier": "standard"
}
Tabela provizij
| Status | Flat | % | Maks. % |
|---|---|---|---|
| Standard | 10 or | 2 % | — |
| Premium | 10 or | 1 % | — |
| Partner | 10 or | 0,5 % | 100 or |
| Boss | 10 or | 0,5 % | 100 or |
| VIP | 10 or | 0 % | — |
Omejitve: Min. 140 or · Max. 100.000 or/dan · Merchant redemption fee: 1 or (iz merchant kvote)
