getValues(); $ref_enums['Category'] = WhatsAppBusinessAccountCategoryValues::getInstance()->getValues(); return $ref_enums; } public function deleteAssignedUsers(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'user' => 'int', ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_DELETE, '/assigned_users', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function getAssignedUsers(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'business' => 'string', ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_GET, '/assigned_users', new AssignedUser(), 'EDGE', AssignedUser::getFieldsEnum()->getValues(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function createAssignedUser(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'tasks' => 'list', 'user' => 'int', ); $enums = array( 'tasks_enum' => WhatsAppBusinessAccountTasksValues::getInstance()->getValues(), ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_POST, '/assigned_users', new WhatsAppBusinessAccount(), 'EDGE', WhatsAppBusinessAccount::getFieldsEnum()->getValues(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function getAudiences(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, '/audiences', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function getConversationAnalytics(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'conversation_categories' => 'list', 'conversation_directions' => 'list', 'conversation_types' => 'list', 'country_codes' => 'list', 'dimensions' => 'list', 'end' => 'unsigned int', 'granularity' => 'granularity_enum', 'metric_types' => 'list', 'phone_numbers' => 'list', 'start' => 'unsigned int', ); $enums = array( 'conversation_categories_enum' => array( 'AUTHENTICATION', 'MARKETING', 'SERVICE', 'UNKNOWN', 'UTILITY', ), 'conversation_directions_enum' => array( 'BUSINESS_INITIATED', 'UNKNOWN', 'USER_INITIATED', ), 'conversation_types_enum' => array( 'FREE_ENTRY_POINT', 'FREE_TIER', 'REGULAR', 'UNKNOWN', ), 'dimensions_enum' => array( 'CONVERSATION_CATEGORY', 'CONVERSATION_DIRECTION', 'CONVERSATION_TYPE', 'COUNTRY', 'PHONE', 'UNKNOWN', ), 'granularity_enum' => array( 'DAILY', 'HALF_HOUR', 'MONTHLY', ), 'metric_types_enum' => array( 'CONVERSATION', 'COST', 'UNKNOWN', ), ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_GET, '/conversation_analytics', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function getExtensions(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, '/extensions', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function getMessageCampaigns(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, '/message_campaigns', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function deleteMessageTemplates(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'hsm_id' => 'string', 'name' => 'string', ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_DELETE, '/message_templates', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function getMessageTemplates(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'category' => 'list', 'content' => 'string', 'language' => 'list', 'name' => 'string', 'name_or_content' => 'string', 'quality_score' => 'list', 'status' => 'list', ); $enums = array( 'category_enum' => WhatsAppBusinessAccountCategoryValues::getInstance()->getValues(), 'quality_score_enum' => array( 'GREEN', 'RED', 'UNKNOWN', 'YELLOW', ), 'status_enum' => array( 'APPROVED', 'DELETED', 'DISABLED', 'IN_APPEAL', 'LIMIT_EXCEEDED', 'PAUSED', 'PENDING', 'PENDING_DELETION', 'REJECTED', ), ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_GET, '/message_templates', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function createMessageTemplate(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'allow_category_change' => 'bool', 'category' => 'category_enum', 'components' => 'list', 'cta_url_link_tracking_opted_out' => 'bool', 'language' => 'string', 'name' => 'string', ); $enums = array( 'category_enum' => WhatsAppBusinessAccountCategoryValues::getInstance()->getValues(), ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_POST, '/message_templates', new WhatsAppBusinessAccount(), 'EDGE', WhatsAppBusinessAccount::getFieldsEnum()->getValues(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function getPhoneNumbers(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, '/phone_numbers', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function createPhoneNumber(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'cc' => 'string', 'migrate_phone_number' => 'bool', 'phone_number' => 'string', 'verified_name' => 'string', ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_POST, '/phone_numbers', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function deleteProductCatalogs(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'catalog_id' => 'string', ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_DELETE, '/product_catalogs', new AbstractCrudObject(), 'EDGE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function getProductCatalogs(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, '/product_catalogs', new ProductCatalog(), 'EDGE', ProductCatalog::getFieldsEnum()->getValues(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function createProductCatalog(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'catalog_id' => 'string', ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_POST, '/product_catalogs', new ProductCatalog(), 'EDGE', ProductCatalog::getFieldsEnum()->getValues(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function getSchedules(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, '/schedules', 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( 'override_callback_uri' => 'string', 'verify_token' => 'string', ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_POST, '/subscribed_apps', new WhatsAppBusinessAccount(), 'EDGE', WhatsAppBusinessAccount::getFieldsEnum()->getValues(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function getTemplatePerformanceMetrics(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'name' => 'string', 'template_id' => 'string', ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_GET, '/template_performance_metrics', 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 WhatsAppBusinessAccount(), 'NODE', WhatsAppBusinessAccount::getFieldsEnum()->getValues(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } }