assureId(); $param_types = array( 'feature' => 'string', ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_GET, '/business_messaging_feature_status', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function getContentPublishingLimit(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'since' => 'datetime', ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_GET, '/content_publishing_limit', new ContentPublishingLimitResponse(), 'EDGE', ContentPublishingLimitResponse::getFieldsEnum()->getValues(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function getConversations(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'folder' => 'string', 'is_owner' => 'bool', 'platform' => 'platform_enum', 'tags' => 'list', 'user_id' => 'string', ); $enums = array( 'platform_enum' => UnifiedThreadPlatformValues::getInstance()->getValues(), ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_GET, '/conversations', new UnifiedThread(), 'EDGE', UnifiedThread::getFieldsEnum()->getValues(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function getInsights(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'breakdown' => 'list', 'metric' => 'list', 'metric_type' => 'metric_type_enum', 'period' => 'list', 'since' => 'datetime', 'timeframe' => 'timeframe_enum', 'until' => 'datetime', ); $enums = array( 'breakdown_enum' => InsightsResultBreakdownValues::getInstance()->getValues(), 'metric_enum' => InsightsResultMetricValues::getInstance()->getValues(), 'metric_type_enum' => InsightsResultMetricTypeValues::getInstance()->getValues(), 'period_enum' => InsightsResultPeriodValues::getInstance()->getValues(), 'timeframe_enum' => InsightsResultTimeframeValues::getInstance()->getValues(), ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_GET, '/insights', new InsightsResult(), 'EDGE', InsightsResult::getFieldsEnum()->getValues(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function getLiveMedia(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_GET, '/live_media', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function getMedia(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'since' => 'datetime', 'until' => 'datetime', ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_GET, '/media', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function createMedia(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'alt_text' => 'string', 'audio_name' => 'string', 'caption' => 'string', 'children' => 'list', 'collaborators' => 'list', 'cover_url' => 'string', 'image_url' => 'string', 'is_carousel_item' => 'bool', 'location_id' => 'string', 'media_type' => 'string', 'product_tags' => 'list', 'share_to_feed' => 'bool', 'thumb_offset' => 'string', 'upload_type' => 'string', 'user_tags' => 'list', 'video_url' => 'string', ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_POST, '/media', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function createMediaPublish(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'creation_id' => 'unsigned int', ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_POST, '/mediapublish', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function createMention(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'comment_id' => 'string', 'media_id' => 'string', 'message' => 'string', ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_POST, '/mentions', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function createMessageAttachment(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'message' => 'Object', ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_POST, '/messageattachments', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function createMessage(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'message' => 'Object', 'messaging_type' => 'messaging_type_enum', 'payload' => 'string', 'recipient' => 'Object', 'sender_action' => 'sender_action_enum', 'tag' => 'Object', 'thread_control' => 'Object', ); $enums = array( 'messaging_type_enum' => array( 'MESSAGE_TAG', 'RESPONSE', 'UPDATE', 'UTILITY', ), 'sender_action_enum' => array( 'MARK_SEEN', 'REACT', 'TYPING_OFF', 'TYPING_ON', 'UNREACT', ), ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_POST, '/messages', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function deleteMessengerProfile(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'fields' => 'list', ); $enums = array( 'fields_enum' => array( 'ACCOUNT_LINKING_URL', 'COMMANDS', 'DESCRIPTION', 'GET_STARTED', 'GREETING', 'HOME_URL', 'ICE_BREAKERS', 'PERSISTENT_MENU', 'PLATFORM', 'SUBJECT_TO_NEW_EU_PRIVACY_RULES', 'TITLE', 'WHITELISTED_DOMAINS', ), ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_DELETE, '/messenger_profile', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function getMessengerProfile(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_GET, '/messenger_profile', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function createMessengerProfile(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'ice_breakers' => 'list', 'persistent_menu' => 'list', ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_POST, '/messenger_profile', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function getStories(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_GET, '/stories', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function deleteSubscribedApps(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_DELETE, '/subscribed_apps', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function getSubscribedApps(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_GET, '/subscribed_apps', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function createSubscribedApp(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'subscribed_fields' => 'list', ); $enums = array( 'subscribed_fields_enum' => array( 'comment_poll_response', 'comments', 'creator_marketplace_invited_creator_onboarding', 'creator_marketplace_projects', 'delta', 'follow', 'live_comments', 'mentions', 'message_edit', 'message_reactions', 'messages', 'messaging_handover', 'messaging_optins', 'messaging_postbacks', 'messaging_referral', 'messaging_seen', 'onboarding_welcome_message_series', 'share_to_story', 'standby', 'story_insights', 'story_poll_response', 'story_reactions', ), ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_POST, '/subscribed_apps', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function getTags(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_GET, '/tags', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function deleteWelcomeMessageFlows(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'flow_id' => 'string', ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_DELETE, '/welcome_message_flows', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function getWelcomeMessageFlows(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'app_id' => 'string', 'flow_id' => 'string', ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_GET, '/welcome_message_flows', new CTXPartnerAppWelcomeMessageFlow(), 'EDGE', CTXPartnerAppWelcomeMessageFlow::getFieldsEnum()->getValues(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function createWelcomeMessageFlow(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'eligible_platforms' => 'list', 'flow_id' => 'string', 'name' => 'string', 'welcome_message_flow' => 'list', ); $enums = array( 'eligible_platforms_enum' => array( 'INSTAGRAM', 'MESSENGER', 'WHATSAPP', ), ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_POST, '/welcome_message_flows', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function getSelf(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_GET, '/', new IGUserForIGOnlyAPI(), 'NODE', IGUserForIGOnlyAPI::getFieldsEnum()->getValues(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } }