Pull data

Voor het opgeven van de juiste beloningen binnen jouw software, is het nodig dat ons platform diverse data kan ophalen. Zo moeten voornamelijk de producten opgehaald kunnen worden.

De informatie tijdens ophalen

Wanneer wij informatie binnen de opgegeven API url ophalen, zullen wij een aantal elementen meesturen. Om verkeerde dataverstekking te voorkomen is het handig als je minstens de Secret Key en Public Key gaat gebruiken om de binnenkomende request te valideren

Zodra wij de door jou opgegeven API url aanroepen, zal deze url voorzien worden van enkel de GET parameter 'key'. Deze zal de door ons verstreken Publieke API Sleutel bevatten.

Via POST met de parameter 'do' zal een van de volgende waardes verstreken worden:

  • customer_hash
  • validate_hash
  • receive_data

Welke informatie haalt Spari op

Op basis van de POST parameter 'do', zal bepaald worden welke informatie wij ophalen. Deze informatie dient overigens ook volgens de opgegeven format verstreken te worden.

Bij de POST waarde 'customer_hash'
// This is where you must store the customer hash to allow the customer to stay automatically logged in
if(isset($_POST['hash']) && isset($_POST['send_id'])){
   /*/
    * Here the magic happens where the customer will be able to stay logged in at Spari through your software! 
    * the $_POST['hash'] will contain the customerSession, which you will have to store in to your database attached to the customer 
    * where the $_POST['send_id'] will be the customer id you provided when the user opened our Spari login popup through your software 
   /*/

   // return an OK succes notification to us
   echo "OK";
}
Bij de POST waarde 'validate_hash'
// This file must store the customer hash to allow the customer to be automatically logged in
if(isset($_POST['hash']) && isset($_POST['send_id'])){
   // check if the hash is the same as the previously stored customerSession
   if($_POST['hash'] == "here_goes_your_stored_customer_hash"){ echo 'OK'; }
}
Bij de POST waarde 'receive_data'
/*/
 * Here you will be able to provide us your product id's and (if available) even your categories id's! 
/*/

// The following format will be used for sending the products
$products = array(
  'the_first_product_id_goes_here' => 'the_name_of_the_first_product_goes_here', 
  'the_second_product_id_goes_here' => 'the_name_of_the_second_product_goes_here' 
  // etc. etc. etc. (if more products available ofcourse) 
);

// The following format will be used for sending the categories
$categories = array(
  'the_first_category_id_goes_here' => 'the_name_of_the_first_category_goes_here', 
  'the_second_category_id_goes_here' => 'the_name_of_the_second_category_goes_here' 
  // etc. etc. etc. (if more categories available ofcourse) 
);

// Generate an array, since we require the data to be read as a JSON string
$json = array(
  'products' => $products, // Attach the products array within the json data. No data? use empty array() instead of the variable
  'categories' => $categories, // Attach the categories array within the json data. No data? use empty array() instead of the variable 
  'results' => 'OK', // Tell us if generating the results succeded, by giving us the OK 
);

// output the requested data as an JSON string
echo json_encode($json);