def create_adgroup(self, create_adgroup_object: CreateAdgroupObject): data = jsonpickle.encode(create_adgroup_object, unpicklable=False) data = json.loads(data) data = CommonFunctions.delete_null_dict_items(data) data_str = json.dumps(data) result = self.r.post('/ncc/adgroups', data_str) result = AdgroupObject(result) return result
def create_campaign(self, campaign_add_object: CampaignAddObject): data = jsonpickle.encode(campaign_add_object, unpicklable=False) data = json.loads(data) data = CommonFunctions.delete_null_dict_items(data) data_str = json.dumps(data) result = self.r.post('/ncc/campaigns', data_str) camp = CampaignObject(result) return camp
def update_business_channel( self, fields, UpdateBusinessChannelObj: UpdateBusinessChannelObject ) -> BusinessChannelObject: data = jsonpickle.encode(UpdateBusinessChannelObj, unpicklable=False) data = json.loads(data) data = CommonFunctions.delete_null_dict_items(data) data_str = json.dumps(data) result = self.r.put('/ncc/channels', data_str, fields) result = BusinessChannelObject(result) return result
def update_ip_exclusion(self, UpdateIpExclusionObject: UpdateIpExclusionObject) -> UpdateIpExclusionObject: data = jsonpickle.encode(UpdateIpExclusionObject, unpicklable=False) data = json.loads(data) data = CommonFunctions.delete_null_dict_items(data) data_str = json.dumps(data) result = self.r.put('/tool/ip-exclusions', data_str) result = IpExclusionObject(result) return result
def update_adgroup_entire( self, adgroupId: str, UpdateEntireAdgroupObject: UpdateEntireAdgroupObject): data = jsonpickle.encode(UpdateEntireAdgroupObject, unpicklable=False) data = json.loads(data) data = CommonFunctions.delete_null_dict_items(data) data_str = json.dumps(data) result = self.r.put('/ncc/adgroups/' + adgroupId, data_str) result = AdgroupObject(result) return result
def update_adgroup(self, adgroupId: str, fields: ChangeFieldsList, UpdateAdgroupObject: UpdateAdgroupObject): change_fields_list = ",".join(fields) query = {'fields': change_fields_list} data = jsonpickle.encode(UpdateAdgroupObject, unpicklable=False) data = json.loads(data) data = CommonFunctions.delete_null_dict_items(data) data_str = json.dumps(data) result = self.r.put('/ncc/adgroups/' + adgroupId, data_str, query) result = AdgroupObject(result) return result
def create_adkeyword(self, nccAdgroupId, CreateAdKeywordObject) -> AdKeywordObject: data = jsonpickle.encode(CreateAdKeywordObject, unpicklable=False) data = json.loads(data) data = CommonFunctions.delete_null_dict_items(data) data = [data] data_str = json.dumps(data) result = self.r.post('/ncc/keywords', data_str, {'nccAdgroupId': nccAdgroupId}) result = AdKeywordObject(result) return result
def create_master_report( self, CreateMasterReportObject: CreateMasterReportObject ) -> MasterReportObject: data = jsonpickle.encode(CreateMasterReportObject, unpicklable=False) data = json.loads(data) data = CommonFunctions.delete_null_dict_items(data) data_str = json.dumps(data) result = self.r.post('/master-reports', data_str) result = MasterReportObject(result) return result
def update_label(self, UpdateLabelObject: UpdateLabelObject) -> LabelObject: data = jsonpickle.encode(UpdateLabelObject, unpicklable=False) data = json.loads(data) data = CommonFunctions.delete_null_dict_items(data) data_str = json.dumps(data) result = self.r.put('/ncc/labels', data_str) result = LabelObject(result) return result
def create_ad_extensions( self, CreateAdExtensionObject: CreateAdExtensionObject ) -> AdExtensionObject: data = jsonpickle.encode(CreateAdExtensionObject, unpicklable=False) data = json.loads(data) data = CommonFunctions.delete_null_dict_items(data) data_str = data data_str = json.dumps(data_str) result = self.r.post('/ncc/ad-extensions', data_str) result = AdExtensionObject(result) return result
def update_adkeyrword(self, nccKeywordId, fields, UpdateAdKeywordObject) -> AdKeywordObject: data = jsonpickle.encode(UpdateAdKeywordObject, unpicklable=False) data = json.loads(data) data = CommonFunctions.delete_null_dict_items(data) data_str = json.dumps(data) query = {'fields': fields} result = self.r.put('/ncc/keywords/' + nccKeywordId, data_str, query) result = AdKeywordObject(result) return result
def create_restricted_keyword( self, adgroupId: str, restricted_keywords_object: RestrictedKeywordsAddObject ) -> RestrictedKeyword: data = jsonpickle.encode(restricted_keywords_object, unpicklable=False) data = json.loads(data) data = CommonFunctions.delete_null_dict_items(data) data_str = [data] data_str = json.dumps(data_str) result = self.r.post( '/ncc/adgroups/%s/restricted-keywords' % str(adgroupId), data_str) restrict_keyword = RestrictedKeyword(result) return restrict_keyword
def get_median_bid_list( self, type: str, GetMedianBidObject: GetMedianBidObject ) -> EstimateMedianObjectList: data = jsonpickle.encode(GetMedianBidObject, unpicklable=False) data = json.loads(data) data = CommonFunctions.delete_null_dict_items(data) data_str = json.dumps(data) result = self.r.post('/estimate/median-bid/' + type, data_str) result = result['estimate'] estimate_list = [] for arr in result: estimate = EstimateMedianObject(arr) estimate_list.append(estimate) return estimate_list
def update_label_ref( self, UpdateLabelRefObject: UpdateLabelRefObject) -> LabelRefObjectList: data = jsonpickle.encode(UpdateLabelRefObject, unpicklable=False) data = json.loads(data) data = CommonFunctions.delete_null_dict_items(data) data = [data] data_str = json.dumps(data) result = self.r.put('/ncc/label-refs/', data_str) labelref_list = [] for arr in result: labelref = LabelRefObject(arr) labelref_list.append(labelref) return labelref_list
def get_performance_list_many( self, type: str, GetPerformanceObjectList: GetPerformanceObjectList): data = jsonpickle.encode(GetPerformanceObjectList, unpicklable=False) data = json.loads(data) data = CommonFunctions.delete_null_dict_items(data) data_str = json.dumps(data) result = self.r.post('/estimate/performance/' + type, data_str) result = result['estimate'] estimate_list = [] for arr in result: estimate = EstimatePerformanceObject(arr) estimate_list.append(estimate) return estimate_list