Пример #1
0
def add_and_update_cm_subscribers(list_id, subscribers):
    '''
       Adds new people to a Campaign Monitor list, and updates fields of
       existing subscribers. (If a field is ommited, its value remains
       unchanged.)
    '''
    logger.info("Adding new and updating existing.")
    subscriber = Subscriber(settings.CAMPAIGN_MONITOR_AUTH)
    import_result = subscriber.import_subscribers(list_id, subscribers, False)
    logger.info("Added new and updated existing.")

    report = {
        "new_subscribers": import_result.TotalNewSubscribers,
        "existing_subscribers": import_result.TotalExistingSubscribers,
        "duplicates_in_import_list": import_result.DuplicateEmailsInSubmission,
        "uniques_in_import_list": import_result.TotalUniqueEmailsSubmitted
    }

    if len(import_result.FailureDetails):
        errors = defaultdict(list)
        for error in import_result.FailureDetails:
            errors["{} ({})".format(error.Message,
                                    error.Code)].append(error.EmailAddress)
        report["errors"] = errors

    return report
Пример #2
0
def add_and_update_cm_subscribers(list_id, subscribers):
    '''
       Adds new people to a Campaign Monitor list, and updates fields of
       existing subscribers. (If a field is ommited, its value remains
       unchanged.)
    '''
    logger.info("Adding new and updating existing.")
    subscriber = Subscriber(settings.CAMPAIGN_MONITOR_AUTH)
    import_result = subscriber.import_subscribers(list_id, subscribers, False)
    logger.info("Added new and updated existing.")

    report = {
        "new_subscribers": import_result.TotalNewSubscribers,
        "existing_subscribers": import_result.TotalExistingSubscribers,
        "duplicates_in_import_list": import_result.DuplicateEmailsInSubmission,
        "uniques_in_import_list": import_result.TotalUniqueEmailsSubmitted
    }

    if len(import_result.FailureDetails):
        errors = defaultdict(list)
        for error in import_result.FailureDetails:
            errors["{} ({})".format(error.Message, error.Code)].append(error.EmailAddress)
        report["errors"] = errors

    return report
Пример #3
0
random_subscriber={}
subscriber_list=[]


test_field_name="Main Hobby"
possible_interests=["getting drunk","playing cards","rollerblading"]

#fields_created = create_custom_fields(field_name=test_field_name,options=possible_interests)
#print("You created the following entry" + fields_created)


#NEED TO CREATE THE CUSTOM FIELDS first
for i in my_names['results']:
    print(i['name']['first']+" "+i['name']['last'])
    random_subscriber={}
    random_subscriber.update(Name = i['name']['first']+" "+i['name']['last'])
    random_subscriber.update(EmailAddress = i['email'])
    random_subscriber.update(ConsentToTrack = "Yes")
    random_subscriber.update(CustomFields = [{"Value":random.choice(possible_interests),"Key":test_field_name}])
    #print(random_subscriber)
    subscriber_list.append(random_subscriber)


#print(subscriber_list)
#create_new_list(clientid="9cde80d058d8e4955a076d33b6ec2294")

print(subscriber_list)
my_subscriber = Subscriber(account_auth)
my_subscriber.import_subscribers("2345accabd471c4c45e5fc463c8353a1", subscriber_list, True, False, True)