def obtener_status_campana_running(self, hopper_camp_id): """ retorona el status de la campana en wombat""" service_wombat = WombatService() url_edit = "api/reports/stats/?id={0}".format(hopper_camp_id) salida = service_wombat.list_config_wombat(url_edit) result = salida['result'] status = self.translate_state_wombat(result['statsOut']) return status
def obtener_dato_campana_run(self, campana): """ obtiene los datos de la campana pasada por parametro :param campana: campana a la cual deseo obtener sus datos :return: los datos de la campana """ service_wombat = WombatService() url_edit = "api/live/runs/" salida = service_wombat.list_config_wombat(url_edit) if salida: return self.obtener_datos_campana_json_de_wombat(salida, campana) else: return None
def obtener_datos_campanas_run(self, campanas_por_id_wombat): """ obtiene los datos de las campanas pasada por parametro :param campana: diccionario con campanas (por wombat_id) a la cual deseo obtener sus datos :return: dict con los datos de la campanas indexado por id de campaña """ service_wombat = WombatService() url_edit = "api/live/runs/" salida = service_wombat.list_config_wombat(url_edit) if salida: return self.obtener_datos_campanas_json_de_wombat( salida, campanas_por_id_wombat) else: return None
def eliminar_reschedule_por_calificacion_wombat(self, regla): campaign_id_wombat = regla.opcion_calificacion.campana.campaign_id_wombat list_url = "api/edit/campaign/reschedule/?mode=L&parent={0}".format( campaign_id_wombat) service_wombat = WombatService() salida = service_wombat.list_config_wombat(list_url) reschedule_data = self.obtener_reschedule_data_wombat( salida, regla.wombat_id) delete_url = "api/edit/campaign/reschedule/?mode=D&parent={0}".format( campaign_id_wombat) salida = service_wombat.post_json(delete_url, reschedule_data) if 'status' in salida and salida['status'] == 'OK': return True return False
def editar_reschedule_por_calificacion_wombat(self, regla, wombat_id): campaign_id_wombat = regla.opcion_calificacion.campana.campaign_id_wombat list_url = "api/edit/campaign/reschedule/?mode=L&parent={0}".format( campaign_id_wombat) service_wombat = WombatService() salida = service_wombat.list_config_wombat(list_url) reschedule_data = self.obtener_reschedule_data_wombat( salida, wombat_id) edit_url = "api/edit/campaign/reschedule/?mode=E&parent={0}".format( campaign_id_wombat) reschedule_data['statusExt'] = regla.wombat_id reschedule_data['maxAttempts'] = regla.intento_max reschedule_data['retryAfterS'] = regla.reintentar_tarde reschedule_data['mode'] = regla.get_en_modo_wombat() salida = service_wombat.post_json(edit_url, reschedule_data) if 'status' in salida and salida['status'] == 'OK': return True return False
def crear_lista_asociacion_campana_wombat(self, campana): """ crea asociacion de lista de contactos con campaign en wombat via curl :param campana: campana a la cual se le asociara la lista """ service_wombat = WombatService() url_edit = "api/edit/list/?mode=L" # Busco el listado de la lista de contactos de wombat salida = service_wombat.list_config_wombat(url_edit) # obtiene el list_id para la campana list_id = self.obtener_list_id_wombat(salida, campana) if not list_id: list_id = 1 # crea json de asociacion campana con el id de lista de contactos service_wombat_config = CampanaListCreator() service_wombat_config.create_json(list_id) url_edit = "api/edit/campaign/list/?mode=E&parent={0}".format( campana.campaign_id_wombat) # asocia lista de contactos con campaign en wombat salida = service_wombat.update_config_wombat( "newcampaign_list.json", url_edit)
def desasociacion_campana_wombat(self, campana): """ Desasocia lista campana wombat :param campana: campana a la caul se desaciociara la lista """ service_wombat = WombatService() url_edit = "api/edit/campaign/list/?mode=L&parent={0}".format( campana.campaign_id_wombat) # obtiene listado de lista de contactos de wombat salida = service_wombat.list_config_wombat(url_edit) results = salida['results'] cclId = results[0]['cclId'] cclId = elimina_comillas(cclId) if not cclId: cclId = 0 # crear json para eliminar lista de contactos de la campana en wombat service_wombat_config = CampanaDeleteListCreator() service_wombat_config.create_json(cclId) url_edit = "api/edit/campaign/list/?mode=D&parent={0}".format( campana.campaign_id_wombat) # elimina lista de contactos de la campana en wombat salida = service_wombat.update_config_wombat( "deletecampaign_list.json", url_edit)
def obtener_calls_live(self): """ retorna las llamada e en vivo en este momento""" service_wombat = WombatService() url_edit = "api/live/calls/" salida = service_wombat.list_config_wombat(url_edit) return self.obtener_datos_calls(salida)