require_once 'header.php';
/**
 * This class contains utility functions to create request/response objects for
 * webservice api.
 */
require_once 'utils/wob_utils.php';
/**
 * Set webservice response..
 */
require_once 'webservice/webservice_response.php';
// Create WobUilts object to handle requests.
$utils = new WobUtils();
// Get webservice request object
$inputJson = file_get_contents('php://input');
$input = json_decode($inputJson, TRUE);
$requestObject = $utils->getWebserviceRequestObject($input);
//Get linking id the merchant loyalty program account identification.
$linkId = is_object($requestObject) ? $requestObject->getParams()->getLinkingId() : NULL;
// Get api version from request object.
$apiVersion = is_object($requestObject) ? $requestObject->getApiVersion() : '1.0';
// Create loyalty object based on linking id.
$loyaltyObjectId = $linkId != NULL ? $linkId : LOYALTY_OBJECT_ID;
$loyaltyObject = Loyalty::generateLoyaltyObject(ISSUER_ID, LOYALTY_CLASS_ID, $loyaltyObjectId);
$firstName = $requestObject->getParams()->getWalletUser()->getFirstName();
$returnCode = strtoupper($firstName);
if (is_object($loyaltyObject)) {
    // Handle signup and linking.
    $webResponse = new WebserviceResponse($returnCode);
    if (strpos($webResponse->getStatus(), ResponseCode::SUCCESS) !== false) {
        // Generate Web Service Response Body.
        $responseBody = $utils->generateWebserviceResponse($loyaltyObject, $webResponse, $apiVersion);