in CBHelper-evaluateCallBack/lambda_function.py [0:0]
def lambda_handler(event, context):
print(event)
CONTACTS_TABLE= os.environ['CONTACTS_TABLE']
contactPhone = str(event['Details']['ContactData']['CustomerEndpoint']['Address'])
CONFIG_SECRET= os.environ['CONFIG_SECRET']
connect_config=json.loads(get_config(CONFIG_SECRET))
instanceId = connect_config['CONNECT_INSTANCE_ID']
queueId =connect_config['CONNECT_QUEUE_ID']
timezone = str(event['Details']['ContactData']['Attributes']['timezone'])
if('minimumperiod' in event['Details']['ContactData']['Attributes']): MinTimeWindow = int(event['Details']['ContactData']['Attributes']['minimumperiod'])
else: MinTimeWindow = 60
if('maximumcbcontacts' in event['Details']['ContactData']['Attributes']): MaxContacts = int(event['Details']['ContactData']['Attributes']['maximumcbcontacts'])
else: MaxContacts = 10
if('slopedperiod' in event['Details']['ContactData']['Attributes']): slopedPeriod = int(event['Details']['ContactData']['Attributes']['slopedperiod'])
else: slopedPeriod = True
print("MaxContacts:" + str(MaxContacts))
print("MinTimeWindow:" + str(MinTimeWindow))
print("MinTimeWindow:" + str(slopedPeriod))
queuedContacts=get_queued_contacts(instanceId,queueId)
print("Contacts in Queue:" + str(queuedContacts))
if(phone_lookup(contactPhone, CONTACTS_TABLE)):
alreadyQueued=True
else:
alreadyQueued=False
closing_time=get_closing_time(instanceId, queueId)
if(not(alreadyQueued) and queuedContacts <= MaxContacts):
response ={"cbTier" : get_allowed_tier(MinTimeWindow,closing_time['Hours'],closing_time['Minutes'],timezone, slopedPeriod )}
else:
response ={"cbTier" : "notvalid"}
return response