Skip to main content

PHP SDK Samples - Modules Operations

Get Modules
              
              
<?php
namespace samples\modules;

use com\zoho\api\authenticator\OAuthBuilder;
use com\zoho\crm\api\dc\USDataCenter;
use com\zoho\crm\api\InitializeBuilder;
use com\zoho\crm\api\UserSignature;
use com\zoho\crm\api\HeaderMap;
use com\zoho\crm\api\modules\APIException;
use com\zoho\crm\api\modules\ModulesOperations;
use com\zoho\crm\api\modules\ResponseWrapper;
use com\zoho\crm\api\modules\GetModulesHeader;
require_once "vendor/autoload.php";

class GetModules
{
    public static function initialize()
    {
        $user = new UserSignature('myname@mydomain.com');
        $environment = USDataCenter::PRODUCTION();
        $token = (new OAuthBuilder())
        ->clientId("1000.xxxx")
        ->clientSecret("xxxxxx")
        ->refreshToken("1000.xxxxx.xxxxx")
        ->build();
        (new InitializeBuilder())
            ->user($user)
            ->environment($environment)
            ->token($token)
            ->initialize();
    }

	public static function getModules()
	{
		$moduleOperations = new ModulesOperations();
        $headerInstance = new HeaderMap();
        $datetime = date_create("2020-07-15T17:58:47+05:30")->setTimezone(new \DateTimeZone(date_default_timezone_get()));
        $headerInstance->add(GetModulesHeader::IfModifiedSince(), $datetime);
		$response = $moduleOperations->getModules($headerInstance);
		if($response != null)
		{
            echo("Status code " . $response->getStatusCode() . "\n");
            if(in_array($response->getStatusCode(), array(204, 304)))
            {
                echo($response->getStatusCode() == 204? "No Content\n" : "Not Modified\n");
                return;
            }
            $responseHandler = $response->getObject();
            if($responseHandler instanceof ResponseWrapper)
            {
                $responseWrapper = $responseHandler;
                $modules = $responseWrapper->getModules();
                foreach($modules as $module)
                {
                    echo("Module Name: " . $module->getName() . "\n");
                    echo("Module GlobalSearchSupported: "); print_r($module->getGlobalSearchSupported()); echo("\n");
                    echo("Module Deletable: "); print_r($module->getDeletable()); echo("\n");
                    echo("Module Description: " . $module->getDescription() . "\n");
                    echo("Module Creatable: "); print_r($module->getCreatable()); echo("\n");
                    echo("Module InventoryTemplateSupported: "); print_r($module->getInventoryTemplateSupported()); echo("\n");
                    echo("Module ModifiedTime: "); print_r($module->getModifiedTime()); echo("\n");
                    echo("Module PluralLabel: " . $module->getPluralLabel() . "\n");
                    echo("Module PresenceSubMenu: "); print_r($module->getPresenceSubMenu()); echo("\n");
                    echo("Module TriggersSupported: "); print_r($module->getTriggersSupported()); echo("\n");
                    echo("Module Id: " . $module->getId() . "\n");
                    echo("Module IsBlueprintSupported: "); print_r($module->getIsblueprintsupported()); echo("\n");
                    echo("Module Visible: "); print_r($module->getVisible()); echo("\n");
                    echo("Module Visibility: " . $module->getVisibility() . "\n");
                    echo("Module Convertable: "); print_r($module->getConvertable()); echo("\n");
                    echo("Module Editable: "); print_r($module->getEditable()); echo("\n");
                    echo("Module EmailtemplateSupport: "); print_r($module->getEmailtemplateSupport()); echo("\n");
                    $profiles = $module->getProfiles();
                    if($profiles != null)
                    {
                        foreach($profiles as $profile)
                        {
                            echo("Module Profile Name: " . $profile->getName() . "\n");
                            echo("Module Profile Id: " . $profile->getId() . "\n");
                        }
                    }
                    echo("Module FilterSupported: "); print_r($module->getFilterSupported()); echo("\n");
                    $onDemandProperties = $module->getOnDemandProperties();
                    
                    if($onDemandProperties != null)
                    {
                        foreach($onDemandProperties as $fieldName)
                        {
                            echo("Module onDemandProperties Fields: " . $fieldName);
                        }
                    }
                    echo("Module ShowAsTab: "); print_r($module->getShowAsTab()); echo("\n");
                    echo("Module WebLink: " . $module->getWebLink() . "\n");
                    echo("Module SequenceNumber: " . $module->getSequenceNumber() . "\n");
                    echo("Module SingularLabel: " . $module->getSingularLabel() . "\n");
                    echo("Module Viewable: "); print_r($module->getViewable()); echo("\n");
                    echo("Module APISupported: "); print_r($module->getAPISupported()); echo("\n");
                    echo("Module APIName: " . $module->getAPIName() . "\n");
                    echo("Module QuickCreate: "); print_r($module->getQuickCreate()); echo("\n");
                    $modifiedBy = $module->getModifiedBy();
                    if($modifiedBy != null)
                    {
                        echo("Module Modified By User-Name: " . $modifiedBy->getName() . "\n");
                        echo("Module Modified By User-ID: " . $modifiedBy->getId() . "\n");
                    }
                    echo("Module GeneratedType: " . $module->getGeneratedType()->getValue() . "\n");
                    echo("Module FeedsRequired: "); print_r($module->getFeedsRequired()); echo("\n");
                    echo("Module ScoringSupported: "); print_r($module->getScoringSupported()); echo("\n");
                    echo("Module WebformSupported: "); print_r($module->getWebformSupported()); echo("\n");
                    $arguments = $module->getArguments();
                    if($arguments != null)
                    {
                        foreach($arguments as $argument)
                        {
                            echo("Module Argument Name: " . $argument->getName() . "\n");
                            echo("Module Argument Value: " . $argument->getValue() . "\n");
                        }
                    }
                    echo("Module ModuleName: " . $module->getModuleName() . "\n");
                    echo("Module BusinessCardFieldLimit: " . $module->getBusinessCardFieldLimit() . "\n");
                    $parentModule = $module->getParentModule();
                    if($parentModule != null && $parentModule->getAPIName() != null)
                    {
                        echo("Module Parent Module Name: " . $parentModule->getAPIName() . "\n");
                        echo("Module Parent Module Id: " . $parentModule->getId() . "\n");
                    }
                }
            }
			else if($responseHandler instanceof APIException)
			{
				$exception = $responseHandler;
				echo("Status: " . $exception->getStatus()->getValue() . "\n");
				echo("Code: " . $exception->getCode()->getValue() . "\n");
				echo("Details: " );
				foreach($exception->getDetails() as $key => $value)
				{
					echo($key . ": " .$value . "\n");
				}
				echo("Message: " . $exception->getMessage()->getValue() . "\n");
			}
		}
	}
}

