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...")
(No difference)

Revision as of 21:52, 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

<file php 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.'% '; }

?> </file>

assignPackage Example

<file php 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']);
       }

?> </file>