Difference between revisions of "Integration:api"

From PrometheusIPN Wiki
Jump to: navigation, search
(Created page with "====== The API ====== ===== What is this api? ===== An API(Application Program Interface), is a way of communication with a system both internally and externally. With Prometh...")
 
Line 33: Line 33:
 
==== getGoal Example ====
 
==== getGoal Example ====
  
<file php getGoalExample.php>
+
getGoalExample.php
<?php
+
  <?php
 
   
 
   
 
         $get = file_get_contents('http://marcuz.eu/ipn/api.php?action=getGoal');
 
         $get = file_get_contents('http://marcuz.eu/ipn/api.php?action=getGoal');
Line 52: Line 52:
 
         }
 
         }
 
   
 
   
?>
+
  ?>
</file>
 
  
 
==== assignPackage Example ====
 
==== assignPackage Example ====
  
<file php assignPackageExample.php>
+
assignPackageExample.php
<?php
+
  <?php
 
   
 
   
 
         // Replace everything in uppercase letters with your own information
 
         // Replace everything in uppercase letters with your own information
Line 89: Line 88:
 
         }
 
         }
 
   
 
   
?>
+
  ?>
</file>
 

Revision as of 21:53, 31 July 2015

The API
What is this api?

An API(Application Program Interface), is a way of communication with a system both internally and externally. With Prometheus this allows you to do the following things currently:

Add a package to a user(Using Steam64 or SteamID) Get donation goal info

The API has a few things you can designate:

hash - The hash you generate above if you enable API. This has to be kept a secret. Do not give it to anyone else.

action - The performed action

steamid - The users steamid

package - The package

How do I use it?

The API is accessed by typing this into your browser:

http://yourprometheus.com/api.php?hash=HASH&action=ACTION

Not all actions require a hash, for instance the getGoal action does not require a hash and can be accessed directly. The API returns the response in **JSON**. It can be securely communicated with using **cURL**.

List of actions

^ Action ^ Hash ^ Properties ^ Returns ^ | getGoal | No | None | error, cur, total, goal | | assignPackage | Yes | steamid, package | error, msg | | addCredits | Yes | steamid, amount | error, msg |

Examples

getGoal Example

getGoalExample.php

 <?php

       $get = file_get_contents('http://marcuz.eu/ipn/api.php?action=getGoal');
       $array = json_decode($get, true);
      
       if($array['error'] == 0){
               $percentage = $array['perc'];
               $total = $array['total'];
               $goal = $array['goal'];
               $currency = $array['cur'];
              
               echo '
                      Goal: '.$goal.' '.$currency.'
Received: '.$total.' '.$currency.'
Percentage: '.$percentage.'% '; }  ?>

assignPackage Example

assignPackageExample.php

 <?php

       // Replace everything in uppercase letters with your own information
       $source = 'http://yourprometheus.com/api.php?hash=YOUR_HASH&action=assignPackage&package=PACKAGE_ID&steamid=STEAM64_OR_STEAMID';

       $ch = curl_init();
       curl_setopt($ch, CURLOPT_URL, $source);
       curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
       curl_setopt($ch, CURLOPT_SSLVERSION,4);
       $data = curl_exec($ch);
       $error = curl_error($ch);
       curl_close ($ch);
              
       if($data === false) {
               // Display an error if there is any
               die('Curl error: ' . $error);
       }
      
       // Decode the data response
       $array = json_decode($data, true);
      
       // Display an error if there is any
       if($array['error'] == 1){
               die($array['msg']);
       }
      
       // Display success message
       if($array['error'] == 0){
               echo($array['msg']);
       }

 ?>