GetModules::initialize();
GetModules::getModules();
?>

 
Get a Module
Update the Module by its Module API Name
              
              
<?php
namespace samples\modules;

use com\zoho\api\authenticator\OAuthBuilder;
use com\zoho\crm\api\dc\USDataCenter;
use com\zoho\crm\api\InitializeBuilder;
use com\zoho\crm\api\UserSignature;
use com\zoho\crm\api\modules\APIException;
use com\zoho\crm\api\modules\ActionWrapper;
use com\zoho\crm\api\modules\BodyWrapper;
use com\zoho\crm\api\modules\Module;
use com\zoho\crm\api\modules\ModulesOperations;
use com\zoho\crm\api\modules\SuccessResponse;
use com\zoho\crm\api\profiles\Profile;
require_once "vendor/autoload.php";

class UpdateModuleByAPIName
{
    public static function initialize()
    {
        $user = new UserSignature('myname@mydomain.com');
        $environment = USDataCenter::PRODUCTION();
        $token = (new OAuthBuilder())
        ->clientId("1000.xxxx")
        ->clientSecret("xxxxxx")
        ->refreshToken("1000.xxxxx.xxxxx")
        ->build();
        (new InitializeBuilder())
            ->user($user)
            ->environment($environment)
            ->token($token)
            ->initialize();
    }

	public static function updateModuleByAPIName(string $moduleAPIName)
	{
		$moduleOperations = new ModulesOperations();
		$modules = array();
		$profiles = array();
		$profile = new Profile();
		$profile->setId("34770610026014");
		$profile->setDelete(true);
		array_push($profiles, $profile);
		$module = new Module();
		$module->setProfiles($profiles);
		array_push($modules , $module);
		$request = new BodyWrapper();
		$request->setModules($modules);
		$response = $moduleOperations->updateModuleByAPIName($moduleAPIName,$request);
		if($response != null)
		{
			echo("Status code " . $response->getStatusCode() . "\n");
            $actionHandler = $response->getObject();
            if($actionHandler instanceof ActionWrapper)
            {
                $actionWrapper = $actionHandler;
                $actionResponses = $actionWrapper->getModules();
                foreach ($actionResponses as $actionResponse)
                {
                    if($actionResponse instanceof SuccessResponse)
                    {
                        $successResponse = $actionResponse;
                        echo("Status: " . $successResponse->getStatus()->getValue() . "\n");
                        echo("Code: " . $successResponse->getCode()->getValue() . "\n");
                        echo("Details: " );
                        if($successResponse->getDetails() != null)
                        {
                            foreach ($successResponse->getDetails() as $keyName => $keyValue)
                            {
                                echo($keyName . ": " . $keyValue . "\n");
                            }
                        }
                        echo("Message: " . $successResponse->getMessage()->getValue() . "\n");
                    }
                    else if($actionResponse instanceof APIException)
                    {
                        $exception = $actionResponse;
                        echo("Status: " . $exception->getStatus()->getValue() . "\n");
                        echo("Code: " . $exception->getCode()->getValue() . "\n");
                        echo("Details: " );
                        if($exception->getDetails() != null)
                        {
                            foreach ($exception->getDetails() as $keyName => $keyValue)
                            {
                                echo($keyName . ": " . $keyValue . "\n");
                            }
                        }
                        echo("Message: " . $exception->getMessage()->getValue() . "\n");
                    }
                }
            }
            else if($actionHandler instanceof APIException)
            {
                $exception = $actionHandler;
                echo("Status: " . $exception->getStatus()->getValue() . "\n");
                echo("Code: " . $exception->getCode()->getValue() . "\n");
                if($exception->getDetails() != null)
                {
                    echo("Details: \n");
                    foreach ($exception->getDetails() as $keyName => $keyValue)
                    {
                        echo($keyName . ": " . $keyValue . "\n");
                    }
                }
                echo("Message: " . $exception->getMessage()->getValue() . "\n");
            }
		}
	}
}

