1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116:
<?php
/**
* @link : http://www.loginradius.com
* @category : CustomerRegistration
* @package : CustomObjectAPI
* @author : LoginRadius Team
* @license : https://opensource.org/licenses/MIT
*/
namespace LoginRadiusSDK\CustomerRegistration\Account;
use LoginRadiusSDK\Utility\Functions;
/**
* Class CustomObjectAPI
*
* This is the main class to communicate with LoginRadius Custom Object APIs.
*/
class CustomObjectAPI
{
/**
*
* @param type $apikey
* @param type $apisecret
* @param type $options
*/
public function __construct($apikey = '', $apisecret = '', $options = array())
{
new Functions($apikey, $apisecret, $options);
}
/**
* This API is used to create custom objects.
*
* @param $uid='xxxxxx';//// UID, the identifier for each user account
* @param $object_name= 'xxxxxxxxxxxx';//LoginRadius Custom Object name
* @param $data='{"objectdata":"field1"}';
* @return type
*/
public function insert($uid, $object_name, $data, $fields = '*')
{
return $this->apiClientHandler($uid . '/customObject/', array('ObjectName' => $object_name, 'fields' => $fields), array('method' => 'POST', 'post_data' => $data, 'content_type' => 'json'));
}
/**
* This API is used to retrieve the Custom Object for the specified account based on the account ID(UID).
*
* @param $uid='xxxxxx';//// UID, the identifier for each user account
* @param $object_name= 'xxxxxxxxxxxx';//LoginRadius Custom Object name
* @return type
*/
public function getObjectByAccountid($uid, $object_name, $fields = '*')
{
return $this->apiClientHandler($uid . '/customObject/', array('ObjectName' => $object_name, 'fields' => $fields));
}
/**
* This API is used to update the Custom Object for the specified account based on the record ID($object_record_id).
*
* @param $uid='xxxxxx';//// UID, the identifier for each user account
* @param $object_name= 'xxxxxxxxxxxx';//LoginRadius Custom Object name
* @param $object_record_id='xxxxxxxxx';//Unique identifier of the user's record in Custom Object
* @param $update_type='xxxxxxxxx';
* @param $data='{
* "field1": "Store my field1 value",
* "field2": "Store my field2 value"
* }';
* @return type
*/
public function updateObjectByRecordID($uid, $object_name, $object_record_id, $update_type, $data, $fields = '*')
{
return $this->apiClientHandler($uid . '/customObject/' . $object_record_id, array('ObjectName' => $object_name, 'updatetype'=> $update_type, 'fields' => $fields), array('method' => 'PUT', 'post_data' => $data, 'content_type' => 'json'));
}
/**
* This API is used to retrieve the Custom Object for the specified account based on the record ID($object_record_id).
*
* @param $uid='xxxxxx';//// UID, the identifier for each user account
* @param $object_name= 'xxxxxxxxxxxx';//LoginRadius Custom Object name
* @param $object_record_id='xxxxxxxxx';//Unique identifier of the user's record in Custom Object
* @return type
*/
public function getObjectByRecordID($uid, $object_name, $object_record_id, $fields = '*')
{
return $this->apiClientHandler($uid . '/customObject/' . $object_record_id, array('ObjectName' => $object_name, 'fields' => $fields));
}
/**
* This API is used to remove the specified Custom Object based on the account ID(UID).
*
* @param $uid='xxxxxx';//// UID, the identifier for each user account
* @param $object_name= 'xxxxxxxxxxxx';//LoginRadius Custom Object name
* @param $object_record_id='xxxxxxxxx';//Unique identifier of the user's record in Custom Object
* @return type
*/
public function delete($uid, $object_name, $object_record_id, $fields = '*')
{
return $this->apiClientHandler($uid . '/customObject/' . $object_record_id, array('ObjectName' => $object_name, 'fields' => $fields), array('method' => 'DELETE', 'post_data' => true));
}
/**
* Custom Object API handler
*
* @param type $path
* @param type $query_array
* @param type $options
* @return type
*/
private function apiClientHandler($path, $query_array = array(), $options = array())
{
return Functions::apiClient("/identity/v2/manage/account/" . $path, $query_array, array_merge(array('authentication' => 'secret'), $options));
}
}