Аватар на api

📚 Блогът на api

👤 Виж профила 📚 Всички блогове
API Документация
2026-07-04 02:21:32

API Документация Общи бележки Всички endpoint-и се достъпват през ?api=ACTION Content-Type: application/json; charset=utf-8 Автентикация: PHP сесия ($SESSION) + remembertoken cookie Rate limit: 180 заявки за 60 секунди на IP (сесия-базиран) Грешки връщат подходящ HTTP статус код + JSON с поле error --- 1. Автентикация login Създава нов потребител или логва съществуващ. При успешен логин връща theme и сетва сесия. Request: bash curl -X POST "https://example.com/api.php?api=login" \ -H "Content-Type: application/json" \ -d '{"username":"ivan","password":"secret123","avatar":"https://..."}' Response: json { "success": true, "theme": "light", "phpexecutiontime": "12.34 ms" } Errors: missingfields (400) — липсва username или password invalidpassword (401) — грешна парола за съществуващ потребител servermisconfiguration (500) — липсва VRLINLOGINSESSIONSSECRETKEY --- logout Унищожава сесията и изтрива remembertoken от БД и cookie. Request: bash curl -X POST "https://example.com/api.php?api=logout" \ -H "Cookie: PHPSESSID=xxx; remembertoken=yyy" Response: json { "success": true, "phpexecutiontime": "5.67 ms" } --- me Връща информация за логнатия потребител. Request: bash curl -X GET "https://example.com/api.php?api=me" \ -H "Cookie: PHPSESSID=xxx" Response (логнат): json { "id": 1, "username": "ivan", "avatar": "uploads/123456avatar.jpg", "theme": "dark", "phpexecutiontime": "8.90 ms" } Response (не-логнат): json { "loggedin": false, "phpexecutiontime": "3.21 ms" } --- 2. Потребителски настройки settheme Променя темата на логнатия потребител. Request: bash curl -X POST "https://example.com/api.php?api=settheme" \ -H "Content-Type: application/json" \ -H "Cookie: PHPSESSID=xxx" \ -d '{"theme":"dark"}' Response: json { "success": true, "phpexecutiontime": "7.12 ms" } Errors: notloggedin (401) --- getuser Връща публична информация за произволен потребител по ID. Request: bash curl -X GET "https://example.com/api.php?api=getuser&userid=5" Response: json { "id": 5, "username": "maria", "avatar": "uploads/..." } Errors: usernotfound (404) --- updateavatar Качва файл като аватар на логнатия потребител. Request: bash curl -X POST "https://example.com/api.php?api=updateavatar" \ -H "Cookie: PHPSESSID=xxx" \ -F "avatar=@/path/to/photo.jpg" Response: json { "success": true, "avatar": "uploads/1699123456photo.jpg" } Errors: notloggedin (401) nofile (400) forbiddenfiletype (403) — ако файлът е в blocked списъка --- updateavatarurl Задава аватар чрез URL (вместо файл). Request: bash curl -X POST "https://example.com/api.php?api=updateavatarurl" \ -H "Cookie: PHPSESSID=xxx" \ -d "avatar=https://example.com/pic.jpg" Response: json { "success": true, "avatar": "https://example.com/pic.jpg" } Errors: notloggedin (401) nourl (400) --- 3. Постове addpost Създава нов пост. Поддържа текст, снимка (файл или URL) и scheduled публикуване. Request (само текст): bash curl -X POST "https://example.com/api.php?api=addpost" \ -H "Cookie: PHPSESSID=xxx" \ -d "content=Здравей свят!" Request (със снимка файл): bash curl -X POST "https://example.com/api.php?api=addpost" \ -H "Cookie: PHPSESSID=xxx" \ -F "content=Моята снимка" \ -F "image=@/path/to/photo.jpg" Request (със scheduled): bash curl -X POST "https://example.com/api.php?api=addpost" \ -H "Cookie: PHPSESSID=xxx" \ -d "content=Утре ще публикувам" \ -d "scheduledat=2026-07-05 10:00:00" Response: json { "success": true, "debug": { "scheduled": 1751709600, "phptime": 1699123456 }, "phpexecutiontime": "15.23 ms" } Errors: notloggedin (401), forbiddenfiletype (403) --- addcanvaspost Създава пост с HTML/JS canvas код. Внимание: canvascode се записва чист в БД — по дизайн! Request: bash curl -X POST "https://example.com/api.php?api=addcanvaspost" \ -H "Content-Type: application/json" \ -H "Cookie: PHPSESSID=xxx" \ -d '{ "content": "Моят canvas пост", "canvascode": "

Прочети