Documentație

Versiune API 1.1

Această documentație explică cum să înregistrezi, configurezi și dezvolți aplicația ca să folosești API-urile noastre

Creează aplicație

Pentru ca aplicația ta să acceseze API-urile, trebuie să o înregistrezi folosind Panoul aplicației. Înregistrarea creează un App ID care ne spune cine ești și deosebește aplicația ta de altele.

  1. Va trebui să creezi o aplicație nouă Creează aplicație nouă
  2. După ce creezi aplicația vei primi app_id și app_secret
Autentificare cu

Sistemul Autentificare cu este un mod rapid de a crea conturi și a intra în aplicația ta. Permite autentificare și/sau acces la date. Îl poți folosi doar pentru autentificare sau și pentru acces la date.

  1. Pentru a începe autentificarea OAuth, folosește un link pentru aplicația ta, astfel:
    <a href="https://sngine-app.fluttercrafters.com/api/oauth?app_id=YOUR_APP_ID">Log in With Sngine Flutter Crafters</a>

    Utilizatorul va fi redirecționat către pagina Autentificare cu, astfel

  2. După ce utilizatorul acceptă aplicația, va fi redirecționat către URL-ul de redirecționare cu auth_key astfel:
    https://mydomain.com/my_redirect_url.php?auth_key=AUTH_KEY
    Acest auth_key valabil o singură dată; după folosire trebuie să redirecționezi din nou utilizatorul către linkul de autentificare pentru un cod nou.
Access Token

După aprobarea utilizatorului în fereastra Autentificare cu și returnarea auth_key ceea ce înseamnă că poți prelua date din API-uri; pentru aceasta trebuie să autorizezi aplicația și să obții access_token și poți urma pașii noștri pentru a afla cum îl obții.

  1. Pentru a obține un access token, fă o cerere HTTP GET către următorul endpoint, astfel:
            <?php
    
            $app_id = "YOUR_APP_ID"; // your app id
            $app_secret = "YOUR_APP_SECRET"; // your app secret
            $auth_key = $_GET['auth_key']; // the returned auth key from previous step
    
            // Prepare the POST data
            $postData = [
              'app_id' => $app_id,
              'app_secret' => $app_secret,
              'auth_key' => $auth_key
            ];
    
            // Initialize cURL
            $ch = curl_init('https://sngine-app.fluttercrafters.com/api/authorize');
    
            // Set cURL options for POST
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData));
    
            // Execute request
            $response = curl_exec($ch);
    
            // Check for cURL errors
            if (curl_errno($ch)) {
              die('cURL error: ' . curl_error($ch));
            }
    
            curl_close($ch);
    
            // Decode the JSON response
            $json = json_decode($response, true);
    
            // Use the access token if available
            if (!empty($json['access_token'])) {
              $access_token = $json['access_token']; // your access token
            }
            ?>
            
    Acest access_token valabil doar 1 oră; după expirare trebuie să generezi altul redirecționând utilizatorul din nou către linkul de autentificare.
API-uri

După ce obții access_token Acum poți prelua informații din sistem prin cereri HTTP GET, care suportă următorii parametri

Endpoint Descriere
api/get_user_info

obține informații utilizator

Poți prelua informațiile utilizatorului astfel

        if(!empty($json['access_token'])) {
            $access_token = $json['access_token']; // your access token
            $get = file_get_contents("https://sngine-app.fluttercrafters.com/api/get_user_info?access_token=$access_token");
        }
        

Rezultatul va fi:

        {
          "user_info": {
          "user_id": "",
          "user_name": "",
          "user_email": "",
          "user_firstname": "",
          "user_lastname": "",
          "user_gender": "",
          "user_birthdate": "",
          "user_picture": "",
          "user_cover": "",
          "user_registered": "",
          "user_verified": "",
          "user_relationship": "",
          "user_biography": "",
          "user_website": ""
          }
        }