def createCTR()

in visualizeConnectData/scripts/mockCTRs/create.py [0:0]


def createCTR(accountId, region, year, month, day):
    templateCTR = {
        'AWSAccountId': None,
        'AWSContactTraceRecordFormatVersion': '2017-03-10',
        'Agent': None,
        'AgentConnectionAttempts': 0,
        'Attributes': {},
        'Channel': 'VOICE',
        'ConnectedToSystemTimestamp': None,
        'ContactDetails': {},
        'ContactId': None,
        'CustomerEndpoint': {
            'Address': None,
            'Type': 'TELEPHONE_NUMBER'
        },
        'DisconnectReason': 'CONTACT_FLOW_DISCONNECT',
        'DisconnectTimestamp': None,
        'InitialContactId': None,
        'InitiationMethod': 'INBOUND',
        'InitiationTimestamp': None,
        'InstanceARN': None,
        'LastUpdateTimestamp': None,
        'MediaStreams': [{
                'Type': 'AUDIO'
            }
        ],
        'NextContactId': None,
        'PreviousContactId': None,
        'Queue': None,
        'Recording': None,
        'Recordings': None,
        'References': [],
        'SystemEndpoint': {
            'Address': '+19999999999',
            'Type': 'TELEPHONE_NUMBER'
        },
        'TransferCompletedTimestamp': None,
        'TransferredToEndpoint': None
    }
    
    templateCTR['AWSAccountId'] = accountId
    templateCTR['InstanceARN'] = 'arn:aws:connect:{0}:{1}:instance/{2}'.format(
        region,
        accountId,
        ARN_ID
    )
    
    templateCTR['CustomerEndpoint']['Address'] = getCustomerPhoneNumber()
        
    # aabafe69-0d00-4783-9d70-2842c10700b2
    charChoice = string.ascii_letters + string.digits
    contactId = 'FakeCtr1-'
    contactId += ''.join(random.choice(charChoice) for i in range(4)) + '-'
    contactId += ''.join(random.choice(charChoice) for i in range(4)) + '-'
    contactId += ''.join(random.choice(charChoice) for i in range(4)) + '-'
    contactId += ''.join(random.choice(charChoice) for i in range(12))
    templateCTR['ContactId'] = contactId
    templateCTR['InitialContactId'] = contactId
    
    templateCTR['Attributes'] = addIvrAttributes()
    
    if (random.randint(1, 100) > 75): 
        templateCTR['Queue'] = addQueue(accountId, region)
        
        if (random.randint(1, 100) > 25):  
            templateCTR['Agent'] = addAgent(accountId, region)
            
    templateCTR['DisconnectReason'] = setDisconnectReason(
        templateCTR['Queue'] is not None, 
        templateCTR['Agent'] is not None
    )
            
    templateCTR = setCustomerJourneyTS(templateCTR, year, month, day)
    
    strCTR = json.dumps(templateCTR)
    json.loads(strCTR) #verify that there are no parsing errors
    return strCTR