Esempio n. 1
0
 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
Esempio n. 2
0
 def notificar_incidencia_por_calificacion(self, dialer_call_id, regla):
     """
     Notifica que se califico una llamada con una opcion con regla de incidencia
     Setea el extStatus correspondiente a la opcion elegida en la llamada de Wombat
     """
     service_wombat = WombatService()
     url_notify = '/api/calls/?op=extstatus&wombatid={0}&status={1}'.format(
         dialer_call_id, regla.wombat_id)
     service_wombat.set_call_ext_status(url_notify)
Esempio n. 3
0
 def crear_lista_contactos_wombat(self, campana):
     """
     Crea lista de contactos en wombat, se crear una lista tomando los contactos de la base de
     datos de contactos de la campana
     :param campana: campana de la cual se creara la lista
     """
     service_wombat = WombatService()
     nombre_lista = '_'.join([str(campana.id), str(campana.bd_contacto.id),
                              remplace_espacio_por_guion(campana.bd_contacto.nombre)])
     nombre_lista_ascii = unicodedata.normalize('NFKD', nombre_lista)
     url_edit = "api/lists/?op=addToList&list={0}".format(nombre_lista_ascii)
     # crea lista de contactos en wombat
     service_wombat.update_lista_wombat("newcampaign_list_contacto.txt", url_edit)
Esempio n. 4
0
 def crear_trunk_campana_wombat(self, campana):
     """
     Crea trunk para una campaign en wombat via curl
     :param campana: campana a la cual se le creara un trunk en wombat
     """
     service_wombat = WombatService()
     # crea json de trunk para crear trunk en una campana de wombat
     service_wombat_config = TrunkCreator()
     service_wombat_config.create_json(campana)
     url_edit = "api/edit/campaign/trunk/?mode=E&parent={0}".format(
         campana.campaign_id_wombat)
     # crea trunk en la campana en wombat
     service_wombat.update_config_wombat("newcampaign_trunk.json", url_edit)
Esempio n. 5
0
 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
Esempio n. 6
0
 def crear_lista_contactos_wombat(self, campana):
     """
     Crea lista de contactos en wombat, se crear una lista tomando los contactos de la base de
     datos de contactos de la campana
     :param campana: campana de la cual se creara la lista
     """
     service_wombat = WombatService()
     nombre_lista_ascii = self.obtener_nombre_lista_ascii(campana)
     url_edit = "api/lists/?op=addToList&list={0}".format(
         nombre_lista_ascii)
     # crea lista de contactos en wombat
     service_wombat.update_lista_wombat("newcampaign_list_contacto.txt",
                                        url_edit)
Esempio n. 7
0
 def crear_endpoint_asociacion_campana_wombat(self, campana):
     """
     Asociacion endpoint con campaign en wombat
     :param campana: campana a la cual se le desea asociar endpoint
     """
     service_wombat = WombatService()
     # crear json de asociacion campana endpoint
     service_wombat_config = CampanaEndPointCreator()
     service_wombat_config.create_json(campana)
     url_edit = "api/edit/campaign/ep/?mode=E&parent={0}".format(
         campana.campaign_id_wombat)
     # crea asociacion de enpoint con campaign en wombat
     service_wombat.update_config_wombat("newcampaign_ep.json", url_edit)
Esempio n. 8
0
 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
Esempio n. 9
0
 def crear_reschedule_campana_wombat(self, campana, parametros):
     """
     Crear reschedule(reglas de incidencia) para una campaign wn wombat via curl
     :param campana: campana a la cual se le creara reschudule
     :param parametros: parametros de la reschudule en wombat
     """
     service_wombat = WombatService()
     # crea json para reschedule
     service_wombat_config = RescheduleRuleCreator()
     service_wombat_config.create_json(campana, parametros)
     url_edit = "api/edit/campaign/reschedule/?mode=E&parent={0}".format(
         campana.campaign_id_wombat)
     # crea reschedule wn wombat
     service_wombat.update_config_wombat("newcampaign_reschedule.json", url_edit)
Esempio n. 10
0
    def desasociacion_endpoint_campana_wombat(self, campana):
        """
        Desasocia endpoint de campana wombat
        :param campana: campana a la caul se desaciociara el endpoint
        """
        service_wombat = WombatService()

        # crear json para eliminar lista de la campana en wombat
        service_wombat_config = CampanaEndPointDelete()
        service_wombat_config.create_json(campana)
        url_edit = "api/edit/campaign/ep/?mode=D&parent={0}".format(
            campana.campaign_id_wombat)
        # elimina lista de la campana en wombat
        service_wombat.update_config_wombat("deletecampaign_ep.json", url_edit)
Esempio n. 11
0
 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
Esempio n. 12
0
 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
Esempio n. 13
0
 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)
Esempio n. 14
0
 def guardar_endpoint_campana_wombat(self, campana):
     """
     Crea o edita endpoint para campaign en wombat via curl
     :param campana: campana para la cual se le creara endpoint
     :return: True si se guardo el ep_id en la queue_campana
     False si no lo guardo
     """
     service_wombat = WombatService()
     # crea json de endpoint para crear endpoint en wombat
     service_wombat_config = EndPointCreator()
     service_wombat_config.create_json(campana)
     url_edit = "api/edit/ep/?mode=E"
     # crea o edita endpoint en wombat
     salida = service_wombat.update_config_wombat("newep.json", url_edit)
     results = salida['results']
     # obtengo ep_id del endpoint recientemente creado
     ep_id = results[0]['epId']
     if ep_id:
         # guardo el ep_id en la queue_campana
         campana.queue_campana.guardar_ep_id_wombat(ep_id)
         return True
     return False
Esempio n. 15
0
 def crear_campana_wombat(self, campana):
     """
     Crear una campana en wombat a travez de curl
     :param campana: campana lo cual se desea una campaign en wombat
     :return: True si se realizo la creacion o False si no se pudo realizar la
     creacion de la campaign
     """
     service_wombat = WombatService()
     # crea json de campaign para crear campaign en wombat
     service_wombat_config = CampanaCreator()
     service_wombat_config.create_json(campana)
     # crear campaing en wombat
     salida = service_wombat.update_config_wombat(
         "newcampaign.json", 'api/edit/campaign/?mode=E')
     results = salida['results']
     # obtengo el campaign_id generado por wombat
     campaign_id = results[0]['campaignId']
     if campaign_id:
         # guardo en la campana el campaign_id generado por wombat
         campana.guardar_campaign_id_wombat(campaign_id)
         return True
     return False
Esempio n. 16
0
 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)
Esempio n. 17
0
 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)