PHP SDK Samples - Notification Operations
Enable Notifications
<?php
namespace com\zoho\crm\sample\notification;
use com\zoho\crm\api\ParameterMap;
use com\zoho\crm\api\notification\APIException;
use com\zoho\crm\api\notification\ActionWrapper;
use com\zoho\crm\api\notification\BodyWrapper;
use com\zoho\crm\api\notification\NotificationOperations;
use com\zoho\crm\api\notification\DisableNotificationsParam;
use com\zoho\crm\api\notification\GetNotificationDetailsParam;
use com\zoho\crm\api\notification\ResponseWrapper;
use com\zoho\crm\api\notification\SuccessResponse;
class Notification
{
/**
* Enable Notifications
* This method is used to Enable Notifications and print the response.
* @throws Exception
*/
public static function enableNotifications()
{
//Get instance of NotificationOperations Class
$notificationOperations = new NotificationOperations();
//Get instance of BodyWrapper Class that will contain the request body
$bodyWrapper = new BodyWrapper();
//List of Notification instances
$notifications = array();
$notificationClass = 'com\zoho\crm\api\notification\Notification';
//Get instance of Notification Class
$notification = new $notificationClass();
//Set channel Id of the Notification
$notification->setChannelId("1006800211");
$events = array();
array_push($events, "Deals.all");
//To subscribe based on particular operations on given modules.
$notification->setEvents($events);
//To set the expiry time for instant notifications.
$notification->setChannelExpiry(date_create("2019-05-07T15:32:24")->setTimezone(new \DateTimeZone(date_default_timezone_get())));
//To ensure that the notification is sent from Zoho CRM, by sending back the given value in notification URL body.
//By using this value, user can validate the notifications.
$notification->setToken("TOKEN_FOR_VERIFICATION_OF_10068002");
//URL to be notified (POST request)
$notification->setNotifyUrl("https://www.zohoapis.com");
//Add Notification instance to the list
array_push($notifications, $notification);
//Get instance of Notification Class
$notification2 = new $notificationClass();
//Set channel Id of the Notification
$notification2->setChannelId("1006800211");
$events2 = array();
array_push($events2, "Accounts.all");
//To subscribe based on particular operations on given modules.
$notification2->setEvents($events2);
//To set the expiry time for instant notifications.
$dateTime = date_create("2019-05-07T15:32:24")->setTimezone(new \DateTimeZone(date_default_timezone_get()));
$notification2->setChannelExpiry($dateTime);
//To ensure that the notification is sent from Zoho CRM, by sending back the given value in notification URL body.
//By using this value, user can validate the notifications.
$notification2->setToken("TOKEN_FOR_VERIFICATION_OF_10068002");
//URL to be notified (POST request)
$notification2->setNotifyUrl("https://www.zohoapis.com");
//Add Notification instance to the list
array_push($notifications, $notification2);
//Set the list to notifications in BodyWrapper instance
$bodyWrapper->setWatch($notifications);
//Call enableNotifications method that takes BodyWrapper instance as parameter
$response = $notificationOperations->enableNotifications($bodyWrapper);
if($response != null)
{
//Get the status code from response
echo("Status Code: " . $response->getStatusCode());
//Check if expected response is received
if($response->isExpected())
{
//Get object from response
$actionHandler = $response->getObject();
if($actionHandler instanceof ActionWrapper)
{
//Get the received ActionWrapper instance
$actionWrapper = $actionHandler;
//Get the list of obtained ActionResponse instances
$actionResponses = $actionWrapper->getWatch();
foreach ($actionResponses as $actionResponse)
{
//Check if the request is successful
if($actionResponse instanceof SuccessResponse)
{
//Get the received SuccessResponse instance
$successResponse = $actionResponse;
//Get the Status
echo("Status: " . $successResponse->getStatus()->getValue() . "\n");
//Get the Code
echo("Code: " . $successResponse->getCode()->getValue() . "\n");
echo("Details: " );
//Get the details map
foreach($successResponse->getDetails() as $keyName => $value)
{
if((is_array($value) && sizeof($value) > 0) && isset($value[0]))
{
if($value[0] instanceof $notificationClass)
{
$eventList = $value;
foreach($eventList as $event)
{
//Get the ChannelExpiry of each Notification
echo("Notification ChannelExpiry: "); print_r($event->getChannelExpiry());
//Get the ResourceUri each Notification
echo("Notification ResourceUri: " . $event->getResourceUri() . "\n");
//Get the ResourceId each Notification
echo("Notification ResourceId: " . $event->getResourceId() . "\n");
//Get the ResourceName each Notification
echo("Notification ResourceName: " . $event->getResourceName() . "\n");
//Get the ChannelId each Notification
echo("Notification ChannelId: " . $event->getChannelId() . "\n");
}
}
}
else
{
//Get each value in the map
echo($keyName . ": "); print_r($value);
}
}
//Get the Message
echo("Message: " . $successResponse->getMessage()->getValue() . "\n");
}
//Check if the request returned an exception
else if($actionResponse instanceof APIException)
{
//Get the received APIException instance
$exception = $actionResponse;
//Get the Status
echo("Status: " . $exception->getStatus()->getValue() . "\n");
//Get the Code
echo("Code: " . $exception->getCode()->getValue() . "\n");
echo("Details: " );
if($exception->getDetails() != null)
{
//Get the details map
foreach ($exception->getDetails() as $keyName => $keyValue)
{
//Get each value in the map
echo($keyName . ": " . $keyValue . "\n");
}
}
//Get the Message
echo("Message: " . $exception->getMessage()->getValue() . "\n");
}
}
}
//Check if the request returned an exception
else if($actionHandler instanceof APIException)
{
//Get the received APIException instance
$exception = $actionHandler;
//Get the Status
echo("Status: " . $exception->getStatus()->getValue() . "\n");
//Get the Code
echo("Code: " . $exception->getCode()->getValue() . "\n");
echo("Details: " );
if($exception->getDetails() != null)
{
echo("Details: \n");
//Get the details map
foreach ($exception->getDetails() as $keyName => $keyValue)
{
//Get each value in the map
echo($keyName . ": " . $keyValue . "\n");
}
}
//Get the Message
echo("Message: " . $exception->getMessage()->getValue() . "\n");
}
}
else
{//If response is not as expected
//Get model object from response
print_r($response);
}
}
}
}
Get Notification Details
<?php
namespace com\zoho\crm\sample\notification;
use com\zoho\crm\api\ParameterMap;
use com\zoho\crm\api\notification\APIException;
use com\zoho\crm\api\notification\ActionWrapper;
use com\zoho\crm\api\notification\BodyWrapper;
use com\zoho\crm\api\notification\NotificationOperations;
use com\zoho\crm\api\notification\DisableNotificationsParam;
use com\zoho\crm\api\notification\GetNotificationDetailsParam;
use com\zoho\crm\api\notification\ResponseWrapper;
use com\zoho\crm\api\notification\SuccessResponse;
class Notification
{
/**
* Get Notification Details
* This method is used to get all the Notification and print the response.
* @throws Exception
*/
public static function getNotificationDetails()
{
//Get instance of NotificationOperations Class
$notificationOperations = new NotificationOperations();
$paramInstance = new ParameterMap();
$paramInstance->add(GetNotificationDetailsParam::channelId(), "1006800211");
$paramInstance->add(GetNotificationDetailsParam::module(), "Accounts");
$paramInstance->add(GetNotificationDetailsParam::page(), 1);
$paramInstance->add(GetNotificationDetailsParam::perPage(), 2);
//Call getNotificationDetails method
$response = $notificationOperations->getNotificationDetails($paramInstance);
if($response != null)
{
//Get the status code from response
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;
}
//Check if expected response is received
if($response->isExpected())
{
//Get object from response
$responseHandler = $response->getObject();
if($responseHandler instanceof ResponseWrapper)
{
//Get the received ResponseWrapper instance
$responseWrapper = $responseHandler;
//Get the list of obtained Notification instances
$notifications = $responseWrapper->getWatch();
foreach($notifications as $notification)
{
//Get the NotifyOnRelatedAction of each Notification
echo("Notification NotifyOnRelatedAction: " . $notification->getNotifyOnRelatedAction() . "\n");
//Get the ChannelExpiry of each Notification
echo("Notification ChannelExpiry: "); print_r($notification->getChannelExpiry());
//Get the ResourceUri each Notification
echo("Notification ResourceUri: " . $notification->getResourceUri() . "\n");
//Get the ResourceId each Notification
echo("Notification ResourceId: " . $notification->getResourceId() . "\n");
//Get the NotifyUrl each Notification
echo("Notification NotifyUrl: " . $notification->getNotifyUrl() . "\n");
//Get the ResourceName each Notification
echo("Notification ResourceName: " . $notification->getResourceName() . "\n");
//Get the ChannelId each Notification
echo("Notification ChannelId: " . $notification->getChannelId() . "\n");
//Get the events List of each Notification
$fields = $notification->getEvents();
//Check if fields is not null
if($fields != null)
{
foreach($fields as $fieldName)
{
//Get the Events
echo("Notification Events: " . $fieldName . "\n");
}
}
//Get the Token each Notification
echo("Notification Token: " . $notification->getToken() . "\n");
}
//Get the Object obtained Info instance
$info = $responseWrapper->getInfo();
//Check if info is not null
if($info != null)
{
if($info->getPerPage() != null)
{
//Get the PerPage of the Info
echo("Record Info PerPage: " . $info->getPerPage() . "\n");
}
if($info->getCount() != null)
{
//Get the Count of the Info
echo("Record Info Count: " . $info->getCount() . "\n");
}
if($info->getPage() != null)
{
//Get the Page of the Info
echo("Record Info Page: " . $info->getPage() . "\n");
}
if($info->getMoreRecords() != null)
{
//Get the MoreRecords of the Info
echo("Record Info MoreRecords: " . $info->getMoreRecords() . "\n");
}
}
}
//Check if the request returned an exception
else if($responseHandler instanceof APIException)
{
//Get the received APIException instance
$exception = $responseHandler;
//Get the Status
echo("Status: " . $exception->getStatus()->getValue() . "\n");
//Get the Code
echo("Code: " . $exception->getCode()->getValue() . "\n");
if($exception->getDetails() != null)
{
echo("Details: \n");
//Get the details map
foreach ($exception->getDetails() as $keyName => $keyValue)
{
//Get each value in the map
echo($keyName . ": " . $keyValue . "\n");
}
}
//Get the Message
echo("Message: " . $exception->getMessage()->getValue() . "\n");
}
}
else if($response->getStatusCode() != 204 )
{//If response is not as expected
print_r($response);
}
}
}
}
Update Notifications
<?php
namespace com\zoho\crm\sample\notification;
use com\zoho\crm\api\ParameterMap;
use com\zoho\crm\api\notification\APIException;
use com\zoho\crm\api\notification\ActionWrapper;
use com\zoho\crm\api\notification\BodyWrapper;
use com\zoho\crm\api\notification\NotificationOperations;
use com\zoho\crm\api\notification\DisableNotificationsParam;
use com\zoho\crm\api\notification\GetNotificationDetailsParam;
use com\zoho\crm\api\notification\ResponseWrapper;
use com\zoho\crm\api\notification\SuccessResponse;
class Notification
{
/**
* Update Notifications
* This method is used to update Notifications and print the response.
* @throws Exception
*/
public static function updateNotifications()
{
//Get instance of NotificationOperations Class
$notificationOperations = new NotificationOperations();
//Get instance of BodyWrapper Class that will contain the request body
$bodyWrapper = new BodyWrapper();
//List of Notification instances
$notificationList = array();
$notificationClass = 'com\zoho\crm\api\notification\Notification';
//Get instance of Notification Class
$notification = new $notificationClass();
//Set ChannelId to the Notification instance
$notification->setChannelId("1006800211");
$events = array();
array_push($events, "Accounts.all");
//To subscribe based on particular operations on given modules.
$notification->setEvents($events);
//Set name to the Notification instance
$notification->setChannelExpiry(date_create("2021-02-26T15:28:34+05:30")->setTimezone(new \DateTimeZone(date_default_timezone_get())));
//To ensure that the notification is sent from Zoho CRM, by sending back the given value in notification URL body.
//By using this value, user can validate the notifications.
$notification->setToken("TOKEN_FOR_VERIFICATION_OF_10068002");
//URL to be notified (POST request)
$notification->setNotifyUrl("https://www.zohoapis.com");
//Add Notification instance to the list
array_push($notificationList, $notification);
//Set the list to notification in BodyWrapper instance
$bodyWrapper->setWatch($notificationList);
//Call updateNotifications method that takes BodyWrapper instance as parameter
$response = $notificationOperations->updateNotifications($bodyWrapper);
if($response != null)
{
//Get the status code from response
echo("Status Code: " . $response->getStatusCode());
//Check if expected response is received
if($response->isExpected())
{
//Get object from response
$actionHandler = $response->getObject();
if($actionHandler instanceof ActionWrapper)
{
//Get the received ActionWrapper instance
$actionWrapper = $actionHandler;
//Get the list of obtained ActionResponse instances
$actionResponses = $actionWrapper->getWatch();
foreach($actionResponses as $actionResponse)
{
//Check if the request is successful
if($actionResponse instanceof SuccessResponse)
{
//Get the received SuccessResponse instance
$successResponse = $actionResponse;
//Get the Status
echo("Status: " . $successResponse->getStatus()->getValue());
//Get the Code
echo("Code: " . $successResponse->getCode()->getValue());
echo("Details: " );
//Get the details map
foreach($successResponse->getDetails() as $keyName => $value)
{
if((is_array($value) && sizeof($value) > 0) && isset($value[0]))
{
if($value[0] instanceof $notificationClass)
{
$eventList = $value;
foreach($eventList as $event)
{
//Get the ChannelExpiry of each Notification
echo("Notification ChannelExpiry: "); print_r($event->getChannelExpiry());
//Get the ResourceUri each Notification
echo("Notification ResourceUri: " . $event->getResourceUri() . "\n");
//Get the ResourceId each Notification
echo("Notification ResourceId: " . $event->getResourceId() . "\n");
//Get the ResourceName each Notification
echo("Notification ResourceName: " . $event->getResourceName() . "\n");
//Get the ChannelId each Notification
echo("Notification ChannelId: " . $event->getChannelId() . "\n");
}
}
}
else
{
//Get each value in the map
echo($keyName . ": "); print_r($value);
}
}
//Get the Message
echo("Message: " . $successResponse->getMessage()->getValue() . "\n");
}
//Check if the request returned an exception
else if($actionResponse instanceof APIException)
{
//Get the received APIException instance
$exception = $actionResponse;
//Get the Status
echo("Status: " . $exception->getStatus()->getValue() . "\n");
//Get the Code
echo("Code: " . $exception->getCode()->getValue() . "\n");
echo("Details: " );
if($exception->getDetails() != null)
{
echo("Details: \n");
//Get the details map
foreach ($exception->getDetails() as $keyName => $keyValue)
{
//Get each value in the map
echo($keyName . ": " . $keyValue . "\n");
}
}
//Get the Message
echo("Message: " . $exception->getMessage()->getValue() . "\n");
}
}
}
//Check if the request returned an exception
else if($actionHandler instanceof APIException)
{
//Get the received APIException instance
$exception = $actionHandler;
//Get the Status
echo("Status: " . $exception->getStatus()->getValue() . "\n");
//Get the Code
echo("Code: " . $exception->getCode()->getValue() . "\n");
echo("Details: " );
if($exception->getDetails() != null)
{
echo("Details: \n");
//Get the details map
foreach ($exception->getDetails() as $keyName => $keyValue)
{
//Get each value in the map
echo($keyName . ": " . $keyValue . "\n");
}
}
//Get the Message
echo("Message: " . $exception->getMessage()->getValue() . "\n");
}
}
else
{//If response is not as expected
print_r($response);
}
}
}
}
Update Specific Information of a Notification
<?php
namespace com\zoho\crm\sample\notification;
use com\zoho\crm\api\ParameterMap;
use com\zoho\crm\api\notification\APIException;
use com\zoho\crm\api\notification\ActionWrapper;
use com\zoho\crm\api\notification\BodyWrapper;
use com\zoho\crm\api\notification\NotificationOperations;
use com\zoho\crm\api\notification\DisableNotificationsParam;
use com\zoho\crm\api\notification\GetNotificationDetailsParam;
use com\zoho\crm\api\notification\ResponseWrapper;
use com\zoho\crm\api\notification\SuccessResponse;
class Notification
{
/**
* Update Specific Information of a Notification
* This method is used to update single Notification and print the response.
* @throws Exception
*/
public static function updateNotification()
{
//Get instance of NotificationOperations Class
$notificationOperations = new NotificationOperations();
//Get instance of BodyWrapper Class that will contain the request body
$bodyWrapper = new BodyWrapper();
//List of Notification instances
$notificationList = array();
//Get instance of Notification Class
$notificationClass = 'com\zoho\crm\api\notification\Notification';
$notification = new $notificationClass();
//Set ChannelId to the Notification instance
$notification->setChannelId("1006800212");
$events = array();
array_push($events, "Deals.all");
//To subscribe based on particular operations on given modules.
$notification->setEvents($events);
//Set name to the Notification instance
$notification->setChannelExpiry(date_create("2021-02-26T15:28:34+05:30")->setTimezone(new \DateTimeZone(date_default_timezone_get())));
//To ensure that the notification is sent from Zoho CRM, by sending back the given value in notification URL body.
//By using this value, user can validate the notifications.
$notification->setToken("TOKEN_FOR_VERIFICATION_OF_10068002");
//URL to be notified (POST request)
$notification->setNotifyUrl("https://www.zohoapis.com");
//Add Notification instance to the list
array_push($notificationList, $notification);
//Set the list to notification in BodyWrapper instance
$bodyWrapper->setWatch($notificationList);
//Call updateNotification method that takes BodyWrapper instance as parameters
$response = $notificationOperations->updateNotification($bodyWrapper);
if($response != null)
{
//Get the status code from response
echo("Status Code: " . $response->getStatusCode() . "\n");
//Check if expected response is received
if($response->isExpected())
{
//Get object from response
$actionHandler = $response->getObject();
if($actionHandler instanceof ActionWrapper)
{
//Get the received ActionWrapper instance
$actionWrapper = $actionHandler;
//Get the list of obtained ActionResponse instances
$actionResponses = $actionWrapper->getWatch();
foreach($actionResponses as $actionResponse)
{
//Check if the request is successful
if($actionResponse instanceof SuccessResponse)
{
//Get the received SuccessResponse instance
$successResponse = $actionResponse;
//Get the Status
echo("Status: " . $successResponse->getStatus()->getValue() . "\n");
//Get the Code
echo("Code: " . $successResponse->getCode()->getValue() . "\n");
echo("Details: \n");
//Get the details map
foreach($successResponse->getDetails() as $keyName => $value)
{
if((is_array($value) && sizeof($value) > 0) && isset($value[0]))
{
if($value[0] instanceof $notificationClass)
{
$eventList = $value;
foreach($eventList as $event)
{
//Get the ChannelExpiry of each Notification
echo("Notification ChannelExpiry: "); print_r($event->getChannelExpiry());
//Get the ResourceUri each Notification
echo("Notification ResourceUri: " . $event->getResourceUri() . "\n");
//Get the ResourceId each Notification
echo("Notification ResourceId: " . $event->getResourceId() . "\n");
//Get the ResourceName each Notification
echo("Notification ResourceName: " . $event->getResourceName() . "\n");
//Get the ChannelId each Notification
echo("Notification ChannelId: " . $event->getChannelId() . "\n");
}
}
}
else
{
//Get each value in the map
echo($keyName . ": " . $value);
}
}
//Get the Message
echo("Message: " . $successResponse->getMessage()->getValue() . "\n");
}
//Check if the request returned an exception
else if($actionResponse instanceof APIException)
{
//Get the received APIException instance
$exception = $actionResponse;
//Get the Status
echo("Status: " . $exception->getStatus()->getValue() . "\n");
//Get the Code
echo("Code: " . $exception->getCode()->getValue() . "\n");
if($exception->getDetails() != null)
{
echo("Details: \n");
//Get the details map
foreach ($exception->getDetails() as $keyName => $keyValue)
{
//Get each value in the map
echo($keyName . ": " . $keyValue . "\n");
}
}
//Get the Message
echo("Message: " . $exception->getMessage()->getValue() . "\n");
}
}
}
//Check if the request returned an exception
else if($actionHandler instanceof APIException)
{
//Get the received APIException instance
$exception = $actionHandler;
//Get the Status
echo("Status: " . $exception->getStatus()->getValue());
//Get the Code
echo("Code: " . $exception->getCode()->getValue());
echo("Details: " );
if($exception->getDetails() != null)
{
echo("Details: \n");
//Get the details map
foreach ($exception->getDetails() as $keyName => $keyValue)
{
//Get each value in the map
echo($keyName . ": " . $keyValue . "\n");
}
}
//Get the Message
echo("Message: " . $exception->getMessage()->getValue());
}
}
else
{//If response is not as expected
print_r($response);
}
}
}
}
Disable Notifications
<?php
namespace com\zoho\crm\sample\notification;
use com\zoho\crm\api\ParameterMap;
use com\zoho\crm\api\notification\APIException;
use com\zoho\crm\api\notification\ActionWrapper;
use com\zoho\crm\api\notification\BodyWrapper;
use com\zoho\crm\api\notification\NotificationOperations;
use com\zoho\crm\api\notification\DisableNotificationsParam;
use com\zoho\crm\api\notification\GetNotificationDetailsParam;
use com\zoho\crm\api\notification\ResponseWrapper;
use com\zoho\crm\api\notification\SuccessResponse;
class Notification
{
/**
* Disable Notifications
* To stop all the instant notifications enabled by the user for a channel.
* @param channelIds - Specify the unique IDs of the notification channels to be disabled.
* @throws Exception
*/
public static function disableNotifications(array $channelIds)
{
//example
//$channelIds = array(34770615208001);
//Get instance of NotificationOperations Class
$notificationOperations = new NotificationOperations();
//Get instance of ParameterMap Class
$paramInstance = new ParameterMap();
foreach($channelIds as $id)
{
$paramInstance->add(DisableNotificationsParam::channelIds(), $id);
}
//Call disableNotifications method that takes paramInstance as parameter
$response = $notificationOperations->disableNotifications($paramInstance);
if($response != null)
{
//Get the status code from response
echo("Status Code: " . $response->getStatusCode());
//Check if expected response is received
if($response->isExpected())
{
//Get object from response
$actionHandler = $response->getObject();
if($actionHandler instanceof ActionWrapper)
{
//Get the received ActionWrapper instance
$actionWrapper = $actionHandler;
//Get the list of obtained Notification instances
$actionResponses = $actionWrapper->getWatch();
foreach($actionResponses as $actionResponse)
{
//Check if the request is successful
if($actionResponse instanceof SuccessResponse)
{
//Get the received SuccessResponse instance
$successResponse = $actionResponse;
//Get the Status
echo("Status: " . $successResponse->getStatus()->getValue() . "\n");
//Get the Code
echo("Code: " . $successResponse->getCode()->getValue() . "\n");
echo("Details: " );
if($successResponse->getDetails() != null)
{
echo("Details: \n");
//Get the details map
foreach ($successResponse->getDetails() as $keyName => $keyValue)
{
//Get each value in the map
echo($keyName . ": " . $keyValue . "\n");
}
}
//Get the Message
echo("Message: " . $successResponse->getMessage()->getValue() . "\n");
}
//Check if the request returned an exception
else if($actionResponse instanceof APIException)
{
//Get the received APIException instance
$exception = $actionResponse;
//Get the Status
echo("Status: " . $exception->getStatus()->getValue() . "\n");
//Get the Code
echo("Code: " . $exception->getCode()->getValue() . "\n");
echo("Details: " );
if($exception->getDetails() != null)
{
echo("Details: \n");
//Get the details map
foreach ($exception->getDetails() as $keyName => $keyValue)
{
//Get each value in the map
echo($keyName . ": " . $keyValue . "\n");
}
}
//Get the Message
echo("Message: " . $exception->getMessage()->getValue() . "\n");
}
}
}
//Check if the request returned an exception
else if($actionHandler instanceof APIException)
{
//Get the received APIException instance
$exception = $actionHandler;
//Get the Status
echo("Status: " . $exception->getStatus()->getValue() . "\n");
//Get the Code
echo("Code: " . $exception->getCode()->getValue() . "\n");
echo("Details: " );
if($exception->getDetails() != null)
{
echo("Details: \n");
//Get the details map
foreach ($exception->getDetails() as $keyName => $keyValue)
{
//Get each value in the map
echo($keyName . ": " . $keyValue . "\n");
}
}
//Get the Message
echo("Message: " . $exception->getMessage()->getValue() . "\n");
}
}
else
{//If response is not as expected
print_r($response);
}
}
}
}
Disable Specific Notifications
<?php
namespace com\zoho\crm\sample\notification;
use com\zoho\crm\api\ParameterMap;
use com\zoho\crm\api\notification\APIException;
use com\zoho\crm\api\notification\ActionWrapper;
use com\zoho\crm\api\notification\BodyWrapper;
use com\zoho\crm\api\notification\NotificationOperations;
use com\zoho\crm\api\notification\DisableNotificationsParam;
use com\zoho\crm\api\notification\GetNotificationDetailsParam;
use com\zoho\crm\api\notification\ResponseWrapper;
use com\zoho\crm\api\notification\SuccessResponse;
class Notification
{
/**
* Disable Specific Notifications
* This method is used to disable notifications for the specified events in a channel.
* @throws Exception
*/
public static function disableNotification()
{
//Get instance of NotificationOperations Class
$notificationOperations = new NotificationOperations();
//Get instance of BodyWrapper Class that will contain the request body
$bodyWrapper = new BodyWrapper();
//List of Notification instances
$notificationList = array();
//Get instance of Notification Class
$notificationClass = 'com\zoho\crm\api\notification\Notification';
$notification = new $notificationClass();
//Set ChannelId to the Notification instance
$notification->setChannelId("1006800211");
$events = array();
array_push($events, "Deals.edit");
//To subscribe based on particular operations on given modules.
$notification->setEvents($events);
$notification->setDeleteevents(true);
//Add Notification instance to the list
array_push($notificationList, $notification);
//Set the list to notification in BodyWrapper instance
$bodyWrapper->setWatch($notificationList);
//Call disableNotification which takes BodyWrapper instance as parameter
$response = $notificationOperations->disableNotification($bodyWrapper);
if($response != null)
{
//Get the status code from response
echo("Status Code: " . $response->getStatusCode() . "\n");
//Check if expected response is received
if($response->isExpected())
{
//Get object from response
$actionHandler = $response->getObject();
if($actionHandler instanceof ActionWrapper)
{
//Get the received ActionWrapper instance
$actionWrapper = $actionHandler;
//Get the list of obtained ActionResponse instances
$actionResponses = $actionWrapper->getWatch();
foreach($actionResponses as $actionResponse)
{
//Check if the request is successful
if($actionResponse instanceof SuccessResponse)
{
//Get the received SuccessResponse instance
$successResponse = $actionResponse;
//Get the Status
echo("Status: " . $successResponse->getStatus()->getValue() . "\n");
//Get the Code
echo("Code: " . $successResponse->getCode()->getValue() . "\n");
if($successResponse->getDetails() != null)
{
echo("Details: \n");
//Get the details map
foreach ($successResponse->getDetails() as $keyName => $keyValue)
{
//Get each value in the map
echo($keyName . ": " . $keyValue . "\n");
}
}
//Get the Message
echo("Message: " . $successResponse->getMessage()->getValue() . "\n");
}
//Check if the request returned an exception
else if($actionResponse instanceof APIException)
{
//Get the received APIException instance
$exception = $actionResponse;
//Get the Status
echo("Status: " . $exception->getStatus()->getValue() . "\n");
//Get the Code
echo("Code: " . $exception->getCode()->getValue() . "\n");
if($exception->getDetails() != null)
{
echo("Details: \n");
//Get the details map
foreach ($exception->getDetails() as $keyName => $keyValue)
{
//Get each value in the map
echo($keyName . ": " . $keyValue . "\n");
}
}
//Get the Message
echo("Message: " . $exception->getMessage()->getValue() . "\n");
}
}
}
//Check if the request returned an exception
else if($actionHandler instanceof APIException)
{
//Get the received APIException instance
$exception = $actionHandler;
//Get the Status
echo("Status: " . $exception->getStatus()->getValue() . "\n");
//Get the Code
echo("Code: " . $exception->getCode()->getValue() . "\n");
if($exception->getDetails() != null)
{
echo("Details: \n");
//Get the details map
foreach ($exception->getDetails() as $keyName => $keyValue)
{
//Get each value in the map
echo($keyName . ": " . $keyValue . "\n");
}
}
//Get the Message
echo("Message: " . $exception->getMessage()->getValue() . "\n");
}
}
else
{//If response is not as expected
print_r($response);
}
}
}
}