Documentatie

API Versie 1.1

Deze documentatie legt uit hoe je je app registreert, configureert en ontwikkelt om onze API's te gebruiken

App aanmaken

Om onze API's te gebruiken, moet je je app registreren via de App-dashboard. Registratie maakt een app-ID aan waarmee we je app van andere apps kunnen onderscheiden.

  1. Je moet een nieuwe app aanmaken Nieuwe app aanmaken
  2. Zodra je je app hebt aangemaakt, krijg je je app_id and app_secret
Log in Met

Inloggen met is een snelle manier om accounts aan te maken en in te loggen in je app. Het systeem ondersteunt authenticatie en het vragen van toestemming voor gegevens. Je kunt het alleen voor authenticatie gebruiken, of voor beide..

  1. Om het OAuth-inloggen te starten, gebruik je een link voor je app zoals deze:
    <a href="https://sngine-app.fluttercrafters.com/api/oauth?app_id=YOUR_APP_ID">Log in With Sngine Flutter Crafters</a>

    De gebruiker wordt doorgestuurd naar een Inloggen met-pagina zoals deze

  2. Zodra de gebruiker je app heeft goedgekeurd, wordt die doorgestuurd naar je app-redirect-URL met auth_key zoals dit:
    https://mydomain.com/my_redirect_url.php?auth_key=AUTH_KEY
    This auth_key slechts één keer geldig; daarna moet je de gebruiker opnieuw naar de Inloggen met-link sturen om een nieuwe code te krijgen.
Access Token

Zodra de gebruiker je app in het Inloggen met-venster heeft goedgekeurd en terugkomt met de auth_key wat betekent dat je klaar bent om gegevens via onze API's op te halen; daarvoor moet je je app autoriseren en de access_token en je kunt onze stappen volgen om te zien hoe je die krijgt.

  1. Om een access token te krijgen, doe je een HTTP GET-verzoek naar het volgende endpoint, zoals dit:
            <?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
            }
            ?>
            
    This access_token slechts 1 uur geldig; daarna stuur je de gebruiker opnieuw naar de Inloggen met-link voor een nieuwe.
API's

Zodra je je access_token Nu kun je gegevens ophalen via HTTP GET-verzoeken met de volgende parameters

Endpoint Beschrijving
api/get_user_info

gebruikersgegevens ophalen

Je kunt gebruikersgegevens zo ophalen

        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");
        }
        

Het resultaat is:

        {
          "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": ""
          }
        }