예제 #1
0
    def enable_notifications():
        """
        This method is used to Enable Notifications and print the response.
        """

        # Get instance of NotificationOperations Class
        notification_operations = NotificationOperations()

        # Get instance of BodyWrapper Class that will contain the request body
        body_wrapper = BodyWrapper()

        # List to hold Notification instances
        notifications = []

        # Get instance of Notification Class
        notification_1 = ZCRMNotification()

        # Set channel Id of the Notification
        notification_1.set_channel_id(100000006800211)

        # To subscribe based on particular operations on given modules.
        notification_1.set_events(['Deals.all'])

        # To set the expiry time for instant notifications.
        notification_1.set_channel_expiry(datetime.now())

        # By using this value, user can validate the notifications.
        notification_1.set_token("TOKEN_FOR_VERIFICATION_OF_100000006800211")

        # URL to be notified (POST request)
        notification_1.set_notify_url("https://www.zohoapis.com")

        # Add Notification instance to the list
        notifications.append(notification_1)

        # Get instance of Notification Class
        notification_2 = ZCRMNotification()

        # Set channel Id of the Notification
        notification_2.set_channel_id(1000000068002)

        # To subscribe based on particular operations on given modules.
        notification_2.set_events(['Accounts.all'])

        # To set the expiry time for instant notifications.
        notification_2.set_channel_expiry(datetime(2020, 11, 11, 10, 10, 10))

        # By using this value, user can validate the notifications.
        notification_2.set_token("TOKEN_FOR_VERIFICATION_OF_1000000068002")

        # URL to be notified (POST request)
        notification_2.set_notify_url("https://www.zohoapis.com")

        # Add Notification instance to the list
        notifications.append(notification_2)

        # Set the list to notifications in BodyWrapper instance
        body_wrapper.set_watch(notifications)

        # Call enable_notifications method that takes BodyWrapper instance as parameter
        response = notification_operations.enable_notifications(body_wrapper)

        if response is not None:

            # Get the status code from response
            print('Status Code: ' + str(response.get_status_code()))

            # Get object from response
            response_object = response.get_object()

            if response_object is not None:

                # Check if expected ActionWrapper instance is received.
                if isinstance(response_object, ActionWrapper):
                    # Get the list of obtained ActionResponse instances
                    action_response_list = response_object.get_watch()

                    for action_response in action_response_list:

                        # Check if the request is successful
                        if isinstance(action_response, SuccessResponse):
                            # Get the Status
                            print("Status: " +
                                  action_response.get_status().get_value())

                            # Get the Code
                            print("Code: " +
                                  action_response.get_code().get_value())

                            print("Details: ")

                            if action_response.get_details() is not None:
                                for key, value in action_response.get_details(
                                ).items():
                                    if isinstance(value, list):
                                        event_list = value

                                        for event in event_list:
                                            # Get the ChannelExpiry of each Notification
                                            print(
                                                "Notification ChannelExpiry: "
                                                +
                                                str(event.get_channel_expiry())
                                            )

                                            # Get the ResourceUri of each Notification
                                            print(
                                                "Notification ResourceUri: " +
                                                event.get_resource_uri())

                                            # Get the ResourceId of each Notification
                                            print("Notification ResourceId: " +
                                                  event.get_resource_id())

                                            # Get the ResourceName of each Notification
                                            print(
                                                "Notification ResourceName: " +
                                                event.get_resource_name())

                                            # Get the ChannelId of each Notification
                                            print("Notification ChannelId: " +
                                                  str(event.get_channel_id()))

                                    else:
                                        print(key + ' : ' + str(value))

                                # Get the Message
                                print(
                                    "Message: " +
                                    action_response.get_message().get_value())

                        # Check if the request returned an exception
                        elif isinstance(action_response, APIException):
                            # Get the Status
                            print("Status: " +
                                  action_response.get_status().get_value())

                            # Get the Code
                            print("Code: " +
                                  action_response.get_code().get_value())

                            print("Details")

                            # Get the details dict
                            details = action_response.get_details()

                            for key, value in details.items():
                                print(key + ' : ' + str(value))

                            # Get the Message
                            print("Message: " +
                                  action_response.get_message().get_value())

                # Check if the request returned an exception
                elif isinstance(response_object, APIException):
                    # Get the Status
                    print("Status: " +
                          response_object.get_status().get_value())

                    # Get the Code
                    print("Code: " + response_object.get_code().get_value())

                    print("Details")

                    # Get the details dict
                    details = response_object.get_details()

                    for key, value in details.items():
                        print(key + ' : ' + str(value))

                    # Get the Message
                    print("Message: " +
                          response_object.get_message().get_value())
예제 #2
0
    def disable_notification():
        """
        This method is used to disable notifications for the specified events in a channel.
        """

        # Get instance of NotificationOperations Class
        notification_operations = NotificationOperations()

        # Get instance of BodyWrapper Class that will contain the request body
        body_wrapper = BodyWrapper()

        # List to hold Notification instances
        notifications = []

        # Get instance of Notification Class
        notification = ZCRMNotification()

        # Set channel Id of the Notification
        notification.set_channel_id(100000006800211)

        # To subscribe based on particular operations on given modules.
        notification.set_events(['Leads.create'])

        notification.set_deleteevents(True)

        # Add Notification instance to the list
        notifications.append(notification)

        # Set the list to notifications in BodyWrapper instance
        body_wrapper.set_watch(notifications)

        # Call disable_notification which takes BodyWrapper instance as parameter
        response = notification_operations.disable_notification(body_wrapper)

        if response is not None:
            # Get the status code from response
            print('Status Code: ' + str(response.get_status_code()))

            # Get object from response
            response_object = response.get_object()

            if response_object is not None:

                # Check if expected ActionWrapper instance is received.
                if isinstance(response_object, ActionWrapper):
                    # Get the list of obtained ActionResponse instances
                    action_response_list = response_object.get_watch()

                    for action_response in action_response_list:

                        # Check if the request is successful
                        if isinstance(action_response, SuccessResponse):
                            # Get the Status
                            print("Status: " +
                                  action_response.get_status().get_value())

                            # Get the Code
                            print("Code: " +
                                  action_response.get_code().get_value())

                            print("Details")

                            # Get the details dict
                            details = action_response.get_details()

                            for key, value in details.items():
                                print(key + ' : ' + str(value))

                            # Get the Message
                            print("Message: " +
                                  action_response.get_message().get_value())

                        # Check if the request returned an exception
                        elif isinstance(action_response, APIException):
                            # Get the Status
                            print("Status: " +
                                  action_response.get_status().get_value())

                            # Get the Code
                            print("Code: " +
                                  action_response.get_code().get_value())

                            print("Details")

                            # Get the details dict
                            details = action_response.get_details()

                            for key, value in details.items():
                                print(key + ' : ' + str(value))

                            # Get the Message
                            print("Message: " +
                                  action_response.get_message().get_value())

                # Check if the request returned an exception
                elif isinstance(response_object, APIException):
                    # Get the Status
                    print("Status: " +
                          response_object.get_status().get_value())

                    # Get the Code
                    print("Code: " + response_object.get_code().get_value())

                    print("Details")

                    # Get the details dict
                    details = response_object.get_details()

                    for key, value in details.items():
                        print(key + ' : ' + str(value))

                    # Get the Message
                    print("Message: " +
                          response_object.get_message().get_value())