# 💻 Hoşgeldiniz
Topluyo' nun apisine hoşgeliniz.
# user
## /user/info/:nick
get user informations (id,nick,image)
https://api.topluyo.com/user/info/hasandelibas
```
GET https://api.topluyo.com/user/info/hasandelibas
```
```json
{
  "status" : "success",
  "data" : {
    "id"    : 1,
    "nick"  : "hasandelibas",
    "image" : "https:\/\/cdn.topluyo.com\/logo\/674fda914ac73.webp"
  },
  "message" : ""
}
```
## /user/image/:nick
redirecting to user image
https://api.topluyo.com/user/image/hasandelibas
```
GET https://api.topluyo.com/user/image/hasandelibas
```
## /user/token/:token
get users { id, nick, image}
```
GET https://api.topluyo.com/user/token/XXXXXXXXXXXXXXX
```
response is
```
{
  "status": "success",
  "data": {
    "id": 1,
    "nick": "hasandelibas",
    "image": "https://cdn.topluyo.com/logo/674fda914ac73.webp",
    "group_id": 1,
    "group_nick": "Destek",
    "group_name": "Destek",
    "group_image": "https://cdn.topluyo.com/logo/67506b3508f5c.svg",
    "is_owner": true
  },
  "message": ""
}
```
## PHP example code
```
<?php
ini_set('session.cookie_samesite', 'None');
session_set_cookie_params(['samesite' => 'None']);
session_start();
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Allow-Methods: GET,PUT,POST,DELETE,OPTIONS');
header('Access-Control-Allow-Headers: Content-Type, Authorization');
header('Access-Control-Allow-Origin: ' . (isset($_SERVER['HTTP_ORIGIN']) ? $_SERVER['HTTP_ORIGIN'] : '*'));
header('X-Frame-Options: ALLOWALL');
header('Content-Security-Policy: frame-ancestors *');
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') { http_response_code(200); exit();}
if(isset($_GET["token"])){
  $response = file_get_contents("https://api.topluyo.com/user/token/".$_GET["token"]);
  $response = json_decode($response,true);
  if($response["status"]=="success"){
    $id    = $response["data"]["id"];
    $nick  = $response["data"]["nick"];
    $image = $response["data"]["image"];
    $group_id    = $response["data"]["group_id"];
    $group_name  = $response["data"]["group_name"];
    $group_nick  = $response["data"]["group_nick"];
    $group_image = $response["data"]["group_image"];
    $is_owner    = $response["data"]["is_owner"];
    
    $_SESSION["id"] = $id;
    $_SESSION["nick"] = $nick;
    $_SESSION["image"] = $image;
    $_SESSION["group_id"] = $group_id;
    $_SESSION["group_name"] = $group_name;
    $_SESSION["group_image"] = $group_image;
    $_SESSION["is_owner"] = $is_owner;
    
  }
}
?>
<div style="display:flex;flex-direction:row;align-items:center;">
  <img src="<?= @$_SESSION["image"] ?>" style="width: 32px;height: 32px;border-radius: 100%;">
  <div><?= @$_SESSION["nick"] ?></div>
</div>
```
## Node.Js 
```
const PORT = process.env.PORT || 5002
const http = require('http');
const https = require("https")
const express = require('express')
const app = express()
const session = require('express-session');
const server = http.Server(app);
app.use(session({
  secret: 'your-secret-key',
  resave: false,
  saveUninitialized: false
}));
app.get("/", function(req, res){
  if(req.query.token){
    https.get("https://api.topluyo.com/user/token/"+req.query.token, (response) => {
      let data = '';
      response.on('data', (chunk) => { data += chunk; });
      response.on('end', () => {
        try{ 
          let response = JSON.parse(data)
          if(response.status=="success"){
            req.session.user = response.data;
            res.json(req.session.user);
          }
        }catch(e){
          res.json("Oturum Açılamadı");
        }
      }); 
    }); 
  }else{
    res.json("Oturum Açılamadı, Token Gelmedi");
  }
})
server.listen(PORT, e => {
  console.log("Sunucu Çalıştı", PORT)
})
```
# group
## /group/image/:nick
redirecting to group image
https://api.topluyo.com/group/image/geymbadi.com
```
GET https://api.topluyo.com/group/image/geymbadi.com
```
## /group/background/:nick
redirecting to group background
https://api.topluyo.com/group/background/geymbadi.com
```
GET https://api.topluyo.com/group/background/geymbadi.com
```
## /group/name/:nick
redirecting to group name
https://api.topluyo.com/group/name/geymbadi.com
```
GET https://api.topluyo.com/group/name/geymbadi.com
```
## /group/custom_css/:nick
redirecting to group custom_css
https://api.topluyo.com/group/custom_css/geymbadi.com
```
GET https://api.topluyo.com/group/custom_css/geymbadi.com
```
## /group/stream/:nick
redirecting to group stream html
https://api.topluyo.com/group/stream/geymbadi.com
```
GET https://api.topluyo.com/group/stream/geymbadi.com
```
## /group/popular
redirecting to group stream html
https://api.topluyo.com/group/popular
```
GET https://api.topluyo.com/group/popular
```
## $api/power/
Can access this link?
```
POST https://topluyo.com/$api/group/power
    link: string
```
## $api/power/:group/:action
User can access this action?
```
GET https://topluyo.com/$api/group/Destek/group    -> gruba yetkisi var mı
GET https://topluyo.com/$api/group/Destek/role     -> role yetkisi var mı
GET https://topluyo.com/$api/group/Destek/member   -> üye ekleme çıkarmaya yetkisi var mı
GET https://topluyo.com/$api/group/Destek/channel  -> kanala ekleme çıkarmaya yetkisi var mı
GET https://topluyo.com/$api/group/Destek/post     -> gönderiyi silmeye değiştirmeye yetkisi var mı
```
# app
## app/icon/:app_nick_or_id
Get app icon
```
POST https://api.topluyo.com/app/icon/super-mario
    link: string
```
## app/info/:app_nick_or_id
Get app icon
```
POST https://api.topluyo.com/app/info/super-mario
    link: string
```
```
{
  "status": "success",
  "data": {
    "id": 20,
    "user_id": 1,
    "name": "Süper Mario Bros.",
    "image": "https://cdn.jsdelivr.net/gh/mastercodewolf/cdn-nes@main/Super%20Mario%20Bros.png",
    "description": "Atarinin vazgeçilmezlerinden Süper Mario Bros. oyunu\r\n✅ Retro \r\n✅ 1986",
    "link": "https://retro.asenax.com/player/link.html?id=1&core=nes&game=https://cdn.jsdelivr.net/gh/mastercodewolf/cdn-nes@main/Super%20Mario%20Bros.zip",
    "price": 0,
    "created_at": "2025-02-28 23:05:17",
    "group_id": 0,
    "app_type_id": "4",
    "css": "",
    "verify": 1,
    "nick": "super-mario",
    "icon": "https://cdn.topluyo.com/market/67c36ff6d9f52.webp"
  },
  "message": ""
}
```
# permission
## /permission
```
GET https://api.topluyo.com/permission?url=Destek/HARBiYE&user_id=1
```
# report
https://api.topluyo.com/report/users
https://api.topluyo.com/report/online24hour
## sesli bot kullanımı 
```
[
  {
    "commands":"nerdesin kanka",
    "actions":{"Assistant::Speak":"burdayım kanka"}
  },
  {
    "commands":"mehter ver",
    "actions":{"Assistant::PlayMusic":"https://cdn.jsdelivr.net/gh/HasanDelibas/bord-asset@main/mehter.mp3"}
  }
]
```