/*
* En su método acción haga algo similar a esto
*/
// Cree un nuevo objeto GRPHPAPIClient
$objGeniusReferralsAPIClient = new GRPHPAPIClient('YOUR_USERNAME', 'YOUR_API_TOKEN');
//preparando los datos a ser enviados en su pedido
$arrAdvocate = array(
'advocate' => array(
"name" => "Jonh",
"lastname" => "Smith",
"email" => "jonh@email.com",
"payout_threshold" => 20
)
);
$objResponse = $objGeniusReferralsAPIClient->postAdvocate('genius-referrals', $arrAdvocate);
$intResponseCode = $objGeniusReferralsAPIClient->getResponseCode();
// promotor creado exitosamente
if($intResponseCode == 201){
//obteniendo el token del promotor del encabezado Location
$arrLocation = $objResponse->getHeader('Location')->raw();
$strLocation = $arrLocation[0];
$arrParts = explode('/', $strLocation);
$strAdvocateToken = end($arrParts);
//Actualizando el promotor con su moneda
$arrParams = array('currency_code' => 'USD');
$objResponse = $objGeniusReferralsAPIClient->patchAdvocate('genius-referrals', $strAdvocateToken, $arrParams);
$intResponseCode1 = $objGeniusReferralsAPIClient->getResponseCode();
if($intResponseCode1 == 204){
// moneda exitosamente actualizada
// TODO: Guardar la referencia entre el nuevo promotor y el cliente en su base de datos local.
// Utilice el $strAdvocateToken como referencia para que luego pueda usar el metodo getAdvocate(...)
// para recuperar los datos del promotor.
}
else{
// gestion de errores
}
}
else{
// gestion de errores
}
/*
* En su método acción haga algo similar a esto
*/
//El token del promotor
$strGRAdvocateToken = 'cc6bdb82850654d89bebada2b52e8028922b098c1d3';
// Creando un nuevo objeto GRPHPAPIClient
$objGeniusReferralsAPIClient = new GRPHPAPIClient('YOUR_USERNAME', 'YOUR_API_TOKEN');
$strResponse = $objGeniusReferralsAPIClient->getAdvocatesShareLinks('genius-referrals', $strGRAdovocateToken);
$intResponseCode = $objGeniusReferralsAPIClient->getResponseCode();
if($intResponseCode == 200){
$objResponse = json_decode($strResponse);
}
else{
// gestion de errores
}
/*
* En su metodo accion haga algo similar a esto
*/
$strGRAdvocateReferrerToken = $_GET['gr_at'];
$strGRCampaignSlug = $_GET['gr_cs'];
$strGRReferralOriginSlug = $_GET['gr_ro'];
$_SESSION['strGRAdvocateReferrerToken'] = $strGRAdvocateReferrerToken;
$_SESSION['strGRCampaignSlug'] = $strGRCampaignSlug;
$_SESSION['strGRReferralOriginSlug'] = $strGRReferralOriginSlug;
/*
* En su metodo accion haga algo similar a esto
*/
//cargando los parametros guardados en la sesion
$strGRAdvocateReferrerToken = $_SESSION['strGRAdvocateReferrerToken'];
$strGRCampaignSlug = $_SESSION['strGRCampaignSlug'];
$strGRReferralOriginSlug = $_SESSION['strGRReferralOriginSlug'];
// Creando un nuevo objeto GRPHPAPIClient
$objGeniusReferralsAPIClient = new GRPHPAPIClient('YOUR_USERNAME', 'YOUR_API_TOKEN');
$arrParams = array(
'referral' => array(
'referred_advocate_token' => $strGRNewAdovocateToken, //the one create when the advocate was registered.
'referral_origin_slug' => $strGRReferralOriginSlug,
'campaign_slug' => $strGRCampaignSlug,
'http_referer' => $_SERVER['HTTP_REFERER']
)
);
$objGeniusReferralsAPIClient->postReferral('genius-referrals', $strGRAdvocateReferrerToken, $arrParams);
$intResponseCode = $objGeniusReferralsAPIClient->getResponseCode();
if($intResponseCode == 201){
//si se ha creado exitosamente, continue
}
else{
//gestion de errores
}
/*
* En su metodo acción haga algo similar a esto
*/
//El token del promotor que ha hecho el pago
$strGRAdvocateToken = 'cc6bdb82850654d89bebada2b52e80289b098c1d3';
// Crea un objeto GRPHPAPIClient
$objGeniusReferralsAPIClient = new GRPHPAPIClient('YOUR_USERNAME', 'YOUR_API_TOKEN');
//preparando la información a enviar en el pedido
$arrParams = array(
'bonus' => array(
'advocate_token' => $strGRAdvocateToken, //el promotor que hizo el pago
'reference' => rand(1000000, 9999999), //Un número de referencia, podría ser el id del pago, time, etc.
'amount_of_payments' => 1,
'payment_amount' => 100 //la cantidad del pago hecha por el promotor referido.
)
);
//intentando dar una bonificacion el promotor referente.
$strResponse = $objGeniusReferralsAPIClient->postBonuses('genius-referrals', $arrParams);
$intResponseCode = $objGeniusReferralsAPIClient->getResponseCode();
if($intResponseCode == 201){
// bonificación dada al referente del promotor.
}
else{
// No hay necesidad de dar una bonificación al referente del promotor.
}
/*
* En su metodo acción haga algo similar a esto
*/
//El token del promotor del cliente que quiere adicionar una cuenta de paypal
$strGRAdvocateToken = '44ae47f4eda382a8f5830b78fedb7cf1de88981b0';
// Crear un objeto GRPHPAPIClient
$objGeniusReferralsAPIClient = new GRPHPAPIClient('YOUR_USERNAME', 'YOUR_API_TOKEN');
//preparando los datos a enviar en el pedido
$arrParams = array(
'advocate_payment_method' => array(
'username' => 'john@mail.com',
'description' => 'Personal Paypal account',
'is_active' => true
)
);
//intentando crear una nueva cuenta de paypal para el promotor
$strResponse = $objGeniusReferralsAPIClient->postAdvocatePaymentMethod('genius-referrals', $strGRAdovocateToken, $arrParams);
$intResponseCode = $objGeniusReferralsAPIClient->getResponseCode();
if($intResponseCode == 201){
// Cuenta de Paypal creada exitosamente
}
else{
// gestion de errores
}
/*
* En sus metodo acción, has algo similar a esto
*/
//El token del promotor que quiere canjear su bonificacion
$strGRAdvocateToken = '44ae47f4eda382a8f5830b78fedb7cf1de88981b0';
// Crear un nuevo objeto GRPHPAPIClient
$objGeniusReferralsAPIClient = new GRPHPAPIClient('YOUR_USERNAME', 'YOUR_API_TOKEN');
//Preparando los datos a ser enviados en el pedido
$arrParams = array(
'redemption_request' => array(
'advocate_token' => $strGRAdovocateToken,
'request_status_slug' => 'requested',
'request_action_slug' => 'credit',
'currency_code' => 'USD',
'amount' => 50,
'description' => 'Redeeming as credit'
)
);
//intentando crear un nuevo pedido de canje para el promotor.
$strResponse = $objGeniusReferralsAPIClient->postRedemptionRequest('genius-referrals', $arrParams);
$intResponseCode = $objGeniusReferralsAPIClient->getResponseCode();
if($intResponseCode == 201){
// Pedido de canje creado exitosamente
}
else{
// gestion de errores
}
/*
* En su método acción haga algo similar a esto
*/
// Cree un nuevo objeto GRPHPAPIClient
$objGeniusReferralsAPIClient = new GRPHPAPIClient('YOUR_USERNAME', 'YOUR_API_TOKEN');
$strResponse = $objGeniusReferralsAPIClient->getRedemptionRequests('genius-referrals', 1, 10, 'email::john@mail.com');
$intResponseCode = $objGeniusReferralsAPIClient->getResponseCode();
if($intResponseCode == 200){
// pedido exitosamente procesado
$objResponse = json_decode($strResponse);
//TODO: mostrar datos al usuario
}
else{
// gestion de errores
}