def process_incoming_message(*args, **kwargs): try: from corehq.messaging.smsbackends.telerivet.views import TELERIVET_INBOUND_FIELD_MAP fields = {a: kwargs[a] for (a, b) in TELERIVET_INBOUND_FIELD_MAP} log = IncomingRequest(**fields) log.save() except Exception as e: notify_exception(None, "Could not save Telerivet log entry") pass backend = SQLTelerivetBackend.by_webhook_secret(kwargs["secret"]) if backend is None: # Ignore the message if the webhook secret is not recognized return if kwargs["from_number_e164"]: from_number = strip_plus(kwargs["from_number_e164"]) else: from_number = strip_plus(kwargs["from_number"]) if kwargs["event"] == EVENT_INCOMING: if kwargs["message_type"] == MESSAGE_TYPE_SMS: domain_scope = backend.domain if not backend.is_global else None incoming_sms(from_number, kwargs["content"], SQLTelerivetBackend.get_api_id(), domain_scope=domain_scope, backend_id=backend.couch_id) elif kwargs["message_type"] == MESSAGE_TYPE_CALL: log_call(from_number, "TELERIVET-%s" % kwargs["message_id"], backend=backend)
def process_incoming_message(*args, **kwargs): try: from corehq.messaging.smsbackends.telerivet.views import TELERIVET_INBOUND_FIELD_MAP fields = {a: kwargs[a] for (a, b) in TELERIVET_INBOUND_FIELD_MAP} log = IncomingRequest(**fields) log.save() except Exception as e: notify_exception(None, "Could not save Telerivet log entry") pass backend = SQLTelerivetBackend.by_webhook_secret(kwargs["secret"]) if backend is None: # Ignore the message if the webhook secret is not recognized return if kwargs["from_number_e164"]: from_number = strip_plus(kwargs["from_number_e164"]) else: from_number = strip_plus(kwargs["from_number"]) if kwargs["event"] == EVENT_INCOMING: if kwargs["message_type"] == MESSAGE_TYPE_SMS: domain_scope = backend.domain if not backend.is_global else None incoming_sms(from_number, kwargs["content"], SQLTelerivetBackend.get_api_id(), domain_scope=domain_scope, backend_id=backend.couch_id) elif kwargs["message_type"] == MESSAGE_TYPE_CALL: incoming_ivr(from_number, "TELERIVET-%s" % kwargs["message_id"], None)
def get_last_inbound_sms(self, data): request_token = data.get("request_token") if not request_token: return {"success": False} webhook_secret = self.get_cached_webhook_secret(request_token) if not webhook_secret: return {"success": False} result = IncomingRequest.get_last_sms_by_webhook_secret(webhook_secret) if result: return {"success": True, "found": True} else: return {"success": True, "found": False}
def get_last_inbound_sms(request, domain): request_token = request.GET.get('request_token', None) if not request_token: return json_response({'success': False}) webhook_secret = TelerivetSetupView.get_cached_webhook_secret(request_token) if not webhook_secret: return json_response({'success': False}) result = IncomingRequest.get_last_sms_by_webhook_secret(webhook_secret) if result: return json_response({ 'success': True, 'found': True, }) else: return json_response({ 'success': True, 'found': False, })
def get_last_inbound_sms(self, data): request_token = data.get('request_token') if not request_token: return {'success': False} webhook_secret = self.get_cached_webhook_secret(request_token) if not webhook_secret: return {'success': False} result = IncomingRequest.get_last_sms_by_webhook_secret(webhook_secret) if result: return { 'success': True, 'found': True, } else: return { 'success': True, 'found': False, }