Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
def ivr_in(request):
    if request.method == 'POST':
        from_number = request.POST.get('From')
        call_sid = request.POST.get('CallSid')
        log_call(from_number, '%s-%s' % (API_ID, call_sid), backend_api=API_ID)
        return HttpResponse(IVR_RESPONSE)
    else:
        return HttpResponseBadRequest("POST Expected")
Ejemplo n.º 4
0
def ivr_in(request):
    if request.method == 'POST':
        from_number = request.POST.get('From')
        call_sid = request.POST.get('CallSid')
        log_call(from_number, '%s-%s' % (SQLTwilioBackend.get_api_id(), call_sid))
        return HttpResponse(IVR_RESPONSE)
    else:
        return HttpResponseBadRequest("POST Expected")
Ejemplo n.º 5
0
 def post(self, request, api_key, *args, **kwargs):
     from_number = request.POST.get('From')
     call_sid = request.POST.get('CallSid')
     log_call(from_number, '%s-%s' % (SQLTwilioBackend.get_api_id(), call_sid))
     return HttpResponse(IVR_RESPONSE)
Ejemplo n.º 6
0
 def post(self, request, api_key, *args, **kwargs):
     from_number = request.POST.get('From')
     call_sid = request.POST.get('CallSid')
     log_call(from_number,
              '%s-%s' % (SQLTwilioBackend.get_api_id(), call_sid))
     return HttpResponse(IVR_RESPONSE)