UpdateModuleByAPIName::initialize();
$moduleAPIName = "Test";
UpdateModuleByAPIName::updateModuleByAPIName($moduleAPIName);
?>
 
Update a Module by its ID
              
              
<?php
namespace samples\modules;

use com\zoho\api\authenticator\OAuthBuilder;
use com\zoho\crm\api\dc\USDataCenter;
use com\zoho\crm\api\InitializeBuilder;
use com\zoho\crm\api\UserSignature;
use com\zoho\crm\api\modules\APIException;
use com\zoho\crm\api\modules\ActionWrapper;
use com\zoho\crm\api\modules\BodyWrapper;
use com\zoho\crm\api\modules\Module;
use com\zoho\crm\api\modules\ModulesOperations;
use com\zoho\crm\api\modules\SuccessResponse;
use com\zoho\crm\api\profiles\Profile;
require_once "vendor/autoload.php";

class UpdateModuleById
{
    public static function initialize()
    {
        $user = new UserSignature('myname@mydomain.com');
        $environment = USDataCenter::PRODUCTION();
        $token = (new OAuthBuilder())
        ->clientId("1000.xxxx")
        ->clientSecret("xxxxxx")
        ->refreshToken("1000.xxxxx.xxxxx")
        ->build();
        (new InitializeBuilder())
            ->user($user)
            ->environment($environment)
            ->token($token)
            ->initialize();
    }

	public static function updateModuleById(string $moduleId)
	{
		$moduleOperations = new ModulesOperations();
		$modules = array();
		$profiles = array();
		$profile = new Profile();
		$profile->setId("34770610026014");
		array_push($profiles, $profile);
		$module = new Module();
		$module->setProfiles($profiles);
		$module->setAPIName("apiName2");
		array_push($modules, $module);
		$request = new BodyWrapper();
		$request->setModules($modules);
		$response = $moduleOperations->updateModuleById($moduleId, $request);
		if($response != null)
		{
			echo("Status code " . $response->getStatusCode() . "\n");
            $actionHandler = $response->getObject();
            if($actionHandler instanceof ActionWrapper)
            {
                $actionWrapper = $actionHandler;
                $actionResponses = $actionWrapper->getModules();
                foreach ($actionResponses as $actionResponse)
                {
                    if($actionResponse instanceof SuccessResponse)
                    {
                        $successResponse = $actionResponse;
                        echo("Status: " . $successResponse->getStatus()->getValue() . "\n");
                        echo("Code: " . $successResponse->getCode()->getValue() . "\n");
                        echo("Details: " );
                        if($successResponse->getDetails() != null)
                        {
                            foreach ($successResponse->getDetails() as $keyName => $keyValue)
                            {
                                echo($keyName . ": " . $keyValue . "\n");
                            }
                        }
                        echo("Message: " . $successResponse->getMessage()->getValue() . "\n");
                    }
                    else if($actionResponse instanceof APIException)
                    {
                        $exception = $actionResponse;
                        echo("Status: " . $exception->getStatus()->getValue() . "\n");
                        echo("Code: " . $exception->getCode()->getValue() . "\n");
                        echo("Details: " );
                        if($exception->getDetails() != null)
                        {
                            foreach ($exception->getDetails() as $keyName => $keyValue)
                            {
                                echo($keyName . ": " . $keyValue . "\n");
                            }
                        }
                        echo("Message: " . $exception->getMessage()->getValue() . "\n");
                    }
                }
            }
            else if($actionHandler instanceof APIException)
            {
                $exception = $actionHandler;
                echo("Status: " . $exception->getStatus()->getValue() . "\n");
                echo("Code: " . $exception->getCode()->getValue() . "\n");
                if($exception->getDetails() != null)
                {
                    echo("Details: \n");
                    foreach ($exception->getDetails() as $keyName => $keyValue)
                    {
                        echo($keyName . ": " . $keyValue . "\n");
                    }
                }
                echo("Message: " . $exception->getMessage()->getValue() . "\n");
            }
		}
    }
}

UpdateModuleById::initialize();
$moduleId = "34770613753009";
UpdateModuleById::updateModuleById($moduleId);

?>