class CallConnectHandler: """A simple wrapper for Call Connect endpoints""" def __init__(self, hostname=None, logger=None): self.__hostname = hostname if hostname is not None else "http://127.0.0.0:5000" self.__log = setup_console_logger(logger, "CallConnectHandler") self.__jh = JsonHandler(hostname=self.__hostname, logger=self.__log) self.__hh = HttpHandler(hostname=self.__hostname, logger=self.__log) self.__log.debug("CallConnect handler initialized for: %s" % self.__hostname) def get_new_caller_id(self): caller_id = self.__jh.post(endpoint="/api/id", data="{}").json()['id'] self.__log.debug("Received new Caller ID: %s" % caller_id) return caller_id def get_redirect_to(self, caller_id, number): payload = { "id": caller_id, "redirectTo": number } # use json.dumps to convert payload tupple into a string redir = self.__jh.post(endpoint="/api/callers", data=json.dumps(payload)) self.__log.debug("POST %s/api/callers payload: %s" % (self.__hostname, payload)) self.__log.debug("Received new redirect_to: %s" % redir.json()) return redir def delete_caller_id(self, callerId): self.__log.debug("Deleting callerId: %s" % callerId) return self.__hh.delete(endpoint="/api/callers/%s" % callerId) def get_callers_details(self, callerId): self.__log.debug("Getting details for callerId: %s" % callerId) return self.__jh.get(endpoint="/api/callers/%s" % callerId) def get_number_pool(self): pool = self.__jh.get(endpoint="/api/pool") self.__log.debug("Got Number pool: %s" % pool.json()) return pool
class CallConnectHandler: """A simple wrapper for Call Connect endpoints""" def __init__(self, hostname=None, logger=None): self.__hostname = hostname if hostname is not None else "http://127.0.0.0:5000" self.__log = setup_console_logger(logger, "CallConnectHandler") self.__jh = JsonHandler(hostname=self.__hostname, logger=self.__log) self.__hh = HttpHandler(hostname=self.__hostname, logger=self.__log) self.__log.debug("CallConnect handler initialized for: %s" % self.__hostname) def get_new_caller_id(self): caller_id = self.__jh.post(endpoint="/api/id", data="{}").json()['id'] self.__log.debug("Received new Caller ID: %s" % caller_id) return caller_id def get_redirect_to(self, caller_id, number): payload = {"id": caller_id, "redirectTo": number} # use json.dumps to convert payload tupple into a string redir = self.__jh.post(endpoint="/api/callers", data=json.dumps(payload)) self.__log.debug("POST %s/api/callers payload: %s" % (self.__hostname, payload)) self.__log.debug("Received new redirect_to: %s" % redir.json()) return redir def delete_caller_id(self, callerId): self.__log.debug("Deleting callerId: %s" % callerId) return self.__hh.delete(endpoint="/api/callers/%s" % callerId) def get_callers_details(self, callerId): self.__log.debug("Getting details for callerId: %s" % callerId) return self.__jh.get(endpoint="/api/callers/%s" % callerId) def get_number_pool(self): pool = self.__jh.get(endpoint="/api/pool") self.__log.debug("Got Number pool: %s" % pool.json()) return pool