Fejlesztői dokumentáció
Mik azok a PlüssBarátok?
A PlüssBarátok olyan horgolt plüssfigurák, amelyekben linkeket tartalmazó NFC címkék vannak elhelyezve. E címkék segítségével a plüssök interaktívvá válnak és egy digitális profillal rendelkeznek. A felhasználók ezen a profilon láthatják a plüssük adatait (szülinap, fonalak, készítő, stb.), valamint el is nevezhetik őket.
Ehhez a digitális profilhoz bárki hozzáférhet az API-nkon keresztül, így bárki készíthet olyan alkalmazást vagy játékot, ami a PlüssBarátokkal kommunikál. Pl. telefonos játék, amelyben a felhasználó horgolt plüsse követi őt a játékban vagy egy mental health app, amiben a felhasználó saját kedvence ad motivációs idézeteket.
PlüssBarátok API
API kulcs bejelentkezés után az API kulcs kezelő oldalon igényelhető. Az API kulcsok csak statisztikai célokra szolgálnak, így nem kell olyan szigorúan védeni őket.
Plüss adatainak lekérése
Hívás
GET /api/plushie/:urlEncodedNfcData Authorization: Bearer <api_key> || X-Api-Key: <api_key> Példa hívás teszt adatokkal (az itt található API kulcs korlátozott ideig érvényes):
curl --location
'https://plussbaratok.hu/api/plushie/https%3A%2F%2Fplussbaratok.hu%2Fplushie%2Fh6A8FukWYkpSfnDNN7Qi%3Fsource%3Dnfc'
--header 'Authorization: Bearer eb059baa-3073-45a2-8bc0-76061322ed53' Figyelj, hogy az API hívásnál az NFC-ből kiolvasott URL-t URL encode-olni kell. URL encode példa.
Használhatod az api_key query paramétert is, így elkerülhető az Authorization fejléc miatti preflight kérés.
Válasz
{
"category": "animal" | "accessory" | "other",
"createdAt": number,
"iconColor": string | null,
"iconUrl": string | null,
"name": string,
"state": "pending" | "active" | "lost",
"type": AnimalName | string,
"yarns": [
{
"brand": string, // pl. "Alize"
"name": string, // pl. "Baby Best"
"colorCode": number, // pl. 55
"colorName": string, // pl. "Hóember"
"colorHex": string, // pl. "#f3f3f3"
"webshopUrl": string, // pl. "https://fonalam.hu/fonalak_79/alize-fonalak-251/alize-baby-best-batik-fonalak-439/alize-baby-best-fonal-250-vanilia-3001"
}
],
} | category | Kategória. |
| createdAt | Készítés dátuma UNIX időbélyeg formátumban (milliszekundumban). |
| iconColor | Az ikon alapszíne hexadecimális formátumban (pl. "#facc15"). |
| iconUrl | Az ikon URL-je. Ha category == "animal". |
| name | Név, amit a felhasználó adhat a plüssének. |
| state | Állapot: "pending" (készül), "active" (felhasználónál van), "lost" (elveszett). |
| type | Típus: pl. "cica", "axolotl", "sál", "kulcstartó", stb. Ez a horgoló által megadott típus. |
| yarns | A horgolásnál használt fonalak. Innen megtudhatod a plüss színeit is. |
Színezett állat ikon
Hívás
GET /api/animal-icon/:urlEncodedAnimalKey(.png)?color=%23hex Ez az endpoint egy adott állat ikon képét adja vissza a megadott alapszínnel. Ez akkor lehet hasznos, ha a plüss egyedi színű fonalakkal készült, és szeretnéd, hogy az ikon is tükrözze ezt az SVG osztályokon keresztül.
A :urlEncodedAnimalKey helyére az
állat nevét kell írni URL encode-olva. Pl. Lottinál a hívás így
nézne ki: GET /api/animal-icon/axolotl.png?color=%23facc15
Válasz
Alapból egy svg formátumú kép, de ha az URL .png végződésű, akkor png-t kapsz vissza. A color query paraméter opcionális; ha megadod, az endpoint a fill-500 és stroke-700 osztályokat a megadott alapszínből származtatott palettával színezi meg.
Állatok
Az AnimalName típus a következő értékeket veheti fel:
axolotl
béka
cica
dínó
fóka
hörcsög
kutya
panda
róka
teknős
Idővel még több állat lesz elérhető.