The response for all instantwinner services will be an array containing an array for the entry, prize and answer.
The tables below represent the information that will be returned for each of the arrays returned in the response.
Entry Array
This is the content of the array for each user that will be returned on success of the request.
Name
Type
Description
id
INT
The entry ID.
vhost
INT
The vhost ID of the draw.
userID
INT
The user ID associated with the entry.
date
YYYY-MM-DD HH:MM:SS
The date and time of the entry.
prizeID
INT
The prize awarded to the user or false if none.
answer
STRING
The user's answer to the question or false if none.
Prize Array
This is the content of the array for each user that will be returned on success of the request.
Name
Type
Description
id
INT
The prize ID for the entry.
vhost
INT
The vhost ID that the prize associated with.
category
STRING
The prize category used to group prizes. This is specified in the db.
questionID
INT
The question ID associated with a prize or false if none.
entryID
INT
The entry ID that has been selected for a prize or false if none.
correctText
STRING
Some text about the prize. This is only returned if a skill testing question has been answered correctly.
Question Array
This is the content of the array for each user that will be returned on success of the request.
Name
Type
Description
id
INT
The question ID that was asked.
vhost
INT
The vhost ID of the question.
question
STRING
The question text that the user has / will need to answer.
Sample Response
Code examples
PHP-RPC
$path = 'https://api.newspark.ca/services/php';
// Listing the arguments
$arguments = array(
'APIKEY' => 'YOURAPIKEY',
'method' => 'instantwinner.enter',
'vhost' => '2'
);
// http_build_query basically turns an array into a url-encoded list of variables
$url = $path .'?' . http_build_query($arguments,null,'&');
// get the contents from the specified url
$data = file_get_contents($url);
// transform it back into php data structures
$data = unserialize($data);
// the actual data is stored in $data['result']
print_r($data['result']);
// Include the client
require_once 'XML/RPC.php';
// Create the XMLRPC Client
$client = new XML_RPC_Client('/services/xmlrpc?APIKEY={YOURAPIKEY}', 'api.newspark.ca');
// PEAR's XML-RPC client requires all arguments to wrapped in a special value class
// XML_RPC_encode converts this automatically
$arguments = array(
XML_RPC_encode('2')
);
// Creating an XML-RPC message
$message = new XML_RPC_Message('instantwinner.enter',$arguments);
// Sending the message to the server
$response = $client->send($message);
// We also need to decode the response back to normal PHP types
$response = XML_RPC_decode($response);
print_r($response);
/*
* In ActionScript 2 remote service calls are done using the RemotingConnector Component.
* An instance of the component must exist on the stage and have an instance name.
*
* Results and Faults are handled by addEventListener's and the call parameters are placed inside of an associative array
*
* You must also specify the service class and method names under the appropriate property fields of the component
*/
var gatewayURL:String = "/services/amf2";
//Set up service call
myRemConn_rc.gatewayUrl = gatewayURL;
myRemConn_rc.serviceName = "instantwinner";
myRemConn_rc.methodName = "enter";
myRemConn_rc.params = {2:vhost};
myRemConn_rc.addEventListener("result", widgetResult);
myRemConn_rc.addEventListener("status", widgetFault);
//Make the call
myRemConn_rc.trigger();
/*
* Handles service result.
*/
function widgetResult(ev:Object){
//Do stuff
//Data is returned inside of ev.target.results
//(i.e. ev.traget.results.description or ev.traget.results.settings.color)
}
/*
* Handles service fault.
*/
function widgetFault(ev:Object){
//Display Error
trace("Categories Error - " + ev.code + " - " + ev.data.faultstring);
}
/*
* In ActionScript 3 remote service calls are done using the NetConnection Object.
* A Responder Object controls what functions handle successful or failed calls
* and any parameters for the call are placed in an array and passed as a parameter
* in the NetConnection.call() method.
*/
var gatewayURL:String = "/services/amf2";
var parameters:Array = new Array(vhost);
var connection:NetConnection = new NetConnection();
connection.connect(gatewayURL);
connection.call("instantwinner.enter", new Responder(widgetResult, widgetFault), parameters);
/*
* Handles service result.
*/
function widgetResult(ev:Object):void{
//Do stuff
//Data is returned inside of ev
//(i.e. ev.description or ev.settings.color)
}
/*
* Handles service fault.
*/
function widgetFault(ev:Object):void{
//Display Error
error.showError(parentClip, ev.code + " - " + ev.description, "Please refresh your browser to try again.");
error.x = (parentClip.width - error.width) / 2;
error.y = (parentClip.height - error.height) / 2;
}
<%@ Page Language="vb" %>
<%
' REST gateway
dim gateway as string = "http://api.newspark.ca/services/rest/"
' Service + method we're calling.
dim method as string = "instantwinner/enter"
dim apiKey as string = "YOURAPIKEY"
dim url as string = gateway & method & "?APIKEY=" & apiKey & "&vhost=2"
' HTTP Client
dim wcHTTPScrape as new System.net.WebClient()
' Opening a stream
dim objInput as System.IO.Stream = wcHTTPScrape.OpenRead(url)
dim objReader as new System.IO.StreamReader ( objInput )
' Reading the entire HTTP response and output it
Response.Write ( objReader.ReadToEnd () )
objReader.Close ()
objInput.Close ()
%>
/*
* jQuery post example
*/
function enter ( ) {
var params = {
"method" : 'instantwinner.enter',
"vhost" : 2}
$.post('/services/json',params
,function(response){
console.log(response);
});
// Get the Service Mapper
$mapper = Sabre_ServiceMap_Mapper::getMapper();
// Calling the method
$data = $mapper->instantwinner->enter( 2 );
print_r($data);